From a050b78cc349b554ed0332161c0f9791df4812fb Mon Sep 17 00:00:00 2001 From: Robert Knight Date: Mon, 16 Dec 2024 15:43:18 +0000 Subject: [PATCH] Use the right node version --- lang/ui.ca.json | 2 +- lang/ui.de.json | 16 +++---- lang/ui.es-es.json | 2 +- lang/ui.fr.json | 2 +- lang/ui.ja.json | 2 +- lang/ui.ko.json | 2 +- lang/ui.lol.json | 2 +- lang/ui.nl.json | 2 +- lang/ui.pl.json | 4 +- lang/ui.zh-cn.json | 2 +- lang/ui.zh-tw.json | 2 +- ...ale-ca-537-102d34250bd64dcffb61.worker.js} | 2 +- ...cale-de-913-6516fe648e06c3175b0d.worker.js | 1 - ...cale-de-913-9659826d2d95dc8190bd.worker.js | 1 + ...-es-es-689-26d9690baff64c901ed8.worker.js} | 2 +- ...ale-fr-231-e938f9c58b9ac7c8a0c8.worker.js} | 2 +- ...cale-ja-43-30f155cbba7ffa35a09e.worker.js} | 2 +- ...le-lol-598-50989152ee9593f45224.worker.js} | 2 +- ...ale-nl-888-d3c1f910f1d36b76668c.worker.js} | 2 +- ...cale-pl-640-569b6cb153bf9bb688ed.worker.js | 1 + ...yright-main-c53c357c089fab5f5c10.worker.js | 3 -- ...ht-main-c53c357c089fab5f5c10.worker.js.map | 1 - ...yright-main-fead31ca35819bebaf64.worker.js | 3 ++ ...ead31ca35819bebaf64.worker.js.LICENSE.txt} | 0 ...ht-main-fead31ca35819bebaf64.worker.js.map | 1 + src/language-server/pyright.ts | 2 +- src/messages/ui.de.json | 20 ++++---- src/messages/ui.pl.json | 4 +- src/micropython/main/typeshed.ca.json | 48 +++++++++---------- src/micropython/main/typeshed.de.json | 48 +++++++++---------- src/micropython/main/typeshed.es-es.json | 48 +++++++++---------- src/micropython/main/typeshed.fr.json | 48 +++++++++---------- src/micropython/main/typeshed.ja.json | 48 +++++++++---------- src/micropython/main/typeshed.ko.json | 48 +++++++++---------- src/micropython/main/typeshed.lol.json | 48 +++++++++---------- src/micropython/main/typeshed.nl.json | 48 +++++++++---------- src/micropython/main/typeshed.pl.json | 48 +++++++++---------- src/micropython/main/typeshed.zh-cn.json | 48 +++++++++---------- src/micropython/main/typeshed.zh-tw.json | 48 +++++++++---------- 39 files changed, 308 insertions(+), 307 deletions(-) rename public/workers/{pyright-locale-ca-537-e3d42c104c87070f53c5.worker.js => pyright-locale-ca-537-102d34250bd64dcffb61.worker.js} (63%) delete mode 100644 public/workers/pyright-locale-de-913-6516fe648e06c3175b0d.worker.js create mode 100644 public/workers/pyright-locale-de-913-9659826d2d95dc8190bd.worker.js rename public/workers/{pyright-locale-es-es-689-044348bd1ddc2b34a22e.worker.js => pyright-locale-es-es-689-26d9690baff64c901ed8.worker.js} (63%) rename public/workers/{pyright-locale-fr-231-eb261203312776336920.worker.js => pyright-locale-fr-231-e938f9c58b9ac7c8a0c8.worker.js} (62%) rename public/workers/{pyright-locale-ja-43-6d57f933221789ac4fa5.worker.js => pyright-locale-ja-43-30f155cbba7ffa35a09e.worker.js} (62%) rename public/workers/{pyright-locale-lol-598-ec1b193371d2420cb0eb.worker.js => pyright-locale-lol-598-50989152ee9593f45224.worker.js} (65%) rename public/workers/{pyright-locale-nl-888-88ebe3f78a0987ea286e.worker.js => pyright-locale-nl-888-d3c1f910f1d36b76668c.worker.js} (62%) create mode 100644 public/workers/pyright-locale-pl-640-569b6cb153bf9bb688ed.worker.js delete mode 100644 public/workers/pyright-main-c53c357c089fab5f5c10.worker.js delete mode 100644 public/workers/pyright-main-c53c357c089fab5f5c10.worker.js.map create mode 100644 public/workers/pyright-main-fead31ca35819bebaf64.worker.js rename public/workers/{pyright-main-c53c357c089fab5f5c10.worker.js.LICENSE.txt => pyright-main-fead31ca35819bebaf64.worker.js.LICENSE.txt} (100%) create mode 100644 public/workers/pyright-main-fead31ca35819bebaf64.worker.js.map diff --git a/lang/ui.ca.json b/lang/ui.ca.json index d50f2c671..47c0a8a3f 100644 --- a/lang/ui.ca.json +++ b/lang/ui.ca.json @@ -213,7 +213,7 @@ }, "copy-snippet-advice": { "defaultMessage": "Code copied, use paste to insert it.", - "description": "Copy code to clipboard action text" + "description": "Toast shown when you copy from API or Reference snippets" }, "create-action": { "defaultMessage": "Crea", diff --git a/lang/ui.de.json b/lang/ui.de.json index 66d4f7ce3..af469cdc4 100644 --- a/lang/ui.de.json +++ b/lang/ui.de.json @@ -128,7 +128,7 @@ "description": "Confirmation header of deletion of a file" }, "confirm-replace-body": { - "defaultMessage": "Alle Dateien durch die in der hex-Datei ersetzen?", + "defaultMessage": "Alle Dateien durch die in der HEX-Datei ersetzen?", "description": "Confirmation message body for replacing project dialog" }, "confirm-replace-reset": { @@ -213,7 +213,7 @@ }, "copy-snippet-advice": { "defaultMessage": "Code copied, use paste to insert it.", - "description": "Copy code to clipboard action text" + "description": "Toast shown when you copy from API or Reference snippets" }, "create-action": { "defaultMessage": "Erstellen", @@ -236,7 +236,7 @@ "description": "Button text for delete action" }, "delete-file-action": { - "defaultMessage": "{name} löschen", + "defaultMessage": "Lösche {name}", "description": "Menu option to delete file" }, "deleted-file": { @@ -479,7 +479,7 @@ "description": "Header for name field" }, "name-used-when": { - "defaultMessage": "Der Name wird verwendet, wenn du die hex-Datei speicherst.", + "defaultMessage": "Dieser Name wird verwendet, wenn du die HEX-Datei speicherst.", "description": "Text under project name field" }, "new-file-hint": { @@ -523,7 +523,7 @@ "description": "Open button text" }, "open-file-action": { - "defaultMessage": "Öffnen...", + "defaultMessage": "Öffnen …", "description": "Open file button text" }, "open-file-dropped": { @@ -643,7 +643,7 @@ "description": "Confirmation message after resetting the project" }, "reset-project-hover": { - "defaultMessage": "Setzt das Projekt auf den Standard-Startcode zurück und verwirft deine Arbeit", + "defaultMessage": "Setzt das Projekt auf den Standard-Startcode zurück und verwirft deine Arbeit.", "description": "Reset action hover text" }, "results-count": { @@ -663,7 +663,7 @@ "description": "Text for menu item for saving a project hex file" }, "save-hover": { - "defaultMessage": "Speichere die hex-Datei des Projektes auf deinem Computer", + "defaultMessage": "Speichere die HEX-Datei des Projektes auf deinem Computer.", "description": "Hover text over save button" }, "save-python-action": { @@ -755,7 +755,7 @@ "description": "Checkbox setting label" }, "setting-warn-on-v2-only-features-info": { - "defaultMessage": "Warnungen werden im Editor angezeigt, wenn ein micro:bit V1 verbunden ist", + "defaultMessage": "Warnungen werden im Editor angezeigt, wenn ein micro:bit V1 verbunden ist.", "description": "Checkbox setting label" }, "settings": { diff --git a/lang/ui.es-es.json b/lang/ui.es-es.json index 676a49aeb..99ded6713 100644 --- a/lang/ui.es-es.json +++ b/lang/ui.es-es.json @@ -213,7 +213,7 @@ }, "copy-snippet-advice": { "defaultMessage": "Code copied, use paste to insert it.", - "description": "Copy code to clipboard action text" + "description": "Toast shown when you copy from API or Reference snippets" }, "create-action": { "defaultMessage": "Crea", diff --git a/lang/ui.fr.json b/lang/ui.fr.json index 543092461..4c8fa173a 100644 --- a/lang/ui.fr.json +++ b/lang/ui.fr.json @@ -213,7 +213,7 @@ }, "copy-snippet-advice": { "defaultMessage": "Code copied, use paste to insert it.", - "description": "Copy code to clipboard action text" + "description": "Toast shown when you copy from API or Reference snippets" }, "create-action": { "defaultMessage": "Créez", diff --git a/lang/ui.ja.json b/lang/ui.ja.json index b15552a01..c0fa76fa5 100644 --- a/lang/ui.ja.json +++ b/lang/ui.ja.json @@ -213,7 +213,7 @@ }, "copy-snippet-advice": { "defaultMessage": "Code copied, use paste to insert it.", - "description": "Copy code to clipboard action text" + "description": "Toast shown when you copy from API or Reference snippets" }, "create-action": { "defaultMessage": "作る", diff --git a/lang/ui.ko.json b/lang/ui.ko.json index 9fce902ac..7c03c5213 100644 --- a/lang/ui.ko.json +++ b/lang/ui.ko.json @@ -213,7 +213,7 @@ }, "copy-snippet-advice": { "defaultMessage": "Code copied, use paste to insert it.", - "description": "Copy code to clipboard action text" + "description": "Toast shown when you copy from API or Reference snippets" }, "create-action": { "defaultMessage": "Create", diff --git a/lang/ui.lol.json b/lang/ui.lol.json index 812dd3ded..aa47355d9 100644 --- a/lang/ui.lol.json +++ b/lang/ui.lol.json @@ -213,7 +213,7 @@ }, "copy-snippet-advice": { "defaultMessage": "Code copied, use paste to insert it.", - "description": "Copy code to clipboard action text" + "description": "Toast shown when you copy from API or Reference snippets" }, "create-action": { "defaultMessage": "crwdns331460:0crwdne331460:0", diff --git a/lang/ui.nl.json b/lang/ui.nl.json index f62bf91e9..8005d1fac 100644 --- a/lang/ui.nl.json +++ b/lang/ui.nl.json @@ -213,7 +213,7 @@ }, "copy-snippet-advice": { "defaultMessage": "Code copied, use paste to insert it.", - "description": "Copy code to clipboard action text" + "description": "Toast shown when you copy from API or Reference snippets" }, "create-action": { "defaultMessage": "Maak", diff --git a/lang/ui.pl.json b/lang/ui.pl.json index 11c0cfa59..2c45910d5 100644 --- a/lang/ui.pl.json +++ b/lang/ui.pl.json @@ -28,7 +28,7 @@ "description": "Change made to file" }, "api-description": { - "defaultMessage": "Aby użyć i dla przykładów zobacz Odniesienie", + "defaultMessage": "Aby poznać zastosowania i przykłady, zobacz Referencje", "description": "Extended description at the top of the API tab" }, "api-tab": { @@ -213,7 +213,7 @@ }, "copy-snippet-advice": { "defaultMessage": "Code copied, use paste to insert it.", - "description": "Copy code to clipboard action text" + "description": "Toast shown when you copy from API or Reference snippets" }, "create-action": { "defaultMessage": "Twórz", diff --git a/lang/ui.zh-cn.json b/lang/ui.zh-cn.json index 71f0b05a8..f9de8a7d8 100644 --- a/lang/ui.zh-cn.json +++ b/lang/ui.zh-cn.json @@ -213,7 +213,7 @@ }, "copy-snippet-advice": { "defaultMessage": "Code copied, use paste to insert it.", - "description": "Copy code to clipboard action text" + "description": "Toast shown when you copy from API or Reference snippets" }, "create-action": { "defaultMessage": "创作", diff --git a/lang/ui.zh-tw.json b/lang/ui.zh-tw.json index ba5cc8d11..d1eb115ee 100644 --- a/lang/ui.zh-tw.json +++ b/lang/ui.zh-tw.json @@ -213,7 +213,7 @@ }, "copy-snippet-advice": { "defaultMessage": "Code copied, use paste to insert it.", - "description": "Copy code to clipboard action text" + "description": "Toast shown when you copy from API or Reference snippets" }, "create-action": { "defaultMessage": "創造", diff --git a/public/workers/pyright-locale-ca-537-e3d42c104c87070f53c5.worker.js b/public/workers/pyright-locale-ca-537-102d34250bd64dcffb61.worker.js similarity index 63% rename from public/workers/pyright-locale-ca-537-e3d42c104c87070f53c5.worker.js rename to public/workers/pyright-locale-ca-537-102d34250bd64dcffb61.worker.js index fd189a583..f8e6e96be 100644 --- a/public/workers/pyright-locale-ca-537-e3d42c104c87070f53c5.worker.js +++ b/public/workers/pyright-locale-ca-537-102d34250bd64dcffb61.worker.js @@ -1 +1 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[537],{6464:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"L\'argument no coincideix amb el tipus de paràmetre","argAssignmentFunction":"L\'argument no coincideix amb el tipus de paràmetre de la funció \\"{functionName}\\"","argAssignmentParam":"L\'argument no coincideix amb el tipus de paràmetre per al paràmetre \\"{paramName}\\"","argAssignmentParamFunction":"L\'argument no coincideix amb el tipus de paràmetre per al paràmetre \\"{paramName}\\"","argMissingForParam":"Falta l\'argument del paràmetre {name}","argMissingForParams":"Falten arguments per als paràmetres {names}","argMorePositionalExpectedCount":"S\'esperava {expected} més arguments posicionals","argMorePositionalExpectedOne":"S\'esperava 1 argument posicional més","argPositional":"Argument posicional esperat","argPositionalExpectedOne":"S\'esperava 1 argument posicional","assignmentTargetExpr":"L\'expressió no pot ser el destí de l\'assignació","booleanIsLowerCase":"\\"{name}\\" no està definit, volies dir \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" (interrupció) només es pot utilitzar dins d\'un bucle \\"while\\" (mentre) o \\"for\\" (per a).","constructorNoArgs":"No s\'esperava cap argument per al constructor \\"{type}\\".","continueOutsideLoop":"\\"continue\\" (continua) només es pot utilitzar dins d\'un bucle \\"while\\" (mentre) o \\"for\\" (per a).","delTargetExpr":"L\'expressió no es pot suprimir","duplicateParam":"Paràmetre duplicat \\"{name}\\"","expectedAssignRightHandExpr":"Expressió esperada a la dreta de \\"=\\"","expectedBinaryRightHandExpr":"Expressió esperada a la dreta de l\'operador","expectedClassName":"Falta el nom de la classe","expectedCloseBrace":"Falta la clau de tancament \\"}\\"","expectedCloseBracket":"Falta el claudàtor de tancament \\"]\\"","expectedCloseParen":"Falta el parèntesi de tancament \\")\\"","expectedColon":"Falta dos punts \\":\\"","expectedDelExpr":"Falta l\'expressió després de \\"del\\"","expectedElse":"Falta \\"else\\" (si no)","expectedEqualityOperator":"Operador d\'igualtat esperat, volies dir \\"==\\"?","expectedExpr":"Falta expressió","expectedFunctionName":"Falta el nom de la funció després de \\"def\\"","expectedIdentifier":"Falta l\'identificador","expectedImport":"Falta \\"import\\"","expectedImportAlias":"Falta el símbol després de \\"as\\"","expectedImportSymbols":"S\'esperava un o més noms de símbols després de la importació \\"import\\"","expectedIn":"Falta \\"in\\" (en)","expectedIndentedBlock":"Falta sagnat","expectedInExpr":"Falta l\'expressió després de \\"in\\" (en)","expectedMemberName":"Falta el nom del membre després de \\".\\"","expectedModuleName":"Falta el nom del mòdul","expectedNamedParameter":"El paràmetre de paraula clau ha d\'anar després de \\"*\\"","expectedNewlineOrSemicolon":"Contingut addicional inesperat\\nNomés pot haver-hi una instrucció per línia","expectedOpenParen":"Falta el parèntesi d\'obertura \\"(\\"","expectedParamName":"Falta el nom del paràmetre","expectedSliceIndex":"Falta l\'índex o la secció","expectedYieldExpr":"S\'espera una expressió a la instrucció yield","globalReassignment":"\\"{name}\\" s\'assigna abans de la declaració global","globalRedefinition":"\\"{name}\\" ja es va declarar global","importResolveFailure":"No s\'ha pogut trobar el mòdul \\"{importName}\\".","importSymbolUnknown":"\\"{name}\\" no s\'ha trobat al mòdul \\"{moduleName}\\"","inconsistentIndent":"El sagnat no coincideix amb la línia anterior","inconsistentTabs":"Ús incoherent de tabulacions i espais per a sagnats","instanceMethodSelfParam":"Els mètodes d\'instància necessiten un paràmetre \\"self\\".","invalidIdentifierChar":"Caràcter no vàlid a l\'identificador","invalidTokenChars":"Caràcter \\"{text}\\" no vàlid al testimoni","memberAccess":"No es pot accedir al membre \\"{name}\\" per al tipus \\"{type}\\"","memberDelete":"No es pot suprimir el membre \\"{name}\\" per al tipus \\"{type}\\"","memberSet":"No es pot assignar el membre \\"{name}\\" per al tipus \\"{type}\\"","moduleNotCallable":"El mòdul no es pot cridar","moduleUnknownMember":"\\"{name}\\" no és un membre conegut del mòdul \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"L\'argument no predeterminat va després de l\'argument predeterminat","noOverload":"Els arguments no coincideixen amb els tipus de paràmetres","objectNotCallable":"L\'objecte no es pot cridar","obscuredClassDeclaration":"La classe \\"{name}\\" xoca amb una altra declaració amb el mateix nom","obscuredFunctionDeclaration":"La funció \\"{name}\\" xoca amb una altra declaració amb el mateix nom","obscuredMethodDeclaration":"El mètode \\"{name}\\" xoca amb una altra declaració amb el mateix nom","obscuredParameterDeclaration":"El paràmetre \\"{name}\\" xoca amb una altra declaració amb el mateix nom","obscuredVariableDeclaration":"La declaració \\"{name}\\" xoca amb una altra declaració amb el mateix nom","paramAfterKwargsParam":"El paràmetre no pot seguir el paràmetre \\"**\\".","paramAlreadyAssigned":"El paràmetre \\"{name}\\" ja està assignat","paramNameMissing":"Cap paràmetre anomenat \\"{name}\\"","positionArgAfterNamedArg":"L\'argument posicional no pot aparèixer després dels arguments de paraula clau","returnOutsideFunction":"\\"return\\" només es pot utilitzar dins d\'una funció","stringUnsupportedEscape":"Seqüència d\'escapada no admesa al literal de cadena","stringUnterminated":"La cadena no està tancada -- falta cometes","symbolIsUndefined":"\\"{name}\\" no està definit","trailingCommaInFromImport":"No es permet la coma final sense parèntesis","tupleIndexOutOfRange":"L\'índex {index} està fora de l\'interval per al tipus {type}","typeNotIterable":"El tipus no és iterable","typeNotSupportBinaryOperator":"L\'operador \\"{operator}\\" no és compatible amb aquesta combinació de tipus","typeNotSupportBinaryOperatorBidirectional":"L\'operador \\"{operator}\\" no és compatible amb aquesta combinació de tipus","unaccessedClass":"La classe \\"{name}\\" no s\'utilitza","unaccessedFunction":"La funció \\"{name}\\" no s\'utilitza","unaccessedImport":" Import \\"{name}\\" no s\'utilitza","unaccessedSymbol":"\\"{name}\\" no s\'utilitza","unaccessedVariable":"La variable \\"{name}\\" no s\'utilitza","unexpectedIndent":"Sagnat inesperat","unreachableCode":"El codi no és accessible\\nLa lògica del teu programa fa que aquest codi no s\'executi mai"},"DiagnosticAddendum":{"tupleSizeMismatch":"Desajust de la mida de l\'element; esperat {expected} però rebut {received}"}}')}}]); \ No newline at end of file +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[537],{6464:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"L\'argument no coincideix amb el tipus de paràmetre","argAssignmentFunction":"L\'argument no coincideix amb el tipus de paràmetre de la funció \\"{functionName}\\"","argAssignmentParam":"L\'argument no coincideix amb el tipus de paràmetre per al paràmetre \\"{paramName}\\"","argAssignmentParamFunction":"L\'argument no coincideix amb el tipus de paràmetre per al paràmetre \\"{paramName}\\"","argMissingForParam":"Falta l\'argument del paràmetre {name}","argMissingForParams":"Falten arguments per als paràmetres {names}","argMorePositionalExpectedCount":"S\'esperava {expected} més arguments posicionals","argMorePositionalExpectedOne":"S\'esperava 1 argument posicional més","argPositional":"Argument posicional esperat","argPositionalExpectedOne":"S\'esperava 1 argument posicional","assignmentTargetExpr":"L\'expressió no pot ser el destí de l\'assignació","booleanIsLowerCase":"\\"{name}\\" no està definit, volies dir \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" (interrupció) només es pot utilitzar dins d\'un bucle \\"while\\" (mentre) o \\"for\\" (per a).","constructorNoArgs":"No s\'esperava cap argument per al constructor \\"{type}\\".","continueOutsideLoop":"\\"continue\\" (continua) només es pot utilitzar dins d\'un bucle \\"while\\" (mentre) o \\"for\\" (per a).","delTargetExpr":"L\'expressió no es pot suprimir","duplicateParam":"Paràmetre duplicat \\"{name}\\"","expectedAssignRightHandExpr":"Expressió esperada a la dreta de \\"=\\"","expectedBinaryRightHandExpr":"Expressió esperada a la dreta de l\'operador","expectedClassName":"Falta el nom de la classe","expectedCloseBrace":"Falta la clau de tancament \\"}\\"","expectedCloseBracket":"Falta el claudàtor de tancament \\"]\\"","expectedCloseParen":"Falta el parèntesi de tancament \\")\\"","expectedColon":"Falta dos punts \\":\\"","expectedDelExpr":"Falta l\'expressió després de \\"del\\"","expectedElse":"Falta \\"else\\" (si no)","expectedEqualityOperator":"Operador d\'igualtat esperat, volies dir \\"==\\"?","expectedExpr":"Falta expressió","expectedFunctionName":"Falta el nom de la funció després de \\"def\\"","expectedIdentifier":"Falta l\'identificador","expectedImport":"Falta \\"import\\"","expectedImportAlias":"Falta el símbol després de \\"as\\"","expectedImportSymbols":"S\'esperava un o més noms de símbols després de la importació \\"import\\"","expectedIn":"Falta \\"in\\" (en)","expectedIndentedBlock":"Falta sagnat","expectedInExpr":"Falta l\'expressió després de \\"in\\" (en)","expectedMemberName":"Falta el nom del membre després de \\".\\"","expectedModuleName":"Falta el nom del mòdul","expectedNamedParameter":"El paràmetre de paraula clau ha d\'anar després de \\"*\\"","expectedNewlineOrSemicolon":"Contingut addicional inesperat\\nNomés pot haver-hi una instrucció per línia","expectedOpenParen":"Falta el parèntesi d\'obertura \\"(\\"","expectedParamName":"Falta el nom del paràmetre","expectedSliceIndex":"Falta l\'índex o la secció","expectedYieldExpr":"S\'espera una expressió a la instrucció yield","globalReassignment":"\\"{name}\\" s\'assigna abans de la declaració global","globalRedefinition":"\\"{name}\\" ja es va declarar global","importResolveFailure":"No s\'ha pogut trobar el mòdul \\"{importName}\\".","importSymbolUnknown":"\\"{name}\\" no s\'ha trobat al mòdul \\"{moduleName}\\"","inconsistentIndent":"El sagnat no coincideix amb la línia anterior","inconsistentTabs":"Ús incoherent de tabulacions i espais per a sagnats","instanceMethodSelfParam":"Els mètodes d\'instància necessiten un paràmetre \\"self\\".","invalidIdentifierChar":"Caràcter no vàlid a l\'identificador","invalidTokenChars":"Caràcter \\"{text}\\" no vàlid al testimoni","memberAccess":"No es pot accedir al membre \\"{name}\\" per al tipus \\"{type}\\"","memberDelete":"No es pot suprimir el membre \\"{name}\\" per al tipus \\"{type}\\"","memberSet":"No es pot assignar el membre \\"{name}\\" per al tipus \\"{type}\\"","moduleNotCallable":"El mòdul no es pot cridar","moduleUnknownMember":"\\"{name}\\" no és un membre conegut del mòdul \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" no és compatible amb un {device}","nonDefaultAfterDefault":"L\'argument no predeterminat va després de l\'argument predeterminat","noOverload":"Els arguments no coincideixen amb els tipus de paràmetres","objectNotCallable":"L\'objecte no es pot cridar","obscuredClassDeclaration":"La classe \\"{name}\\" xoca amb una altra declaració amb el mateix nom","obscuredFunctionDeclaration":"La funció \\"{name}\\" xoca amb una altra declaració amb el mateix nom","obscuredMethodDeclaration":"El mètode \\"{name}\\" xoca amb una altra declaració amb el mateix nom","obscuredParameterDeclaration":"El paràmetre \\"{name}\\" xoca amb una altra declaració amb el mateix nom","obscuredVariableDeclaration":"La declaració \\"{name}\\" xoca amb una altra declaració amb el mateix nom","paramAfterKwargsParam":"El paràmetre no pot seguir el paràmetre \\"**\\".","paramAlreadyAssigned":"El paràmetre \\"{name}\\" ja està assignat","paramNameMissing":"Cap paràmetre anomenat \\"{name}\\"","positionArgAfterNamedArg":"L\'argument posicional no pot aparèixer després dels arguments de paraula clau","returnOutsideFunction":"\\"return\\" només es pot utilitzar dins d\'una funció","stringUnsupportedEscape":"Seqüència d\'escapada no admesa al literal de cadena","stringUnterminated":"La cadena no està tancada -- falta cometes","symbolIsUndefined":"\\"{name}\\" no està definit","trailingCommaInFromImport":"No es permet la coma final sense parèntesis","tupleIndexOutOfRange":"L\'índex {index} està fora de l\'interval per al tipus {type}","typeNotIterable":"El tipus no és iterable","typeNotSupportBinaryOperator":"L\'operador \\"{operator}\\" no és compatible amb aquesta combinació de tipus","typeNotSupportBinaryOperatorBidirectional":"L\'operador \\"{operator}\\" no és compatible amb aquesta combinació de tipus","unaccessedClass":"La classe \\"{name}\\" no s\'utilitza","unaccessedFunction":"La funció \\"{name}\\" no s\'utilitza","unaccessedImport":" Import \\"{name}\\" no s\'utilitza","unaccessedSymbol":"\\"{name}\\" no s\'utilitza","unaccessedVariable":"La variable \\"{name}\\" no s\'utilitza","unexpectedIndent":"Sagnat inesperat","unreachableCode":"El codi no és accessible\\nLa lògica del teu programa fa que aquest codi no s\'executi mai"},"DiagnosticAddendum":{"tupleSizeMismatch":"Desajust de la mida de l\'element; esperat {expected} però rebut {received}"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-de-913-6516fe648e06c3175b0d.worker.js b/public/workers/pyright-locale-de-913-6516fe648e06c3175b0d.worker.js deleted file mode 100644 index b26dd3ad7..000000000 --- a/public/workers/pyright-locale-de-913-6516fe648e06c3175b0d.worker.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[913],{1362:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"Argument stimmt nicht mit Parametertyp überein","argAssignmentFunction":"Argument stimmt nicht mit dem Parametertyp in Funktion \\"{functionName}\\" überein","argAssignmentParam":"Argument stimmt nicht mit Parametertyp für Parameter \\"{paramName}\\" überein","argAssignmentParamFunction":"Argument stimmt nicht mit Parametertyp für Parameter \\"{paramName}\\" überein","argMissingForParam":"Fehlendes Argument für Parameter {name}","argMissingForParams":"Fehlende Argumente für Parameter {names}","argMorePositionalExpectedCount":"{expected} weitere positionelle Argumente erwartet","argMorePositionalExpectedOne":"1 weiteres positionelles Argument erwartet","argPositional":"Positionelles Argument erwartet","argPositionalExpectedOne":"1 positionelles Argument erwartet","assignmentTargetExpr":"Ein Ausdruck kann kein Zuweisungsziel sein","booleanIsLowerCase":"\\"{name}\\" ist nicht definiert, meinten Sie \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" kann nur innerhalb einer \\"while\\" oder \\"for\\" Schleife verwendet werden","constructorNoArgs":"Keine Argumente für \\"{type}\\" Konstruktor erwartet","continueOutsideLoop":"\\"continue\\" kann nur innerhalb einer \\"while\\" oder \\"for\\" Schleife verwendet werden","delTargetExpr":"Ausdruck kann nicht gelöscht werden","duplicateParam":"Duplizierter Parameter \\"{name}\\"","expectedAssignRightHandExpr":"Auf der rechten Seite von \\"=\\" wird ein Ausdruck erwartet","expectedBinaryRightHandExpr":"Auf der rechten Seite vom Operator wird ein Ausdruck erwartet","expectedClassName":"Klassenname fehlt","expectedCloseBrace":"Schließende geschweifte Klammer „}“ fehlt","expectedCloseBracket":"Schließende eckige Klammer „]“ fehlt","expectedCloseParen":"Schließende runde Klammer „)“ fehlt","expectedColon":"Doppelpunkt „:“ fehlt","expectedDelExpr":"Ausdruck nach „del“ fehlt","expectedElse":"„else“ fehlt","expectedEqualityOperator":"Hier wird ein Gleichheitsoperator erwartet, meinten Sie \\"==\\"?","expectedExpr":"Ausdruck fehlt","expectedFunctionName":"Funktionsname nach \\"def\\" fehlt","expectedIdentifier":"Bezeichner fehlt","expectedImport":"„import“ fehlt","expectedImportAlias":"Fehlendes Symbol nach \\"as\\"","expectedImportSymbols":"Nach dem Import wird ein oder mehrere Symbolnamen erwartet","expectedIn":"„in“ fehlt","expectedIndentedBlock":"Einrückung fehlt","expectedInExpr":"Fehlender Ausdruck nach \\"in\\"","expectedMemberName":"Fehlender Mitgliedsname nach \\".\\"","expectedModuleName":"Modulname fehlt","expectedNamedParameter":"Schlüsselwortparameter muss \\"*\\" folgen","expectedNewlineOrSemicolon":"Unerwartete zusätzliche Inhalte\\nEs wird eine Anweisung pro Zeile erwartet","expectedOpenParen":"Öffnende runde Klammer „)“ fehlt","expectedParamName":"Fehlender Parametername","expectedSliceIndex":"Fehlender Index oder Slice","expectedYieldExpr":"Ein Ausdruck wird in der yield-Anweisung erwartet","globalReassignment":"\\"{name}\\" wird vor der globalen Deklaration zugewiesen","globalRedefinition":"\\"{name}\\" wurde bereits als global deklariert","importResolveFailure":"Modul „{importName}“ konnte nicht gefunden werden","importSymbolUnknown":"„{name}“ konnte im Modul „{moduleName}“ nicht gefunden werden","inconsistentIndent":"Einrückung stimmt nicht mit der vorherigen Zeile überein","inconsistentTabs":"Inkonsistente Verwendung von Tabs und Leerzeichen für die Einrückung","instanceMethodSelfParam":"Instanzmethoden benötigen einen \\"self\\"-Parameter","invalidIdentifierChar":"Ungültiges Zeichen im Bezeichner","invalidTokenChars":"Ungültiges Zeichen \\"{text}\\" im Token","memberAccess":"Kann nicht auf Mitglied „{name}“ für Typ „{type}“ zugreifen","memberDelete":"Kann Mitglied \\"{name}\\"für Typ \\"{type}\\" nicht löschen","memberSet":"Kann Mitglied \\"{name}\\" nicht für Typ \\"{type}\\" zuweisen","moduleNotCallable":"Modul ist nicht abrufbar","moduleUnknownMember":"„{name}“ ist kein bekanntes Mitglied des Moduls „{module}“","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"Nicht-Standard Argument folgt Standardargument","noOverload":"Argumente stimmen nicht mit Parametertypen überein","objectNotCallable":"Objekt ist nicht abrufbar","obscuredClassDeclaration":"Klasse \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","obscuredFunctionDeclaration":"Funktion \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","obscuredMethodDeclaration":"Methode \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","obscuredParameterDeclaration":"Parameter \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","obscuredVariableDeclaration":"Deklaration \\"{name}\\" kollidiert mit einer anderen Deklaration gleichen Namens","paramAfterKwargsParam":"Parameter kann Parameter \\"**\\" nicht folgen","paramAlreadyAssigned":"Der Parameter \\"{name}\\" ist bereits vergeben","paramNameMissing":"Kein Parameter mit dem Namen „{name}“","positionArgAfterNamedArg":"Positionelle Argumente können nicht nach Schlüsselwort-Argumenten angezeigt werden","returnOutsideFunction":"\\"return\\" kann nur innerhalb einer Funktion verwendet werden","stringUnsupportedEscape":"NIcht unterstützte Escape-Sequenz im String-Literal","stringUnterminated":"Zeichenkette ist nicht geschlossen — fehlendes Anführungszeichen","symbolIsUndefined":"„{name}“ ist nicht definiert","trailingCommaInFromImport":"Nachgestelltes Komma ohne umgebende Klammern nicht erlaubt","tupleIndexOutOfRange":"Index {index} befindet sich außerhalb des Bereichs für Typ {type}","typeNotIterable":"Typ ist nicht iterierbar","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" wird für diese Typenkombination nicht unterstützt","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" wird für diese Typenkombination nicht unterstützt","unaccessedClass":"Klasse „{name}“ wird nie verwendet","unaccessedFunction":"Funktion „{name}“ wird nie verwendet","unaccessedImport":"Import \\"{name}\\" wird nie verwendet","unaccessedSymbol":"„{name}“ wird nicht verwendet","unaccessedVariable":"Variable „{name}“ wird nie verwendet","unexpectedIndent":"Unerwartete Einrückung","unreachableCode":"Code nicht erreichbar\\nDie Logik deines Programms bedeutet, dass dieser Code niemals ausgeführt wird"},"DiagnosticAddendum":{"tupleSizeMismatch":"Elementgröße stimmt nicht überein; {expected} erwartet aber {received} erhalten"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-de-913-9659826d2d95dc8190bd.worker.js b/public/workers/pyright-locale-de-913-9659826d2d95dc8190bd.worker.js new file mode 100644 index 000000000..eb7c11258 --- /dev/null +++ b/public/workers/pyright-locale-de-913-9659826d2d95dc8190bd.worker.js @@ -0,0 +1 @@ +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[913],{1362:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"Argument stimmt nicht mit Parametertyp überein.","argAssignmentFunction":"Argument stimmt nicht mit Parametertyp in Funktion „{functionName}“ überein.","argAssignmentParam":"Argument stimmt nicht mit Parametertyp für Parameter „{paramName}“ überein.","argAssignmentParamFunction":"Argument stimmt nicht mit Parametertyp für Parameter „{paramName}“ überein.","argMissingForParam":"Fehlendes Argument für Parameter {name}.","argMissingForParams":"Fehlende Argumente für Parameter {names}.","argMorePositionalExpectedCount":"{expected} weitere positionelle Argumente erwartet.","argMorePositionalExpectedOne":"1 weiteres positionelles Argument erwartet.","argPositional":"Positionelles Argument erwartet.","argPositionalExpectedOne":"1 positionelles Argument erwartet.","assignmentTargetExpr":"Ein Ausdruck kann kein Zuweisungsziel sein.","booleanIsLowerCase":"\\"{name}\\" ist nicht definiert. Meintest du „{booleanName}“?","breakOutsideLoop":"„break“ kann nur innerhalb einer „while“- oder „for“-Schleife verwendet werden.","constructorNoArgs":"Keine Argumente für \\"{type}\\" Konstruktor erwartet.","continueOutsideLoop":"„continue“ kann nur innerhalb einer „while“- oder „for“-Schleife verwendet werden.","delTargetExpr":"Ausdruck kann nicht gelöscht werden.","duplicateParam":"Doppelter Parameter „{name}“.","expectedAssignRightHandExpr":"Ausdruck auf der rechten Seite von „=“ erwartet.","expectedBinaryRightHandExpr":"Ausdruck auf der rechten Seite des Operators erwartet.","expectedClassName":"Klassenname fehlt.","expectedCloseBrace":"Schließende geschweifte Klammer „}“ fehlt.","expectedCloseBracket":"Schließende eckige Klammer „]“ fehlt.","expectedCloseParen":"Schließende runde Klammer „)“ fehlt.","expectedColon":"Doppelpunkt „:“ fehlt.","expectedDelExpr":"Ausdruck nach „del“ fehlt.","expectedElse":"„else“ fehlt.","expectedEqualityOperator":"Gleichheitsoperator erwartet. Meintest du „==“?","expectedExpr":"Ausdruck fehlt.","expectedFunctionName":"Funktionsname nach „def“ fehlt.","expectedIdentifier":"Bezeichner fehlt.","expectedImport":"„import“ fehlt.","expectedImportAlias":"Symbol nach „as“ fehlt.","expectedImportSymbols":"Nach dem Import wird ein oder mehrere Symbolnamen erwartet","expectedIn":"„in“ fehlt.","expectedIndentedBlock":"Einrückung fehlt.","expectedInExpr":"Ausdruck nach „in“ fehlt.","expectedMemberName":"Fehlender Mitgliedsname nach „.“.","expectedModuleName":"Modulname fehlt.","expectedNamedParameter":"Schlüsselwortparameter muss „*“ folgen.","expectedNewlineOrSemicolon":"Unerwartete zusätzliche Inhalte.\\nEine Anweisung pro Zeile erwartet.","expectedOpenParen":"Öffnende runde Klammer „)“ fehlt.","expectedParamName":"Fehlender Parametername.","expectedSliceIndex":"Fehlender Index oder Zuschnitt.","expectedYieldExpr":"Ausdruck in yield-Anweisung erwartet.","globalReassignment":"„{name}“ wird vor der globalen Deklaration zugewiesen.","globalRedefinition":"„{name}“ wurde bereits als global deklariert.","importResolveFailure":"Modul „{importName}“ konnte nicht gefunden werden.","importSymbolUnknown":"„{name}“ konnte im Modul „{moduleName}“ nicht gefunden werden.","inconsistentIndent":"Einrückung stimmt nicht mit der vorherigen Zeile überein.","inconsistentTabs":"Inkonsistente Verwendung von Tabs und Leerzeichen für Einrückung.","instanceMethodSelfParam":"Instanzmethoden benötigen einen „self“-Parameter.","invalidIdentifierChar":"Ungültiges Zeichen in Bezeichner.","invalidTokenChars":"Ungültiges Zeichen „{text}“ in Token.","memberAccess":"Kann nicht auf Mitglied „{name}“ für Typ „{type}“ zugreifen.","memberDelete":"Kann Mitglied „{name}“ für Typ „{type}“ nicht löschen.","memberSet":"Kann Mitglied „{name}“ nicht für Typ „{type}“ zuweisen.","moduleNotCallable":"Modul ist nicht abrufbar.","moduleUnknownMember":"„{name}“ ist kein bekanntes Mitglied des Moduls „{module}“.","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"Nicht-Standard Argument folgt Standardargument.","noOverload":"Argumente stimmen nicht mit Parametertypen überein.","objectNotCallable":"Objekt ist nicht abrufbar.","obscuredClassDeclaration":"Klasse „{name}“ kollidiert mit einer anderen Deklaration gleichen Namens.","obscuredFunctionDeclaration":"Funktion „{name}“ kollidiert mit einer anderen Deklaration gleichen Namens.","obscuredMethodDeclaration":"Methode „{name}“ kollidiert mit einer anderen Deklaration gleichen Namens.","obscuredParameterDeclaration":"Parameter „{name}“ kollidiert mit einer anderen Deklaration gleichen Namens.","obscuredVariableDeclaration":"Deklaration „{name}“ kollidiert mit einer anderen Deklaration gleichen Namens.","paramAfterKwargsParam":"Parameter kann Parameter „**“ nicht folgen.","paramAlreadyAssigned":"Der Parameter „{name}“ ist bereits vergeben.","paramNameMissing":"Kein Parameter mit dem Namen „{name}“.","positionArgAfterNamedArg":"Positionelle Argumente können nicht nach Schlüsselwort-Argumenten angezeigt werden.","returnOutsideFunction":"„return“ kann nur innerhalb einer Funktion verwendet werden.","stringUnsupportedEscape":"NIcht unterstützte Escape-Sequenz im String-Literal","stringUnterminated":"String nicht geschlossen – fehlendes Anführungszeichen","symbolIsUndefined":"„{name}“ ist nicht definiert.","trailingCommaInFromImport":"Nachgestelltes Komma ohne umgebende Klammern nicht erlaubt.","tupleIndexOutOfRange":"Index {index} befindet sich außerhalb des Bereichs für Typ {type}.","typeNotIterable":"Typ ist nicht iterierbar.","typeNotSupportBinaryOperator":"Operator „{operator}“ wird für diese Typenkombination nicht unterstützt.","typeNotSupportBinaryOperatorBidirectional":"Operator „{operator}“ wird für diese Typenkombination nicht unterstützt.","unaccessedClass":"Klasse „{name}“ wird nie verwendet.","unaccessedFunction":"Funktion „{name}“ wird nie verwendet.","unaccessedImport":"Import „{name}“ wird nie verwendet.","unaccessedSymbol":"„{name}“ wird nicht verwendet.","unaccessedVariable":"Variable „{name}“ wird nie verwendet.","unexpectedIndent":"Unerwartete Einrückung.","unreachableCode":"Code nicht erreichbar.\\nDie Logik deines Programms bedeutet, dass dieser Code niemals ausgeführt wird."},"DiagnosticAddendum":{"tupleSizeMismatch":"Elementgröße stimmt nicht überein; {expected} erwartet, aber {received} erhalten."}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-es-es-689-044348bd1ddc2b34a22e.worker.js b/public/workers/pyright-locale-es-es-689-26d9690baff64c901ed8.worker.js similarity index 63% rename from public/workers/pyright-locale-es-es-689-044348bd1ddc2b34a22e.worker.js rename to public/workers/pyright-locale-es-es-689-26d9690baff64c901ed8.worker.js index f53998790..1db658993 100644 --- a/public/workers/pyright-locale-es-es-689-044348bd1ddc2b34a22e.worker.js +++ b/public/workers/pyright-locale-es-es-689-26d9690baff64c901ed8.worker.js @@ -1 +1 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[689],{4162:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"El tipo de argumento no coincide con el tipo de parámetro","argAssignmentFunction":"El tipo de argumento no coincide con el tipo de parámetro en la función \\"{functionName}\\"","argAssignmentParam":"El tipo de argumento no coincide con el tipo de parámetro para el parámetro \\"{paramName}\\"","argAssignmentParamFunction":"El tipo de argumento no coincide con el tipo de parámetro para el parámetro \\"{paramName}\\"","argMissingForParam":"Falta el argumento para el parámetro {name}","argMissingForParams":"Faltan los argumentos para los parámetros {names}","argMorePositionalExpectedCount":"Se esperan {expected} argumentos posicionales más","argMorePositionalExpectedOne":"Se espera 1 argumento posicional más","argPositional":"Se espera argumento posicional","argPositionalExpectedOne":"Se espera 1 argumento posicional","assignmentTargetExpr":"La expresión no se puede utilizar como destino de asignación","booleanIsLowerCase":"\\"{name}\\" no está definido, ¿querías decir \\"{booleanName}\\"?","breakOutsideLoop":"Solo se puede usar \\"break\\" dentro de un bucle \\"while\\" o \\"for\\"","constructorNoArgs":"No se esperan argumentos para el constructor \\"{type}\\"","continueOutsideLoop":"Solo se puede usar \\"continue\\" dentro de un bucle \\"while\\" o \\"for\\"","delTargetExpr":"La expresión no se puede eliminar","duplicateParam":"Parámetro \\"{name}\\" duplicado","expectedAssignRightHandExpr":"Se espera una expresión a la derecha de \\"=\\"","expectedBinaryRightHandExpr":"Se espera una expresión a la derecha del operador","expectedClassName":"Falta el nombre de la clase","expectedCloseBrace":"Falta la llave de cierre \\"}\\"","expectedCloseBracket":"Falta el corchete de cierre \\"]\\"","expectedCloseParen":"Falta el paréntesis de cierre \\")\\"","expectedColon":"Faltan los dos puntos \\":\\"","expectedDelExpr":"Falta una expresión después de \\"del\\"","expectedElse":"Falta \\"else\\"","expectedEqualityOperator":"Se espera operador de igualdad, ¿querías decir \\"==\\"?","expectedExpr":"Falta una expresión","expectedFunctionName":"Falta el nombre de la función después de \\"def\\"","expectedIdentifier":"Falta un identificador","expectedImport":"Falta \\"import\\"","expectedImportAlias":"Falta un símbolo después de \\"as\\"","expectedImportSymbols":"Se espera uno o más nombres de símbolos después de la importación","expectedIn":"Falta \\"in\\"","expectedIndentedBlock":"Falta la sangría","expectedInExpr":"Falta una expresión después de \\"in\\"","expectedMemberName":"Falta el nombre del miembro después de \\".\\"","expectedModuleName":"Falta el nombre del módulo","expectedNamedParameter":"Un parámetro de palabra clave debe ir después de \\"*\\"","expectedNewlineOrSemicolon":"Contenido extra inesperado\\nDebe haber una declaración por línea","expectedOpenParen":"Falta el paréntesis de apertura \\"(\\"","expectedParamName":"Falta el nombre del parámetro","expectedSliceIndex":"Falta el índice o \\"slice\\"","expectedYieldExpr":"Se espera expresión en declaración \\"yield\\"","globalReassignment":"Se ha asignado \\"{name}\\" antes de la declaración global","globalRedefinition":"Ya se ha declarado \\"{name}\\" como global","importResolveFailure":"No se ha podido encontrar el módulo \\"{importName}\\"","importSymbolUnknown":"No se ha encontrado \\"{name}\\" en el módulo \\"{moduleName}\\"","inconsistentIndent":"La sangría no coincide con la de la línea anterior","inconsistentTabs":"Uso inconsistente de tabulación y espacios para sangrías","instanceMethodSelfParam":"Los métodos de instancia necesitan un parámetro \\"self\\"","invalidIdentifierChar":"Carácter no válido en el identificador","invalidTokenChars":"Carácter no válido \\"{text}\\" en token","memberAccess":"No se puede acceder al miembro \\"{name}\\" para el tipo \\"{type}\\"","memberDelete":"No se puede eliminar el miembro \\"{name}\\" para el tipo \\"{type}\\"","memberSet":"No se puede asignar el miembro \\"{name}\\" para el tipo \\"{type}\\"","moduleNotCallable":"No se puede llamar al módulo","moduleUnknownMember":"\\"{name}\\" no es un miembro conocido del módulo \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"Argumento no por defecto después de argumento por defecto","noOverload":"Los tipos de los argumentos no coinciden con los tipos de los parámetros","objectNotCallable":"No se puede llamar al objeto","obscuredClassDeclaration":"La clase \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredFunctionDeclaration":"La función \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredMethodDeclaration":"El método \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredParameterDeclaration":"El parámetro \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredVariableDeclaration":"La declaración \\"{name}\\" tiene el mismo nombre que otra declaración","paramAfterKwargsParam":"El parámetro no puede ir después de un parámetro \\"**\\"","paramAlreadyAssigned":"El parámetro \\"{name}\\" ya está asignado","paramNameMissing":"No existe ningún parámetro llamado \\"{name}\\"","positionArgAfterNamedArg":"Un argumento posicional no puede ir después de los argumentos de palabra clave","returnOutsideFunction":"\\"return\\" solo puede utilizarse dentro de una función","stringUnsupportedEscape":"Secuencia de escape no admitida en literal de cadena","stringUnterminated":"La cadena no está cerrada: faltan las comillas","symbolIsUndefined":"\\"{name}\\" no está definido","trailingCommaInFromImport":"Coma final no permitida: la expresión debe estar entre paréntesis","tupleIndexOutOfRange":"El índice {index} está fuera de rango para el tipo {type}","typeNotIterable":"El tipo no es iterable","typeNotSupportBinaryOperator":"No se admite el operador \\"{operator}\\" para esta combinación de tipos","typeNotSupportBinaryOperatorBidirectional":"No se admite el operador \\"{operator}\\" para esta combinación de tipos","unaccessedClass":"La clase \\"{name}\\" no se utiliza","unaccessedFunction":"La función \\"{name}\\" no se utiliza","unaccessedImport":"La importación \\"{name}\\" no se utiliza","unaccessedSymbol":"\\"{name}\\" no se utiliza","unaccessedVariable":"La variable \\"{name}\\" no se utiliza","unexpectedIndent":"Sangría inesperada","unreachableCode":"El código es inalcanzable\\nEl código nunca se ejecutará según la lógica del programa"},"DiagnosticAddendum":{"tupleSizeMismatch":"El tamaño del elemento no coincide: se esperaba {expected} pero se ha obtenido {received}"}}')}}]); \ No newline at end of file +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[689],{4162:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"El tipo de argumento no coincide con el tipo de parámetro","argAssignmentFunction":"El tipo de argumento no coincide con el tipo de parámetro en la función \\"{functionName}\\"","argAssignmentParam":"El tipo de argumento no coincide con el tipo de parámetro para el parámetro \\"{paramName}\\"","argAssignmentParamFunction":"El tipo de argumento no coincide con el tipo de parámetro para el parámetro \\"{paramName}\\"","argMissingForParam":"Falta el argumento para el parámetro {name}","argMissingForParams":"Faltan los argumentos para los parámetros {names}","argMorePositionalExpectedCount":"Se esperan {expected} argumentos posicionales más","argMorePositionalExpectedOne":"Se espera 1 argumento posicional más","argPositional":"Se espera argumento posicional","argPositionalExpectedOne":"Se espera 1 argumento posicional","assignmentTargetExpr":"La expresión no se puede utilizar como destino de asignación","booleanIsLowerCase":"\\"{name}\\" no está definido, ¿querías decir \\"{booleanName}\\"?","breakOutsideLoop":"Solo se puede usar \\"break\\" dentro de un bucle \\"while\\" o \\"for\\"","constructorNoArgs":"No se esperan argumentos para el constructor \\"{type}\\"","continueOutsideLoop":"Solo se puede usar \\"continue\\" dentro de un bucle \\"while\\" o \\"for\\"","delTargetExpr":"La expresión no se puede eliminar","duplicateParam":"Parámetro \\"{name}\\" duplicado","expectedAssignRightHandExpr":"Se espera una expresión a la derecha de \\"=\\"","expectedBinaryRightHandExpr":"Se espera una expresión a la derecha del operador","expectedClassName":"Falta el nombre de la clase","expectedCloseBrace":"Falta la llave de cierre \\"}\\"","expectedCloseBracket":"Falta el corchete de cierre \\"]\\"","expectedCloseParen":"Falta el paréntesis de cierre \\")\\"","expectedColon":"Faltan los dos puntos \\":\\"","expectedDelExpr":"Falta una expresión después de \\"del\\"","expectedElse":"Falta \\"else\\"","expectedEqualityOperator":"Se espera operador de igualdad, ¿querías decir \\"==\\"?","expectedExpr":"Falta una expresión","expectedFunctionName":"Falta el nombre de la función después de \\"def\\"","expectedIdentifier":"Falta un identificador","expectedImport":"Falta \\"import\\"","expectedImportAlias":"Falta un símbolo después de \\"as\\"","expectedImportSymbols":"Se espera uno o más nombres de símbolos después de la importación","expectedIn":"Falta \\"in\\"","expectedIndentedBlock":"Falta la sangría","expectedInExpr":"Falta una expresión después de \\"in\\"","expectedMemberName":"Falta el nombre del miembro después de \\".\\"","expectedModuleName":"Falta el nombre del módulo","expectedNamedParameter":"Un parámetro de palabra clave debe ir después de \\"*\\"","expectedNewlineOrSemicolon":"Contenido extra inesperado\\nDebe haber una declaración por línea","expectedOpenParen":"Falta el paréntesis de apertura \\"(\\"","expectedParamName":"Falta el nombre del parámetro","expectedSliceIndex":"Falta el índice o \\"slice\\"","expectedYieldExpr":"Se espera expresión en declaración \\"yield\\"","globalReassignment":"Se ha asignado \\"{name}\\" antes de la declaración global","globalRedefinition":"Ya se ha declarado \\"{name}\\" como global","importResolveFailure":"No se ha podido encontrar el módulo \\"{importName}\\"","importSymbolUnknown":"No se ha encontrado \\"{name}\\" en el módulo \\"{moduleName}\\"","inconsistentIndent":"La sangría no coincide con la de la línea anterior","inconsistentTabs":"Uso inconsistente de tabulación y espacios para sangrías","instanceMethodSelfParam":"Los métodos de instancia necesitan un parámetro \\"self\\"","invalidIdentifierChar":"Carácter no válido en el identificador","invalidTokenChars":"Carácter no válido \\"{text}\\" en token","memberAccess":"No se puede acceder al miembro \\"{name}\\" para el tipo \\"{type}\\"","memberDelete":"No se puede eliminar el miembro \\"{name}\\" para el tipo \\"{type}\\"","memberSet":"No se puede asignar el miembro \\"{name}\\" para el tipo \\"{type}\\"","moduleNotCallable":"No se puede llamar al módulo","moduleUnknownMember":"\\"{name}\\" no es un miembro conocido del módulo \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" no es compatible con {device}","nonDefaultAfterDefault":"Argumento no por defecto después de argumento por defecto","noOverload":"Los tipos de los argumentos no coinciden con los tipos de los parámetros","objectNotCallable":"No se puede llamar al objeto","obscuredClassDeclaration":"La clase \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredFunctionDeclaration":"La función \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredMethodDeclaration":"El método \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredParameterDeclaration":"El parámetro \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredVariableDeclaration":"La declaración \\"{name}\\" tiene el mismo nombre que otra declaración","paramAfterKwargsParam":"El parámetro no puede ir después de un parámetro \\"**\\"","paramAlreadyAssigned":"El parámetro \\"{name}\\" ya está asignado","paramNameMissing":"No existe ningún parámetro llamado \\"{name}\\"","positionArgAfterNamedArg":"Un argumento posicional no puede ir después de los argumentos de palabra clave","returnOutsideFunction":"\\"return\\" solo puede utilizarse dentro de una función","stringUnsupportedEscape":"Secuencia de escape no admitida en literal de cadena","stringUnterminated":"La cadena no está cerrada: faltan las comillas","symbolIsUndefined":"\\"{name}\\" no está definido","trailingCommaInFromImport":"Coma final no permitida: la expresión debe estar entre paréntesis","tupleIndexOutOfRange":"El índice {index} está fuera de rango para el tipo {type}","typeNotIterable":"El tipo no es iterable","typeNotSupportBinaryOperator":"No se admite el operador \\"{operator}\\" para esta combinación de tipos","typeNotSupportBinaryOperatorBidirectional":"No se admite el operador \\"{operator}\\" para esta combinación de tipos","unaccessedClass":"La clase \\"{name}\\" no se utiliza","unaccessedFunction":"La función \\"{name}\\" no se utiliza","unaccessedImport":"La importación \\"{name}\\" no se utiliza","unaccessedSymbol":"\\"{name}\\" no se utiliza","unaccessedVariable":"La variable \\"{name}\\" no se utiliza","unexpectedIndent":"Sangría inesperada","unreachableCode":"El código es inalcanzable\\nEl código nunca se ejecutará según la lógica del programa"},"DiagnosticAddendum":{"tupleSizeMismatch":"El tamaño del elemento no coincide: se esperaba {expected} pero se ha obtenido {received}"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-fr-231-eb261203312776336920.worker.js b/public/workers/pyright-locale-fr-231-e938f9c58b9ac7c8a0c8.worker.js similarity index 62% rename from public/workers/pyright-locale-fr-231-eb261203312776336920.worker.js rename to public/workers/pyright-locale-fr-231-e938f9c58b9ac7c8a0c8.worker.js index 502c86fc4..f9dad04bd 100644 --- a/public/workers/pyright-locale-fr-231-eb261203312776336920.worker.js +++ b/public/workers/pyright-locale-fr-231-e938f9c58b9ac7c8a0c8.worker.js @@ -1 +1 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[231],{4846:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"L\'argument ne correspond pas au type du paramètre","argAssignmentFunction":"L\'argument ne correspond pas au type du paramètre dans la fonction \\"{functionName}\\"","argAssignmentParam":"L\'argument ne correspond pas au type du paramètre pour le paramètre \\"{paramName}\\"","argAssignmentParamFunction":"L\'argument ne correspond pas au type du paramètre pour le paramètre \\"{paramName}\\"","argMissingForParam":"Argument manquant pour le paramètre {name}","argMissingForParams":"Arguments manquants pour les paramètres {names}","argMorePositionalExpectedCount":"{expected} arguments positionnels supplémentaires attendus","argMorePositionalExpectedOne":"1 argument positionnel supplémentaire attendu","argPositional":"Argument positionnel attendu","argPositionalExpectedOne":"1 argument positionnel attendu","assignmentTargetExpr":"L\'expression ne peut pas être la cible d\'une affectation","booleanIsLowerCase":"\\"{name}\\" est indéfini, vouliez-vous dire \\"{booleanName}\\" ?","breakOutsideLoop":"\\"break\\" est utilisable seulement dans une boucle \\"while\\" ou \\"for\\"","constructorNoArgs":"Aucun argument attendu pour le constructeur \\"{type}\\"","continueOutsideLoop":"\\"continue\\" est utilisable seulement dans une boucle \\"while\\" ou \\"for\\"","delTargetExpr":"L\'expression ne peut pas être supprimée","duplicateParam":"Paramètre dupliqué \\"{name}\\"","expectedAssignRightHandExpr":"Expression attendue à droite de \\"=\\"","expectedBinaryRightHandExpr":"Expression attendue à droite de l\'opérateur","expectedClassName":"Nom de classe manquant","expectedCloseBrace":"Accolade fermante manquante \\"}\\"","expectedCloseBracket":"Crochet fermant manquant \\"]\\"","expectedCloseParen":"Parenthèse fermante manquante \\")\\"","expectedColon":"Deux-points manquant \\":\\"","expectedDelExpr":"Expression manquante après \\"del\\"","expectedElse":"\\"else\\" manquant","expectedEqualityOperator":"Opérateur d\'égalité attendu, vouliez-vous dire \\"==\\" ?","expectedExpr":"Expression manquante","expectedFunctionName":"Nom de la fonction manquant après \\"def\\"","expectedIdentifier":"Identifiant manquant","expectedImport":"\\"import\\" manquant","expectedImportAlias":"Symbole manquant après \\"as\\"","expectedImportSymbols":"Un ou plusieurs noms de symboles attendus après import","expectedIn":"\\"in\\" manquant","expectedIndentedBlock":"Indentation manquante","expectedInExpr":"Expression manquante après \\"in\\"","expectedMemberName":"Nom de membre manquant après \\".\\"","expectedModuleName":"Nom du module manquant","expectedNamedParameter":"Un argument nommé doit suivre \\"*\\"","expectedNewlineOrSemicolon":"Contenu supplémentaire inattendu\\nUne instruction doit être seule sur une ligne","expectedOpenParen":"Parenthèse ouvrante manquante \\"(\\"","expectedParamName":"Nom du paramètre manquant","expectedSliceIndex":"Indice ou tranche manquant","expectedYieldExpr":"Expression attendue dans l\'instruction yield","globalReassignment":"\\"{name}\\" est assigné avant la déclaration globale","globalRedefinition":"\\"{name}\\" a déjà été déclaré comme global","importResolveFailure":"Module \\"{importName}\\" introuvable","importSymbolUnknown":"\\"{name}\\" introuvable dans le module \\"{moduleName}\\"","inconsistentIndent":"L\'indentation ne correspond pas à la ligne précédente","inconsistentTabs":"Utilisation irrégulière de tabulations et d\'espaces pour l\'indentation","instanceMethodSelfParam":"Les méthodes d\'instance nécessitent un paramètre \\"self\\"","invalidIdentifierChar":"Caractère invalide dans l\'identifiant","invalidTokenChars":"Caractère \\"{text}\\" invalide dans le jeton","memberAccess":"Impossible d\'accéder au membre \\"{name}\\" pour le type \\"{type}\\"","memberDelete":"Impossible de supprimer le membre \\"{name}\\" pour le type \\"{type}\\"","memberSet":"Impossible d\'affecter le membre \\"{name}\\" pour le type \\"{type}\\"","moduleNotCallable":"Le module n\'est pas appelable","moduleUnknownMember":"\\"{name}\\" n\'est pas un membre connu du module \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"Argument sans valeur par défaut suit un argument ayant une valeur par défaut","noOverload":"Les arguments ne correspondent pas aux types des paramètres","objectNotCallable":"L\'objet n\'est pas appelable","obscuredClassDeclaration":"La classe \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredFunctionDeclaration":"La fonction \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredMethodDeclaration":"La méthode \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredParameterDeclaration":"Le paramètre \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredVariableDeclaration":"La déclaration \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","paramAfterKwargsParam":"Le paramètre ne peut pas suivre le paramètre \\"**\\"","paramAlreadyAssigned":"Le paramètre \\"{name}\\" est déjà assigné","paramNameMissing":"Aucun paramètre nommé \\"{name}\\"","positionArgAfterNamedArg":"Un argument positionnel ne peut pas apparaître après un argument nommé","returnOutsideFunction":"\\"return\\" ne peut être utilisé que dans une fonction","stringUnsupportedEscape":"Séquence d\'échappement non supportée dans la chaîne","stringUnterminated":"La chaîne n\'est pas fermée — guillemet manquant","symbolIsUndefined":"\\"{name}\\" n\'est pas défini","trailingCommaInFromImport":"Virgule finale non autorisée sans les parenthèses","tupleIndexOutOfRange":"L\'indice {index} est hors limite pour le type {type}","typeNotIterable":"Le type n\'est pas itérable","typeNotSupportBinaryOperator":"L\'opérateur \\"{operator}\\" n\'est pas pris en charge pour cette combinaison de types","typeNotSupportBinaryOperatorBidirectional":"L\'opérateur \\"{operator}\\" n\'est pas pris en charge pour cette combinaison de types","unaccessedClass":"Classe \\"{name}\\" n\'est pas utilisée","unaccessedFunction":"La fonction \\"{name}\\" n\'est pas utilisée","unaccessedImport":"L\'importation \\"{name}\\" n\'est pas utilisée","unaccessedSymbol":"\\"{name}\\" n\'est pas utilisé","unaccessedVariable":"La variable \\"{name}\\" n\'est pas utilisée","unexpectedIndent":"Indentation inattendue","unreachableCode":"Le code est inatteignable\\nLa logique de votre programme fait en sorte que ce code ne sera jamais exécuté"},"DiagnosticAddendum":{"tupleSizeMismatch":"Taille de l\'élément ne correspond pas; attendu {expected} mais reçu {received}"}}')}}]); \ No newline at end of file +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[231],{4846:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"L\'argument ne correspond pas au type du paramètre","argAssignmentFunction":"L\'argument ne correspond pas au type du paramètre dans la fonction \\"{functionName}\\"","argAssignmentParam":"L\'argument ne correspond pas au type du paramètre pour le paramètre \\"{paramName}\\"","argAssignmentParamFunction":"L\'argument ne correspond pas au type du paramètre pour le paramètre \\"{paramName}\\"","argMissingForParam":"Argument manquant pour le paramètre {name}","argMissingForParams":"Arguments manquants pour les paramètres {names}","argMorePositionalExpectedCount":"{expected} arguments positionnels supplémentaires attendus","argMorePositionalExpectedOne":"1 argument positionnel supplémentaire attendu","argPositional":"Argument positionnel attendu","argPositionalExpectedOne":"1 argument positionnel attendu","assignmentTargetExpr":"L\'expression ne peut pas être la cible d\'une affectation","booleanIsLowerCase":"\\"{name}\\" est indéfini, vouliez-vous dire \\"{booleanName}\\" ?","breakOutsideLoop":"\\"break\\" est utilisable seulement dans une boucle \\"while\\" ou \\"for\\"","constructorNoArgs":"Aucun argument attendu pour le constructeur \\"{type}\\"","continueOutsideLoop":"\\"continue\\" est utilisable seulement dans une boucle \\"while\\" ou \\"for\\"","delTargetExpr":"L\'expression ne peut pas être supprimée","duplicateParam":"Paramètre dupliqué \\"{name}\\"","expectedAssignRightHandExpr":"Expression attendue à droite de \\"=\\"","expectedBinaryRightHandExpr":"Expression attendue à droite de l\'opérateur","expectedClassName":"Nom de classe manquant","expectedCloseBrace":"Accolade fermante manquante \\"}\\"","expectedCloseBracket":"Crochet fermant manquant \\"]\\"","expectedCloseParen":"Parenthèse fermante manquante \\")\\"","expectedColon":"Deux-points manquant \\":\\"","expectedDelExpr":"Expression manquante après \\"del\\"","expectedElse":"\\"else\\" manquant","expectedEqualityOperator":"Opérateur d\'égalité attendu, vouliez-vous dire \\"==\\" ?","expectedExpr":"Expression manquante","expectedFunctionName":"Nom de la fonction manquant après \\"def\\"","expectedIdentifier":"Identifiant manquant","expectedImport":"\\"import\\" manquant","expectedImportAlias":"Symbole manquant après \\"as\\"","expectedImportSymbols":"Un ou plusieurs noms de symboles attendus après import","expectedIn":"\\"in\\" manquant","expectedIndentedBlock":"Indentation manquante","expectedInExpr":"Expression manquante après \\"in\\"","expectedMemberName":"Nom de membre manquant après \\".\\"","expectedModuleName":"Nom du module manquant","expectedNamedParameter":"Un argument nommé doit suivre \\"*\\"","expectedNewlineOrSemicolon":"Contenu supplémentaire inattendu\\nUne instruction doit être seule sur une ligne","expectedOpenParen":"Parenthèse ouvrante manquante \\"(\\"","expectedParamName":"Nom du paramètre manquant","expectedSliceIndex":"Indice ou tranche manquant","expectedYieldExpr":"Expression attendue dans l\'instruction yield","globalReassignment":"\\"{name}\\" est assigné avant la déclaration globale","globalRedefinition":"\\"{name}\\" a déjà été déclaré comme global","importResolveFailure":"Module \\"{importName}\\" introuvable","importSymbolUnknown":"\\"{name}\\" introuvable dans le module \\"{moduleName}\\"","inconsistentIndent":"L\'indentation ne correspond pas à la ligne précédente","inconsistentTabs":"Utilisation irrégulière de tabulations et d\'espaces pour l\'indentation","instanceMethodSelfParam":"Les méthodes d\'instance nécessitent un paramètre \\"self\\"","invalidIdentifierChar":"Caractère invalide dans l\'identifiant","invalidTokenChars":"Caractère \\"{text}\\" invalide dans le jeton","memberAccess":"Impossible d\'accéder au membre \\"{name}\\" pour le type \\"{type}\\"","memberDelete":"Impossible de supprimer le membre \\"{name}\\" pour le type \\"{type}\\"","memberSet":"Impossible d\'affecter le membre \\"{name}\\" pour le type \\"{type}\\"","moduleNotCallable":"Le module n\'est pas appelable","moduleUnknownMember":"\\"{name}\\" n\'est pas un membre connu du module \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" n\'est pas pris en charge sur un(e) {device}","nonDefaultAfterDefault":"Argument sans valeur par défaut suit un argument ayant une valeur par défaut","noOverload":"Les arguments ne correspondent pas aux types des paramètres","objectNotCallable":"L\'objet n\'est pas appelable","obscuredClassDeclaration":"La classe \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredFunctionDeclaration":"La fonction \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredMethodDeclaration":"La méthode \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredParameterDeclaration":"Le paramètre \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredVariableDeclaration":"La déclaration \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","paramAfterKwargsParam":"Le paramètre ne peut pas suivre le paramètre \\"**\\"","paramAlreadyAssigned":"Le paramètre \\"{name}\\" est déjà assigné","paramNameMissing":"Aucun paramètre nommé \\"{name}\\"","positionArgAfterNamedArg":"Un argument positionnel ne peut pas apparaître après un argument nommé","returnOutsideFunction":"\\"return\\" ne peut être utilisé que dans une fonction","stringUnsupportedEscape":"Séquence d\'échappement non supportée dans la chaîne","stringUnterminated":"La chaîne n\'est pas fermée — guillemet manquant","symbolIsUndefined":"\\"{name}\\" n\'est pas défini","trailingCommaInFromImport":"Virgule finale non autorisée sans les parenthèses","tupleIndexOutOfRange":"L\'indice {index} est hors limite pour le type {type}","typeNotIterable":"Le type n\'est pas itérable","typeNotSupportBinaryOperator":"L\'opérateur \\"{operator}\\" n\'est pas pris en charge pour cette combinaison de types","typeNotSupportBinaryOperatorBidirectional":"L\'opérateur \\"{operator}\\" n\'est pas pris en charge pour cette combinaison de types","unaccessedClass":"Classe \\"{name}\\" n\'est pas utilisée","unaccessedFunction":"La fonction \\"{name}\\" n\'est pas utilisée","unaccessedImport":"L\'importation \\"{name}\\" n\'est pas utilisée","unaccessedSymbol":"\\"{name}\\" n\'est pas utilisé","unaccessedVariable":"La variable \\"{name}\\" n\'est pas utilisée","unexpectedIndent":"Indentation inattendue","unreachableCode":"Le code est inatteignable\\nLa logique de votre programme fait en sorte que ce code ne sera jamais exécuté"},"DiagnosticAddendum":{"tupleSizeMismatch":"Taille de l\'élément ne correspond pas; attendu {expected} mais reçu {received}"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-ja-43-6d57f933221789ac4fa5.worker.js b/public/workers/pyright-locale-ja-43-30f155cbba7ffa35a09e.worker.js similarity index 62% rename from public/workers/pyright-locale-ja-43-6d57f933221789ac4fa5.worker.js rename to public/workers/pyright-locale-ja-43-30f155cbba7ffa35a09e.worker.js index 410463665..f3e4f6906 100644 --- a/public/workers/pyright-locale-ja-43-6d57f933221789ac4fa5.worker.js +++ b/public/workers/pyright-locale-ja-43-30f155cbba7ffa35a09e.worker.js @@ -1 +1 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[43],{244:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"引数がパラメータ型と一致しません","argAssignmentFunction":"引数が関数「{functionName}」のパラメータ型と一致しません","argAssignmentParam":"引数がパラメータ「{paramName}」のパラメータ型と一致しません","argAssignmentParamFunction":"引数がパラメータ「{paramName}」のパラメータ型と一致しません","argMissingForParam":"パラメータ {name} の引数がありません","argMissingForParams":"パラメータ {names} の引数がありません","argMorePositionalExpectedCount":"あと {expected} 個の位置引数を期待していました","argMorePositionalExpectedOne":"あともう一つの位置引数を期待していました","argPositional":"位置引数を期待していました","argPositionalExpectedOne":"一つの位置引数を期待していました","assignmentTargetExpr":"式を代入先にすることはできません","booleanIsLowerCase":"「{name}」が定義されていません。「{booleanName}」という意味ですか?","breakOutsideLoop":"「break」は「while」または「for」ループ内でのみ使用できます","constructorNoArgs":"「{type}」コンストラクタは引数を期待していません","continueOutsideLoop":"「continue」は「while」または「for」ループ内でのみ使用できます","delTargetExpr":"式は削除できません","duplicateParam":"パラメータ「{name}」が重複しています","expectedAssignRightHandExpr":"「=」の右側には式を期待していました","expectedBinaryRightHandExpr":"演算子の右側には式を期待していました","expectedClassName":"クラス名がありません","expectedCloseBrace":"閉じ括弧「}」がありません","expectedCloseBracket":"閉じ括弧「]」がありません","expectedCloseParen":"閉じ括弧「)」がありません","expectedColon":"コロン「:」がありません","expectedDelExpr":"「del」の後に式がありません","expectedElse":"「else」がありません","expectedEqualityOperator":"等価演算子が期待されていました。「==」の意味ですか?","expectedExpr":"式がありません","expectedFunctionName":"「def」の後に関数名がありません","expectedIdentifier":"識別子がありません","expectedImport":"「import」がありません","expectedImportAlias":"「as」の後に記号がありません","expectedImportSymbols":"インポート後に1つ以上の記号名を期待していました","expectedIn":"「in」がありません","expectedIndentedBlock":"インデントがありません","expectedInExpr":"「in」の後に式がありません","expectedMemberName":"「.」の後にメンバー名がありません","expectedModuleName":"モジュール名がありません","expectedNamedParameter":"キーワードパラメータは「*」に続かなければなりません","expectedNewlineOrSemicolon":"予期しない追加内容\\n文は1行に1つでなければなりません","expectedOpenParen":"開き括弧「(」がありません","expectedParamName":"パラメータ名がありません","expectedSliceIndex":"インデックスまたはスライスがありません","expectedYieldExpr":"yield文中に式を期待していました","globalReassignment":"「{name}」はグローバル宣言の前に割り当てられています","globalRedefinition":"「{name}」は既にグローバル宣言されています","importResolveFailure":"モジュール「{importName}」が見つかりませんでした","importSymbolUnknown":"「{name}」がモジュール「{moduleName}」に見つかりません","inconsistentIndent":"インデントが前の行と一致しません","inconsistentTabs":"インデントのタブとスペースの使用が一貫していません","instanceMethodSelfParam":"インスタンスメソッドには「self」パラメータが必要です","invalidIdentifierChar":"識別子に無効な文字が含まれています","invalidTokenChars":"トークンに無効な文字 「{text}」が含まれています","memberAccess":"型「{type}」の メンバー「{name}」 にアクセスできません","memberDelete":"型「{type}」の メンバー「{name}」 を削除できません","memberSet":"型「{type}」の メンバー「{name}」 を割り当てできません","moduleNotCallable":"モジュールは呼び出しできません","moduleUnknownMember":"「{name}」はモジュール「{module}」の既知のメンバではありません","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"デフォルトでない引数はデフォルト引数の後に続きます","noOverload":"引数がパラメータ型と一致しません","objectNotCallable":"オブジェクトは呼び出しできません","obscuredClassDeclaration":"クラス「{name}」は同じ名前の別の宣言と衝突しています","obscuredFunctionDeclaration":"関数「{name}」は同じ名前の別の宣言と衝突しています","obscuredMethodDeclaration":"メソッド「{name}」は同じ名前の別の宣言と衝突しています","obscuredParameterDeclaration":"パラメータ「{name}」は同じ名前の別の宣言と衝突しています","obscuredVariableDeclaration":"宣言「{name}」は同じ名前の別の宣言と衝突しています","paramAfterKwargsParam":"パラメータは「**」パラメータに続くことができません","paramAlreadyAssigned":"パラメータ「{name}」は既に割り当てられています","paramNameMissing":"「{name}」というパラメータ名はありません","positionArgAfterNamedArg":"位置変数はキーワード引数の後に続くことができません","returnOutsideFunction":"「return」は関数内でのみ使用できます","stringUnsupportedEscape":"文字列リテラル内にサポートされないエスケープシーケンスがあります","stringUnterminated":"文字列が閉じられていません(引用符がありません)","symbolIsUndefined":"「{name}」が定義されていません","trailingCommaInFromImport":"末尾のカンマは括弧で囲まれていないと許可されません","tupleIndexOutOfRange":"インデックス {index} は型 {type} の範囲外です","typeNotIterable":"型は反復できません","typeNotSupportBinaryOperator":"演算子「{operator}」はこの型の組み合わせではサポートされていません","typeNotSupportBinaryOperatorBidirectional":"演算子「{operator}」はこの型の組み合わせではサポートされていません","unaccessedClass":"クラス「{name}」は使用されていません","unaccessedFunction":"関数「{name}」は使用されていません","unaccessedImport":"インポート「{name}」は使用されていません","unaccessedSymbol":"「{name}」は使用されていません","unaccessedVariable":"変数「{name}」は使用されていません","unexpectedIndent":"予期しないインデント","unreachableCode":"コードに到達できません\\nプログラムのロジックによるとこのコードは実行されません"},"DiagnosticAddendum":{"tupleSizeMismatch":"要素のサイズが一致しません。予期していたのは {expected} でしたが、受信したのは {received} でした"}}')}}]); \ No newline at end of file +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[43],{244:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"引数がパラメータ型と一致しません","argAssignmentFunction":"引数が関数「{functionName}」のパラメータ型と一致しません","argAssignmentParam":"引数がパラメータ「{paramName}」のパラメータ型と一致しません","argAssignmentParamFunction":"引数がパラメータ「{paramName}」のパラメータ型と一致しません","argMissingForParam":"パラメータ {name} の引数がありません","argMissingForParams":"パラメータ {names} の引数がありません","argMorePositionalExpectedCount":"あと {expected} 個の位置引数を期待していました","argMorePositionalExpectedOne":"あともう一つの位置引数を期待していました","argPositional":"位置引数を期待していました","argPositionalExpectedOne":"一つの位置引数を期待していました","assignmentTargetExpr":"式を代入先にすることはできません","booleanIsLowerCase":"「{name}」が定義されていません。「{booleanName}」という意味ですか?","breakOutsideLoop":"「break」は「while」または「for」ループ内でのみ使用できます","constructorNoArgs":"「{type}」コンストラクタは引数を期待していません","continueOutsideLoop":"「continue」は「while」または「for」ループ内でのみ使用できます","delTargetExpr":"式は削除できません","duplicateParam":"パラメータ「{name}」が重複しています","expectedAssignRightHandExpr":"「=」の右側には式を期待していました","expectedBinaryRightHandExpr":"演算子の右側には式を期待していました","expectedClassName":"クラス名がありません","expectedCloseBrace":"閉じ括弧「}」がありません","expectedCloseBracket":"閉じ括弧「]」がありません","expectedCloseParen":"閉じ括弧「)」がありません","expectedColon":"コロン「:」がありません","expectedDelExpr":"「del」の後に式がありません","expectedElse":"「else」がありません","expectedEqualityOperator":"等価演算子が期待されていました。「==」の意味ですか?","expectedExpr":"式がありません","expectedFunctionName":"「def」の後に関数名がありません","expectedIdentifier":"識別子がありません","expectedImport":"「import」がありません","expectedImportAlias":"「as」の後に記号がありません","expectedImportSymbols":"インポート後に1つ以上の記号名を期待していました","expectedIn":"「in」がありません","expectedIndentedBlock":"インデントがありません","expectedInExpr":"「in」の後に式がありません","expectedMemberName":"「.」の後にメンバー名がありません","expectedModuleName":"モジュール名がありません","expectedNamedParameter":"キーワードパラメータは「*」に続かなければなりません","expectedNewlineOrSemicolon":"予期しない追加内容\\n文は1行に1つでなければなりません","expectedOpenParen":"開き括弧「(」がありません","expectedParamName":"パラメータ名がありません","expectedSliceIndex":"インデックスまたはスライスがありません","expectedYieldExpr":"yield文中に式を期待していました","globalReassignment":"「{name}」はグローバル宣言の前に割り当てられています","globalRedefinition":"「{name}」は既にグローバル宣言されています","importResolveFailure":"モジュール「{importName}」が見つかりませんでした","importSymbolUnknown":"「{name}」がモジュール「{moduleName}」に見つかりません","inconsistentIndent":"インデントが前の行と一致しません","inconsistentTabs":"インデントのタブとスペースの使用が一貫していません","instanceMethodSelfParam":"インスタンスメソッドには「self」パラメータが必要です","invalidIdentifierChar":"識別子に無効な文字が含まれています","invalidTokenChars":"トークンに無効な文字 「{text}」が含まれています","memberAccess":"型「{type}」の メンバー「{name}」 にアクセスできません","memberDelete":"型「{type}」の メンバー「{name}」 を削除できません","memberSet":"型「{type}」の メンバー「{name}」 を割り当てできません","moduleNotCallable":"モジュールは呼び出しできません","moduleUnknownMember":"「{name}」はモジュール「{module}」の既知のメンバではありません","microbitVersionApiUnsupported":"\\"{name}\\" は {device} でサポートされていません","nonDefaultAfterDefault":"デフォルトでない引数はデフォルト引数の後に続きます","noOverload":"引数がパラメータ型と一致しません","objectNotCallable":"オブジェクトは呼び出しできません","obscuredClassDeclaration":"クラス「{name}」は同じ名前の別の宣言と衝突しています","obscuredFunctionDeclaration":"関数「{name}」は同じ名前の別の宣言と衝突しています","obscuredMethodDeclaration":"メソッド「{name}」は同じ名前の別の宣言と衝突しています","obscuredParameterDeclaration":"パラメータ「{name}」は同じ名前の別の宣言と衝突しています","obscuredVariableDeclaration":"宣言「{name}」は同じ名前の別の宣言と衝突しています","paramAfterKwargsParam":"パラメータは「**」パラメータに続くことができません","paramAlreadyAssigned":"パラメータ「{name}」は既に割り当てられています","paramNameMissing":"「{name}」というパラメータ名はありません","positionArgAfterNamedArg":"位置変数はキーワード引数の後に続くことができません","returnOutsideFunction":"「return」は関数内でのみ使用できます","stringUnsupportedEscape":"文字列リテラル内にサポートされないエスケープシーケンスがあります","stringUnterminated":"文字列が閉じられていません(引用符がありません)","symbolIsUndefined":"「{name}」が定義されていません","trailingCommaInFromImport":"末尾のカンマは括弧で囲まれていないと許可されません","tupleIndexOutOfRange":"インデックス {index} は型 {type} の範囲外です","typeNotIterable":"型は反復できません","typeNotSupportBinaryOperator":"演算子「{operator}」はこの型の組み合わせではサポートされていません","typeNotSupportBinaryOperatorBidirectional":"演算子「{operator}」はこの型の組み合わせではサポートされていません","unaccessedClass":"クラス「{name}」は使用されていません","unaccessedFunction":"関数「{name}」は使用されていません","unaccessedImport":"インポート「{name}」は使用されていません","unaccessedSymbol":"「{name}」は使用されていません","unaccessedVariable":"変数「{name}」は使用されていません","unexpectedIndent":"予期しないインデント","unreachableCode":"コードに到達できません\\nプログラムのロジックによるとこのコードは実行されません"},"DiagnosticAddendum":{"tupleSizeMismatch":"要素のサイズが一致しません。予期していたのは {expected} でしたが、受信したのは {received} でした"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-lol-598-ec1b193371d2420cb0eb.worker.js b/public/workers/pyright-locale-lol-598-50989152ee9593f45224.worker.js similarity index 65% rename from public/workers/pyright-locale-lol-598-ec1b193371d2420cb0eb.worker.js rename to public/workers/pyright-locale-lol-598-50989152ee9593f45224.worker.js index 906d7a8fe..1186cf77a 100644 --- a/public/workers/pyright-locale-lol-598-ec1b193371d2420cb0eb.worker.js +++ b/public/workers/pyright-locale-lol-598-50989152ee9593f45224.worker.js @@ -1 +1 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[598],{8007:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"crwdns331182:0crwdne331182:0","argAssignmentFunction":"crwdns331184:0{functionName}crwdne331184:0","argAssignmentParam":"crwdns331186:0{paramName}crwdne331186:0","argAssignmentParamFunction":"crwdns331188:0{paramName}crwdne331188:0","argMissingForParam":"crwdns331190:0{name}crwdne331190:0","argMissingForParams":"crwdns331192:0{names}crwdne331192:0","argMorePositionalExpectedCount":"crwdns331194:0{expected}crwdne331194:0","argMorePositionalExpectedOne":"crwdns331196:0crwdne331196:0","argPositional":"crwdns331198:0crwdne331198:0","argPositionalExpectedOne":"crwdns331200:0crwdne331200:0","assignmentTargetExpr":"crwdns331202:0crwdne331202:0","booleanIsLowerCase":"crwdns331204:0{name}crwdnd331204:0{booleanName}crwdne331204:0","breakOutsideLoop":"crwdns331206:0crwdne331206:0","constructorNoArgs":"crwdns331208:0{type}crwdne331208:0","continueOutsideLoop":"crwdns331210:0crwdne331210:0","delTargetExpr":"crwdns331212:0crwdne331212:0","duplicateParam":"crwdns331214:0{name}crwdne331214:0","expectedAssignRightHandExpr":"crwdns331216:0crwdne331216:0","expectedBinaryRightHandExpr":"crwdns331218:0crwdne331218:0","expectedClassName":"crwdns331220:0crwdne331220:0","expectedCloseBrace":"crwdns331222:0crwdne331222:0","expectedCloseBracket":"crwdns331224:0crwdne331224:0","expectedCloseParen":"crwdns331226:0crwdne331226:0","expectedColon":"crwdns331228:0crwdne331228:0","expectedDelExpr":"crwdns331230:0crwdne331230:0","expectedElse":"crwdns331232:0crwdne331232:0","expectedEqualityOperator":"crwdns331234:0crwdne331234:0","expectedExpr":"crwdns331236:0crwdne331236:0","expectedFunctionName":"crwdns331238:0crwdne331238:0","expectedIdentifier":"crwdns331240:0crwdne331240:0","expectedImport":"crwdns331242:0crwdne331242:0","expectedImportAlias":"crwdns331244:0crwdne331244:0","expectedImportSymbols":"crwdns331246:0crwdne331246:0","expectedIn":"crwdns331248:0crwdne331248:0","expectedIndentedBlock":"crwdns331250:0crwdne331250:0","expectedInExpr":"crwdns331252:0crwdne331252:0","expectedMemberName":"crwdns331254:0crwdne331254:0","expectedModuleName":"crwdns331256:0crwdne331256:0","expectedNamedParameter":"crwdns331258:0crwdne331258:0","expectedNewlineOrSemicolon":"crwdns331260:0crwdne331260:0","expectedOpenParen":"crwdns331262:0crwdne331262:0","expectedParamName":"crwdns331264:0crwdne331264:0","expectedSliceIndex":"crwdns331266:0crwdne331266:0","expectedYieldExpr":"crwdns331268:0crwdne331268:0","globalReassignment":"crwdns331270:0{name}crwdne331270:0","globalRedefinition":"crwdns331272:0{name}crwdne331272:0","importResolveFailure":"crwdns331274:0{importName}crwdne331274:0","importSymbolUnknown":"crwdns331276:0{name}crwdnd331276:0{moduleName}crwdne331276:0","inconsistentIndent":"crwdns331278:0crwdne331278:0","inconsistentTabs":"crwdns331280:0crwdne331280:0","instanceMethodSelfParam":"crwdns331282:0crwdne331282:0","invalidIdentifierChar":"crwdns331284:0crwdne331284:0","invalidTokenChars":"crwdns331286:0{text}crwdne331286:0","memberAccess":"crwdns331288:0{name}crwdnd331288:0{type}crwdne331288:0","memberDelete":"crwdns331290:0{name}crwdnd331290:0{type}crwdne331290:0","memberSet":"crwdns331292:0{name}crwdnd331292:0{type}crwdne331292:0","moduleNotCallable":"crwdns331294:0crwdne331294:0","moduleUnknownMember":"crwdns331296:0{name}crwdnd331296:0{module}crwdne331296:0","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"crwdns331298:0crwdne331298:0","noOverload":"crwdns331300:0crwdne331300:0","objectNotCallable":"crwdns331302:0crwdne331302:0","obscuredClassDeclaration":"crwdns331304:0{name}crwdne331304:0","obscuredFunctionDeclaration":"crwdns331306:0{name}crwdne331306:0","obscuredMethodDeclaration":"crwdns331308:0{name}crwdne331308:0","obscuredParameterDeclaration":"crwdns331310:0{name}crwdne331310:0","obscuredVariableDeclaration":"crwdns331312:0{name}crwdne331312:0","paramAfterKwargsParam":"crwdns331314:0crwdne331314:0","paramAlreadyAssigned":"crwdns331316:0{name}crwdne331316:0","paramNameMissing":"crwdns331318:0{name}crwdne331318:0","positionArgAfterNamedArg":"crwdns331320:0crwdne331320:0","returnOutsideFunction":"crwdns331322:0crwdne331322:0","stringUnsupportedEscape":"crwdns331324:0crwdne331324:0","stringUnterminated":"crwdns331326:0crwdne331326:0","symbolIsUndefined":"crwdns331328:0{name}crwdne331328:0","trailingCommaInFromImport":"crwdns331330:0crwdne331330:0","tupleIndexOutOfRange":"crwdns331332:0{index}crwdnd331332:0{type}crwdne331332:0","typeNotIterable":"crwdns331334:0crwdne331334:0","typeNotSupportBinaryOperator":"crwdns331336:0{operator}crwdne331336:0","typeNotSupportBinaryOperatorBidirectional":"crwdns331338:0{operator}crwdne331338:0","unaccessedClass":"crwdns331340:0{name}crwdne331340:0","unaccessedFunction":"crwdns331342:0{name}crwdne331342:0","unaccessedImport":"crwdns331344:0{name}crwdne331344:0","unaccessedSymbol":"crwdns331346:0{name}crwdne331346:0","unaccessedVariable":"crwdns331348:0{name}crwdne331348:0","unexpectedIndent":"crwdns331350:0crwdne331350:0","unreachableCode":"crwdns331352:0crwdne331352:0"},"DiagnosticAddendum":{"tupleSizeMismatch":"crwdns331354:0{expected}crwdnd331354:0{received}crwdne331354:0"}}')}}]); \ No newline at end of file +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[598],{8007:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"crwdns331182:0crwdne331182:0","argAssignmentFunction":"crwdns331184:0{functionName}crwdne331184:0","argAssignmentParam":"crwdns331186:0{paramName}crwdne331186:0","argAssignmentParamFunction":"crwdns331188:0{paramName}crwdne331188:0","argMissingForParam":"crwdns331190:0{name}crwdne331190:0","argMissingForParams":"crwdns331192:0{names}crwdne331192:0","argMorePositionalExpectedCount":"crwdns331194:0{expected}crwdne331194:0","argMorePositionalExpectedOne":"crwdns331196:0crwdne331196:0","argPositional":"crwdns331198:0crwdne331198:0","argPositionalExpectedOne":"crwdns331200:0crwdne331200:0","assignmentTargetExpr":"crwdns331202:0crwdne331202:0","booleanIsLowerCase":"crwdns331204:0{name}crwdnd331204:0{booleanName}crwdne331204:0","breakOutsideLoop":"crwdns331206:0crwdne331206:0","constructorNoArgs":"crwdns331208:0{type}crwdne331208:0","continueOutsideLoop":"crwdns331210:0crwdne331210:0","delTargetExpr":"crwdns331212:0crwdne331212:0","duplicateParam":"crwdns331214:0{name}crwdne331214:0","expectedAssignRightHandExpr":"crwdns331216:0crwdne331216:0","expectedBinaryRightHandExpr":"crwdns331218:0crwdne331218:0","expectedClassName":"crwdns331220:0crwdne331220:0","expectedCloseBrace":"crwdns331222:0crwdne331222:0","expectedCloseBracket":"crwdns331224:0crwdne331224:0","expectedCloseParen":"crwdns331226:0crwdne331226:0","expectedColon":"crwdns331228:0crwdne331228:0","expectedDelExpr":"crwdns331230:0crwdne331230:0","expectedElse":"crwdns331232:0crwdne331232:0","expectedEqualityOperator":"crwdns331234:0crwdne331234:0","expectedExpr":"crwdns331236:0crwdne331236:0","expectedFunctionName":"crwdns331238:0crwdne331238:0","expectedIdentifier":"crwdns331240:0crwdne331240:0","expectedImport":"crwdns331242:0crwdne331242:0","expectedImportAlias":"crwdns331244:0crwdne331244:0","expectedImportSymbols":"crwdns331246:0crwdne331246:0","expectedIn":"crwdns331248:0crwdne331248:0","expectedIndentedBlock":"crwdns331250:0crwdne331250:0","expectedInExpr":"crwdns331252:0crwdne331252:0","expectedMemberName":"crwdns331254:0crwdne331254:0","expectedModuleName":"crwdns331256:0crwdne331256:0","expectedNamedParameter":"crwdns331258:0crwdne331258:0","expectedNewlineOrSemicolon":"crwdns331260:0crwdne331260:0","expectedOpenParen":"crwdns331262:0crwdne331262:0","expectedParamName":"crwdns331264:0crwdne331264:0","expectedSliceIndex":"crwdns331266:0crwdne331266:0","expectedYieldExpr":"crwdns331268:0crwdne331268:0","globalReassignment":"crwdns331270:0{name}crwdne331270:0","globalRedefinition":"crwdns331272:0{name}crwdne331272:0","importResolveFailure":"crwdns331274:0{importName}crwdne331274:0","importSymbolUnknown":"crwdns331276:0{name}crwdnd331276:0{moduleName}crwdne331276:0","inconsistentIndent":"crwdns331278:0crwdne331278:0","inconsistentTabs":"crwdns331280:0crwdne331280:0","instanceMethodSelfParam":"crwdns331282:0crwdne331282:0","invalidIdentifierChar":"crwdns331284:0crwdne331284:0","invalidTokenChars":"crwdns331286:0{text}crwdne331286:0","memberAccess":"crwdns331288:0{name}crwdnd331288:0{type}crwdne331288:0","memberDelete":"crwdns331290:0{name}crwdnd331290:0{type}crwdne331290:0","memberSet":"crwdns331292:0{name}crwdnd331292:0{type}crwdne331292:0","moduleNotCallable":"crwdns331294:0crwdne331294:0","moduleUnknownMember":"crwdns331296:0{name}crwdnd331296:0{module}crwdne331296:0","microbitVersionApiUnsupported":"crwdns360366:0{name}crwdnd360366:0{device}crwdne360366:0","nonDefaultAfterDefault":"crwdns331298:0crwdne331298:0","noOverload":"crwdns331300:0crwdne331300:0","objectNotCallable":"crwdns331302:0crwdne331302:0","obscuredClassDeclaration":"crwdns331304:0{name}crwdne331304:0","obscuredFunctionDeclaration":"crwdns331306:0{name}crwdne331306:0","obscuredMethodDeclaration":"crwdns331308:0{name}crwdne331308:0","obscuredParameterDeclaration":"crwdns331310:0{name}crwdne331310:0","obscuredVariableDeclaration":"crwdns331312:0{name}crwdne331312:0","paramAfterKwargsParam":"crwdns331314:0crwdne331314:0","paramAlreadyAssigned":"crwdns331316:0{name}crwdne331316:0","paramNameMissing":"crwdns331318:0{name}crwdne331318:0","positionArgAfterNamedArg":"crwdns331320:0crwdne331320:0","returnOutsideFunction":"crwdns331322:0crwdne331322:0","stringUnsupportedEscape":"crwdns331324:0crwdne331324:0","stringUnterminated":"crwdns331326:0crwdne331326:0","symbolIsUndefined":"crwdns331328:0{name}crwdne331328:0","trailingCommaInFromImport":"crwdns331330:0crwdne331330:0","tupleIndexOutOfRange":"crwdns331332:0{index}crwdnd331332:0{type}crwdne331332:0","typeNotIterable":"crwdns331334:0crwdne331334:0","typeNotSupportBinaryOperator":"crwdns331336:0{operator}crwdne331336:0","typeNotSupportBinaryOperatorBidirectional":"crwdns331338:0{operator}crwdne331338:0","unaccessedClass":"crwdns331340:0{name}crwdne331340:0","unaccessedFunction":"crwdns331342:0{name}crwdne331342:0","unaccessedImport":"crwdns331344:0{name}crwdne331344:0","unaccessedSymbol":"crwdns331346:0{name}crwdne331346:0","unaccessedVariable":"crwdns331348:0{name}crwdne331348:0","unexpectedIndent":"crwdns331350:0crwdne331350:0","unreachableCode":"crwdns331352:0crwdne331352:0"},"DiagnosticAddendum":{"tupleSizeMismatch":"crwdns331354:0{expected}crwdnd331354:0{received}crwdne331354:0"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-nl-888-88ebe3f78a0987ea286e.worker.js b/public/workers/pyright-locale-nl-888-d3c1f910f1d36b76668c.worker.js similarity index 62% rename from public/workers/pyright-locale-nl-888-88ebe3f78a0987ea286e.worker.js rename to public/workers/pyright-locale-nl-888-d3c1f910f1d36b76668c.worker.js index a445b420b..8f1a88999 100644 --- a/public/workers/pyright-locale-nl-888-88ebe3f78a0987ea286e.worker.js +++ b/public/workers/pyright-locale-nl-888-d3c1f910f1d36b76668c.worker.js @@ -1 +1 @@ -(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[888],{5101:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"Argument komt niet overeen met parameter type","argAssignmentFunction":"Argument komt niet overeen met parameter type in functie \\"{functionName}\\"","argAssignmentParam":"Argument komt niet overeen met parameter \\"{paramName}\\"","argAssignmentParamFunction":"Argument komt niet overeen met parameter \\"{paramName}\\"","argMissingForParam":"Argument ontbreekt voor parameter {name}","argMissingForParams":"Argumenten ontbreken voor parameters {names}","argMorePositionalExpectedCount":"Verwachte {expected} positionele argumenten","argMorePositionalExpectedOne":"Verwacht nog 1 positioneel argument","argPositional":"Verwacht positionele argument","argPositionalExpectedOne":"1 positioneel argument verwacht","assignmentTargetExpr":"Expressie kan geen toewijzing doel zijn","booleanIsLowerCase":"\\"{name}\\" is niet gedefinieerd, bedoelde je \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" kan alleen worden gebruikt binnen een \\"terwijl\\" of \\"voor\\" lus","constructorNoArgs":"Geen argumenten verwacht aan \\"{type}\\" constructor","continueOutsideLoop":"\\"doorgaan\\" kan alleen worden gebruikt binnen een \\"terwijl\\" of \\"voor\\" lus","delTargetExpr":"Expressie kan niet worden verwijderd","duplicateParam":"Dubbel parameter \\"{name}\\"","expectedAssignRightHandExpr":"Verwachte expressie rechts van \\"=\\"","expectedBinaryRightHandExpr":"Verwachte expressie rechts van operator","expectedClassName":"Klasse naam ontbreekt","expectedCloseBrace":"Ontbrekend sluitingshaakje \\"}\\"","expectedCloseBracket":"Ontbrekend sluitingshaakje \\"]\\"","expectedCloseParen":"Ontbrekend sluitingshaakje \\")\\"","expectedColon":"Ontbrekende colon \\":\\"","expectedDelExpr":"Ontbrekende expressie na \\"del\\"","expectedElse":"Ontbrekende \\"else\\"","expectedEqualityOperator":"Verwachte gelijkheidsoperator, bedoelde u \\"==\\"?","expectedExpr":"Ontbrekende expressie","expectedFunctionName":"Functienaam ontbreekt na \\"def\\"","expectedIdentifier":"Ontbrekende ID","expectedImport":"Ontbrekende \\"import\\"","expectedImportAlias":"Ontbrekend symbool na \\"as\\"","expectedImportSymbols":"Eén of meer symboolnamen verwacht na import","expectedIn":"Ontbrekende \\"in\\"","expectedIndentedBlock":"Ontbrekende inspringingen","expectedInExpr":"Ontbrekende expressie na \\"in\\"","expectedMemberName":"Lid naam ontbreekt na \\".\\"","expectedModuleName":"Ontbrekende module naam","expectedNamedParameter":"Parameter met trefwoorden moet \\"*\\" volgen","expectedNewlineOrSemicolon":"Onverwachte extra inhoud\\nVerklaringen moeten één per regel zijn","expectedOpenParen":"Ontbrekend openingshaakje \\"(\\"","expectedParamName":"Naam van de parameter ontbreekt","expectedSliceIndex":"Ontbrekende index of slice","expectedYieldExpr":"Verwachte expressie in rendements verklaring","globalReassignment":"\\"{name}\\" is toegewezen voor de globale declaratie","globalRedefinition":"\\"{name}\\" was al globaal verklaard","importResolveFailure":"Module \\"{importName}\\" kon niet worden gevonden","importSymbolUnknown":"\\"{name}\\" niet gevonden in module \\"{moduleName}\\"","inconsistentIndent":"Inspringen komt niet overeen met de vorige regel","inconsistentTabs":"Inconsistent gebruik van tabbladen en spaties voor indenten","instanceMethodSelfParam":"Instantie methoden hebben een zelf-parameter nodig","invalidIdentifierChar":"Ongeldig teken in id","invalidTokenChars":"Ongeldig teken \\"{text}\\" in token","memberAccess":"Geen toegang tot lid \\"{name}\\" voor type \\"{type}\\"","memberDelete":"Kan lid niet verwijderen \\"{name}\\" voor type \\"{type}\\"","memberSet":"Kan lid \\"{name}\\" niet toewijzen voor type \\"{type}\\"","moduleNotCallable":"Module kan niet aangeroepen worden","moduleUnknownMember":"\\"{name}\\" is geen bekend lid van module \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","nonDefaultAfterDefault":"Niet standaard argument volgt het standaard argument","noOverload":"Argumenten komen niet overeen met parametertypes","objectNotCallable":"Object kan niet aangeroepen worden","obscuredClassDeclaration":"Les \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredFunctionDeclaration":"Functie \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredMethodDeclaration":"Methode \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredParameterDeclaration":"Parameter \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredVariableDeclaration":"Verklaring \\"{name}\\" botst met een andere verklaring met dezelfde naam","paramAfterKwargsParam":"Parameter kan \\"**\\" parameter niet volgen","paramAlreadyAssigned":"Parameter \\"{name}\\" is al toegewezen","paramNameMissing":"Geen parameter genaamd \\"{name}\\"","positionArgAfterNamedArg":"Positioneel argument kan niet worden weergegeven na trefwoord argumenten","returnOutsideFunction":"\\"retour\\" kan alleen worden gebruikt binnen een functie","stringUnsupportedEscape":"Niet ondersteunde escape reeks in tekenreeks","stringUnterminated":"String is niet gesloten - aanhalingsteken ontbreekt","symbolIsUndefined":"\\"{name}\\" is niet gedefinieerd","trailingCommaInFromImport":"Komma\'s aan het einde zijn niet toegestaan zonder haakjes eromheen","tupleIndexOutOfRange":"Index {index} is buiten bereik voor type {type}","typeNotIterable":"Type is niet itereerbaar","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" niet ondersteund voor deze combinatie van soorten","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" niet ondersteund voor deze combinatie van soorten","unaccessedClass":"Klasse \\"{name}\\" is ongebruikt","unaccessedFunction":"Functie \\"{name}\\" is ongebruikt","unaccessedImport":"Import \\"{name}\\" is ongebruikt","unaccessedSymbol":"\\"{name}\\" is ongebruikt","unaccessedVariable":"Variabele \\"{name}\\" is ongebruikt","unexpectedIndent":"Onverwachte inspringing","unreachableCode":"Code is onbereikbaar\\nDe logica van je programma betekent dat deze code nooit kan worden uitgevoerd"},"DiagnosticAddendum":{"tupleSizeMismatch":"Element grootte komt niet overeen; verwacht {expected} maar ontving {received}"}}')}}]); \ No newline at end of file +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[888],{5101:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"Argument komt niet overeen met parameter type","argAssignmentFunction":"Argument komt niet overeen met parameter type in functie \\"{functionName}\\"","argAssignmentParam":"Argument komt niet overeen met parameter \\"{paramName}\\"","argAssignmentParamFunction":"Argument komt niet overeen met parameter \\"{paramName}\\"","argMissingForParam":"Argument ontbreekt voor parameter {name}","argMissingForParams":"Argumenten ontbreken voor parameters {names}","argMorePositionalExpectedCount":"Verwachte {expected} positionele argumenten","argMorePositionalExpectedOne":"Verwacht nog 1 positioneel argument","argPositional":"Verwacht positionele argument","argPositionalExpectedOne":"1 positioneel argument verwacht","assignmentTargetExpr":"Expressie kan geen toewijzing doel zijn","booleanIsLowerCase":"\\"{name}\\" is niet gedefinieerd, bedoelde je \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" kan alleen worden gebruikt binnen een \\"terwijl\\" of \\"voor\\" lus","constructorNoArgs":"Geen argumenten verwacht aan \\"{type}\\" constructor","continueOutsideLoop":"\\"doorgaan\\" kan alleen worden gebruikt binnen een \\"terwijl\\" of \\"voor\\" lus","delTargetExpr":"Expressie kan niet worden verwijderd","duplicateParam":"Dubbel parameter \\"{name}\\"","expectedAssignRightHandExpr":"Verwachte expressie rechts van \\"=\\"","expectedBinaryRightHandExpr":"Verwachte expressie rechts van operator","expectedClassName":"Klasse naam ontbreekt","expectedCloseBrace":"Ontbrekend sluitingshaakje \\"}\\"","expectedCloseBracket":"Ontbrekend sluitingshaakje \\"]\\"","expectedCloseParen":"Ontbrekend sluitingshaakje \\")\\"","expectedColon":"Ontbrekende colon \\":\\"","expectedDelExpr":"Ontbrekende expressie na \\"del\\"","expectedElse":"Ontbrekende \\"else\\"","expectedEqualityOperator":"Verwachte gelijkheidsoperator, bedoelde u \\"==\\"?","expectedExpr":"Ontbrekende expressie","expectedFunctionName":"Functienaam ontbreekt na \\"def\\"","expectedIdentifier":"Ontbrekende ID","expectedImport":"Ontbrekende \\"import\\"","expectedImportAlias":"Ontbrekend symbool na \\"as\\"","expectedImportSymbols":"Eén of meer symboolnamen verwacht na import","expectedIn":"Ontbrekende \\"in\\"","expectedIndentedBlock":"Ontbrekende inspringingen","expectedInExpr":"Ontbrekende expressie na \\"in\\"","expectedMemberName":"Lid naam ontbreekt na \\".\\"","expectedModuleName":"Ontbrekende module naam","expectedNamedParameter":"Parameter met trefwoorden moet \\"*\\" volgen","expectedNewlineOrSemicolon":"Onverwachte extra inhoud\\nVerklaringen moeten één per regel zijn","expectedOpenParen":"Ontbrekend openingshaakje \\"(\\"","expectedParamName":"Naam van de parameter ontbreekt","expectedSliceIndex":"Ontbrekende index of slice","expectedYieldExpr":"Verwachte expressie in rendements verklaring","globalReassignment":"\\"{name}\\" is toegewezen voor de globale declaratie","globalRedefinition":"\\"{name}\\" was al globaal verklaard","importResolveFailure":"Module \\"{importName}\\" kon niet worden gevonden","importSymbolUnknown":"\\"{name}\\" niet gevonden in module \\"{moduleName}\\"","inconsistentIndent":"Inspringen komt niet overeen met de vorige regel","inconsistentTabs":"Inconsistent gebruik van tabbladen en spaties voor indenten","instanceMethodSelfParam":"Instantie methoden hebben een zelf-parameter nodig","invalidIdentifierChar":"Ongeldig teken in id","invalidTokenChars":"Ongeldig teken \\"{text}\\" in token","memberAccess":"Geen toegang tot lid \\"{name}\\" voor type \\"{type}\\"","memberDelete":"Kan lid niet verwijderen \\"{name}\\" voor type \\"{type}\\"","memberSet":"Kan lid \\"{name}\\" niet toewijzen voor type \\"{type}\\"","moduleNotCallable":"Module kan niet aangeroepen worden","moduleUnknownMember":"\\"{name}\\" is geen bekend lid van module \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" wordt niet ondersteund op {device}","nonDefaultAfterDefault":"Niet standaard argument volgt het standaard argument","noOverload":"Argumenten komen niet overeen met parametertypes","objectNotCallable":"Object kan niet aangeroepen worden","obscuredClassDeclaration":"Les \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredFunctionDeclaration":"Functie \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredMethodDeclaration":"Methode \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredParameterDeclaration":"Parameter \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredVariableDeclaration":"Verklaring \\"{name}\\" botst met een andere verklaring met dezelfde naam","paramAfterKwargsParam":"Parameter kan \\"**\\" parameter niet volgen","paramAlreadyAssigned":"Parameter \\"{name}\\" is al toegewezen","paramNameMissing":"Geen parameter genaamd \\"{name}\\"","positionArgAfterNamedArg":"Positioneel argument kan niet worden weergegeven na trefwoord argumenten","returnOutsideFunction":"\\"retour\\" kan alleen worden gebruikt binnen een functie","stringUnsupportedEscape":"Niet ondersteunde escape reeks in tekenreeks","stringUnterminated":"String is niet gesloten - aanhalingsteken ontbreekt","symbolIsUndefined":"\\"{name}\\" is niet gedefinieerd","trailingCommaInFromImport":"Komma\'s aan het einde zijn niet toegestaan zonder haakjes eromheen","tupleIndexOutOfRange":"Index {index} is buiten bereik voor type {type}","typeNotIterable":"Type is niet itereerbaar","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" niet ondersteund voor deze combinatie van soorten","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" niet ondersteund voor deze combinatie van soorten","unaccessedClass":"Klasse \\"{name}\\" is ongebruikt","unaccessedFunction":"Functie \\"{name}\\" is ongebruikt","unaccessedImport":"Import \\"{name}\\" is ongebruikt","unaccessedSymbol":"\\"{name}\\" is ongebruikt","unaccessedVariable":"Variabele \\"{name}\\" is ongebruikt","unexpectedIndent":"Onverwachte inspringing","unreachableCode":"Code is onbereikbaar\\nDe logica van je programma betekent dat deze code nooit kan worden uitgevoerd"},"DiagnosticAddendum":{"tupleSizeMismatch":"Element grootte komt niet overeen; verwacht {expected} maar ontving {received}"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-locale-pl-640-569b6cb153bf9bb688ed.worker.js b/public/workers/pyright-locale-pl-640-569b6cb153bf9bb688ed.worker.js new file mode 100644 index 000000000..b056e7d0d --- /dev/null +++ b/public/workers/pyright-locale-pl-640-569b6cb153bf9bb688ed.worker.js @@ -0,0 +1 @@ +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[640],{464:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"Argument nie zgadza się z typem parametru","argAssignmentFunction":"Argument nie zgadza się z typem parametru w funkcji \\"{functionName}\\"","argAssignmentParam":"Argument nie zgadza się z typem parametru dla parametru \\"{paramName}\\"","argAssignmentParamFunction":"Argument nie zgadza się z typem parametru dla parametru \\"{paramName}\\"","argMissingForParam":"Brak argumentu dla parametru {name}","argMissingForParams":"Brak argumentów dla parametrów {names}","argMorePositionalExpectedCount":"Oczekiwane jest {expected} więcej argumentów pozycyjnych","argMorePositionalExpectedOne":"Oczekiwany jest 1 więcej argument pozycyjny","argPositional":"Oczekiwany jest argument pozycyjny","argPositionalExpectedOne":"Oczekiwany jest 1 argument pozycyjny","assignmentTargetExpr":"Wyrażenie nie może być celem przypisania","booleanIsLowerCase":"\\"{name}\\" nie został zdefiniowany, czy masz na myśli \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" może być użyty tylko w pętli \\"while\\" lub \\"for\\"","constructorNoArgs":"Nie są oczekiwane żadne argumenty dla konstruktora \\"{type}\\"","continueOutsideLoop":"\\"continue\\" może być użyte tylko w pętli \\"while\\" lub \\"for\\"","delTargetExpr":"Wyrażenie nie może zostać usunięte","duplicateParam":"Duplikuj parametr \\"{name}\\"","expectedAssignRightHandExpr":"Oczekiwano wyrażenia po prawej stronie \\"=\\"","expectedBinaryRightHandExpr":"Oczekiwane wyrażenie po prawej stronie operatora","expectedClassName":"Brak nazwy klasy","expectedCloseBrace":"Brak nawiasu zamykającego \\"}\\"","expectedCloseBracket":"Brak nawiasu zamykającego \\"]\\"","expectedCloseParen":"Brak nawiasu zamykającego \\")\\"","expectedColon":"Brak dwukropka \\":\\"","expectedDelExpr":"Brak wyrażenie po \\"del\\"","expectedElse":"Brak \\"else\\"","expectedEqualityOperator":"Oczekiwany operator równości, czy miałeś na myśli \\"==\\"?","expectedExpr":"Brak wyrażenia","expectedFunctionName":"Brak nazwy funkcji po \\"def\\"","expectedIdentifier":"Brak identyfikatora","expectedImport":"Brak \\"import\\"","expectedImportAlias":"Brak symbolu po \\"as\\"","expectedImportSymbols":"Oczekiwano jednej lub więcej nazw symboli po imporcie","expectedIn":"Brak \\"in\\"","expectedIndentedBlock":"Brak wcięcia","expectedInExpr":"Brak wyrażenia po \\"in\\"","expectedMemberName":"Brak nazwy użytkownika po \\".\\"","expectedModuleName":"Brak nazwy modułu","expectedNamedParameter":"Parametr słowa kluczowego musi być po \\"*\\"","expectedNewlineOrSemicolon":"Nieoczekiwana instrukcja\\nInstrukcje muszą być jedne na linię","expectedOpenParen":"Brak nawiasu otwierającego \\"(\\"","expectedParamName":"Brak nazwy parametru","expectedSliceIndex":"Brak indeksu lub wycinka","expectedYieldExpr":"Oczekiwane wyrażenie w instrukcji wydajności","globalReassignment":"\\"{name}\\" jest przypisany przed deklaracją globalną","globalRedefinition":"\\"{name}\\" został już zadeklarowany jako globalny","importResolveFailure":"Moduł \\"{importName}\\" nie został znaleziony","importSymbolUnknown":"\\"{name}\\" nie znaleziono w module \\"{moduleName}\\"","inconsistentIndent":"Wcięcie nie pasuje do poprzedniego wiersza","inconsistentTabs":"Niespójne wykorzystanie tabs i spacji dla wcięć","instanceMethodSelfParam":"Metody instancji wymagają parametru \\"self\\"","invalidIdentifierChar":"Nieprawidłowy znak w identyfikatorze","invalidTokenChars":"Nieprawidłowy znak \\"{text}\\" w tokenie","memberAccess":"Nie ma dostępu do członka \\"{name}\\" dla typu \\"{type}\\"","memberDelete":"Nie można usunąć członka \\"{name}\\" dla typu \\"{type}\\"","memberSet":"Nie można przypisać członka \\"{name}\\" dla typu \\"{type}\\"","moduleNotCallable":"Moduł nie jest wywoływalny","moduleUnknownMember":"\\"{name}\\" nie jest znanym członkiem modułu \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" nie jest obsługiwane na {device}","nonDefaultAfterDefault":"Argument niedomyślny bastępuje po domyślnym argumentem","noOverload":"Argumenty nie zgadzaj się z typem parametrów","objectNotCallable":"Obiekt nie jest wywoływalny","obscuredClassDeclaration":"Klasa \\"{name}\\" koliduje z inną deklaracją o tej samej nazwie","obscuredFunctionDeclaration":"Funkcja \\"{name}\\" koliduje z inną deklaracją o tej samej nazwie","obscuredMethodDeclaration":"Metoda \\"{name}\\" koliduje z inną deklaracją o tej samej nazwie","obscuredParameterDeclaration":"Parametr \\"{name}\\" koliduje z inną deklarację o tej samej nazwie","obscuredVariableDeclaration":"Deklaracja \\"{name}\\" koliduje z inną deklaracją o tej samej nazwie","paramAfterKwargsParam":"Parametr nie może następować po parametrze \\"**\\"","paramAlreadyAssigned":"Parametr \\"{name}\\" jest już przypisany","paramNameMissing":"Brak parametru o nazwie \\"{name}\\"","positionArgAfterNamedArg":"Argument pozycyjny nie może występować po argumentach słów kluczowych","returnOutsideFunction":"\\"return\\" może być użyte tylko w funkcji","stringUnsupportedEscape":"Nieobsługiwana sekwencja w nazwie typu łańcuch","stringUnterminated":"Łańcuch nie jest zamknięty — brak cudzysłowu","symbolIsUndefined":"\\"{name}\\" nie jest zdefiniowana","trailingCommaInFromImport":"Przecinek końcowy nie jest dozwolony bez otaczających go nawiasów","tupleIndexOutOfRange":"Indeks {index} jest poza zakresem dla typu {type}","typeNotIterable":"Typ nie jest iterowalny","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" nie jest obsługiwany dla tej kombinacji typów","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" nie jest obsługiwany dla tej kombinacji typów","unaccessedClass":"Klasa \\"{name}\\" jest nieużywana","unaccessedFunction":"Funkcja \\"{name}\\" jest nieużywana","unaccessedImport":"Import \\"{name}\\" jest nieużywany","unaccessedSymbol":"\\"{name}\\" jest nieużywana","unaccessedVariable":"Zmienna \\"{name}\\" jest nieużywana","unexpectedIndent":"Nieoczekiwane wcięcie","unreachableCode":"Kod jest nieosiągalny\\nLogika Twojego programu oznacza, że ten kod nigdy nie będzie uruchomiony"},"DiagnosticAddendum":{"tupleSizeMismatch":"Niezgodność rozmiaru elementu; oczekiwano {expected}, ale otrzymano {received}"}}')}}]); \ No newline at end of file diff --git a/public/workers/pyright-main-c53c357c089fab5f5c10.worker.js b/public/workers/pyright-main-c53c357c089fab5f5c10.worker.js deleted file mode 100644 index cd5c1800f..000000000 --- a/public/workers/pyright-main-c53c357c089fab5f5c10.worker.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see pyright-main-c53c357c089fab5f5c10.worker.js.LICENSE.txt */ -(()=>{var __webpack_modules__={9742:(e,t)=>{"use strict";t.byteLength=function(e){var t=l(e),n=t[0],i=t[1];return 3*(n+i)/4-i},t.toByteArray=function(e){var t,n,s=l(e),o=s[0],a=s[1],c=new r(function(e,t,n){return 3*(t+n)/4-n}(0,o,a)),u=0,p=a>0?o-4:o;for(n=0;n>16&255,c[u++]=t>>8&255,c[u++]=255&t;return 2===a&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,c[u++]=255&t),1===a&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t),c},t.fromByteArray=function(e){for(var t,i=e.length,r=i%3,s=[],o=16383,a=0,l=i-r;al?l:a+o));return 1===r?(t=e[i-1],s.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[i-2]<<8)+e[i-1],s.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),s.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,a=s.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function c(e,t,i){for(var r,s,o=[],a=t;a>18&63]+n[s>>12&63]+n[s>>6&63]+n[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},8764:(e,t,n)=>{"use strict";const i=n(9742),r=n(645),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=l,t.SlowBuffer=function(e){return+e!=e&&(e=0),l.alloc(+e)},t.INSPECT_MAX_BYTES=50;const o=2147483647;function a(e){if(e>o)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return p(e)}return c(e,t,n)}function c(e,t,n){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!l.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const n=0|f(e,t);let i=a(n);const r=i.write(e,t);return r!==n&&(i=i.slice(0,r)),i}(e,t);if(ArrayBuffer.isView(e))return function(e){if(J(e,Uint8Array)){const t=new Uint8Array(e);return h(t.buffer,t.byteOffset,t.byteLength)}return d(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(J(e,ArrayBuffer)||e&&J(e.buffer,ArrayBuffer))return h(e,t,n);if("undefined"!=typeof SharedArrayBuffer&&(J(e,SharedArrayBuffer)||e&&J(e.buffer,SharedArrayBuffer)))return h(e,t,n);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return l.from(i,t,n);const r=function(e){if(l.isBuffer(e)){const t=0|m(e.length),n=a(t);return 0===n.length||e.copy(n,0,0,t),n}return void 0!==e.length?"number"!=typeof e.length||Y(e.length)?a(0):d(e):"Buffer"===e.type&&Array.isArray(e.data)?d(e.data):void 0}(e);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return l.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function p(e){return u(e),a(e<0?0:0|m(e))}function d(e){const t=e.length<0?0:0|m(e.length),n=a(t);for(let i=0;i=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|e}function f(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||J(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const n=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;let r=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return H(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return G(e).length;default:if(r)return i?-1:H(e).length;t=(""+t).toLowerCase(),r=!0}}function g(e,t,n){let i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return A(this,t,n);case"utf8":case"utf-8":return w(this,t,n);case"ascii":return k(this,t,n);case"latin1":case"binary":return D(this,t,n);case"base64":return C(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function y(e,t,n){const i=e[t];e[t]=e[n],e[n]=i}function _(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),Y(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=l.from(t,i)),l.isBuffer(t))return 0===t.length?-1:v(e,t,n,i,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):v(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function v(e,t,n,i,r){let s,o=1,a=e.length,l=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;o=2,a/=2,l/=2,n/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(r){let i=-1;for(s=n;sa&&(n=a-l),s=n;s>=0;s--){let n=!0;for(let i=0;ir&&(i=r):i=r;const s=t.length;let o;for(i>s/2&&(i=s/2),o=0;o>8,r=n%256,s.push(r),s.push(i);return s}(t,e.length-n),e,n,i)}function C(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}function w(e,t,n){n=Math.min(e.length,n);const i=[];let r=t;for(;r239?4:t>223?3:t>191?2:1;if(r+o<=n){let n,i,a,l;switch(o){case 1:t<128&&(s=t);break;case 2:n=e[r+1],128==(192&n)&&(l=(31&t)<<6|63&n,l>127&&(s=l));break;case 3:n=e[r+1],i=e[r+2],128==(192&n)&&128==(192&i)&&(l=(15&t)<<12|(63&n)<<6|63&i,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:n=e[r+1],i=e[r+2],a=e[r+3],128==(192&n)&&128==(192&i)&&128==(192&a)&&(l=(15&t)<<18|(63&n)<<12|(63&i)<<6|63&a,l>65535&&l<1114112&&(s=l))}}null===s?(s=65533,o=1):s>65535&&(s-=65536,i.push(s>>>10&1023|55296),s=56320|1023&s),i.push(s),r+=o}return function(e){const t=e.length;if(t<=E)return String.fromCharCode.apply(String,e);let n="",i=0;for(;ii.length?(l.isBuffer(t)||(t=l.from(t)),t.copy(i,r)):Uint8Array.prototype.set.call(i,t,r);else{if(!l.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(i,r)}r+=t.length}return i},l.byteLength=f,l.prototype._isBuffer=!0,l.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tn&&(e+=" ... "),""},s&&(l.prototype[s]=l.prototype.inspect),l.prototype.compare=function(e,t,n,i,r){if(J(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;let s=(r>>>=0)-(i>>>=0),o=(n>>>=0)-(t>>>=0);const a=Math.min(s,o),c=this.slice(i,r),u=e.slice(t,n);for(let e=0;e>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}const r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let s=!1;for(;;)switch(i){case"hex":return T(this,e,t,n);case"utf8":case"utf-8":return b(this,e,t,n);case"ascii":case"latin1":case"binary":return I(this,e,t,n);case"base64":return S(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const E=4096;function k(e,t,n){let i="";n=Math.min(e.length,n);for(let r=t;ri)&&(n=i);let r="";for(let i=t;in)throw new RangeError("Trying to access beyond buffer length")}function F(e,t,n,i,r,s){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function N(e,t,n,i,r){W(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,n}function M(e,t,n,i,r){W(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n+7]=s,s>>=8,e[n+6]=s,s>>=8,e[n+5]=s,s>>=8,e[n+4]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=o,o>>=8,e[n+2]=o,o>>=8,e[n+1]=o,o>>=8,e[n]=o,n+8}function O(e,t,n,i,r,s){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function L(e,t,n,i,s){return t=+t,n>>>=0,s||O(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function U(e,t,n,i,s){return t=+t,n>>>=0,s||O(e,0,n,8),r.write(e,t,n,i,52,8),n+8}l.prototype.slice=function(e,t){const n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e],r=1,s=0;for(;++s>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e+--t],r=1;for(;t>0&&(r*=256);)i+=this[e+--t]*r;return i},l.prototype.readUint8=l.prototype.readUInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),this[e]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readBigUInt64LE=Z((function(e){j(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,r=this[++e]+256*this[++e]+65536*this[++e]+n*2**24;return BigInt(i)+(BigInt(r)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=t*2**24+65536*this[++e]+256*this[++e]+this[++e],r=this[++e]*2**24+65536*this[++e]+256*this[++e]+n;return(BigInt(i)<>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e],r=1,s=0;for(;++s=r&&(i-=Math.pow(2,8*t)),i},l.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||R(e,t,this.length);let i=t,r=1,s=this[e+--i];for(;i>0&&(r*=256);)s+=this[e+--i]*r;return r*=128,s>=r&&(s-=Math.pow(2,8*t)),s},l.prototype.readInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readBigInt64LE=Z((function(e){j(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=this[e+4]+256*this[e+5]+65536*this[e+6]+(n<<24);return(BigInt(i)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(i)<>>=0,t||R(e,4,this.length),r.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||R(e,4,this.length),r.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||R(e,8,this.length),r.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||R(e,8,this.length),r.read(this,e,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(e,t,n,i){e=+e,t>>>=0,n>>>=0,i||F(this,e,t,n,Math.pow(2,8*n)-1,0);let r=1,s=0;for(this[t]=255&e;++s>>=0,n>>>=0,i||F(this,e,t,n,Math.pow(2,8*n)-1,0);let r=n-1,s=1;for(this[t+r]=255&e;--r>=0&&(s*=256);)this[t+r]=e/s&255;return t+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigUInt64LE=Z((function(e,t=0){return N(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeBigUInt64BE=Z((function(e,t=0){return M(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}let r=0,s=1,o=0;for(this[t]=255&e;++r>0)-o&255;return t+n},l.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}let r=n-1,s=1,o=0;for(this[t+r]=255&e;--r>=0&&(s*=256);)e<0&&0===o&&0!==this[t+r+1]&&(o=1),this[t+r]=(e/s>>0)-o&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigInt64LE=Z((function(e,t=0){return N(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeBigInt64BE=Z((function(e,t=0){return M(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeFloatLE=function(e,t,n){return L(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return L(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return U(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return U(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,i){if(!l.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(r=t;r=i+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function W(e,t,n,i,r,s){if(e>n||e3?0===t||t===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(s+1)}${i}`:`>= -(2${i} ** ${8*(s+1)-1}${i}) and < 2 ** ${8*(s+1)-1}${i}`:`>= ${t}${i} and <= ${n}${i}`,new V.ERR_OUT_OF_RANGE("value",r,e)}!function(e,t,n){j(t,"offset"),void 0!==e[t]&&void 0!==e[t+n]||z(t,e.length-(n+1))}(i,r,s)}function j(e,t){if("number"!=typeof e)throw new V.ERR_INVALID_ARG_TYPE(t,"number",e)}function z(e,t,n){if(Math.floor(e)!==e)throw j(e,n),new V.ERR_OUT_OF_RANGE(n||"offset","an integer",e);if(t<0)throw new V.ERR_BUFFER_OUT_OF_BOUNDS;throw new V.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${t}`,e)}q("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),q("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),q("ERR_OUT_OF_RANGE",(function(e,t,n){let i=`The value of "${e}" is out of range.`,r=n;return Number.isInteger(n)&&Math.abs(n)>2**32?r=B(String(n)):"bigint"==typeof n&&(r=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(r=B(r)),r+="n"),i+=` It must be ${t}. Received ${r}`,i}),RangeError);const $=/[^+/0-9A-Za-z-_]/g;function H(e,t){let n;t=t||1/0;const i=e.length;let r=null;const s=[];for(let o=0;o55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(t-=3)>-1&&s.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&s.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function G(e){return i.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace($,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function K(e,t,n,i){let r;for(r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function J(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function Y(e){return e!=e}const Q=function(){const e="0123456789abcdef",t=new Array(256);for(let n=0;n<16;++n){const i=16*n;for(let r=0;r<16;++r)t[i+r]=e[n]+e[r]}return t}();function Z(e){return"undefined"==typeof BigInt?X:e}function X(){throw new Error("BigInt not supported")}},645:(e,t)=>{t.read=function(e,t,n,i,r){var s,o,a=8*r-i-1,l=(1<>1,u=-7,p=n?r-1:0,d=n?-1:1,h=e[t+p];for(p+=d,s=h&(1<<-u)-1,h>>=-u,u+=a;u>0;s=256*s+e[t+p],p+=d,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=i;u>0;o=256*o+e[t+p],p+=d,u-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(h?-1:1);o+=Math.pow(2,i),s-=c}return(h?-1:1)*o*Math.pow(2,s-i)},t.write=function(e,t,n,i,r,s){var o,a,l,c=8*s-r-1,u=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,h=i?0:s-1,m=i?1:-1,f=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+p>=1?d/l:d*Math.pow(2,1-p))*l>=2&&(o++,l/=2),o+p>=u?(a=0,o=u):o+p>=1?(a=(t*l-1)*Math.pow(2,r),o+=p):(a=t*Math.pow(2,p-1)*Math.pow(2,r),o=0));r>=8;e[n+h]=255&a,h+=m,a/=256,r-=8);for(o=o<0;e[n+h]=255&o,h+=m,o/=256,c-=8);e[n+h-m]|=128*f}},6470:e=>{"use strict";function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,i="",r=0,s=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=i.lastIndexOf("/");if(l!==i.length-1){-1===l?(i="",r=0):r=(i=i.slice(0,l)).length-1-i.lastIndexOf("/"),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",r=0,s=a,o=0;continue}t&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+e.slice(s+1,a):i=e.slice(s+1,a),r=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",r=!1,s=arguments.length-1;s>=-1&&!r;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e="/"),o=e),t(o),0!==o.length&&(i=o+"/"+i,r=47===o.charCodeAt(0))}return i=n(i,!r),r?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var i=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!i)).length||i||(e="."),e.length>0&&r&&(e+="/"),i?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":i.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=i.resolve(e))===(n=i.resolve(n)))return"";for(var r=1;rc){if(47===n.charCodeAt(a+p))return n.slice(a+p+1);if(0===p)return n.slice(a+p)}else o>c&&(47===e.charCodeAt(r+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(r+p);if(d!==n.charCodeAt(a+p))break;47===d&&(u=p)}var h="";for(p=r+u+1;p<=s;++p)p!==s&&47!==e.charCodeAt(p)||(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(a+u):(a+=u,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),i=47===n,r=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){r=o;break}}else s=!1;return-1===r?i?"/":".":i&&1===r?"//":e.slice(0,r)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var i,r=0,s=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,l=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){r=i+1;break}}else-1===l&&(o=!1,l=i+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=i):(a=-1,s=l))}return r===s?s=l:-1===s&&(s=e.length),e.slice(r,s)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){r=i+1;break}}else-1===s&&(o=!1,s=i+1);return-1===s?"":e.slice(r,s)},extname:function(e){t(e);for(var n=-1,i=0,r=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===r&&(s=!1,r=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){i=a+1;break}}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+"/"+i:i}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var i,r=e.charCodeAt(0),s=47===r;s?(n.root="/",i=1):i=0;for(var o=-1,a=0,l=-1,c=!0,u=e.length-1,p=0;u>=i;--u)if(47!==(r=e.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===r?-1===o?o=u:1!==p&&(p=1):-1!==o&&(p=-1);else if(!c){a=u+1;break}return-1===o||-1===l||0===p||1===p&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i},6755:()=>{"use strict";Promise.prototype.ignoreErrors=function(){this.catch((()=>{}))}},1169:(e,t,n)=>{"use strict";e.exports=n(9054)},9054:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,n(5669).default.install();const s=n(3870);r(n(3870),t);class o extends s.AbstractMessageReader{constructor(e){super(),this._onData=new s.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",(e=>this.fireError(e))),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}}t.BrowserMessageReader=o;class a extends s.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",(e=>this.fireError(e)))}write(e){try{return this.context.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}t.BrowserMessageWriter=a,t.createMessageConnection=function(e,t,n,i){return void 0===n&&(n=s.NullLogger),s.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),s.createMessageConnection(e,t,n,i)}},5669:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(147),r=n(3911),s=n(7135),o=n(5530);class a extends o.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return(new TextEncoder).encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}}a.emptyBuffer=new Uint8Array(0);class l{constructor(e){this.socket=e,this._onData=new s.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then((e=>{this._onData.fire(new Uint8Array(e))}))},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}onData(e){return this._onData.event(e)}}class c{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const u=new TextEncoder,p=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{if("utf-8"!==t.charset)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t.charset}`);return Promise.resolve(u.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{if(!(e instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new l(e),asWritableStream:e=>new c(e)}),console,timer:Object.freeze({setTimeout:(e,t,...n)=>setTimeout(e,t,...n),clearTimeout(e){clearTimeout(e)},setImmediate:(e,...t)=>setTimeout(e,0,...t),clearImmediate(e){clearTimeout(e)}})});function d(){return p}!function(e){e.install=function(){i.default.install(p)}}(d||(d={})),t.default=d},3870:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.ProgressType=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.RAL=void 0,t.CancellationStrategy=void 0;const i=n(839);Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return i.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return i.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return i.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return i.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return i.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return i.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return i.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return i.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return i.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return i.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return i.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return i.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return i.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return i.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return i.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return i.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return i.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return i.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return i.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return i.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return i.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return i.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return i.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return i.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return i.ParameterStructures}});const r=n(3911);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const s=n(7135);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return s.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return s.Emitter}});const o=n(3881);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return o.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return o.CancellationToken}});const a=n(6525);Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return a.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return a.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return a.ReadableStreamMessageReader}});const l=n(6654);Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const c=n(1343);Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return c.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return c.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return c.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return c.createMessageConnection}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return c.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return c.Trace}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return c.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return c.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return c.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return c.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return c.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return c.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return c.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return c.CancellationStrategy}});const u=n(147);t.RAL=u.default},3881:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const i=n(147),r=n(7574),s=n(7135);var o;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),e.is=function(t){const n=t;return n&&(n===e.None||n===e.Cancelled||r.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(o=t.CancellationToken||(t.CancellationToken={}));const a=Object.freeze((function(e,t){const n=i.default().timer.setTimeout(e.bind(t),0);return{dispose(){i.default().timer.clearTimeout(n)}}}));class l{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new s.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}t.CancellationTokenSource=class{get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=o.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=o.None}}},1343:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.NullLogger=t.ProgressType=void 0;const i=n(147),r=n(7574),s=n(839),o=n(6184),a=n(7135),l=n(3881);var c,u,p,d,h,m,f,g,y,_,v,T,b;!function(e){e.type=new s.NotificationType("$/cancelRequest")}(c||(c={})),function(e){e.type=new s.NotificationType("$/progress")}(u||(u={})),t.ProgressType=class{constructor(){}},function(e){e.is=function(e){return r.func(e)}}(p||(p={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(d=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){if(!r.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(d=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(h=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new s.NotificationType("$/setTrace")}(m=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new s.NotificationType("$/logTrace")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(g=t.ConnectionErrors||(t.ConnectionErrors={}));class I extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,I.prototype)}}t.ConnectionError=I,function(e){e.is=function(e){const t=e;return t&&r.func(t.cancelUndispatched)}}(y=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new l.CancellationTokenSource}),e.is=function(e){const t=e;return t&&r.func(t.createCancellationTokenSource)}}(_=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation(e,t){e.sendNotification(c.type,{id:t})},cleanup(e){}}),e.is=function(e){const t=e;return t&&r.func(t.sendCancellation)&&r.func(t.cleanup)}}(v=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:_.Message,sender:v.Message}),e.is=function(e){const t=e;return t&&_.is(t.receiver)&&v.is(t.sender)}}(T=t.CancellationStrategy||(t.CancellationStrategy={})),(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(T.is(t.cancellationStrategy)||y.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(b||(b={})),t.createMessageConnection=function(e,n,y,_){const v=void 0!==y?y:t.NullLogger;let S=0,x=0,C=0;const w="2.0";let E;const k=Object.create(null);let D;const A=Object.create(null),P=new Map;let R,F,N=new o.LinkedMap,M=Object.create(null),O=Object.create(null),L=d.Off,U=h.Text,V=b.New;const q=new a.Emitter,B=new a.Emitter,W=new a.Emitter,j=new a.Emitter,z=new a.Emitter,$=_&&_.cancellationStrategy?_.cancellationStrategy:T.Message;function H(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function G(e){}function K(){return V===b.Listening}function J(){return V===b.Closed}function Y(){return V===b.Disposed}function Q(){V!==b.New&&V!==b.Listening||(V=b.Closed,B.fire(void 0))}function Z(){R||0===N.size||(R=i.default().timer.setImmediate((()=>{R=void 0,function(){if(0===N.size)return;const e=N.shift();try{s.isRequestMessage(e)?function(e){if(Y())return;function t(t,i,r){const o={jsonrpc:w,id:e.id};t instanceof s.ResponseError?o.error=t.toJson():o.result=void 0===t?null:t,ee(o,i,r),n.write(o)}function i(t,i,r){const s={jsonrpc:w,id:e.id,error:t.toJson()};ee(s,i,r),n.write(s)}!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Received request '${e.method} - (${e.id})'.`,t)}else te("receive-request",e)}(e);const o=k[e.method];let a,l;o&&(a=o.type,l=o.handler);const c=Date.now();if(l||E){const o=String(e.id),u=$.receiver.createCancellationTokenSource(o);O[o]=u;try{let p;if(l)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but recevied none.`),e.method,c);p=l(u.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byName)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,c);p=l(...e.params,u.token)}else{if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byPosition)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,c);p=l(e.params,u.token)}else E&&(p=E(e.method,e.params,u.token));const d=p;p?d.then?d.then((n=>{delete O[o],t(n,e.method,c)}),(t=>{delete O[o],t instanceof s.ResponseError?i(t,e.method,c):t&&r.string(t.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)})):(delete O[o],t(p,e.method,c)):(delete O[o],function(t,i,r){void 0===t&&(t=null);const s={jsonrpc:w,id:e.id,result:t};ee(s,i,r),n.write(s)}(p,e.method,c))}catch(n){delete O[o],n instanceof s.ResponseError?t(n,e.method,c):n&&r.string(n.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else i(new s.ResponseError(s.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):s.isNotificationMessage(e)?function(e){if(Y())return;let t,n;if(e.method===c.type.method)n=e=>{const t=e.id,n=O[String(t)];n&&n.cancel()};else{const i=A[e.method];i&&(n=i.handler,t=i.type)}if(n||D)try{!function(e){if(L!==d.Off&&F&&e.method!==f.type.method)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Received notification '${e.method}'.`,t)}else te("receive-notification",e)}(e),n?void 0===e.params?(void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but recevied none.`),n()):Array.isArray(e.params)?(void 0!==t&&(t.parameterStructures===s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${e.params.length} argumennts`)),n(...e.params)):(void 0!==t&&t.parameterStructures===s.ParameterStructures.byPosition&&v.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params)):D&&D(e.method,e.params)}catch(t){t.message?v.error(`Notification handler '${e.method}' failed with message: ${t.message}`):v.error(`Notification handler '${e.method}' failed unexpectedly.`)}else W.fire(e)}(e):s.isResponseMessage(e)?function(e){if(!Y())if(null===e.id)e.error?v.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):v.error("Received response message without id. No further error information provided.");else{const t=String(e.id),n=M[t];if(function(e,t){if(L!==d.Off&&F)if(U===h.Text){let n;if(L===d.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),t){const i=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";F.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${i}`,n)}else F.log(`Received response ${e.id} without active response promise.`,n)}else te("receive-response",e)}(e,n),n){delete M[t];try{if(e.error){const t=e.error;n.reject(new s.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");n.resolve(e.result)}}catch(e){e.message?v.error(`Response handler '${n.method}' failed with message: ${e.message}`):v.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void v.error("Received empty message.");v.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(r.string(t.id)||r.number(t.id)){const e=String(t.id),n=M[e];n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{Z()}}()})))}e.onClose(Q),e.onError((function(e){q.fire([e,void 0,void 0])})),n.onClose(Q),n.onError((function(e){q.fire(e)}));const X=e=>{try{if(s.isNotificationMessage(e)&&e.method===c.type.method){const t=H(e.params.id),i=N.get(t);if(s.isRequestMessage(i)){const r=null==_?void 0:_.connectionStrategy,s=r&&r.cancelUndispatched?r.cancelUndispatched(i,G):void 0;if(s&&(void 0!==s.error||void 0!==s.result))return N.delete(t),s.id=i.id,ee(s,e.method,Date.now()),void n.write(s)}}!function(e,t){var n;s.isRequestMessage(t)?e.set(H(t.id),t):s.isResponseMessage(t)?e.set(null===(n=t.id)?"res-unknown-"+(++C).toString():"res-"+n.toString(),t):e.set("not-"+(++x).toString(),t)}(N,e)}finally{Z()}};function ee(e,t,n){if(L!==d.Off&&F)if(U===h.Text){let i;L===d.Verbose&&(e.error&&e.error.data?i=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?i=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),F.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,i)}else te("send-response",e)}function te(e,t){if(!F||L===d.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};F.log(n)}function ne(){if(J())throw new I(g.Closed,"Connection is closed.");if(Y())throw new I(g.Disposed,"Connection is disposed.")}function ie(e){return void 0===e?null:e}function re(e){return null===e?void 0:e}function se(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function oe(e,t){switch(e){case s.ParameterStructures.auto:return se(t)?re(t):[ie(t)];case s.ParameterStructures.byName:if(!se(t))throw new Error("Recevied parameters by name but param is not an object literal.");return re(t);case s.ParameterStructures.byPosition:return[ie(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function ae(e,t){let n;const i=e.numberOfParams;switch(i){case 0:n=void 0;break;case 1:n=oe(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,o;if(ne(),r.string(e)){i=e;const n=t[0];let r=0,a=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(r=1,a=n);let l=t.length;const c=l-r;switch(c){case 0:o=void 0;break;case 1:o=oe(a,t[r]);break;default:if(a===s.ParameterStructures.byName)throw new Error(`Recevied ${c} parameters for 'by Name' notification parameter structure.`);o=t.slice(r,l).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n)}const a={jsonrpc:w,method:i,params:o};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Sending notification '${e.method}'.`,t)}else te("send-notification",e)}(a),n.write(a)},onNotification:(e,t)=>{let n;return ne(),r.func(e)?D=e:t&&(r.string(e)?(n=e,A[e]={type:void 0,handler:t}):(n=e.method,A[e.method]={type:e,handler:t})),{dispose:()=>{void 0!==n?delete A[n]:D=void 0}}},onProgress:(e,t,n)=>{if(P.has(t))throw new Error(`Progress handler for token ${t} already registered`);return P.set(t,n),{dispose:()=>{P.delete(t)}}},sendProgress:(e,t,n)=>{le.sendNotification(u.type,{token:t,value:n})},onUnhandledProgress:j.event,sendRequest:(e,...t)=>{let i,o,a;if(ne(),function(){if(!K())throw new Error("Call listen() first.")}(),r.string(e)){i=e;const n=t[0],r=t[t.length-1];let c=0,u=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(c=1,u=n);let p=t.length;l.CancellationToken.is(r)&&(p-=1,a=r);const d=p-c;switch(d){case 0:o=void 0;break;case 1:o=oe(u,t[c]);break;default:if(u===s.ParameterStructures.byName)throw new Error(`Recevied ${d} parameters for 'by Name' request parameter structure.`);o=t.slice(c,p).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n);const r=e.numberOfParams;a=l.CancellationToken.is(n[r])?n[r]:void 0}const c=S++;let u;return a&&(u=a.onCancellationRequested((()=>{$.sender.sendCancellation(le,c)}))),new Promise(((e,t)=>{const r={jsonrpc:w,id:c,method:i,params:o};let a={method:i,timerStart:Date.now(),resolve:t=>{e(t),$.sender.cleanup(c),null==u||u.dispose()},reject:e=>{t(e),$.sender.cleanup(c),null==u||u.dispose()}};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Sending request '${e.method} - (${e.id})'.`,t)}else te("send-request",e)}(r);try{n.write(r)}catch(e){a.reject(new s.ResponseError(s.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(M[String(c)]=a)}))},onRequest:(e,t)=>{ne();let n=null;return p.is(e)?(n=void 0,E=e):r.string(e)?(n=null,void 0!==t&&(n=e,k[e]={handler:t,type:void 0})):void 0!==t&&(n=e.method,k[e.method]={type:e,handler:t}),{dispose:()=>{null!==n&&(void 0!==n?delete k[n]:E=void 0)}}},trace:(e,t,n)=>{let i=!1,s=h.Text;void 0!==n&&(r.boolean(n)?i=n:(i=n.sendNotification||!1,s=n.traceFormat||h.Text)),L=e,U=s,F=L===d.Off?void 0:t,!i||J()||Y()||le.sendNotification(m.type,{value:d.toString(e)})},onError:q.event,onClose:B.event,onUnhandledNotification:W.event,onDispose:z.event,end:()=>{n.end()},dispose:()=>{if(Y())return;V=b.Disposed,z.fire(void 0);const t=new Error("Connection got disposed.");Object.keys(M).forEach((e=>{M[e].reject(t)})),M=Object.create(null),O=Object.create(null),N=new o.LinkedMap,r.func(n.dispose)&&n.dispose(),r.func(e.dispose)&&e.dispose()},listen:()=>{ne(),function(){if(K())throw new I(g.AlreadyListening,"Connection is already listening")}(),V=b.Listening,e.listen(X)},inspect:()=>{i.default().console.log("inspect")}};return le.onNotification(f.type,(e=>{L!==d.Off&&F&&F.log(e.message,L===d.Verbose?e.verbose:void 0)})),le.onNotification(u.type,(e=>{const t=P.get(e.token);t?t(e.value):j.fire(e)})),le}},3911:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},7135:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const i=n(147);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class r{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let i=0,r=this._callbacks.length;i{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=s._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=s,s._noop=function(){}},7574:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))}},6184:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class i{constructor(){this[Symbol.toStringTag]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let r=this._map.get(e);if(r)r.value=t,i!==n.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(r);break;case n.First:this.addItemFirst(r);break;case n.Last:default:this.addItemLast(r)}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}t.LinkedMap=i,t.LRUCache=class extends i{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},5530:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0,t.AbstractMessageBuffer=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(0===this._chunks.length)return;let e=0,t=0,n=0,i=0;e:for(;tthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],n=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,n}const t=this.allocNative(e);let n=0;for(;e>0;){const i=this._chunks[0];if(i.byteLength>e){const r=i.slice(0,e);t.set(r,n),n+=e,this._chunks[0]=i.slice(e),this._totalLength-=e,e-=e}else t.set(i,n),n+=i.byteLength,this._chunks.shift(),this._totalLength-=i.byteLength,e-=i.byteLength}return t}}},6525:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const i=n(147),r=n(7574),s=n(7135);var o;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&r.func(t.listen)&&r.func(t.dispose)&&r.func(t.onError)&&r.func(t.onClose)&&r.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter,this.partialMessageEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,function(e){e.fromOptions=function(e){var t;let n,r;const s=new Map;let o;const a=new Map;if(void 0===e||"string"==typeof e)n=null!=e?e:"utf-8";else{if(n=null!==(t=e.charset)&&void 0!==t?t:"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,s.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)s.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(o=e.contentTypeDecoder,a.set(o.name,o)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)a.set(t.name,t)}return void 0===o&&(o=i.default().applicationJson.decoder,a.set(o.name,o)),{charset:n,contentDecoder:r,contentDecoders:s,contentTypeDecoder:o,contentTypeDecoders:a}}}(o||(o={})),t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=o.fromOptions(t),this.buffer=i.default().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;const t=this.readable.onData((e=>{this.onData(e)}));return this.readable.onError((e=>this.fireError(e))),this.readable.onClose((()=>this.fireClose())),t}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){const e=this.buffer.tryReadHeaders();if(!e)return;const t=e.get("Content-Length");if(!t)throw new Error("Header must provide a Content-Length property.");const n=parseInt(t);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();let t;this.clearPartialMessageTimer(),this.nextMessageLength=-1,t=void 0!==this.options.contentDecoder?this.options.contentDecoder.decode(e):Promise.resolve(e),t.then((e=>{this.options.contentTypeDecoder.decode(e,this.options).then((e=>{this.callback(e)}),(e=>{this.fireError(e)}))}),(e=>{this.fireError(e)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(i.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=i.default().timer.setTimeout(((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}},6654:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const i=n(147),r=n(7574),s=n(142),o=n(7135);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&r.func(t.dispose)&&r.func(t.onClose)&&r.func(t.onError)&&r.func(t.write)};class l{constructor(){this.errorEmitter=new o.Emitter,this.closeEmitter=new o.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=l,function(e){e.fromOptions=function(e){var t,n;return void 0===e||"string"==typeof e?{charset:null!=e?e:"utf-8",contentTypeEncoder:i.default().applicationJson.encoder}:{charset:null!==(t=e.charset)&&void 0!==t?t:"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:null!==(n=e.contentTypeEncoder)&&void 0!==n?n:i.default().applicationJson.encoder}}}(a||(a={})),t.WriteableStreamMessageWriter=class extends l{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new s.Semaphore(1),this.writable.onError((e=>this.fireError(e))),this.writable.onClose((()=>this.fireClose()))}async write(e){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(e,this.options).then((e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e)).then((t=>{const n=[];return n.push("Content-Length: ",t.byteLength.toString(),"\r\n"),n.push("\r\n"),this.doWrite(e,n,t)}),(e=>{throw this.fireError(e),e}))))}async doWrite(e,t,n){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(n)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}},839:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseMessage=t.isNotificationMessage=t.isRequestMessage=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;const i=n(7574);var r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=e.jsonrpcReservedErrorRangeStart,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=e.jsonrpcReservedErrorRangeEnd}(r=t.ErrorCodes||(t.ErrorCodes={}));class s extends Error{constructor(e,t,n){super(t),this.code=i.number(e)?e:r.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,s.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=s;class o{constructor(e){this.kind=e}static is(e){return e===o.auto||e===o.byName||e===o.byPosition}toString(){return this.kind}}t.ParameterStructures=o,o.auto=new o("auto"),o.byPosition=new o("byPosition"),o.byName=new o("byName");class a{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return o.auto}}t.AbstractMessageSignature=a,t.RequestType0=class extends a{constructor(e){super(e,0)}},t.RequestType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends a{constructor(e){super(e,2)}},t.RequestType3=class extends a{constructor(e){super(e,3)}},t.RequestType4=class extends a{constructor(e){super(e,4)}},t.RequestType5=class extends a{constructor(e){super(e,5)}},t.RequestType6=class extends a{constructor(e){super(e,6)}},t.RequestType7=class extends a{constructor(e){super(e,7)}},t.RequestType8=class extends a{constructor(e){super(e,8)}},t.RequestType9=class extends a{constructor(e){super(e,9)}},t.NotificationType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends a{constructor(e){super(e,0)}},t.NotificationType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends a{constructor(e){super(e,2)}},t.NotificationType3=class extends a{constructor(e){super(e,3)}},t.NotificationType4=class extends a{constructor(e){super(e,4)}},t.NotificationType5=class extends a{constructor(e){super(e,5)}},t.NotificationType6=class extends a{constructor(e){super(e,6)}},t.NotificationType7=class extends a{constructor(e){super(e,7)}},t.NotificationType8=class extends a{constructor(e){super(e,8)}},t.NotificationType9=class extends a{constructor(e){super(e,9)}},t.isRequestMessage=function(e){const t=e;return t&&i.string(t.method)&&(i.string(t.id)||i.number(t.id))},t.isNotificationMessage=function(e){const t=e;return t&&i.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(i.string(t.id)||i.number(t.id)||null===t.id)}},147:(e,t)=>{"use strict";let n;function i(){if(void 0===n)throw new Error("No runtime abstraction layer installed");return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(i||(i={})),t.default=i},142:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const i=n(147);t.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&i.default().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}},5224:(e,t,n)=>{"use strict";e.exports=n(152)},152:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const s=n(1169);r(n(1169),t),r(n(1661),t),t.createProtocolConnection=function(e,t,n,i){return s.createMessageConnection(e,t,n,i)}},1661:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(n(9054),t),r(n(1674),t),r(n(6140),t),r(n(542),t);var s,o=n(3767);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return o.createProtocolConnection}}),(s=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800},3767:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const i=n(9054);t.createProtocolConnection=function(e,t,n,r){return i.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),i.createMessageConnection(e,t,n,r)}},6140:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=void 0;const i=n(9054);t.RegistrationType=class{constructor(e){this.method=e}};class r extends i.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=r;class s extends i.RequestType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolRequestType=s;class o extends i.NotificationType0{constructor(e){super(e)}}t.ProtocolNotificationType0=o;class a extends i.NotificationType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolNotificationType=a},2918:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const i=n(6140);var r,s,o;(o=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",o.type=new i.ProtocolRequestType(o.method),(s=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",s.type=new i.ProtocolRequestType(s.method),(r=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",r.type=new i.ProtocolRequestType(r.method)},9891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const i=n(6140);var r;(r=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",r.type=new i.ProtocolRequestType(r.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new i.ProtocolRequestType("textDocument/colorPresentation")},5934:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const i=n(6140);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new i.ProtocolRequestType("workspace/configuration")},764:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const i=n(6140);var r;(r=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",r.type=new i.ProtocolRequestType(r.method)},7846:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;const i=n(6140);var r,s,o,a,l,c,u;(u=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",u.folder="folder",(c=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",c.type=new i.ProtocolRequestType(c.method),(l=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",l.type=new i.ProtocolNotificationType(l.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new i.ProtocolRequestType(a.method),(o=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",o.type=new i.ProtocolNotificationType(o.method),(s=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",s.type=new i.ProtocolNotificationType(s.method),(r=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",r.type=new i.ProtocolRequestType(r.method)},3394:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=t.FoldingRangeKind=void 0;const i=n(6140);var r,s;(s=t.FoldingRangeKind||(t.FoldingRangeKind={})).Comment="comment",s.Imports="imports",s.Region="region",(r=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",r.type=new i.ProtocolRequestType(r.method)},2122:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const i=n(6140);var r;(r=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",r.type=new i.ProtocolRequestType(r.method)},542:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeError=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.DocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=void 0;const i=n(9533),r=n(6140),s=n(2122);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return s.ImplementationRequest}});const o=n(1589);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return o.TypeDefinitionRequest}});const a=n(9795);Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const l=n(5934);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return l.ConfigurationRequest}});const c=n(9891);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=n(3394);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}});const p=n(764);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return p.DeclarationRequest}});const d=n(5206);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const h=n(1862);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return h.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return h.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return h.WorkDoneProgressCancelNotification}});const m=n(2918);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return m.CallHierarchyPrepareRequest}});const f=n(9434);Object.defineProperty(t,"SemanticTokenTypes",{enumerable:!0,get:function(){return f.SemanticTokenTypes}}),Object.defineProperty(t,"SemanticTokenModifiers",{enumerable:!0,get:function(){return f.SemanticTokenModifiers}}),Object.defineProperty(t,"SemanticTokens",{enumerable:!0,get:function(){return f.SemanticTokens}}),Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return f.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return f.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return f.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return f.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return f.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return f.SemanticTokensRegistrationType}});const g=n(5726);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return g.ShowDocumentRequest}});const y=n(6305);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return y.LinkedEditingRangeRequest}});const _=n(7846);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return _.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return _.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return _.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return _.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return _.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return _.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return _.WillDeleteFilesRequest}});const v=n(3443);var T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return v.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return v.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return v.MonikerRequest}}),function(e){e.is=function(e){const t=e;return i.string(t.language)||i.string(t.scheme)||i.string(t.pattern)}}(T=t.DocumentFilter||(t.DocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!i.string(t)&&!T.is(t))return!1;return!0}}(b=t.DocumentSelector||(t.DocumentSelector={})),(t.RegistrationRequest||(t.RegistrationRequest={})).type=new r.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new r.ProtocolRequestType("client/unregisterCapability"),(se=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",se.Rename="rename",se.Delete="delete",(re=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",re.Transactional="transactional",re.TextOnlyTransactional="textOnlyTransactional",re.Undo="undo",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&i.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||b.is(t.documentSelector))},(ie=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return i.objectLiteral(t)&&(void 0===t.workDoneProgress||i.boolean(t.workDoneProgress))},ie.hasWorkDoneProgress=function(e){const t=e;return t&&i.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new r.ProtocolRequestType("initialize"),(t.InitializeError||(t.InitializeError={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new r.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new r.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new r.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeConfiguration"),(ne=t.MessageType||(t.MessageType={})).Error=1,ne.Warning=2,ne.Info=3,ne.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new r.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new r.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new r.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new r.ProtocolNotificationType("telemetry/event"),(te=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,te.Full=1,te.Incremental=2,(ee=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",ee.type=new r.ProtocolNotificationType(ee.method),(X=t.TextDocumentContentChangeEvent||(t.TextDocumentContentChangeEvent={})).isIncremental=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},X.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(Z=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",Z.type=new r.ProtocolNotificationType(Z.method),(Q=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",Q.type=new r.ProtocolNotificationType(Q.method),(Y=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",Y.type=new r.ProtocolNotificationType(Y.method),(J=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,J.AfterDelay=2,J.FocusOut=3,(K=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",K.type=new r.ProtocolNotificationType(K.method),(G=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",G.type=new r.ProtocolRequestType(G.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(H=t.FileChangeType||(t.FileChangeType={})).Created=1,H.Changed=2,H.Deleted=3,($=t.WatchKind||(t.WatchKind={})).Create=1,$.Change=2,$.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new r.ProtocolNotificationType("textDocument/publishDiagnostics"),(z=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,z.TriggerCharacter=2,z.TriggerForIncompleteCompletions=3,(j=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",j.type=new r.ProtocolRequestType(j.method),(W=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",W.type=new r.ProtocolRequestType(W.method),(B=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",B.type=new r.ProtocolRequestType(B.method),(q=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,q.TriggerCharacter=2,q.ContentChange=3,(V=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",V.type=new r.ProtocolRequestType(V.method),(U=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",U.type=new r.ProtocolRequestType(U.method),(L=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",L.type=new r.ProtocolRequestType(L.method),(O=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",O.type=new r.ProtocolRequestType(O.method),(M=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",M.type=new r.ProtocolRequestType(M.method),(N=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",N.type=new r.ProtocolRequestType(N.method),(F=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",F.type=new r.ProtocolRequestType(F.method),(R=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",R.type=new r.ProtocolRequestType(R.method),(P=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",P.type=new r.ProtocolRequestType(P.method),(A=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",A.type=new r.ProtocolRequestType(A.method),(D=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",D.type=new r.ProtocolRequestType0(D.method),(k=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",k.type=new r.ProtocolRequestType(k.method),(E=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",E.type=new r.ProtocolRequestType(E.method),(w=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",w.type=new r.ProtocolRequestType(w.method),(C=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",C.type=new r.ProtocolRequestType(C.method),(x=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",x.type=new r.ProtocolRequestType(x.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(S=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",S.type=new r.ProtocolRequestType(S.method),(I=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",I.type=new r.ProtocolRequestType(I.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new r.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new r.ProtocolRequestType("workspace/applyEdit")},6305:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const i=n(6140);var r;(r=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",r.type=new i.ProtocolRequestType(r.method)},3443:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const i=n(6140);var r,s,o;(o=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",o.project="project",o.group="group",o.scheme="scheme",o.global="global",(s=t.MonikerKind||(t.MonikerKind={})).import="import",s.export="export",s.local="local",(r=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",r.type=new i.ProtocolRequestType(r.method)},1862:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const i=n(9054),r=n(6140);var s;(s=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new i.ProgressType,s.is=function(e){return e===s.type},(t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).type=new r.ProtocolRequestType("window/workDoneProgress/create"),(t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).type=new r.ProtocolNotificationType("window/workDoneProgress/cancel")},5206:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const i=n(6140);var r;(r=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",r.type=new i.ProtocolRequestType(r.method)},9434:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=void 0;const i=n(6140);var r,s,o,a,l,c,u;(u=t.SemanticTokenTypes||(t.SemanticTokenTypes={})).namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",(c=t.SemanticTokenModifiers||(t.SemanticTokenModifiers={})).declaration="declaration",c.definition="definition",c.readonly="readonly",c.static="static",c.deprecated="deprecated",c.abstract="abstract",c.async="async",c.modification="modification",c.documentation="documentation",c.defaultLibrary="defaultLibrary",(t.SemanticTokens||(t.SemanticTokens={})).is=function(e){const t=e;return void 0!==t&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(l=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",l.type=new i.RegistrationType(l.method),(a=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",a.type=new i.ProtocolRequestType(a.method),(o=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",o.type=new i.ProtocolRequestType(o.method),(s=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",s.type=new i.ProtocolRequestType(s.method),(r=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",r.type=new i.ProtocolRequestType0(r.method)},5726:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const i=n(6140);var r;(r=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",r.type=new i.ProtocolRequestType(r.method)},1589:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const i=n(6140);var r;(r=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",r.type=new i.ProtocolRequestType(r.method)},9795:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const i=n(6140);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new i.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},9533:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.objectLiteral=function(e){return null!==e&&"object"==typeof e}},1674:(e,t,n)=>{"use strict";var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k;n.r(t),n.d(t,{integer:()=>i,uinteger:()=>r,Position:()=>s,Range:()=>o,Location:()=>a,LocationLink:()=>l,Color:()=>c,ColorInformation:()=>u,ColorPresentation:()=>p,FoldingRangeKind:()=>d,FoldingRange:()=>h,DiagnosticRelatedInformation:()=>m,DiagnosticSeverity:()=>f,DiagnosticTag:()=>g,CodeDescription:()=>y,Diagnostic:()=>_,Command:()=>v,TextEdit:()=>T,ChangeAnnotation:()=>b,ChangeAnnotationIdentifier:()=>I,AnnotatedTextEdit:()=>S,TextDocumentEdit:()=>x,CreateFile:()=>C,RenameFile:()=>w,DeleteFile:()=>E,WorkspaceEdit:()=>k,WorkspaceChange:()=>ae,TextDocumentIdentifier:()=>D,VersionedTextDocumentIdentifier:()=>A,OptionalVersionedTextDocumentIdentifier:()=>P,TextDocumentItem:()=>R,MarkupKind:()=>F,MarkupContent:()=>N,CompletionItemKind:()=>M,InsertTextFormat:()=>O,CompletionItemTag:()=>L,InsertReplaceEdit:()=>U,InsertTextMode:()=>V,CompletionItem:()=>q,CompletionList:()=>B,MarkedString:()=>W,Hover:()=>j,ParameterInformation:()=>z,SignatureInformation:()=>$,DocumentHighlightKind:()=>H,DocumentHighlight:()=>G,SymbolKind:()=>K,SymbolTag:()=>J,SymbolInformation:()=>Y,DocumentSymbol:()=>Q,CodeActionKind:()=>Z,CodeActionContext:()=>X,CodeAction:()=>ee,CodeLens:()=>te,FormattingOptions:()=>ne,DocumentLink:()=>ie,SelectionRange:()=>re,EOL:()=>ce,TextDocument:()=>le}),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647}(i||(i={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647}(r||(r={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=r.MAX_VALUE),t===Number.MAX_VALUE&&(t=r.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.uinteger(t.line)&&ue.uinteger(t.character)}}(s||(s={})),function(e){e.create=function(e,t,n,i){if(ue.uinteger(e)&&ue.uinteger(t)&&ue.uinteger(n)&&ue.uinteger(i))return{start:s.create(e,t),end:s.create(n,i)};if(s.is(e)&&s.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+i+"]")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&s.is(t.start)&&s.is(t.end)}}(o||(o={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(a||(a={})),function(e){e.create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.targetRange)&&ue.string(t.targetUri)&&(o.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(o.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(l||(l={})),function(e){e.create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},e.is=function(e){var t=e;return ue.numberRange(t.red,0,1)&&ue.numberRange(t.green,0,1)&&ue.numberRange(t.blue,0,1)&&ue.numberRange(t.alpha,0,1)}}(c||(c={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return o.is(t.range)&&c.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||T.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,T.is))}}(p||(p={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(d||(d={})),function(e){e.create=function(e,t,n,i,r){var s={startLine:e,endLine:t};return ue.defined(n)&&(s.startCharacter=n),ue.defined(i)&&(s.endCharacter=i),ue.defined(r)&&(s.kind=r),s},e.is=function(e){var t=e;return ue.uinteger(t.startLine)&&ue.uinteger(t.startLine)&&(ue.undefined(t.startCharacter)||ue.uinteger(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.uinteger(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&a.is(t.location)&&ue.string(t.message)}}(m||(m={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(f||(f={})),function(e){e.Unnecessary=1,e.Deprecated=2}(g||(g={})),function(e){e.is=function(e){var t=e;return null!=t&&ue.string(t.href)}}(y||(y={})),function(e){e.create=function(e,t,n,i,r,s){var o={range:e,message:t};return ue.defined(n)&&(o.severity=n),ue.defined(i)&&(o.code=i),ue.defined(r)&&(o.source=r),ue.defined(s)&&(o.relatedInformation=s),o},e.is=function(e){var t,n=e;return ue.defined(n)&&o.is(n.range)&&ue.string(n.message)&&(ue.number(n.severity)||ue.undefined(n.severity))&&(ue.integer(n.code)||ue.string(n.code)||ue.undefined(n.code))&&(ue.undefined(n.codeDescription)||ue.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(ue.string(n.source)||ue.undefined(n.source))&&(ue.undefined(n.relatedInformation)||ue.typedArray(n.relatedInformation,m.is))}}(_||(_={})),function(e){e.create=function(e,t){for(var n=[],i=2;i0&&(r.arguments=n),r},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(v||(v={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&o.is(t.range)}}(T||(T={})),function(e){e.create=function(e,t,n){var i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},e.is=function(e){var t=e;return void 0!==t&&ue.objectLiteral(t)&&ue.string(t.label)&&(ue.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(ue.string(t.description)||void 0===t.description)}}(b||(b={})),function(e){e.is=function(e){return"string"==typeof e}}(I||(I={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return T.is(t)&&(b.is(t.annotationId)||I.is(t.annotationId))}}(S||(S={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&P.is(t.textDocument)&&Array.isArray(t.edits)}}(x||(x={})),function(e){e.create=function(e,t,n){var i={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"create"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(C||(C={})),function(e){e.create=function(e,t,n,i){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),void 0!==i&&(r.annotationId=i),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(w||(w={})),function(e){e.create=function(e,t,n){var i={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"delete"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(E||(E={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return ue.string(e.kind)?C.is(e)||w.is(e)||E.is(e):x.is(e)})))}}(k||(k={}));var D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var i,r;if(void 0===n?i=T.insert(e,t):I.is(n)?(r=n,i=S.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.insert(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.replace=function(e,t,n){var i,r;if(void 0===n?i=T.replace(e,t):I.is(n)?(r=n,i=S.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.replace(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.delete=function(e,t){var n,i;if(void 0===t?n=T.del(e):I.is(t)?(i=t,n=S.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(t),n=S.del(e,i)),this.edits.push(n),void 0!==i)return i},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),oe=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(I.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),ae=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new oe(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(x.is(e)){var n=new se(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var i=new se(e.changes[n]);t._textEditChanges[n]=i}))):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(P.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(i=this._textEditChanges[t.uri])){var n={textDocument:t,edits:r=[]};this._workspaceEdit.documentChanges.push(n),i=new se(r,this._changeAnnotations),this._textEditChanges[t.uri]=i}return i}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var i;if(!(i=this._textEditChanges[e])){var r=[];this._workspaceEdit.changes[e]=r,i=new se(r),this._textEditChanges[e]=i}return i},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new oe,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=C.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=C.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e.prototype.renameFile=function(e,t,n,i){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,s,o;if(b.is(n)||I.is(n)?r=n:i=n,void 0===r?s=w.create(e,t,i):(o=I.is(r)?r:this._changeAnnotations.manage(r),s=w.create(e,t,i,o)),this._workspaceEdit.documentChanges.push(s),void 0!==o)return o},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=E.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=E.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(D||(D={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.integer(t.version)}}(A||(A={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.integer(t.version))}}(P||(P={})),function(e){e.create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.integer(t.version)&&ue.string(t.text)}}(R||(R={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(F||(F={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(F||(F={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&F.is(t.kind)&&ue.string(t.value)}}(N||(N={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(M||(M={})),function(e){e.PlainText=1,e.Snippet=2}(O||(O={})),function(e){e.Deprecated=1}(L||(L={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&ue.string(t.newText)&&o.is(t.insert)&&o.is(t.replace)}}(U||(U={})),function(e){e.asIs=1,e.adjustIndentation=2}(V||(V={})),function(e){e.create=function(e){return{label:e}}}(q||(q={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(B||(B={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(W||(W={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(N.is(t.contents)||W.is(t.contents)||ue.typedArray(t.contents,W.is))&&(void 0===e.range||o.is(e.range))}}(j||(j={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(z||(z={})),function(e){e.create=function(e,t){for(var n=[],i=2;i=0;o--){var a=r[o],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=s))throw new Error("Overlapping edit");i=i.substring(0,l)+a.newText+i.substring(c,i.length),s=l}return i}}(le||(le={}));var ue,pe=function(){function e(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,i=0;i0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return s.create(0,e);for(;ne?i=r:n=r+1}var o=n-1;return s.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],i=e.line+1{"use strict";e.exports=n(7630)},7630:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=void 0;const s=n(6265);r(n(5224),t),r(n(6265),t);let o=!1;const a={initialize:e=>{},get shutdownReceived(){return o},set shutdownReceived(e){o=e},exit:e=>{}};t.createConnection=function(e,t,n,i){let r,o,l,c;return void 0!==e&&"features"===e.__brand&&(r=e,e=t,t=n,n=i),s.ConnectionStrategy.is(e)||s.ConnectionOptions.is(e)?c=e:(o=e,l=t,c=n),s.createConnection((e=>s.createProtocolConnection(o,l,e,c)),a,r)}},6265:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.ProposedFeatures=t.SemanticTokensBuilder=void 0;const s=n(9817);Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return s.SemanticTokensBuilder}}),r(n(152),t),r(n(5878),t),(t.ProposedFeatures||(t.ProposedFeatures={})).all={__brand:"features"}},7985:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const i=n(152);t.CallHierarchyFeature=e=>class extends e{get callHierarchy(){return{onPrepare:e=>{this.connection.onRequest(i.CallHierarchyPrepareRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))},onIncomingCalls:e=>{const t=i.CallHierarchyIncomingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=i.CallHierarchyOutgoingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2507:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationFeature=void 0;const i=n(152),r=n(289);t.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?r.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let t={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(i.ConfigurationRequest.type,t).then((t=>Array.isArray(e)?t:t[0]))}}},828:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileOperationsFeature=void 0;const i=n(152);t.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){this.connection.onNotification(i.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){this.connection.onNotification(i.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){this.connection.onNotification(i.DidDeleteFilesNotification.type,(t=>{e(t)}))}onWillCreateFiles(e){return this.connection.onRequest(i.WillCreateFilesRequest.type,((t,n)=>e(t,n)))}onWillRenameFiles(e){return this.connection.onRequest(i.WillRenameFilesRequest.type,((t,n)=>e(t,n)))}onWillDeleteFiles(e){return this.connection.onRequest(i.WillDeleteFilesRequest.type,((t,n)=>e(t,n)))}}},2776:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeFeature=void 0;const i=n(152);t.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){this.connection.onRequest(i.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}}},8120:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerFeature=void 0;const i=n(152);t.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=i.MonikerRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2731:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attachPartialResult=t.ProgressFeature=t.attachWorkDone=void 0;const i=n(152),r=n(7560);class s{constructor(e,t){this._connection=e,this._token=t,s.Instances.set(this._token,this)}begin(e,t,n,r){let s={kind:"begin",title:e,percentage:t,message:n,cancellable:r};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,s)}report(e,t){let n={kind:"report"};"number"==typeof e?(n.percentage=e,void 0!==t&&(n.message=t)):n.message=e,this._connection.sendProgress(i.WorkDoneProgress.type,this._token,n)}done(){s.Instances.delete(this._token),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}}s.Instances=new Map;class o extends s{constructor(e,t){super(e,t),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}}class a{constructor(){}begin(){}report(){}done(){}}class l extends a{constructor(){super(),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}var c;t.attachWorkDone=function(e,t){if(void 0===t||void 0===t.workDoneToken)return new a;const n=t.workDoneToken;return delete t.workDoneToken,new s(e,n)},t.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){var t;!0===(null===(t=null==e?void 0:e.window)||void 0===t?void 0:t.workDoneProgress)&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,(e=>{let t=s.Instances.get(e.token);(t instanceof o||t instanceof l)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new a:new s(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=r.generateUuid();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new o(this.connection,e)))}return Promise.resolve(new l)}},function(e){e.type=new i.ProgressType}(c||(c={}));class u{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(c.type,this._token,e)}}t.attachPartialResult=function(e,t){if(void 0===t||void 0===t.partialResultToken)return;const n=t.partialResultToken;return delete t.partialResultToken,new u(e,n)}},9817:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensBuilder=t.SemanticTokensFeature=void 0;const i=n(152);t.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{on:e=>{const t=i.SemanticTokensRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=i.SemanticTokensDeltaRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=i.SemanticTokensRangeRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}},t.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,t,n,i,r){let s=e,o=t;this._dataLen>0&&(s-=this._prevLine,0===s&&(o-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=o,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=r,this._prevLine=e,this._prevChar=t}get id(){return this._id.toString()}previousResult(e){this.id===e&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return void 0!==this._prevData}buildEdits(){if(void 0!==this._prevData){const e=this._prevData.length,t=this._data.length;let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.combineFeatures=t.combineLanguagesFeatures=t.combineWorkspaceFeatures=t.combineWindowFeatures=t.combineClientFeatures=t.combineTracerFeatures=t.combineTelemetryFeatures=t.combineConsoleFeatures=t._LanguagesImpl=t.BulkUnregistration=t.BulkRegistration=t.ErrorMessageTracker=t.TextDocuments=void 0;const i=n(152),r=n(289),s=n(7560),o=n(2731),a=n(2507),l=n(8634),c=n(7985),u=n(9817),p=n(5421),d=n(828),h=n(2776),m=n(8120);function f(e){if(null!==e)return e}t.TextDocuments=class{constructor(e){this._documents=Object.create(null),this._configuration=e,this._onDidChangeContent=new i.Emitter,this._onDidOpen=new i.Emitter,this._onDidClose=new i.Emitter,this._onDidSave=new i.Emitter,this._onWillSave=new i.Emitter}get onDidChangeContent(){return this._onDidChangeContent.event}get onDidOpen(){return this._onDidOpen.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._documents[e]}all(){return Object.keys(this._documents).map((e=>this._documents[e]))}keys(){return Object.keys(this._documents)}listen(e){e.__textDocumentSync=i.TextDocumentSyncKind.Full,e.onDidOpenTextDocument((e=>{let t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._documents[t.uri]=n;let i=Object.freeze({document:n});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)})),e.onDidChangeTextDocument((e=>{let t=e.textDocument,n=e.contentChanges;if(0===n.length)return;let i=this._documents[t.uri];const{version:r}=t;if(null==r)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);i=this._configuration.update(i,n,r),this._documents[t.uri]=i,this._onDidChangeContent.fire(Object.freeze({document:i}))})),e.onDidCloseTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&(delete this._documents[e.textDocument.uri],this._onDidClose.fire(Object.freeze({document:t})))})),e.onWillSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))})),e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._documents[e.textDocument.uri];return n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]})),e.onDidSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onDidSave.fire(Object.freeze({document:t}))}))}},t.ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(e){let t=this._messages[e];t||(t=0),t++,this._messages[e]=t}sendErrors(e){Object.keys(this._messages).forEach((t=>{e.window.showErrorMessage(t)}))}};class g{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(i.MessageType.Error,e)}warn(e){this.send(i.MessageType.Warning,e)}info(e){this.send(i.MessageType.Info,e)}log(e){this.send(i.MessageType.Log,e)}send(e,t){this._rawConnection&&this._rawConnection.sendNotification(i.LogMessageNotification.type,{type:e,message:t})}}const y=p.ShowDocumentFeature(o.ProgressFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...t){let n={type:i.MessageType.Error,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showWarningMessage(e,...t){let n={type:i.MessageType.Warning,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showInformationMessage(e,...t){let n={type:i.MessageType.Info,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}}));(t.BulkRegistration||(t.BulkRegistration={})).create=function(){return new _};class _{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const n=r.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const i=s.generateUuid();this._registrations.push({id:i,method:n,registerOptions:t||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}}(t.BulkUnregistration||(t.BulkUnregistration={})).create=function(){return new v(void 0,[])};class v{constructor(e,t){this._connection=e,this._unregistrations=new Map,t.forEach((e=>{this._unregistrations.set(e.method,e)}))}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let t of this._unregistrations.values())e.push(t);let t={unregisterations:e};this._connection.sendRequest(i.UnregistrationRequest.type,t).then(void 0,(e=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const t=r.string(e)?e:e.method,n=this._unregistrations.get(t);if(!n)return!1;let s={unregisterations:[n]};return this._connection.sendRequest(i.UnregistrationRequest.type,s).then((()=>{this._unregistrations.delete(t)}),(e=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)})),!0}}class T{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,t,n){return e instanceof _?this.registerMany(e):e instanceof v?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,t,n){const o=r.string(t)?t:t.method,a=s.generateUuid();let l={registrations:[{id:a,method:o,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(i.RegistrationRequest.type,l).then((t=>(e.add({id:a,method:o}),e)),(e=>(this.connection.console.info(`Registering request handler for ${o} failed.`),Promise.reject(e))))}registerSingle2(e,t){const n=r.string(e)?e:e.method,o=s.generateUuid();let a={registrations:[{id:o,method:n,registerOptions:t||{}}]};return this.connection.sendRequest(i.RegistrationRequest.type,a).then((e=>i.Disposable.create((()=>{this.unregisterSingle(o,n)}))),(e=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(e))))}unregisterSingle(e,t){let n={unregisterations:[{id:e,method:t}]};return this.connection.sendRequest(i.UnregistrationRequest.type,n).then(void 0,(t=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)}))}registerMany(e){let t=e.asRegistrationParams();return this.connection.sendRequest(i.RegistrationRequest.type,t).then((()=>new v(this._connection,t.registrations.map((e=>({id:e.id,method:e.method}))))),(e=>(this.connection.console.info("Bulk registration failed."),Promise.reject(e))))}}const b=d.FileOperationsFeature(l.WorkspaceFoldersFeature(a.ConfigurationFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){let t=(n=e)&&n.edit?e:{edit:e};var n;return this.connection.sendRequest(i.ApplyWorkspaceEditRequest.type,t)}})));class I{constructor(){this._trace=i.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,t){this._trace!==i.Trace.Off&&this.connection.sendNotification(i.LogTraceNotification.type,{message:e,verbose:this._trace===i.Trace.Verbose?t:void 0})}}class S{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(i.TelemetryEventNotification.type,e)}}class x{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return o.attachWorkDone(this.connection,e)}attachPartialResultProgress(e,t){return o.attachPartialResult(this.connection,t)}}t._LanguagesImpl=x;const C=m.MonikerFeature(h.LinkedEditingRangeFeature(u.SemanticTokensFeature(c.CallHierarchyFeature(x))));function w(e,t){return function(n){return t(e(n))}}function E(e,t){return function(n){return t(e(n))}}function k(e,t){return function(n){return t(e(n))}}function D(e,t){return function(n){return t(e(n))}}function A(e,t){return function(n){return t(e(n))}}function P(e,t){return function(n){return t(e(n))}}t.combineConsoleFeatures=w,t.combineTelemetryFeatures=E,t.combineTracerFeatures=k,t.combineClientFeatures=D,t.combineWindowFeatures=A,t.combineWorkspaceFeatures=P,t.combineLanguagesFeatures=function(e,t){return function(n){return t(e(n))}},t.combineFeatures=function(e,t){function n(e,t,n){return e&&t?n(e,t):e||t}return{__brand:"features",console:n(e.console,t.console,w),tracer:n(e.tracer,t.tracer,k),telemetry:n(e.telemetry,t.telemetry,E),client:n(e.client,t.client,D),window:n(e.window,t.window,A),workspace:n(e.workspace,t.workspace,P)}},t.createConnection=function(e,t,n){const s=n&&n.console?new(n.console(g)):new g,a=e(s);s.rawAttach(a);const l=n&&n.tracer?new(n.tracer(I)):new I,c=n&&n.telemetry?new(n.telemetry(S)):new S,u=n&&n.client?new(n.client(T)):new T,p=n&&n.window?new(n.window(y)):new y,d=n&&n.workspace?new(n.workspace(b)):new b,h=n&&n.languages?new(n.languages(C)):new C,m=[s,l,c,u,p,d,h];function f(e){return e instanceof Promise?e:r.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}let _,v,x,w={listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(r.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(e,t),sendNotification:(e,t)=>{const n=r.string(e)?e:e.method;1===arguments.length?a.sendNotification(n):a.sendNotification(n,t)},onNotification:(e,t)=>a.onNotification(e,t),onProgress:a.onProgress,sendProgress:a.sendProgress,onInitialize:e=>v=e,onInitialized:e=>a.onNotification(i.InitializedNotification.type,e),onShutdown:e=>_=e,onExit:e=>x=e,get console(){return s},get telemetry(){return c},get tracer(){return l},get client(){return u},get window(){return p},get workspace(){return d},get languages(){return h},onDidChangeConfiguration:e=>a.onNotification(i.DidChangeConfigurationNotification.type,e),onDidChangeWatchedFiles:e=>a.onNotification(i.DidChangeWatchedFilesNotification.type,e),__textDocumentSync:void 0,onDidOpenTextDocument:e=>a.onNotification(i.DidOpenTextDocumentNotification.type,e),onDidChangeTextDocument:e=>a.onNotification(i.DidChangeTextDocumentNotification.type,e),onDidCloseTextDocument:e=>a.onNotification(i.DidCloseTextDocumentNotification.type,e),onWillSaveTextDocument:e=>a.onNotification(i.WillSaveTextDocumentNotification.type,e),onWillSaveTextDocumentWaitUntil:e=>a.onRequest(i.WillSaveTextDocumentWaitUntilRequest.type,e),onDidSaveTextDocument:e=>a.onNotification(i.DidSaveTextDocumentNotification.type,e),sendDiagnostics:e=>a.sendNotification(i.PublishDiagnosticsNotification.type,e),onHover:e=>a.onRequest(i.HoverRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onCompletion:e=>a.onRequest(i.CompletionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCompletionResolve:e=>a.onRequest(i.CompletionResolveRequest.type,e),onSignatureHelp:e=>a.onRequest(i.SignatureHelpRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDeclaration:e=>a.onRequest(i.DeclarationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDefinition:e=>a.onRequest(i.DefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onTypeDefinition:e=>a.onRequest(i.TypeDefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onImplementation:e=>a.onRequest(i.ImplementationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onReferences:e=>a.onRequest(i.ReferencesRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentHighlight:e=>a.onRequest(i.DocumentHighlightRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentSymbol:e=>a.onRequest(i.DocumentSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onWorkspaceSymbol:e=>a.onRequest(i.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeAction:e=>a.onRequest(i.CodeActionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeActionResolve:e=>a.onRequest(i.CodeActionResolveRequest.type,((t,n)=>e(t,n))),onCodeLens:e=>a.onRequest(i.CodeLensRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeLensResolve:e=>a.onRequest(i.CodeLensResolveRequest.type,((t,n)=>e(t,n))),onDocumentFormatting:e=>a.onRequest(i.DocumentFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentRangeFormatting:e=>a.onRequest(i.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentOnTypeFormatting:e=>a.onRequest(i.DocumentOnTypeFormattingRequest.type,((t,n)=>e(t,n))),onRenameRequest:e=>a.onRequest(i.RenameRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onPrepareRename:e=>a.onRequest(i.PrepareRenameRequest.type,((t,n)=>e(t,n))),onDocumentLinks:e=>a.onRequest(i.DocumentLinkRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentLinkResolve:e=>a.onRequest(i.DocumentLinkResolveRequest.type,((t,n)=>e(t,n))),onDocumentColor:e=>a.onRequest(i.DocumentColorRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onColorPresentation:e=>a.onRequest(i.ColorPresentationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onFoldingRanges:e=>a.onRequest(i.FoldingRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onSelectionRanges:e=>a.onRequest(i.SelectionRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onExecuteCommand:e=>a.onRequest(i.ExecuteCommandRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),dispose:()=>a.dispose()};for(let e of m)e.attach(w);return a.onRequest(i.InitializeRequest.type,(e=>{t.initialize(e),r.string(e.trace)&&(l.trace=i.Trace.fromString(e.trace));for(let t of m)t.initialize(e.capabilities);if(v)return f(v(e,(new i.CancellationTokenSource).token,o.attachWorkDone(a,e),void 0)).then((e=>{if(e instanceof i.ResponseError)return e;let t=e;t||(t={capabilities:{}});let n=t.capabilities;n||(n={},t.capabilities=n),void 0===n.textDocumentSync||null===n.textDocumentSync?n.textDocumentSync=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None:r.number(n.textDocumentSync)||r.number(n.textDocumentSync.change)||(n.textDocumentSync.change=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None);for(let e of m)e.fillServerCapabilities(n);return t}));{let e={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let t of m)t.fillServerCapabilities(e.capabilities);return e}})),a.onRequest(i.ShutdownRequest.type,(()=>(t.shutdownReceived=!0,_?_((new i.CancellationTokenSource).token):void 0))),a.onNotification(i.ExitNotification.type,(()=>{try{x&&x()}finally{t.shutdownReceived?t.exit(0):t.exit(1)}})),a.onNotification(i.SetTraceNotification.type,(e=>{l.trace=i.Trace.fromString(e.value)})),w}},5421:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentFeature=void 0;const i=n(152);t.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(i.ShowDocumentRequest.type,e)}}},289:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.thenable=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=i,t.array=r,t.stringArray=function(e){return r(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&i(e.then)}},7560:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateUuid=t.parse=t.isUUID=t.v4=t.empty=void 0;class n{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}}class i extends n{constructor(){super([i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-","4",i._randomHex(),i._randomHex(),i._randomHex(),"-",i._oneOf(i._timeHighBits),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return i._oneOf(i._chars)}}function r(){return new i}i._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],i._timeHighBits=["8","9","a","b"],t.empty=new n("00000000-0000-0000-0000-000000000000"),t.v4=r;const s=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function o(e){return s.test(e)}t.isUUID=o,t.parse=function(e){if(!o(e))throw new Error("invalid uuid");return new n(e)},t.generateUuid=function(){return r().asHex()}},8634:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=void 0;const i=n(152);t.WorkspaceFoldersFeature=e=>class extends e{initialize(e){let t=e.workspace;t&&t.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new i.Emitter,this.connection.onNotification(i.DidChangeWorkspaceFoldersNotification.type,(e=>{this._onDidChangeWorkspaceFolders.fire(e.event)})))}getWorkspaceFolders(){return this.connection.sendRequest(i.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return this._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},306:e=>{"use strict";e.exports={i8:"1.1.159"}},3574:(e,t,n)=>{"use strict";const i=n(9149),r=n.g.Date;class s extends r{constructor(e){super(e),this.isDate=!0}toISOString(){return`${this.getUTCFullYear()}-${i(2,this.getUTCMonth()+1)}-${i(2,this.getUTCDate())}`}}e.exports=e=>{const t=new s(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},8477:(e,t,n)=>{"use strict";const i=n(9149);class r extends Date{constructor(e){super(e+"Z"),this.isFloating=!0}toISOString(){return`${this.getUTCFullYear()}-${i(2,this.getUTCMonth()+1)}-${i(2,this.getUTCDate())}T${i(2,this.getUTCHours())}:${i(2,this.getUTCMinutes())}:${i(2,this.getUTCSeconds())}.${i(3,this.getUTCMilliseconds())}`}}e.exports=e=>{const t=new r(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},350:e=>{"use strict";e.exports=e=>{const t=new Date(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},7571:(e,t,n)=>{"use strict";const i=n(9149);class r extends Date{constructor(e){super(`0000-01-01T${e}Z`),this.isTime=!0}toISOString(){return`${i(2,this.getUTCHours())}:${i(2,this.getUTCMinutes())}:${i(2,this.getUTCSeconds())}.${i(3,this.getUTCMilliseconds())}`}}e.exports=e=>{const t=new r(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},9149:e=>{"use strict";e.exports=(e,t)=>{for(t=String(t);t.length{"use strict";const t=1114112;class n extends Error{constructor(e,t,i){super("[ParserError] "+e,t,i),this.name="ParserError",this.code="ParserError",Error.captureStackTrace&&Error.captureStackTrace(this,n)}}class i{constructor(e){this.parser=e,this.buf="",this.returned=null,this.result=null,this.resultTable=null,this.resultArr=null}}class r{constructor(){this.pos=0,this.col=0,this.line=0,this.obj={},this.ctx=this.obj,this.stack=[],this._buf="",this.char=null,this.ii=0,this.state=new i(this.parseStart)}parse(e){if(0===e.length||null==e.length)return;let t;for(this._buf=String(e),this.ii=-1,this.char=-1;!1===t||this.nextChar();)t=this.runOne();this._buf=null}nextChar(){return 10===this.char&&(++this.line,this.col=-1),++this.ii,this.char=this._buf.codePointAt(this.ii),++this.pos,++this.col,this.haveBuffer()}haveBuffer(){return this.ii{"use strict";module.exports=makeParserClass(__webpack_require__(2306)),module.exports.makeParserClass=makeParserClass;class TomlError extends Error{constructor(e){super(e),this.name="TomlError",Error.captureStackTrace&&Error.captureStackTrace(this,TomlError),this.fromTOML=!0,this.wrapped=null}}TomlError.wrap=e=>{const t=new TomlError(e.message);return t.code=e.code,t.wrapped=e,t},module.exports.TomlError=TomlError;const createDateTime=__webpack_require__(350),createDateTimeFloat=__webpack_require__(8477),createDate=__webpack_require__(3574),createTime=__webpack_require__(7571),CTRL_I=9,CTRL_J=10,CTRL_M=13,CTRL_CHAR_BOUNDARY=31,CHAR_SP=32,CHAR_QUOT=34,CHAR_NUM=35,CHAR_APOS=39,CHAR_PLUS=43,CHAR_COMMA=44,CHAR_HYPHEN=45,CHAR_PERIOD=46,CHAR_0=48,CHAR_1=49,CHAR_7=55,CHAR_9=57,CHAR_COLON=58,CHAR_EQUALS=61,CHAR_A=65,CHAR_E=69,CHAR_F=70,CHAR_T=84,CHAR_U=85,CHAR_Z=90,CHAR_LOWBAR=95,CHAR_a=97,CHAR_b=98,CHAR_e=101,CHAR_f=102,CHAR_i=105,CHAR_l=108,CHAR_n=110,CHAR_o=111,CHAR_r=114,CHAR_s=115,CHAR_t=116,CHAR_u=117,CHAR_x=120,CHAR_z=122,CHAR_LCUB=123,CHAR_RCUB=125,CHAR_LSQB=91,CHAR_BSOL=92,CHAR_RSQB=93,CHAR_DEL=127,SURROGATE_FIRST=55296,SURROGATE_LAST=57343,escapes={[CHAR_b]:"\b",[CHAR_t]:"\t",[CHAR_n]:"\n",[CHAR_f]:"\f",[CHAR_r]:"\r",[CHAR_QUOT]:'"',[CHAR_BSOL]:"\\"};function isDigit(e){return e>=CHAR_0&&e<=CHAR_9}function isHexit(e){return e>=CHAR_A&&e<=CHAR_F||e>=CHAR_a&&e<=CHAR_f||e>=CHAR_0&&e<=CHAR_9}function isBit(e){return e===CHAR_1||e===CHAR_0}function isOctit(e){return e>=CHAR_0&&e<=CHAR_7}function isAlphaNumQuoteHyphen(e){return e>=CHAR_A&&e<=CHAR_Z||e>=CHAR_a&&e<=CHAR_z||e>=CHAR_0&&e<=CHAR_9||e===CHAR_APOS||e===CHAR_QUOT||e===CHAR_LOWBAR||e===CHAR_HYPHEN}function isAlphaNumHyphen(e){return e>=CHAR_A&&e<=CHAR_Z||e>=CHAR_a&&e<=CHAR_z||e>=CHAR_0&&e<=CHAR_9||e===CHAR_LOWBAR||e===CHAR_HYPHEN}const _type=Symbol("type"),_declared=Symbol("declared"),hasOwnProperty=Object.prototype.hasOwnProperty,defineProperty=Object.defineProperty,descriptor={configurable:!0,enumerable:!0,writable:!0,value:void 0};function hasKey(e,t){return!!hasOwnProperty.call(e,t)||("__proto__"===t&&defineProperty(e,"__proto__",descriptor),!1)}const INLINE_TABLE=Symbol("inline-table");function InlineTable(){return Object.defineProperties({},{[_type]:{value:INLINE_TABLE}})}function isInlineTable(e){return null!==e&&"object"==typeof e&&e[_type]===INLINE_TABLE}const TABLE=Symbol("table");function Table(){return Object.defineProperties({},{[_type]:{value:TABLE},[_declared]:{value:!1,writable:!0}})}function isTable(e){return null!==e&&"object"==typeof e&&e[_type]===TABLE}const _contentType=Symbol("content-type"),INLINE_LIST=Symbol("inline-list");function InlineList(e){return Object.defineProperties([],{[_type]:{value:INLINE_LIST},[_contentType]:{value:e}})}function isInlineList(e){return null!==e&&"object"==typeof e&&e[_type]===INLINE_LIST}const LIST=Symbol("list");function List(){return Object.defineProperties([],{[_type]:{value:LIST}})}function isList(e){return null!==e&&"object"==typeof e&&e[_type]===LIST}let _custom;try{const utilInspect=eval("require('util').inspect");_custom=utilInspect.custom}catch(e){}const _inspect=_custom||"inspect";class BoxedBigInt{constructor(e){try{this.value=__webpack_require__.g.BigInt.asIntN(64,e)}catch(e){this.value=null}Object.defineProperty(this,_type,{value:INTEGER})}isNaN(){return null===this.value}toString(){return String(this.value)}[_inspect](){return`[BigInt: ${this.toString()}]}`}valueOf(){return this.value}}const INTEGER=Symbol("integer");function Integer(e){let t=Number(e);return Object.is(t,-0)&&(t=0),__webpack_require__.g.BigInt&&!Number.isSafeInteger(t)?new BoxedBigInt(e):Object.defineProperties(new Number(t),{isNaN:{value:function(){return isNaN(this)}},[_type]:{value:INTEGER},[_inspect]:{value:()=>`[Integer: ${e}]`}})}function isInteger(e){return null!==e&&"object"==typeof e&&e[_type]===INTEGER}const FLOAT=Symbol("float");function Float(e){return Object.defineProperties(new Number(e),{[_type]:{value:FLOAT},[_inspect]:{value:()=>`[Float: ${e}]`}})}function isFloat(e){return null!==e&&"object"==typeof e&&e[_type]===FLOAT}function tomlType(e){const t=typeof e;if("object"===t){if(null===e)return"null";if(e instanceof Date)return"datetime";if(_type in e)switch(e[_type]){case INLINE_TABLE:return"inline-table";case INLINE_LIST:return"inline-list";case TABLE:return"table";case LIST:return"list";case FLOAT:return"float";case INTEGER:return"integer"}}return t}function makeParserClass(e){return class extends e{constructor(){super(),this.ctx=this.obj=Table()}atEndOfWord(){return this.char===CHAR_NUM||this.char===CTRL_I||this.char===CHAR_SP||this.atEndOfLine()}atEndOfLine(){return this.char===e.END||this.char===CTRL_J||this.char===CTRL_M}parseStart(){if(this.char===e.END)return null;if(this.char===CHAR_LSQB)return this.call(this.parseTableOrList);if(this.char===CHAR_NUM)return this.call(this.parseComment);if(this.char===CTRL_J||this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M)return null;if(isAlphaNumQuoteHyphen(this.char))return this.callNow(this.parseAssignStatement);throw this.error(new TomlError(`Unknown character "${this.char}"`))}parseWhitespaceToEOL(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M)return null;if(this.char===CHAR_NUM)return this.goto(this.parseComment);if(this.char===e.END||this.char===CTRL_J)return this.return();throw this.error(new TomlError("Unexpected character, expected only whitespace or comments till end of line"))}parseAssignStatement(){return this.callNow(this.parseAssign,this.recordAssignStatement)}recordAssignStatement(e){let t=this.ctx,n=e.key.pop();for(let n of e.key){if(hasKey(t,n)&&(!isTable(t[n])||t[n][_declared]))throw this.error(new TomlError("Can't redefine existing key"));t=t[n]=t[n]||Table()}if(hasKey(t,n))throw this.error(new TomlError("Can't redefine existing key"));return isInteger(e.value)||isFloat(e.value)?t[n]=e.value.valueOf():t[n]=e.value,this.goto(this.parseWhitespaceToEOL)}parseAssign(){return this.callNow(this.parseKeyword,this.recordAssignKeyword)}recordAssignKeyword(e){return this.state.resultTable?this.state.resultTable.push(e):this.state.resultTable=[e],this.goto(this.parseAssignKeywordPreDot)}parseAssignKeywordPreDot(){return this.char===CHAR_PERIOD?this.next(this.parseAssignKeywordPostDot):this.char!==CHAR_SP&&this.char!==CTRL_I?this.goto(this.parseAssignEqual):void 0}parseAssignKeywordPostDot(){if(this.char!==CHAR_SP&&this.char!==CTRL_I)return this.callNow(this.parseKeyword,this.recordAssignKeyword)}parseAssignEqual(){if(this.char===CHAR_EQUALS)return this.next(this.parseAssignPreValue);throw this.error(new TomlError('Invalid character, expected "="'))}parseAssignPreValue(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseValue,this.recordAssignValue)}recordAssignValue(e){return this.returnNow({key:this.state.resultTable,value:e})}parseComment(){do{if(this.char===e.END||this.char===CTRL_J)return this.return()}while(this.nextChar())}parseTableOrList(){if(this.char!==CHAR_LSQB)return this.goto(this.parseTable);this.next(this.parseList)}parseTable(){return this.ctx=this.obj,this.goto(this.parseTableNext)}parseTableNext(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseKeyword,this.parseTableMore)}parseTableMore(e){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CHAR_RSQB){if(hasKey(this.ctx,e)&&(!isTable(this.ctx[e])||this.ctx[e][_declared]))throw this.error(new TomlError("Can't redefine existing key"));return this.ctx=this.ctx[e]=this.ctx[e]||Table(),this.ctx[_declared]=!0,this.next(this.parseWhitespaceToEOL)}if(this.char===CHAR_PERIOD){if(hasKey(this.ctx,e))if(isTable(this.ctx[e]))this.ctx=this.ctx[e];else{if(!isList(this.ctx[e]))throw this.error(new TomlError("Can't redefine existing key"));this.ctx=this.ctx[e][this.ctx[e].length-1]}else this.ctx=this.ctx[e]=Table();return this.next(this.parseTableNext)}throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseList(){return this.ctx=this.obj,this.goto(this.parseListNext)}parseListNext(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseKeyword,this.parseListMore)}parseListMore(e){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CHAR_RSQB){if(hasKey(this.ctx,e)||(this.ctx[e]=List()),isInlineList(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline array"));if(!isList(this.ctx[e]))throw this.error(new TomlError("Can't redefine an existing key"));{const t=Table();this.ctx[e].push(t),this.ctx=t}return this.next(this.parseListEnd)}if(this.char===CHAR_PERIOD){if(hasKey(this.ctx,e)){if(isInlineList(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline array"));if(isInlineTable(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline table"));if(isList(this.ctx[e]))this.ctx=this.ctx[e][this.ctx[e].length-1];else{if(!isTable(this.ctx[e]))throw this.error(new TomlError("Can't redefine an existing key"));this.ctx=this.ctx[e]}}else this.ctx=this.ctx[e]=Table();return this.next(this.parseListNext)}throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseListEnd(e){if(this.char===CHAR_RSQB)return this.next(this.parseWhitespaceToEOL);throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseValue(){if(this.char===e.END)throw this.error(new TomlError("Key without value"));if(this.char===CHAR_QUOT)return this.next(this.parseDoubleString);if(this.char===CHAR_APOS)return this.next(this.parseSingleString);if(this.char===CHAR_HYPHEN||this.char===CHAR_PLUS)return this.goto(this.parseNumberSign);if(this.char===CHAR_i)return this.next(this.parseInf);if(this.char===CHAR_n)return this.next(this.parseNan);if(isDigit(this.char))return this.goto(this.parseNumberOrDateTime);if(this.char===CHAR_t||this.char===CHAR_f)return this.goto(this.parseBoolean);if(this.char===CHAR_LSQB)return this.call(this.parseInlineList,this.recordValue);if(this.char===CHAR_LCUB)return this.call(this.parseInlineTable,this.recordValue);throw this.error(new TomlError("Unexpected character, expecting string, number, datetime, boolean, inline array or inline table"))}recordValue(e){return this.returnNow(e)}parseInf(){if(this.char===CHAR_n)return this.next(this.parseInf2);throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"'))}parseInf2(){if(this.char===CHAR_f)return"-"===this.state.buf?this.return(-1/0):this.return(1/0);throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"'))}parseNan(){if(this.char===CHAR_a)return this.next(this.parseNan2);throw this.error(new TomlError('Unexpected character, expected "nan"'))}parseNan2(){if(this.char===CHAR_n)return this.return(NaN);throw this.error(new TomlError('Unexpected character, expected "nan"'))}parseKeyword(){return this.char===CHAR_QUOT?this.next(this.parseBasicString):this.char===CHAR_APOS?this.next(this.parseLiteralString):this.goto(this.parseBareKey)}parseBareKey(){do{if(this.char===e.END)throw this.error(new TomlError("Key ended without value"));if(!isAlphaNumHyphen(this.char)){if(0===this.state.buf.length)throw this.error(new TomlError("Empty bare keys are not allowed"));return this.returnNow()}this.consume()}while(this.nextChar())}parseSingleString(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiStringMaybe):this.goto(this.parseLiteralString)}parseLiteralString(){do{if(this.char===CHAR_APOS)return this.return();if(this.atEndOfLine())throw this.error(new TomlError("Unterminated string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}parseLiteralMultiStringMaybe(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiString):this.returnNow()}parseLiteralMultiString(){return this.char===CTRL_M?null:this.char===CTRL_J?this.next(this.parseLiteralMultiStringContent):this.goto(this.parseLiteralMultiStringContent)}parseLiteralMultiStringContent(){do{if(this.char===CHAR_APOS)return this.next(this.parseLiteralMultiEnd);if(this.char===e.END)throw this.error(new TomlError("Unterminated multi-line string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I&&this.char!==CTRL_J&&this.char!==CTRL_M)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}parseLiteralMultiEnd(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiEnd2):(this.state.buf+="'",this.goto(this.parseLiteralMultiStringContent))}parseLiteralMultiEnd2(){return this.char===CHAR_APOS?this.return():(this.state.buf+="''",this.goto(this.parseLiteralMultiStringContent))}parseDoubleString(){return this.char===CHAR_QUOT?this.next(this.parseMultiStringMaybe):this.goto(this.parseBasicString)}parseBasicString(){do{if(this.char===CHAR_BSOL)return this.call(this.parseEscape,this.recordEscapeReplacement);if(this.char===CHAR_QUOT)return this.return();if(this.atEndOfLine())throw this.error(new TomlError("Unterminated string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}recordEscapeReplacement(e){return this.state.buf+=e,this.goto(this.parseBasicString)}parseMultiStringMaybe(){return this.char===CHAR_QUOT?this.next(this.parseMultiString):this.returnNow()}parseMultiString(){return this.char===CTRL_M?null:this.char===CTRL_J?this.next(this.parseMultiStringContent):this.goto(this.parseMultiStringContent)}parseMultiStringContent(){do{if(this.char===CHAR_BSOL)return this.call(this.parseMultiEscape,this.recordMultiEscapeReplacement);if(this.char===CHAR_QUOT)return this.next(this.parseMultiEnd);if(this.char===e.END)throw this.error(new TomlError("Unterminated multi-line string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I&&this.char!==CTRL_J&&this.char!==CTRL_M)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}errorControlCharInString(){let e="\\u00";return this.char<16&&(e+="0"),e+=this.char.toString(16),this.error(new TomlError(`Control characters (codes < 0x1f and 0x7f) are not allowed in strings, use ${e} instead`))}recordMultiEscapeReplacement(e){return this.state.buf+=e,this.goto(this.parseMultiStringContent)}parseMultiEnd(){return this.char===CHAR_QUOT?this.next(this.parseMultiEnd2):(this.state.buf+='"',this.goto(this.parseMultiStringContent))}parseMultiEnd2(){return this.char===CHAR_QUOT?this.return():(this.state.buf+='""',this.goto(this.parseMultiStringContent))}parseMultiEscape(){return this.char===CTRL_M||this.char===CTRL_J?this.next(this.parseMultiTrim):this.char===CHAR_SP||this.char===CTRL_I?this.next(this.parsePreMultiTrim):this.goto(this.parseEscape)}parsePreMultiTrim(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CTRL_M||this.char===CTRL_J)return this.next(this.parseMultiTrim);throw this.error(new TomlError("Can't escape whitespace"))}parseMultiTrim(){return this.char===CTRL_J||this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M?null:this.returnNow()}parseEscape(){if(this.char in escapes)return this.return(escapes[this.char]);if(this.char===CHAR_u)return this.call(this.parseSmallUnicode,this.parseUnicodeReturn);if(this.char===CHAR_U)return this.call(this.parseLargeUnicode,this.parseUnicodeReturn);throw this.error(new TomlError("Unknown escape character: "+this.char))}parseUnicodeReturn(e){try{const t=parseInt(e,16);if(t>=SURROGATE_FIRST&&t<=SURROGATE_LAST)throw this.error(new TomlError("Invalid unicode, character in range 0xD800 - 0xDFFF is reserved"));return this.returnNow(String.fromCodePoint(t))}catch(e){throw this.error(TomlError.wrap(e))}}parseSmallUnicode(){if(!isHexit(this.char))throw this.error(new TomlError("Invalid character in unicode sequence, expected hex"));if(this.consume(),this.state.buf.length>=4)return this.return()}parseLargeUnicode(){if(!isHexit(this.char))throw this.error(new TomlError("Invalid character in unicode sequence, expected hex"));if(this.consume(),this.state.buf.length>=8)return this.return()}parseNumberSign(){return this.consume(),this.next(this.parseMaybeSignedInfOrNan)}parseMaybeSignedInfOrNan(){return this.char===CHAR_i?this.next(this.parseInf):this.char===CHAR_n?this.next(this.parseNan):this.callNow(this.parseNoUnder,this.parseNumberIntegerStart)}parseNumberIntegerStart(){return this.char===CHAR_0?(this.consume(),this.next(this.parseNumberIntegerExponentOrDecimal)):this.goto(this.parseNumberInteger)}parseNumberIntegerExponentOrDecimal(){return this.char===CHAR_PERIOD?(this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat)):this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.returnNow(Integer(this.state.buf))}parseNumberInteger(){if(!isDigit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnder);if(this.char===CHAR_E||this.char===CHAR_e)return this.consume(),this.next(this.parseNumberExponentSign);if(this.char===CHAR_PERIOD)return this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseNoUnder(){if(this.char===CHAR_LOWBAR||this.char===CHAR_PERIOD||this.char===CHAR_E||this.char===CHAR_e)throw this.error(new TomlError("Unexpected character, expected digit"));if(this.atEndOfWord())throw this.error(new TomlError("Incomplete number"));return this.returnNow()}parseNoUnderHexOctBinLiteral(){if(this.char===CHAR_LOWBAR||this.char===CHAR_PERIOD)throw this.error(new TomlError("Unexpected character, expected digit"));if(this.atEndOfWord())throw this.error(new TomlError("Incomplete number"));return this.returnNow()}parseNumberFloat(){return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder,this.parseNumberFloat):isDigit(this.char)?void this.consume():this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.returnNow(Float(this.state.buf))}parseNumberExponentSign(){if(isDigit(this.char))return this.goto(this.parseNumberExponent);if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS)throw this.error(new TomlError("Unexpected character, expected -, + or digit"));this.consume(),this.call(this.parseNoUnder,this.parseNumberExponent)}parseNumberExponent(){if(!isDigit(this.char))return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder):this.returnNow(Float(this.state.buf));this.consume()}parseNumberOrDateTime(){return this.char===CHAR_0?(this.consume(),this.next(this.parseNumberBaseOrDateTime)):this.goto(this.parseNumberOrDateTimeOnly)}parseNumberOrDateTimeOnly(){return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder,this.parseNumberInteger):isDigit(this.char)?(this.consume(),void(this.state.buf.length>4&&this.next(this.parseNumberInteger))):this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.char===CHAR_PERIOD?(this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat)):this.char===CHAR_HYPHEN?this.goto(this.parseDateTime):this.char===CHAR_COLON?this.goto(this.parseOnlyTimeHour):this.returnNow(Integer(this.state.buf))}parseDateTimeOnly(){if(this.state.buf.length<4){if(isDigit(this.char))return this.consume();if(this.char===CHAR_COLON)return this.goto(this.parseOnlyTimeHour);throw this.error(new TomlError("Expected digit while parsing year part of a date"))}if(this.char===CHAR_HYPHEN)return this.goto(this.parseDateTime);throw this.error(new TomlError("Expected hyphen (-) while parsing year part of date"))}parseNumberBaseOrDateTime(){return this.char===CHAR_b?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerBin)):this.char===CHAR_o?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerOct)):this.char===CHAR_x?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerHex)):this.char===CHAR_PERIOD?this.goto(this.parseNumberInteger):isDigit(this.char)?this.goto(this.parseDateTimeOnly):this.returnNow(Integer(this.state.buf))}parseIntegerHex(){if(!isHexit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseIntegerOct(){if(!isOctit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseIntegerBin(){if(!isBit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseDateTime(){if(this.state.buf.length<4)throw this.error(new TomlError("Years less than 1000 must be zero padded to four characters"));return this.state.result=this.state.buf,this.state.buf="",this.next(this.parseDateMonth)}parseDateMonth(){if(this.char===CHAR_HYPHEN){if(this.state.buf.length<2)throw this.error(new TomlError("Months less than 10 must be zero padded to two characters"));return this.state.result+="-"+this.state.buf,this.state.buf="",this.next(this.parseDateDay)}if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseDateDay(){if(this.char===CHAR_T||this.char===CHAR_SP){if(this.state.buf.length<2)throw this.error(new TomlError("Days less than 10 must be zero padded to two characters"));return this.state.result+="-"+this.state.buf,this.state.buf="",this.next(this.parseStartTimeHour)}if(this.atEndOfWord())return this.returnNow(createDate(this.state.result+"-"+this.state.buf));if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseStartTimeHour(){return this.atEndOfWord()?this.returnNow(createDate(this.state.result)):this.goto(this.parseTimeHour)}parseTimeHour(){if(this.char===CHAR_COLON){if(this.state.buf.length<2)throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters"));return this.state.result+="T"+this.state.buf,this.state.buf="",this.next(this.parseTimeMin)}if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseTimeMin(){if(!(this.state.buf.length<2&&isDigit(this.char))){if(2===this.state.buf.length&&this.char===CHAR_COLON)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseTimeSec);throw this.error(new TomlError("Incomplete datetime"))}this.consume()}parseTimeSec(){if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));if(this.consume(),2===this.state.buf.length)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseTimeZoneOrFraction)}parseOnlyTimeHour(){if(this.char===CHAR_COLON){if(this.state.buf.length<2)throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters"));return this.state.result=this.state.buf,this.state.buf="",this.next(this.parseOnlyTimeMin)}throw this.error(new TomlError("Incomplete time"))}parseOnlyTimeMin(){if(!(this.state.buf.length<2&&isDigit(this.char))){if(2===this.state.buf.length&&this.char===CHAR_COLON)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseOnlyTimeSec);throw this.error(new TomlError("Incomplete time"))}this.consume()}parseOnlyTimeSec(){if(!isDigit(this.char))throw this.error(new TomlError("Incomplete time"));if(this.consume(),2===this.state.buf.length)return this.next(this.parseOnlyTimeFractionMaybe)}parseOnlyTimeFractionMaybe(){if(this.state.result+=":"+this.state.buf,this.char!==CHAR_PERIOD)return this.return(createTime(this.state.result));this.state.buf="",this.next(this.parseOnlyTimeFraction)}parseOnlyTimeFraction(){if(!isDigit(this.char)){if(this.atEndOfWord()){if(0===this.state.buf.length)throw this.error(new TomlError("Expected digit in milliseconds"));return this.returnNow(createTime(this.state.result+"."+this.state.buf))}throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume()}parseTimeZoneOrFraction(){if(this.char===CHAR_PERIOD)this.consume(),this.next(this.parseDateTimeFraction);else{if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS){if(this.char===CHAR_Z)return this.consume(),this.return(createDateTime(this.state.result+this.state.buf));if(this.atEndOfWord())return this.returnNow(createDateTimeFloat(this.state.result+this.state.buf));throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume(),this.next(this.parseTimeZoneHour)}}parseDateTimeFraction(){if(isDigit(this.char))this.consume();else{if(1===this.state.buf.length)throw this.error(new TomlError("Expected digit in milliseconds"));if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS){if(this.char===CHAR_Z)return this.consume(),this.return(createDateTime(this.state.result+this.state.buf));if(this.atEndOfWord())return this.returnNow(createDateTimeFloat(this.state.result+this.state.buf));throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume(),this.next(this.parseTimeZoneHour)}}parseTimeZoneHour(){if(!isDigit(this.char))throw this.error(new TomlError("Unexpected character in datetime, expected digit"));if(this.consume(),/\d\d$/.test(this.state.buf))return this.next(this.parseTimeZoneSep)}parseTimeZoneSep(){if(this.char!==CHAR_COLON)throw this.error(new TomlError("Unexpected character in datetime, expected colon"));this.consume(),this.next(this.parseTimeZoneMin)}parseTimeZoneMin(){if(!isDigit(this.char))throw this.error(new TomlError("Unexpected character in datetime, expected digit"));if(this.consume(),/\d\d$/.test(this.state.buf))return this.return(createDateTime(this.state.result+this.state.buf))}parseBoolean(){return this.char===CHAR_t?(this.consume(),this.next(this.parseTrue_r)):this.char===CHAR_f?(this.consume(),this.next(this.parseFalse_a)):void 0}parseTrue_r(){if(this.char===CHAR_r)return this.consume(),this.next(this.parseTrue_u);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseTrue_u(){if(this.char===CHAR_u)return this.consume(),this.next(this.parseTrue_e);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseTrue_e(){if(this.char===CHAR_e)return this.return(!0);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_a(){if(this.char===CHAR_a)return this.consume(),this.next(this.parseFalse_l);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_l(){if(this.char===CHAR_l)return this.consume(),this.next(this.parseFalse_s);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_s(){if(this.char===CHAR_s)return this.consume(),this.next(this.parseFalse_e);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_e(){if(this.char===CHAR_e)return this.return(!1);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseInlineList(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M||this.char===CTRL_J)return null;if(this.char===e.END)throw this.error(new TomlError("Unterminated inline array"));return this.char===CHAR_NUM?this.call(this.parseComment):this.char===CHAR_RSQB?this.return(this.state.resultArr||InlineList()):this.callNow(this.parseValue,this.recordInlineListValue)}recordInlineListValue(e){if(this.state.resultArr){const t=this.state.resultArr[_contentType],n=tomlType(e);if(t!==n)throw this.error(new TomlError(`Inline lists must be a single type, not a mix of ${t} and ${n}`))}else this.state.resultArr=InlineList(tomlType(e));return isFloat(e)||isInteger(e)?this.state.resultArr.push(e.valueOf()):this.state.resultArr.push(e),this.goto(this.parseInlineListNext)}parseInlineListNext(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M||this.char===CTRL_J)return null;if(this.char===CHAR_NUM)return this.call(this.parseComment);if(this.char===CHAR_COMMA)return this.next(this.parseInlineList);if(this.char===CHAR_RSQB)return this.goto(this.parseInlineList);throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])"))}parseInlineTable(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===e.END||this.char===CHAR_NUM||this.char===CTRL_J||this.char===CTRL_M)throw this.error(new TomlError("Unterminated inline array"));return this.char===CHAR_RCUB?this.return(this.state.resultTable||InlineTable()):(this.state.resultTable||(this.state.resultTable=InlineTable()),this.callNow(this.parseAssign,this.recordInlineTableValue))}recordInlineTableValue(e){let t=this.state.resultTable,n=e.key.pop();for(let n of e.key){if(hasKey(t,n)&&(!isTable(t[n])||t[n][_declared]))throw this.error(new TomlError("Can't redefine existing key"));t=t[n]=t[n]||Table()}if(hasKey(t,n))throw this.error(new TomlError("Can't redefine existing key"));return isInteger(e.value)||isFloat(e.value)?t[n]=e.value.valueOf():t[n]=e.value,this.goto(this.parseInlineTableNext)}parseInlineTableNext(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===e.END||this.char===CHAR_NUM||this.char===CTRL_J||this.char===CTRL_M)throw this.error(new TomlError("Unterminated inline array"));if(this.char===CHAR_COMMA)return this.next(this.parseInlineTable);if(this.char===CHAR_RCUB)return this.goto(this.parseInlineTable);throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])"))}}}},5352:(e,t,n)=>{"use strict";e.exports=function(e,t){t||(t={});const n=t.blocksize||40960,s=new i;return new Promise(((e,t)=>{setImmediate(o,0,n,e,t)}));function o(t,n,i,a){if(t>=e.length)try{return i(s.finish())}catch(t){return a(r(t,e))}try{s.parse(e.slice(t,t+n)),setImmediate(o,t+n,n,i,a)}catch(t){a(r(t,e))}}};const i=n(2725),r=n(4354)},4354:e=>{"use strict";e.exports=function(e,t){if(null==e.pos||null==e.line)return e;let n=e.message;if(n+=` at row ${e.line+1}, col ${e.col+1}, pos ${e.pos}:\n`,t&&t.split){const i=t.split(/\n/),r=String(Math.min(i.length,e.line+3)).length;let s=" ";for(;s.length "+i[t]+"\n",n+=s+" ";for(let t=0;t{"use strict";e.exports=function(e){return e?function(e){const t=new r;return e.setEncoding("utf8"),new Promise(((n,i)=>{let r,s=!1,o=!1;function a(){if(s=!0,!r)try{n(t.finish())}catch(e){i(e)}}function l(e){o=!0,i(e)}e.once("end",a),e.once("error",l),function n(){let i;for(r=!0;null!==(i=e.read());)try{t.parse(i)}catch(e){return l(e)}if(r=!1,s)return a();o||e.once("readable",n)}()}))}(e):function(){const e=new r;return new i.Transform({objectMode:!0,transform(t,n,i){try{e.parse(t.toString(n))}catch(e){this.emit("error",e)}i()},flush(t){try{this.push(e.finish())}catch(e){this.emit("error",e)}t()}})}()};const i=n(9191),r=n(2725)},4567:(e,t,n)=>{"use strict";e.exports=function(e){n.g.Buffer&&n.g.Buffer.isBuffer(e)&&(e=e.toString("utf8"));const t=new i;try{return t.parse(e),t.finish()}catch(t){throw r(t,e)}};const i=n(2725),r=n(4354)},2884:(e,t,n)=>{"use strict";e.exports=n(4567),e.exports.async=n(5352),e.exports.stream=n(2173),e.exports.prettyError=n(4354)},5249:e=>{"use strict";function t(e){return new Error("Can only stringify objects, not "+e)}function n(e){return Object.keys(e).filter((t=>s(e[t])))}function i(e){let t=Array.isArray(e)?[]:Object.prototype.hasOwnProperty.call(e,"__proto__")?{["__proto__"]:void 0}:{};for(let n of Object.keys(e))e[n]&&"function"==typeof e[n].toJSON&&!("toISOString"in e[n])?t[n]=e[n].toJSON():t[n]=e[n];return t}function r(e,l,c){var p,d;p=n(c=i(c)),d=function(e){return Object.keys(e).filter((t=>!s(e[t])))}(c);var m=[],f=l||"";p.forEach((e=>{var t=o(c[e]);"undefined"!==t&&"null"!==t&&m.push(f+a(e)+" = "+u(c[e],!0))})),m.length>0&&m.push("");var g=e&&p.length>0?l+" ":"";return d.forEach((s=>{m.push(function(e,s,l,c){var u=o(c);if("array"===u)return function(e,n,s,l){h(l=i(l));var c=o(l[0]);if("table"!==c)throw t(c);var u=e+a(s),p="";return l.forEach((e=>{p.length>0&&(p+="\n"),p+=n+"[["+u+"]]\n",p+=r(u+".",n,e)})),p}(e,s,l,c);if("table"===u)return function(e,t,i,s){var o=e+a(i),l="";return n(s).length>0&&(l+=t+"["+o+"]\n"),l+r(o+".",t,s)}(e,s,l,c);throw t(u)}(e,g,s,c[s]))})),m.join("\n")}function s(e){switch(o(e)){case"undefined":case"null":case"integer":case"nan":case"float":case"boolean":case"string":case"datetime":return!0;case"array":return 0===e.length||"table"!==o(e[0]);case"table":return 0===Object.keys(e).length;default:return!1}}function o(e){return void 0===e?"undefined":null===e?"null":"bigint"==typeof e||Number.isInteger(e)&&!Object.is(e,-0)?"integer":"number"==typeof e?"float":"boolean"==typeof e?"boolean":"string"==typeof e?"string":"toISOString"in e?isNaN(e)?"undefined":"datetime":Array.isArray(e)?"array":"table"}function a(e){var t=String(e);return/^[-A-Za-z0-9_]+$/.test(t)?t:l(t)}function l(e){return'"'+c(e).replace(/"/g,'\\"')+'"'}function c(e){return e.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/([\u0000-\u001f\u007f])/,(e=>"\\u"+function(e,t){for(;t.length<4;)t="0"+t;return t}(0,e.codePointAt(0).toString(16))))}function u(e,t){let n=o(e);return"string"===n&&(t&&/\n/.test(e)?n="string-multiline":!/[\b\t\n\f\r']/.test(e)&&/"/.test(e)&&(n="string-literal")),p(e,n)}function p(e,n){switch(n||(n=o(e)),n){case"string-multiline":return function(e){let t=e.split(/\n/).map((e=>c(e).replace(/"(?="")/g,'\\"'))).join("\n");return'"'===t.slice(-1)&&(t+="\\\n"),'"""\n'+t+'"""'}(e);case"string":return l(e);case"string-literal":return"'"+e+"'";case"integer":return d(e);case"float":return function(e){if(e===1/0)return"inf";if(e===-1/0)return"-inf";if(Object.is(e,NaN))return"nan";if(Object.is(e,-0))return"-0.0";var t=String(e).split("."),n=t[0],i=t[1]||0;return d(n)+"."+i}(e);case"boolean":return function(e){return String(e)}(e);case"datetime":return function(e){return e.toISOString()}(e);case"array":return function(e){const t=h(e=i(e));var n="[",r=e.map((e=>p(e,t)));return r.join(", ").length>60||/\n/.test(r)?n+="\n "+r.join(",\n ")+"\n":n+=" "+r.join(", ")+(r.length>0?" ":""),n+"]"}(e.filter((e=>"null"!==o(e)&&"undefined"!==o(e)&&"nan"!==o(e))));case"table":return function(e){e=i(e);var t=[];return Object.keys(e).forEach((n=>{t.push(a(n)+" = "+u(e[n],!1))})),"{ "+t.join(", ")+(t.length>0?" ":"")+"}"}(e);default:throw t(n)}}function d(e){return String(e).replace(/\B(?=(\d{3})+(?!\d))/g,"_")}function h(e){const t=function(e){var t=o(e[0]);return e.every((e=>o(e)===t))?t:e.every((e=>{return"float"===(t=o(e))||"integer"===t;var t}))?"float":"mixed"}(e);if("mixed"===t)throw new Error("Array values can't have mixed types");return t}e.exports=function(e){if(null===e)throw t("null");if(void 0===e)throw t("undefined");if("object"!=typeof e)throw t(typeof e);if("function"==typeof e.toJSON&&(e=e.toJSON()),null==e)return null;const n=o(e);if("table"!==n)throw t(n);return r("","",e)},e.exports.value=p},2125:(e,t,n)=>{"use strict";t.parse=n(2884),n(5249)},7588:e=>{"use strict";const t=[],n=[],i=(e,i)=>{if(e===i)return 0;const r=e;e.length>i.length&&(e=i,i=r);let s=e.length,o=i.length;for(;s>0&&e.charCodeAt(~-s)===i.charCodeAt(~-o);)s--,o--;let a,l,c,u,p=0;for(;pl?u>l?l+1:u:u>c?c+1:u;return l};e.exports=i,e.exports.default=i},2797:(e,t,n)=>{"use strict";e.exports=n(3374)},3374:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,n(485).default.install();const s=n(7504);r(n(7504),t);class o extends s.AbstractMessageReader{constructor(e){super(),this._onData=new s.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",(e=>this.fireError(e))),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}}t.BrowserMessageReader=o;class a extends s.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",(e=>this.fireError(e)))}write(e){try{return this.context.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}t.BrowserMessageWriter=a,t.createMessageConnection=function(e,t,n,i){return void 0===n&&(n=s.NullLogger),s.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),s.createMessageConnection(e,t,n,i)}},485:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9872),r=n(4469),s=n(2479),o=n(9053);class a extends o.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return(new TextEncoder).encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}}a.emptyBuffer=new Uint8Array(0);class l{constructor(e){this.socket=e,this._onData=new s.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then((e=>{this._onData.fire(new Uint8Array(e))}))},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}onData(e){return this._onData.event(e)}}class c{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const u=new TextEncoder,p=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{if("utf-8"!==t.charset)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t.charset}`);return Promise.resolve(u.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{if(!(e instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new l(e),asWritableStream:e=>new c(e)}),console,timer:Object.freeze({setTimeout:(e,t,...n)=>setTimeout(e,t,...n),clearTimeout(e){clearTimeout(e)},setImmediate:(e,...t)=>setTimeout(e,0,...t),clearImmediate(e){clearTimeout(e)}})});function d(){return p}!function(e){e.install=function(){i.default.install(p)}}(d||(d={})),t.default=d},7504:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.ProgressType=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.RAL=void 0,t.CancellationStrategy=void 0;const i=n(9263);Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return i.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return i.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return i.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return i.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return i.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return i.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return i.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return i.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return i.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return i.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return i.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return i.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return i.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return i.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return i.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return i.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return i.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return i.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return i.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return i.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return i.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return i.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return i.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return i.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return i.ParameterStructures}});const r=n(4469);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const s=n(2479);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return s.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return s.Emitter}});const o=n(6368);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return o.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return o.CancellationToken}});const a=n(5132);Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return a.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return a.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return a.ReadableStreamMessageReader}});const l=n(8633);Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const c=n(3467);Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return c.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return c.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return c.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return c.createMessageConnection}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return c.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return c.Trace}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return c.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return c.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return c.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return c.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return c.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return c.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return c.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return c.CancellationStrategy}});const u=n(9872);t.RAL=u.default},6368:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const i=n(9872),r=n(5306),s=n(2479);var o;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),e.is=function(t){const n=t;return n&&(n===e.None||n===e.Cancelled||r.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(o=t.CancellationToken||(t.CancellationToken={}));const a=Object.freeze((function(e,t){const n=i.default().timer.setTimeout(e.bind(t),0);return{dispose(){i.default().timer.clearTimeout(n)}}}));class l{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new s.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}t.CancellationTokenSource=class{get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=o.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=o.None}}},3467:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.NullLogger=t.ProgressType=void 0;const i=n(9872),r=n(5306),s=n(9263),o=n(3820),a=n(2479),l=n(6368);var c,u,p,d,h,m,f,g,y,_,v,T,b;!function(e){e.type=new s.NotificationType("$/cancelRequest")}(c||(c={})),function(e){e.type=new s.NotificationType("$/progress")}(u||(u={})),t.ProgressType=class{constructor(){}},function(e){e.is=function(e){return r.func(e)}}(p||(p={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(d=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){if(!r.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(d=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(h=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new s.NotificationType("$/setTrace")}(m=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new s.NotificationType("$/logTrace")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(g=t.ConnectionErrors||(t.ConnectionErrors={}));class I extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,I.prototype)}}t.ConnectionError=I,function(e){e.is=function(e){const t=e;return t&&r.func(t.cancelUndispatched)}}(y=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new l.CancellationTokenSource}),e.is=function(e){const t=e;return t&&r.func(t.createCancellationTokenSource)}}(_=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation(e,t){e.sendNotification(c.type,{id:t})},cleanup(e){}}),e.is=function(e){const t=e;return t&&r.func(t.sendCancellation)&&r.func(t.cleanup)}}(v=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:_.Message,sender:v.Message}),e.is=function(e){const t=e;return t&&_.is(t.receiver)&&v.is(t.sender)}}(T=t.CancellationStrategy||(t.CancellationStrategy={})),(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(T.is(t.cancellationStrategy)||y.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(b||(b={})),t.createMessageConnection=function(e,n,y,_){const v=void 0!==y?y:t.NullLogger;let S=0,x=0,C=0;const w="2.0";let E;const k=Object.create(null);let D;const A=Object.create(null),P=new Map;let R,F,N=new o.LinkedMap,M=Object.create(null),O=Object.create(null),L=d.Off,U=h.Text,V=b.New;const q=new a.Emitter,B=new a.Emitter,W=new a.Emitter,j=new a.Emitter,z=new a.Emitter,$=_&&_.cancellationStrategy?_.cancellationStrategy:T.Message;function H(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function G(e){}function K(){return V===b.Listening}function J(){return V===b.Closed}function Y(){return V===b.Disposed}function Q(){V!==b.New&&V!==b.Listening||(V=b.Closed,B.fire(void 0))}function Z(){R||0===N.size||(R=i.default().timer.setImmediate((()=>{R=void 0,function(){if(0===N.size)return;const e=N.shift();try{s.isRequestMessage(e)?function(e){if(Y())return;function t(t,i,r){const o={jsonrpc:w,id:e.id};t instanceof s.ResponseError?o.error=t.toJson():o.result=void 0===t?null:t,ee(o,i,r),n.write(o)}function i(t,i,r){const s={jsonrpc:w,id:e.id,error:t.toJson()};ee(s,i,r),n.write(s)}!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Received request '${e.method} - (${e.id})'.`,t)}else te("receive-request",e)}(e);const o=k[e.method];let a,l;o&&(a=o.type,l=o.handler);const c=Date.now();if(l||E){const o=String(e.id),u=$.receiver.createCancellationTokenSource(o);O[o]=u;try{let p;if(l)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but recevied none.`),e.method,c);p=l(u.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byName)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,c);p=l(...e.params,u.token)}else{if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byPosition)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,c);p=l(e.params,u.token)}else E&&(p=E(e.method,e.params,u.token));const d=p;p?d.then?d.then((n=>{delete O[o],t(n,e.method,c)}),(t=>{delete O[o],t instanceof s.ResponseError?i(t,e.method,c):t&&r.string(t.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)})):(delete O[o],t(p,e.method,c)):(delete O[o],function(t,i,r){void 0===t&&(t=null);const s={jsonrpc:w,id:e.id,result:t};ee(s,i,r),n.write(s)}(p,e.method,c))}catch(n){delete O[o],n instanceof s.ResponseError?t(n,e.method,c):n&&r.string(n.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else i(new s.ResponseError(s.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):s.isNotificationMessage(e)?function(e){if(Y())return;let t,n;if(e.method===c.type.method)n=e=>{const t=e.id,n=O[String(t)];n&&n.cancel()};else{const i=A[e.method];i&&(n=i.handler,t=i.type)}if(n||D)try{!function(e){if(L!==d.Off&&F&&e.method!==f.type.method)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Received notification '${e.method}'.`,t)}else te("receive-notification",e)}(e),n?void 0===e.params?(void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but recevied none.`),n()):Array.isArray(e.params)?(void 0!==t&&(t.parameterStructures===s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${e.params.length} argumennts`)),n(...e.params)):(void 0!==t&&t.parameterStructures===s.ParameterStructures.byPosition&&v.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params)):D&&D(e.method,e.params)}catch(t){t.message?v.error(`Notification handler '${e.method}' failed with message: ${t.message}`):v.error(`Notification handler '${e.method}' failed unexpectedly.`)}else W.fire(e)}(e):s.isResponseMessage(e)?function(e){if(!Y())if(null===e.id)e.error?v.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):v.error("Received response message without id. No further error information provided.");else{const t=String(e.id),n=M[t];if(function(e,t){if(L!==d.Off&&F)if(U===h.Text){let n;if(L===d.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),t){const i=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";F.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${i}`,n)}else F.log(`Received response ${e.id} without active response promise.`,n)}else te("receive-response",e)}(e,n),n){delete M[t];try{if(e.error){const t=e.error;n.reject(new s.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");n.resolve(e.result)}}catch(e){e.message?v.error(`Response handler '${n.method}' failed with message: ${e.message}`):v.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void v.error("Received empty message.");v.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(r.string(t.id)||r.number(t.id)){const e=String(t.id),n=M[e];n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{Z()}}()})))}e.onClose(Q),e.onError((function(e){q.fire([e,void 0,void 0])})),n.onClose(Q),n.onError((function(e){q.fire(e)}));const X=e=>{try{if(s.isNotificationMessage(e)&&e.method===c.type.method){const t=H(e.params.id),i=N.get(t);if(s.isRequestMessage(i)){const r=null==_?void 0:_.connectionStrategy,s=r&&r.cancelUndispatched?r.cancelUndispatched(i,G):void 0;if(s&&(void 0!==s.error||void 0!==s.result))return N.delete(t),s.id=i.id,ee(s,e.method,Date.now()),void n.write(s)}}!function(e,t){var n;s.isRequestMessage(t)?e.set(H(t.id),t):s.isResponseMessage(t)?e.set(null===(n=t.id)?"res-unknown-"+(++C).toString():"res-"+n.toString(),t):e.set("not-"+(++x).toString(),t)}(N,e)}finally{Z()}};function ee(e,t,n){if(L!==d.Off&&F)if(U===h.Text){let i;L===d.Verbose&&(e.error&&e.error.data?i=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?i=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),F.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,i)}else te("send-response",e)}function te(e,t){if(!F||L===d.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};F.log(n)}function ne(){if(J())throw new I(g.Closed,"Connection is closed.");if(Y())throw new I(g.Disposed,"Connection is disposed.")}function ie(e){return void 0===e?null:e}function re(e){return null===e?void 0:e}function se(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function oe(e,t){switch(e){case s.ParameterStructures.auto:return se(t)?re(t):[ie(t)];case s.ParameterStructures.byName:if(!se(t))throw new Error("Recevied parameters by name but param is not an object literal.");return re(t);case s.ParameterStructures.byPosition:return[ie(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function ae(e,t){let n;const i=e.numberOfParams;switch(i){case 0:n=void 0;break;case 1:n=oe(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,o;if(ne(),r.string(e)){i=e;const n=t[0];let r=0,a=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(r=1,a=n);let l=t.length;const c=l-r;switch(c){case 0:o=void 0;break;case 1:o=oe(a,t[r]);break;default:if(a===s.ParameterStructures.byName)throw new Error(`Recevied ${c} parameters for 'by Name' notification parameter structure.`);o=t.slice(r,l).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n)}const a={jsonrpc:w,method:i,params:o};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Sending notification '${e.method}'.`,t)}else te("send-notification",e)}(a),n.write(a)},onNotification:(e,t)=>{let n;return ne(),r.func(e)?D=e:t&&(r.string(e)?(n=e,A[e]={type:void 0,handler:t}):(n=e.method,A[e.method]={type:e,handler:t})),{dispose:()=>{void 0!==n?delete A[n]:D=void 0}}},onProgress:(e,t,n)=>{if(P.has(t))throw new Error(`Progress handler for token ${t} already registered`);return P.set(t,n),{dispose:()=>{P.delete(t)}}},sendProgress:(e,t,n)=>{le.sendNotification(u.type,{token:t,value:n})},onUnhandledProgress:j.event,sendRequest:(e,...t)=>{let i,o,a;if(ne(),function(){if(!K())throw new Error("Call listen() first.")}(),r.string(e)){i=e;const n=t[0],r=t[t.length-1];let c=0,u=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(c=1,u=n);let p=t.length;l.CancellationToken.is(r)&&(p-=1,a=r);const d=p-c;switch(d){case 0:o=void 0;break;case 1:o=oe(u,t[c]);break;default:if(u===s.ParameterStructures.byName)throw new Error(`Recevied ${d} parameters for 'by Name' request parameter structure.`);o=t.slice(c,p).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n);const r=e.numberOfParams;a=l.CancellationToken.is(n[r])?n[r]:void 0}const c=S++;let u;return a&&(u=a.onCancellationRequested((()=>{$.sender.sendCancellation(le,c)}))),new Promise(((e,t)=>{const r={jsonrpc:w,id:c,method:i,params:o};let a={method:i,timerStart:Date.now(),resolve:t=>{e(t),$.sender.cleanup(c),null==u||u.dispose()},reject:e=>{t(e),$.sender.cleanup(c),null==u||u.dispose()}};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Sending request '${e.method} - (${e.id})'.`,t)}else te("send-request",e)}(r);try{n.write(r)}catch(e){a.reject(new s.ResponseError(s.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(M[String(c)]=a)}))},onRequest:(e,t)=>{ne();let n=null;return p.is(e)?(n=void 0,E=e):r.string(e)?(n=null,void 0!==t&&(n=e,k[e]={handler:t,type:void 0})):void 0!==t&&(n=e.method,k[e.method]={type:e,handler:t}),{dispose:()=>{null!==n&&(void 0!==n?delete k[n]:E=void 0)}}},trace:(e,t,n)=>{let i=!1,s=h.Text;void 0!==n&&(r.boolean(n)?i=n:(i=n.sendNotification||!1,s=n.traceFormat||h.Text)),L=e,U=s,F=L===d.Off?void 0:t,!i||J()||Y()||le.sendNotification(m.type,{value:d.toString(e)})},onError:q.event,onClose:B.event,onUnhandledNotification:W.event,onDispose:z.event,end:()=>{n.end()},dispose:()=>{if(Y())return;V=b.Disposed,z.fire(void 0);const t=new Error("Connection got disposed.");Object.keys(M).forEach((e=>{M[e].reject(t)})),M=Object.create(null),O=Object.create(null),N=new o.LinkedMap,r.func(n.dispose)&&n.dispose(),r.func(e.dispose)&&e.dispose()},listen:()=>{ne(),function(){if(K())throw new I(g.AlreadyListening,"Connection is already listening")}(),V=b.Listening,e.listen(X)},inspect:()=>{i.default().console.log("inspect")}};return le.onNotification(f.type,(e=>{L!==d.Off&&F&&F.log(e.message,L===d.Verbose?e.verbose:void 0)})),le.onNotification(u.type,(e=>{const t=P.get(e.token);t?t(e.value):j.fire(e)})),le}},4469:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},2479:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const i=n(9872);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class r{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let i=0,r=this._callbacks.length;i{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=s._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=s,s._noop=function(){}},5306:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))}},3820:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class i{constructor(){this[Symbol.toStringTag]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let r=this._map.get(e);if(r)r.value=t,i!==n.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(r);break;case n.First:this.addItemFirst(r);break;case n.Last:default:this.addItemLast(r)}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}t.LinkedMap=i,t.LRUCache=class extends i{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},9053:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0,t.AbstractMessageBuffer=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(0===this._chunks.length)return;let e=0,t=0,n=0,i=0;e:for(;tthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],n=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,n}const t=this.allocNative(e);let n=0;for(;e>0;){const i=this._chunks[0];if(i.byteLength>e){const r=i.slice(0,e);t.set(r,n),n+=e,this._chunks[0]=i.slice(e),this._totalLength-=e,e-=e}else t.set(i,n),n+=i.byteLength,this._chunks.shift(),this._totalLength-=i.byteLength,e-=i.byteLength}return t}}},5132:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const i=n(9872),r=n(5306),s=n(2479);var o;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&r.func(t.listen)&&r.func(t.dispose)&&r.func(t.onError)&&r.func(t.onClose)&&r.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter,this.partialMessageEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,function(e){e.fromOptions=function(e){var t;let n,r;const s=new Map;let o;const a=new Map;if(void 0===e||"string"==typeof e)n=null!=e?e:"utf-8";else{if(n=null!==(t=e.charset)&&void 0!==t?t:"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,s.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)s.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(o=e.contentTypeDecoder,a.set(o.name,o)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)a.set(t.name,t)}return void 0===o&&(o=i.default().applicationJson.decoder,a.set(o.name,o)),{charset:n,contentDecoder:r,contentDecoders:s,contentTypeDecoder:o,contentTypeDecoders:a}}}(o||(o={})),t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=o.fromOptions(t),this.buffer=i.default().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;const t=this.readable.onData((e=>{this.onData(e)}));return this.readable.onError((e=>this.fireError(e))),this.readable.onClose((()=>this.fireClose())),t}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){const e=this.buffer.tryReadHeaders();if(!e)return;const t=e.get("Content-Length");if(!t)throw new Error("Header must provide a Content-Length property.");const n=parseInt(t);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();let t;this.clearPartialMessageTimer(),this.nextMessageLength=-1,t=void 0!==this.options.contentDecoder?this.options.contentDecoder.decode(e):Promise.resolve(e),t.then((e=>{this.options.contentTypeDecoder.decode(e,this.options).then((e=>{this.callback(e)}),(e=>{this.fireError(e)}))}),(e=>{this.fireError(e)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(i.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=i.default().timer.setTimeout(((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}},8633:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const i=n(9872),r=n(5306),s=n(3360),o=n(2479);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&r.func(t.dispose)&&r.func(t.onClose)&&r.func(t.onError)&&r.func(t.write)};class l{constructor(){this.errorEmitter=new o.Emitter,this.closeEmitter=new o.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=l,function(e){e.fromOptions=function(e){var t,n;return void 0===e||"string"==typeof e?{charset:null!=e?e:"utf-8",contentTypeEncoder:i.default().applicationJson.encoder}:{charset:null!==(t=e.charset)&&void 0!==t?t:"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:null!==(n=e.contentTypeEncoder)&&void 0!==n?n:i.default().applicationJson.encoder}}}(a||(a={})),t.WriteableStreamMessageWriter=class extends l{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new s.Semaphore(1),this.writable.onError((e=>this.fireError(e))),this.writable.onClose((()=>this.fireClose()))}async write(e){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(e,this.options).then((e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e)).then((t=>{const n=[];return n.push("Content-Length: ",t.byteLength.toString(),"\r\n"),n.push("\r\n"),this.doWrite(e,n,t)}),(e=>{throw this.fireError(e),e}))))}async doWrite(e,t,n){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(n)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}},9263:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseMessage=t.isNotificationMessage=t.isRequestMessage=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;const i=n(5306);var r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=e.jsonrpcReservedErrorRangeStart,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=e.jsonrpcReservedErrorRangeEnd}(r=t.ErrorCodes||(t.ErrorCodes={}));class s extends Error{constructor(e,t,n){super(t),this.code=i.number(e)?e:r.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,s.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=s;class o{constructor(e){this.kind=e}static is(e){return e===o.auto||e===o.byName||e===o.byPosition}toString(){return this.kind}}t.ParameterStructures=o,o.auto=new o("auto"),o.byPosition=new o("byPosition"),o.byName=new o("byName");class a{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return o.auto}}t.AbstractMessageSignature=a,t.RequestType0=class extends a{constructor(e){super(e,0)}},t.RequestType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends a{constructor(e){super(e,2)}},t.RequestType3=class extends a{constructor(e){super(e,3)}},t.RequestType4=class extends a{constructor(e){super(e,4)}},t.RequestType5=class extends a{constructor(e){super(e,5)}},t.RequestType6=class extends a{constructor(e){super(e,6)}},t.RequestType7=class extends a{constructor(e){super(e,7)}},t.RequestType8=class extends a{constructor(e){super(e,8)}},t.RequestType9=class extends a{constructor(e){super(e,9)}},t.NotificationType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends a{constructor(e){super(e,0)}},t.NotificationType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends a{constructor(e){super(e,2)}},t.NotificationType3=class extends a{constructor(e){super(e,3)}},t.NotificationType4=class extends a{constructor(e){super(e,4)}},t.NotificationType5=class extends a{constructor(e){super(e,5)}},t.NotificationType6=class extends a{constructor(e){super(e,6)}},t.NotificationType7=class extends a{constructor(e){super(e,7)}},t.NotificationType8=class extends a{constructor(e){super(e,8)}},t.NotificationType9=class extends a{constructor(e){super(e,9)}},t.isRequestMessage=function(e){const t=e;return t&&i.string(t.method)&&(i.string(t.id)||i.number(t.id))},t.isNotificationMessage=function(e){const t=e;return t&&i.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(i.string(t.id)||i.number(t.id)||null===t.id)}},9872:(e,t)=>{"use strict";let n;function i(){if(void 0===n)throw new Error("No runtime abstraction layer installed");return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(i||(i={})),t.default=i},3360:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const i=n(9872);t.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&i.default().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}},9290:(e,t,n)=>{"use strict";e.exports=n(2477)},2477:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const s=n(2797);r(n(2797),t),r(n(6156),t),t.createProtocolConnection=function(e,t,n,i){return s.createMessageConnection(e,t,n,i)}},6156:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(n(3374),t),r(n(5269),t),r(n(9368),t),r(n(8253),t);var s,o=n(2213);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return o.createProtocolConnection}}),(s=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800},2213:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const i=n(3374);t.createProtocolConnection=function(e,t,n,r){return i.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),i.createMessageConnection(e,t,n,r)}},9368:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=void 0;const i=n(3374);t.RegistrationType=class{constructor(e){this.method=e}};class r extends i.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=r;class s extends i.RequestType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolRequestType=s;class o extends i.NotificationType0{constructor(e){super(e)}}t.ProtocolNotificationType0=o;class a extends i.NotificationType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolNotificationType=a},7350:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const i=n(9368);var r,s,o;(o=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",o.type=new i.ProtocolRequestType(o.method),(s=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",s.type=new i.ProtocolRequestType(s.method),(r=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",r.type=new i.ProtocolRequestType(r.method)},7994:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const i=n(9368);var r;(r=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",r.type=new i.ProtocolRequestType(r.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new i.ProtocolRequestType("textDocument/colorPresentation")},6139:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const i=n(9368);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new i.ProtocolRequestType("workspace/configuration")},8746:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const i=n(9368);var r;(r=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",r.type=new i.ProtocolRequestType(r.method)},5580:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;const i=n(9368);var r,s,o,a,l,c,u;(u=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",u.folder="folder",(c=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",c.type=new i.ProtocolRequestType(c.method),(l=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",l.type=new i.ProtocolNotificationType(l.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new i.ProtocolRequestType(a.method),(o=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",o.type=new i.ProtocolNotificationType(o.method),(s=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",s.type=new i.ProtocolNotificationType(s.method),(r=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",r.type=new i.ProtocolRequestType(r.method)},3996:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=t.FoldingRangeKind=void 0;const i=n(9368);var r,s;(s=t.FoldingRangeKind||(t.FoldingRangeKind={})).Comment="comment",s.Imports="imports",s.Region="region",(r=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",r.type=new i.ProtocolRequestType(r.method)},487:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const i=n(9368);var r;(r=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",r.type=new i.ProtocolRequestType(r.method)},8253:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeError=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.DocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=void 0;const i=n(2524),r=n(9368),s=n(487);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return s.ImplementationRequest}});const o=n(4951);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return o.TypeDefinitionRequest}});const a=n(1618);Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const l=n(6139);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return l.ConfigurationRequest}});const c=n(7994);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=n(3996);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}});const p=n(8746);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return p.DeclarationRequest}});const d=n(9998);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const h=n(9784);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return h.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return h.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return h.WorkDoneProgressCancelNotification}});const m=n(7350);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return m.CallHierarchyPrepareRequest}});const f=n(7614);Object.defineProperty(t,"SemanticTokenTypes",{enumerable:!0,get:function(){return f.SemanticTokenTypes}}),Object.defineProperty(t,"SemanticTokenModifiers",{enumerable:!0,get:function(){return f.SemanticTokenModifiers}}),Object.defineProperty(t,"SemanticTokens",{enumerable:!0,get:function(){return f.SemanticTokens}}),Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return f.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return f.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return f.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return f.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return f.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return f.SemanticTokensRegistrationType}});const g=n(5636);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return g.ShowDocumentRequest}});const y=n(7036);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return y.LinkedEditingRangeRequest}});const _=n(5580);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return _.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return _.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return _.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return _.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return _.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return _.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return _.WillDeleteFilesRequest}});const v=n(2779);var T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return v.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return v.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return v.MonikerRequest}}),function(e){e.is=function(e){const t=e;return i.string(t.language)||i.string(t.scheme)||i.string(t.pattern)}}(T=t.DocumentFilter||(t.DocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!i.string(t)&&!T.is(t))return!1;return!0}}(b=t.DocumentSelector||(t.DocumentSelector={})),(t.RegistrationRequest||(t.RegistrationRequest={})).type=new r.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new r.ProtocolRequestType("client/unregisterCapability"),(se=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",se.Rename="rename",se.Delete="delete",(re=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",re.Transactional="transactional",re.TextOnlyTransactional="textOnlyTransactional",re.Undo="undo",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&i.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||b.is(t.documentSelector))},(ie=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return i.objectLiteral(t)&&(void 0===t.workDoneProgress||i.boolean(t.workDoneProgress))},ie.hasWorkDoneProgress=function(e){const t=e;return t&&i.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new r.ProtocolRequestType("initialize"),(t.InitializeError||(t.InitializeError={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new r.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new r.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new r.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeConfiguration"),(ne=t.MessageType||(t.MessageType={})).Error=1,ne.Warning=2,ne.Info=3,ne.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new r.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new r.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new r.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new r.ProtocolNotificationType("telemetry/event"),(te=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,te.Full=1,te.Incremental=2,(ee=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",ee.type=new r.ProtocolNotificationType(ee.method),(X=t.TextDocumentContentChangeEvent||(t.TextDocumentContentChangeEvent={})).isIncremental=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},X.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(Z=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",Z.type=new r.ProtocolNotificationType(Z.method),(Q=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",Q.type=new r.ProtocolNotificationType(Q.method),(Y=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",Y.type=new r.ProtocolNotificationType(Y.method),(J=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,J.AfterDelay=2,J.FocusOut=3,(K=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",K.type=new r.ProtocolNotificationType(K.method),(G=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",G.type=new r.ProtocolRequestType(G.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(H=t.FileChangeType||(t.FileChangeType={})).Created=1,H.Changed=2,H.Deleted=3,($=t.WatchKind||(t.WatchKind={})).Create=1,$.Change=2,$.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new r.ProtocolNotificationType("textDocument/publishDiagnostics"),(z=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,z.TriggerCharacter=2,z.TriggerForIncompleteCompletions=3,(j=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",j.type=new r.ProtocolRequestType(j.method),(W=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",W.type=new r.ProtocolRequestType(W.method),(B=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",B.type=new r.ProtocolRequestType(B.method),(q=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,q.TriggerCharacter=2,q.ContentChange=3,(V=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",V.type=new r.ProtocolRequestType(V.method),(U=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",U.type=new r.ProtocolRequestType(U.method),(L=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",L.type=new r.ProtocolRequestType(L.method),(O=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",O.type=new r.ProtocolRequestType(O.method),(M=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",M.type=new r.ProtocolRequestType(M.method),(N=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",N.type=new r.ProtocolRequestType(N.method),(F=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",F.type=new r.ProtocolRequestType(F.method),(R=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",R.type=new r.ProtocolRequestType(R.method),(P=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",P.type=new r.ProtocolRequestType(P.method),(A=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",A.type=new r.ProtocolRequestType(A.method),(D=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",D.type=new r.ProtocolRequestType0(D.method),(k=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",k.type=new r.ProtocolRequestType(k.method),(E=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",E.type=new r.ProtocolRequestType(E.method),(w=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",w.type=new r.ProtocolRequestType(w.method),(C=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",C.type=new r.ProtocolRequestType(C.method),(x=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",x.type=new r.ProtocolRequestType(x.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(S=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",S.type=new r.ProtocolRequestType(S.method),(I=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",I.type=new r.ProtocolRequestType(I.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new r.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new r.ProtocolRequestType("workspace/applyEdit")},7036:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const i=n(9368);var r;(r=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",r.type=new i.ProtocolRequestType(r.method)},2779:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const i=n(9368);var r,s,o;(o=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",o.project="project",o.group="group",o.scheme="scheme",o.global="global",(s=t.MonikerKind||(t.MonikerKind={})).import="import",s.export="export",s.local="local",(r=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",r.type=new i.ProtocolRequestType(r.method)},9784:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const i=n(3374),r=n(9368);var s;(s=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new i.ProgressType,s.is=function(e){return e===s.type},(t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).type=new r.ProtocolRequestType("window/workDoneProgress/create"),(t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).type=new r.ProtocolNotificationType("window/workDoneProgress/cancel")},9998:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const i=n(9368);var r;(r=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",r.type=new i.ProtocolRequestType(r.method)},7614:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=void 0;const i=n(9368);var r,s,o,a,l,c,u;(u=t.SemanticTokenTypes||(t.SemanticTokenTypes={})).namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",(c=t.SemanticTokenModifiers||(t.SemanticTokenModifiers={})).declaration="declaration",c.definition="definition",c.readonly="readonly",c.static="static",c.deprecated="deprecated",c.abstract="abstract",c.async="async",c.modification="modification",c.documentation="documentation",c.defaultLibrary="defaultLibrary",(t.SemanticTokens||(t.SemanticTokens={})).is=function(e){const t=e;return void 0!==t&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(l=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",l.type=new i.RegistrationType(l.method),(a=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",a.type=new i.ProtocolRequestType(a.method),(o=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",o.type=new i.ProtocolRequestType(o.method),(s=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",s.type=new i.ProtocolRequestType(s.method),(r=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",r.type=new i.ProtocolRequestType0(r.method)},5636:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const i=n(9368);var r;(r=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",r.type=new i.ProtocolRequestType(r.method)},4951:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const i=n(9368);var r;(r=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",r.type=new i.ProtocolRequestType(r.method)},1618:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const i=n(9368);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new i.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},2524:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.objectLiteral=function(e){return null!==e&&"object"==typeof e}},5269:(e,t,n)=>{"use strict";var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k;n.r(t),n.d(t,{integer:()=>i,uinteger:()=>r,Position:()=>s,Range:()=>o,Location:()=>a,LocationLink:()=>l,Color:()=>c,ColorInformation:()=>u,ColorPresentation:()=>p,FoldingRangeKind:()=>d,FoldingRange:()=>h,DiagnosticRelatedInformation:()=>m,DiagnosticSeverity:()=>f,DiagnosticTag:()=>g,CodeDescription:()=>y,Diagnostic:()=>_,Command:()=>v,TextEdit:()=>T,ChangeAnnotation:()=>b,ChangeAnnotationIdentifier:()=>I,AnnotatedTextEdit:()=>S,TextDocumentEdit:()=>x,CreateFile:()=>C,RenameFile:()=>w,DeleteFile:()=>E,WorkspaceEdit:()=>k,WorkspaceChange:()=>ae,TextDocumentIdentifier:()=>D,VersionedTextDocumentIdentifier:()=>A,OptionalVersionedTextDocumentIdentifier:()=>P,TextDocumentItem:()=>R,MarkupKind:()=>F,MarkupContent:()=>N,CompletionItemKind:()=>M,InsertTextFormat:()=>O,CompletionItemTag:()=>L,InsertReplaceEdit:()=>U,InsertTextMode:()=>V,CompletionItem:()=>q,CompletionList:()=>B,MarkedString:()=>W,Hover:()=>j,ParameterInformation:()=>z,SignatureInformation:()=>$,DocumentHighlightKind:()=>H,DocumentHighlight:()=>G,SymbolKind:()=>K,SymbolTag:()=>J,SymbolInformation:()=>Y,DocumentSymbol:()=>Q,CodeActionKind:()=>Z,CodeActionContext:()=>X,CodeAction:()=>ee,CodeLens:()=>te,FormattingOptions:()=>ne,DocumentLink:()=>ie,SelectionRange:()=>re,EOL:()=>ce,TextDocument:()=>le}),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647}(i||(i={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647}(r||(r={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=r.MAX_VALUE),t===Number.MAX_VALUE&&(t=r.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.uinteger(t.line)&&ue.uinteger(t.character)}}(s||(s={})),function(e){e.create=function(e,t,n,i){if(ue.uinteger(e)&&ue.uinteger(t)&&ue.uinteger(n)&&ue.uinteger(i))return{start:s.create(e,t),end:s.create(n,i)};if(s.is(e)&&s.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+i+"]")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&s.is(t.start)&&s.is(t.end)}}(o||(o={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(a||(a={})),function(e){e.create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.targetRange)&&ue.string(t.targetUri)&&(o.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(o.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(l||(l={})),function(e){e.create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},e.is=function(e){var t=e;return ue.numberRange(t.red,0,1)&&ue.numberRange(t.green,0,1)&&ue.numberRange(t.blue,0,1)&&ue.numberRange(t.alpha,0,1)}}(c||(c={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return o.is(t.range)&&c.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||T.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,T.is))}}(p||(p={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(d||(d={})),function(e){e.create=function(e,t,n,i,r){var s={startLine:e,endLine:t};return ue.defined(n)&&(s.startCharacter=n),ue.defined(i)&&(s.endCharacter=i),ue.defined(r)&&(s.kind=r),s},e.is=function(e){var t=e;return ue.uinteger(t.startLine)&&ue.uinteger(t.startLine)&&(ue.undefined(t.startCharacter)||ue.uinteger(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.uinteger(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&a.is(t.location)&&ue.string(t.message)}}(m||(m={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(f||(f={})),function(e){e.Unnecessary=1,e.Deprecated=2}(g||(g={})),function(e){e.is=function(e){var t=e;return null!=t&&ue.string(t.href)}}(y||(y={})),function(e){e.create=function(e,t,n,i,r,s){var o={range:e,message:t};return ue.defined(n)&&(o.severity=n),ue.defined(i)&&(o.code=i),ue.defined(r)&&(o.source=r),ue.defined(s)&&(o.relatedInformation=s),o},e.is=function(e){var t,n=e;return ue.defined(n)&&o.is(n.range)&&ue.string(n.message)&&(ue.number(n.severity)||ue.undefined(n.severity))&&(ue.integer(n.code)||ue.string(n.code)||ue.undefined(n.code))&&(ue.undefined(n.codeDescription)||ue.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(ue.string(n.source)||ue.undefined(n.source))&&(ue.undefined(n.relatedInformation)||ue.typedArray(n.relatedInformation,m.is))}}(_||(_={})),function(e){e.create=function(e,t){for(var n=[],i=2;i0&&(r.arguments=n),r},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(v||(v={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&o.is(t.range)}}(T||(T={})),function(e){e.create=function(e,t,n){var i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},e.is=function(e){var t=e;return void 0!==t&&ue.objectLiteral(t)&&ue.string(t.label)&&(ue.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(ue.string(t.description)||void 0===t.description)}}(b||(b={})),function(e){e.is=function(e){return"string"==typeof e}}(I||(I={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return T.is(t)&&(b.is(t.annotationId)||I.is(t.annotationId))}}(S||(S={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&P.is(t.textDocument)&&Array.isArray(t.edits)}}(x||(x={})),function(e){e.create=function(e,t,n){var i={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"create"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(C||(C={})),function(e){e.create=function(e,t,n,i){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),void 0!==i&&(r.annotationId=i),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(w||(w={})),function(e){e.create=function(e,t,n){var i={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"delete"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(E||(E={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return ue.string(e.kind)?C.is(e)||w.is(e)||E.is(e):x.is(e)})))}}(k||(k={}));var D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var i,r;if(void 0===n?i=T.insert(e,t):I.is(n)?(r=n,i=S.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.insert(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.replace=function(e,t,n){var i,r;if(void 0===n?i=T.replace(e,t):I.is(n)?(r=n,i=S.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.replace(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.delete=function(e,t){var n,i;if(void 0===t?n=T.del(e):I.is(t)?(i=t,n=S.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(t),n=S.del(e,i)),this.edits.push(n),void 0!==i)return i},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),oe=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(I.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),ae=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new oe(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(x.is(e)){var n=new se(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var i=new se(e.changes[n]);t._textEditChanges[n]=i}))):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(P.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(i=this._textEditChanges[t.uri])){var n={textDocument:t,edits:r=[]};this._workspaceEdit.documentChanges.push(n),i=new se(r,this._changeAnnotations),this._textEditChanges[t.uri]=i}return i}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var i;if(!(i=this._textEditChanges[e])){var r=[];this._workspaceEdit.changes[e]=r,i=new se(r),this._textEditChanges[e]=i}return i},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new oe,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=C.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=C.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e.prototype.renameFile=function(e,t,n,i){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,s,o;if(b.is(n)||I.is(n)?r=n:i=n,void 0===r?s=w.create(e,t,i):(o=I.is(r)?r:this._changeAnnotations.manage(r),s=w.create(e,t,i,o)),this._workspaceEdit.documentChanges.push(s),void 0!==o)return o},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=E.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=E.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(D||(D={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.integer(t.version)}}(A||(A={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.integer(t.version))}}(P||(P={})),function(e){e.create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.integer(t.version)&&ue.string(t.text)}}(R||(R={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(F||(F={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(F||(F={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&F.is(t.kind)&&ue.string(t.value)}}(N||(N={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(M||(M={})),function(e){e.PlainText=1,e.Snippet=2}(O||(O={})),function(e){e.Deprecated=1}(L||(L={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&ue.string(t.newText)&&o.is(t.insert)&&o.is(t.replace)}}(U||(U={})),function(e){e.asIs=1,e.adjustIndentation=2}(V||(V={})),function(e){e.create=function(e){return{label:e}}}(q||(q={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(B||(B={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(W||(W={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(N.is(t.contents)||W.is(t.contents)||ue.typedArray(t.contents,W.is))&&(void 0===e.range||o.is(e.range))}}(j||(j={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(z||(z={})),function(e){e.create=function(e,t){for(var n=[],i=2;i=0;o--){var a=r[o],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=s))throw new Error("Overlapping edit");i=i.substring(0,l)+a.newText+i.substring(c,i.length),s=l}return i}}(le||(le={}));var ue,pe=function(){function e(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,i=0;i0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return s.create(0,e);for(;ne?i=r:n=r+1}var o=n-1;return s.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],i=e.line+1{},get shutdownReceived(){return o},set shutdownReceived(e){o=e},exit:e=>{}};t.createConnection=function(e,t,n,i){let r,o,l,c;return void 0!==e&&"features"===e.__brand&&(r=e,e=t,t=n,n=i),s.ConnectionStrategy.is(e)||s.ConnectionOptions.is(e)?c=e:(o=e,l=t,c=n),s.createConnection((e=>s.createProtocolConnection(o,l,e,c)),a,r)}},8132:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.ProposedFeatures=t.SemanticTokensBuilder=void 0;const s=n(6063);Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return s.SemanticTokensBuilder}}),r(n(2477),t),r(n(1486),t),(t.ProposedFeatures||(t.ProposedFeatures={})).all={__brand:"features"}},7522:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const i=n(2477);t.CallHierarchyFeature=e=>class extends e{get callHierarchy(){return{onPrepare:e=>{this.connection.onRequest(i.CallHierarchyPrepareRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))},onIncomingCalls:e=>{const t=i.CallHierarchyIncomingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=i.CallHierarchyOutgoingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2965:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationFeature=void 0;const i=n(2477),r=n(9079);t.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?r.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let t={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(i.ConfigurationRequest.type,t).then((t=>Array.isArray(e)?t:t[0]))}}},2027:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileOperationsFeature=void 0;const i=n(2477);t.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){this.connection.onNotification(i.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){this.connection.onNotification(i.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){this.connection.onNotification(i.DidDeleteFilesNotification.type,(t=>{e(t)}))}onWillCreateFiles(e){return this.connection.onRequest(i.WillCreateFilesRequest.type,((t,n)=>e(t,n)))}onWillRenameFiles(e){return this.connection.onRequest(i.WillRenameFilesRequest.type,((t,n)=>e(t,n)))}onWillDeleteFiles(e){return this.connection.onRequest(i.WillDeleteFilesRequest.type,((t,n)=>e(t,n)))}}},7891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeFeature=void 0;const i=n(2477);t.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){this.connection.onRequest(i.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}}},6046:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerFeature=void 0;const i=n(2477);t.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=i.MonikerRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},7256:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attachPartialResult=t.ProgressFeature=t.attachWorkDone=void 0;const i=n(2477),r=n(5075);class s{constructor(e,t){this._connection=e,this._token=t,s.Instances.set(this._token,this)}begin(e,t,n,r){let s={kind:"begin",title:e,percentage:t,message:n,cancellable:r};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,s)}report(e,t){let n={kind:"report"};"number"==typeof e?(n.percentage=e,void 0!==t&&(n.message=t)):n.message=e,this._connection.sendProgress(i.WorkDoneProgress.type,this._token,n)}done(){s.Instances.delete(this._token),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}}s.Instances=new Map;class o extends s{constructor(e,t){super(e,t),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}}class a{constructor(){}begin(){}report(){}done(){}}class l extends a{constructor(){super(),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}var c;t.attachWorkDone=function(e,t){if(void 0===t||void 0===t.workDoneToken)return new a;const n=t.workDoneToken;return delete t.workDoneToken,new s(e,n)},t.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){var t;!0===(null===(t=null==e?void 0:e.window)||void 0===t?void 0:t.workDoneProgress)&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,(e=>{let t=s.Instances.get(e.token);(t instanceof o||t instanceof l)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new a:new s(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=r.generateUuid();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new o(this.connection,e)))}return Promise.resolve(new l)}},function(e){e.type=new i.ProgressType}(c||(c={}));class u{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(c.type,this._token,e)}}t.attachPartialResult=function(e,t){if(void 0===t||void 0===t.partialResultToken)return;const n=t.partialResultToken;return delete t.partialResultToken,new u(e,n)}},6063:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensBuilder=t.SemanticTokensFeature=void 0;const i=n(2477);t.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{on:e=>{const t=i.SemanticTokensRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=i.SemanticTokensDeltaRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=i.SemanticTokensRangeRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}},t.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,t,n,i,r){let s=e,o=t;this._dataLen>0&&(s-=this._prevLine,0===s&&(o-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=o,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=r,this._prevLine=e,this._prevChar=t}get id(){return this._id.toString()}previousResult(e){this.id===e&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return void 0!==this._prevData}buildEdits(){if(void 0!==this._prevData){const e=this._prevData.length,t=this._data.length;let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.combineFeatures=t.combineLanguagesFeatures=t.combineWorkspaceFeatures=t.combineWindowFeatures=t.combineClientFeatures=t.combineTracerFeatures=t.combineTelemetryFeatures=t.combineConsoleFeatures=t._LanguagesImpl=t.BulkUnregistration=t.BulkRegistration=t.ErrorMessageTracker=t.TextDocuments=void 0;const i=n(2477),r=n(9079),s=n(5075),o=n(7256),a=n(2965),l=n(1252),c=n(7522),u=n(6063),p=n(736),d=n(2027),h=n(7891),m=n(6046);function f(e){if(null!==e)return e}t.TextDocuments=class{constructor(e){this._documents=Object.create(null),this._configuration=e,this._onDidChangeContent=new i.Emitter,this._onDidOpen=new i.Emitter,this._onDidClose=new i.Emitter,this._onDidSave=new i.Emitter,this._onWillSave=new i.Emitter}get onDidChangeContent(){return this._onDidChangeContent.event}get onDidOpen(){return this._onDidOpen.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._documents[e]}all(){return Object.keys(this._documents).map((e=>this._documents[e]))}keys(){return Object.keys(this._documents)}listen(e){e.__textDocumentSync=i.TextDocumentSyncKind.Full,e.onDidOpenTextDocument((e=>{let t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._documents[t.uri]=n;let i=Object.freeze({document:n});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)})),e.onDidChangeTextDocument((e=>{let t=e.textDocument,n=e.contentChanges;if(0===n.length)return;let i=this._documents[t.uri];const{version:r}=t;if(null==r)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);i=this._configuration.update(i,n,r),this._documents[t.uri]=i,this._onDidChangeContent.fire(Object.freeze({document:i}))})),e.onDidCloseTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&(delete this._documents[e.textDocument.uri],this._onDidClose.fire(Object.freeze({document:t})))})),e.onWillSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))})),e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._documents[e.textDocument.uri];return n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]})),e.onDidSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onDidSave.fire(Object.freeze({document:t}))}))}},t.ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(e){let t=this._messages[e];t||(t=0),t++,this._messages[e]=t}sendErrors(e){Object.keys(this._messages).forEach((t=>{e.window.showErrorMessage(t)}))}};class g{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(i.MessageType.Error,e)}warn(e){this.send(i.MessageType.Warning,e)}info(e){this.send(i.MessageType.Info,e)}log(e){this.send(i.MessageType.Log,e)}send(e,t){this._rawConnection&&this._rawConnection.sendNotification(i.LogMessageNotification.type,{type:e,message:t})}}const y=p.ShowDocumentFeature(o.ProgressFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...t){let n={type:i.MessageType.Error,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showWarningMessage(e,...t){let n={type:i.MessageType.Warning,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showInformationMessage(e,...t){let n={type:i.MessageType.Info,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}}));(t.BulkRegistration||(t.BulkRegistration={})).create=function(){return new _};class _{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const n=r.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const i=s.generateUuid();this._registrations.push({id:i,method:n,registerOptions:t||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}}(t.BulkUnregistration||(t.BulkUnregistration={})).create=function(){return new v(void 0,[])};class v{constructor(e,t){this._connection=e,this._unregistrations=new Map,t.forEach((e=>{this._unregistrations.set(e.method,e)}))}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let t of this._unregistrations.values())e.push(t);let t={unregisterations:e};this._connection.sendRequest(i.UnregistrationRequest.type,t).then(void 0,(e=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const t=r.string(e)?e:e.method,n=this._unregistrations.get(t);if(!n)return!1;let s={unregisterations:[n]};return this._connection.sendRequest(i.UnregistrationRequest.type,s).then((()=>{this._unregistrations.delete(t)}),(e=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)})),!0}}class T{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,t,n){return e instanceof _?this.registerMany(e):e instanceof v?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,t,n){const o=r.string(t)?t:t.method,a=s.generateUuid();let l={registrations:[{id:a,method:o,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(i.RegistrationRequest.type,l).then((t=>(e.add({id:a,method:o}),e)),(e=>(this.connection.console.info(`Registering request handler for ${o} failed.`),Promise.reject(e))))}registerSingle2(e,t){const n=r.string(e)?e:e.method,o=s.generateUuid();let a={registrations:[{id:o,method:n,registerOptions:t||{}}]};return this.connection.sendRequest(i.RegistrationRequest.type,a).then((e=>i.Disposable.create((()=>{this.unregisterSingle(o,n)}))),(e=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(e))))}unregisterSingle(e,t){let n={unregisterations:[{id:e,method:t}]};return this.connection.sendRequest(i.UnregistrationRequest.type,n).then(void 0,(t=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)}))}registerMany(e){let t=e.asRegistrationParams();return this.connection.sendRequest(i.RegistrationRequest.type,t).then((()=>new v(this._connection,t.registrations.map((e=>({id:e.id,method:e.method}))))),(e=>(this.connection.console.info("Bulk registration failed."),Promise.reject(e))))}}const b=d.FileOperationsFeature(l.WorkspaceFoldersFeature(a.ConfigurationFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){let t=(n=e)&&n.edit?e:{edit:e};var n;return this.connection.sendRequest(i.ApplyWorkspaceEditRequest.type,t)}})));class I{constructor(){this._trace=i.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,t){this._trace!==i.Trace.Off&&this.connection.sendNotification(i.LogTraceNotification.type,{message:e,verbose:this._trace===i.Trace.Verbose?t:void 0})}}class S{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(i.TelemetryEventNotification.type,e)}}class x{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return o.attachWorkDone(this.connection,e)}attachPartialResultProgress(e,t){return o.attachPartialResult(this.connection,t)}}t._LanguagesImpl=x;const C=m.MonikerFeature(h.LinkedEditingRangeFeature(u.SemanticTokensFeature(c.CallHierarchyFeature(x))));function w(e,t){return function(n){return t(e(n))}}function E(e,t){return function(n){return t(e(n))}}function k(e,t){return function(n){return t(e(n))}}function D(e,t){return function(n){return t(e(n))}}function A(e,t){return function(n){return t(e(n))}}function P(e,t){return function(n){return t(e(n))}}t.combineConsoleFeatures=w,t.combineTelemetryFeatures=E,t.combineTracerFeatures=k,t.combineClientFeatures=D,t.combineWindowFeatures=A,t.combineWorkspaceFeatures=P,t.combineLanguagesFeatures=function(e,t){return function(n){return t(e(n))}},t.combineFeatures=function(e,t){function n(e,t,n){return e&&t?n(e,t):e||t}return{__brand:"features",console:n(e.console,t.console,w),tracer:n(e.tracer,t.tracer,k),telemetry:n(e.telemetry,t.telemetry,E),client:n(e.client,t.client,D),window:n(e.window,t.window,A),workspace:n(e.workspace,t.workspace,P)}},t.createConnection=function(e,t,n){const s=n&&n.console?new(n.console(g)):new g,a=e(s);s.rawAttach(a);const l=n&&n.tracer?new(n.tracer(I)):new I,c=n&&n.telemetry?new(n.telemetry(S)):new S,u=n&&n.client?new(n.client(T)):new T,p=n&&n.window?new(n.window(y)):new y,d=n&&n.workspace?new(n.workspace(b)):new b,h=n&&n.languages?new(n.languages(C)):new C,m=[s,l,c,u,p,d,h];function f(e){return e instanceof Promise?e:r.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}let _,v,x,w={listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(r.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(e,t),sendNotification:(e,t)=>{const n=r.string(e)?e:e.method;1===arguments.length?a.sendNotification(n):a.sendNotification(n,t)},onNotification:(e,t)=>a.onNotification(e,t),onProgress:a.onProgress,sendProgress:a.sendProgress,onInitialize:e=>v=e,onInitialized:e=>a.onNotification(i.InitializedNotification.type,e),onShutdown:e=>_=e,onExit:e=>x=e,get console(){return s},get telemetry(){return c},get tracer(){return l},get client(){return u},get window(){return p},get workspace(){return d},get languages(){return h},onDidChangeConfiguration:e=>a.onNotification(i.DidChangeConfigurationNotification.type,e),onDidChangeWatchedFiles:e=>a.onNotification(i.DidChangeWatchedFilesNotification.type,e),__textDocumentSync:void 0,onDidOpenTextDocument:e=>a.onNotification(i.DidOpenTextDocumentNotification.type,e),onDidChangeTextDocument:e=>a.onNotification(i.DidChangeTextDocumentNotification.type,e),onDidCloseTextDocument:e=>a.onNotification(i.DidCloseTextDocumentNotification.type,e),onWillSaveTextDocument:e=>a.onNotification(i.WillSaveTextDocumentNotification.type,e),onWillSaveTextDocumentWaitUntil:e=>a.onRequest(i.WillSaveTextDocumentWaitUntilRequest.type,e),onDidSaveTextDocument:e=>a.onNotification(i.DidSaveTextDocumentNotification.type,e),sendDiagnostics:e=>a.sendNotification(i.PublishDiagnosticsNotification.type,e),onHover:e=>a.onRequest(i.HoverRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onCompletion:e=>a.onRequest(i.CompletionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCompletionResolve:e=>a.onRequest(i.CompletionResolveRequest.type,e),onSignatureHelp:e=>a.onRequest(i.SignatureHelpRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDeclaration:e=>a.onRequest(i.DeclarationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDefinition:e=>a.onRequest(i.DefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onTypeDefinition:e=>a.onRequest(i.TypeDefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onImplementation:e=>a.onRequest(i.ImplementationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onReferences:e=>a.onRequest(i.ReferencesRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentHighlight:e=>a.onRequest(i.DocumentHighlightRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentSymbol:e=>a.onRequest(i.DocumentSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onWorkspaceSymbol:e=>a.onRequest(i.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeAction:e=>a.onRequest(i.CodeActionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeActionResolve:e=>a.onRequest(i.CodeActionResolveRequest.type,((t,n)=>e(t,n))),onCodeLens:e=>a.onRequest(i.CodeLensRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeLensResolve:e=>a.onRequest(i.CodeLensResolveRequest.type,((t,n)=>e(t,n))),onDocumentFormatting:e=>a.onRequest(i.DocumentFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentRangeFormatting:e=>a.onRequest(i.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentOnTypeFormatting:e=>a.onRequest(i.DocumentOnTypeFormattingRequest.type,((t,n)=>e(t,n))),onRenameRequest:e=>a.onRequest(i.RenameRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onPrepareRename:e=>a.onRequest(i.PrepareRenameRequest.type,((t,n)=>e(t,n))),onDocumentLinks:e=>a.onRequest(i.DocumentLinkRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentLinkResolve:e=>a.onRequest(i.DocumentLinkResolveRequest.type,((t,n)=>e(t,n))),onDocumentColor:e=>a.onRequest(i.DocumentColorRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onColorPresentation:e=>a.onRequest(i.ColorPresentationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onFoldingRanges:e=>a.onRequest(i.FoldingRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onSelectionRanges:e=>a.onRequest(i.SelectionRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onExecuteCommand:e=>a.onRequest(i.ExecuteCommandRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),dispose:()=>a.dispose()};for(let e of m)e.attach(w);return a.onRequest(i.InitializeRequest.type,(e=>{t.initialize(e),r.string(e.trace)&&(l.trace=i.Trace.fromString(e.trace));for(let t of m)t.initialize(e.capabilities);if(v)return f(v(e,(new i.CancellationTokenSource).token,o.attachWorkDone(a,e),void 0)).then((e=>{if(e instanceof i.ResponseError)return e;let t=e;t||(t={capabilities:{}});let n=t.capabilities;n||(n={},t.capabilities=n),void 0===n.textDocumentSync||null===n.textDocumentSync?n.textDocumentSync=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None:r.number(n.textDocumentSync)||r.number(n.textDocumentSync.change)||(n.textDocumentSync.change=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None);for(let e of m)e.fillServerCapabilities(n);return t}));{let e={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let t of m)t.fillServerCapabilities(e.capabilities);return e}})),a.onRequest(i.ShutdownRequest.type,(()=>(t.shutdownReceived=!0,_?_((new i.CancellationTokenSource).token):void 0))),a.onNotification(i.ExitNotification.type,(()=>{try{x&&x()}finally{t.shutdownReceived?t.exit(0):t.exit(1)}})),a.onNotification(i.SetTraceNotification.type,(e=>{l.trace=i.Trace.fromString(e.value)})),w}},736:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentFeature=void 0;const i=n(2477);t.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(i.ShowDocumentRequest.type,e)}}},9079:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.thenable=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=i,t.array=r,t.stringArray=function(e){return r(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&i(e.then)}},5075:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateUuid=t.parse=t.isUUID=t.v4=t.empty=void 0;class n{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}}class i extends n{constructor(){super([i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-","4",i._randomHex(),i._randomHex(),i._randomHex(),"-",i._oneOf(i._timeHighBits),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return i._oneOf(i._chars)}}function r(){return new i}i._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],i._timeHighBits=["8","9","a","b"],t.empty=new n("00000000-0000-0000-0000-000000000000"),t.v4=r;const s=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function o(e){return s.test(e)}t.isUUID=o,t.parse=function(e){if(!o(e))throw new Error("invalid uuid");return new n(e)},t.generateUuid=function(){return r().asHex()}},1252:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=void 0;const i=n(2477);t.WorkspaceFoldersFeature=e=>class extends e{initialize(e){let t=e.workspace;t&&t.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new i.Emitter,this.connection.onNotification(i.DidChangeWorkspaceFoldersNotification.type,(e=>{this._onDidChangeWorkspaceFolders.fire(e.event)})))}getWorkspaceFolders(){return this.connection.sendRequest(i.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return this._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},6395:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"annotatedParamCountMismatch":"Parameter annotation count mismatch: expected {expected} but received {received}","annotatedTypeArgMissing":"Expected one type argument and one or more annotations for \\"Annotated\\"","annotationFormatString":"Type annotations cannot use format string literals (f-strings)","annotationNotSupported":"Type annotation not supported for this type of expression","annotationSpansStrings":"Type annotations cannot span multiple string literals","annotationStringEscape":"Type annotations cannot contain escape characters","argAssignment":"Argument of type \\"{argType}\\" cannot be assigned to parameter of type \\"{paramType}\\"","argAssignmentFunction":"Argument of type \\"{argType}\\" cannot be assigned to parameter of type \\"{paramType}\\" in function \\"{functionName}\\"","argAssignmentParam":"Argument of type \\"{argType}\\" cannot be assigned to parameter \\"{paramName}\\" of type \\"{paramType}\\"","argAssignmentParamFunction":"Argument of type \\"{argType}\\" cannot be assigned to parameter \\"{paramName}\\" of type \\"{paramType}\\" in function \\"{functionName}\\"","argMissingForParam":"Argument missing for parameter {name}","argMissingForParams":"Arguments missing for parameters {names}","argMorePositionalExpectedCount":"Expected {expected} more positional arguments","argMorePositionalExpectedOne":"Expected 1 more positional argument","argPositional":"Expected positional argument","argPositionalExpectedCount":"Expected {expected} positional arguments","argPositionalExpectedOne":"Expected 1 positional argument","argTypePartiallyUnknown":"Argument type is partially unknown","argTypeUnknown":"Argument type is unknown","assertAlwaysTrue":"Assert expression always evaluates to true","assignmentExprContext":"Assignment expression must be within module, function or lambda","assignmentExprComprehension":"Assignment expression target \\"{name}\\" cannot use same name as comprehension for target","assignmentInProtocol":"Instance or class variables within a Protocol class must be explicitly declared within the class body","assignmentExprInSubscript":"Assignment expressions within a subscript are supported only in Python 3.10 and newer","assignmentTargetExpr":"Expression cannot be assignment target","asyncNotInAsyncFunction":"Use of \\"async\\" not allowed outside of async function","awaitIllegal":"Use of \\"await\\" requires Python 3.5 or newer","awaitNotInAsync":"\\"await\\" allowed only within async function","backticksIllegal":"Expressions surrounded by backticks are not supported in Python 3.x; use repr instead","baseClassCircular":"Class cannot derive from itself","baseClassFinal":"Base class \\"{type}\\" is marked final and cannot be subclassed","baseClassInvalid":"Argument to class must be a base class","baseClassMethodTypeIncompatible":"Base classes for class \\"{classType}\\" define method \\"{name}\\" in incompatible way","baseClassUnknown":"Base class type is unknown, obscuring type of derived class","bindTypeMismatch":"Could not bind method \\"{methodName}\\" because \\"{type}\\" is not assignable to parameter \\"{paramName}\\"","booleanIsLowerCase":"\\"{name}\\" is not defined, did you mean \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" can be used only within a loop","callableExtraArgs":"Expected only two type arguments to \\"Callable\\"","callableFirstArg":"Expected parameter type list or \\"...\\"","callableSecondArg":"Expected return type as second type argument for \\"Callable\\"","casePatternIsIrrefutable":"Irrefutable pattern is allowed only for the last case statement","classAlreadySpecialized":"Type \\"{type}\\" is already specialized","classDecoratorTypeUnknown":"Untyped class decorator obscures type of class; ignoring decorator","classDefinitionCycle":"Class definition for \\"{name}\\" depends on itself","classGetItemClsParam":"__class_getitem__ override should take a \\"cls\\" parameter","classMethodClsParam":"Class methods should take a \\"cls\\" parameter","classNotRuntimeSubscriptable":"Subscript for class \\"{name}\\" will generate runtime exception; enclose type annotation in quotes","classPatternBuiltInArgCount":"Class pattern accepts at most 1 positional sub-pattern","classPatternBuiltInArgPositional":"Class pattern accepts only positional sub-pattern","classPatternTypeAlias":"\\"{type}\\" cannot be used in a class pattern because it is a specialized type alias","classVarNotAllowed":"\\"ClassVar\\" is not allowed in this context","classVarFirstArgMissing":"Expected a type argument after \\"ClassVar\\"","classVarOverridesInstanceVar":"Class variable \\"{name}\\" overrides instance variable of same name in class \\"{className}\\"","classVarTooManyArgs":"Expected only one type argument after \\"ClassVar\\"","classVarWithTypeVar":"\\"ClassVar\\" type cannot include type variables","clsSelfParamTypeMismatch":"Type of parameter \\"{name}\\" must be a supertype of its class \\"{classType}\\"","comparisonAlwaysFalse":"Condition will always evaluate to False since the types \\"{leftType}\\" and \\"{rightType}\\" have no overlap","comparisonAlwaysTrue":"Condition will always evaluate to True since the types \\"{leftType}\\" and \\"{rightType}\\" have no overlap","comprehensionInDict":"Comprehension cannot be used with other dictionary entries","comprehensionInSet":"Comprehension cannot be used with other set entries","concatenateParamSpecMissing":"Last type argument for \\"Concatenate\\" must be a ParamSpec","concatenateTypeArgsMissing":"\\"Concatenate\\" requires at least two type arguments","constantRedefinition":"\\"{name}\\" is constant (because it is uppercase) and cannot be redefined","constructorParametersMismatch":"Mismatch between signature of __new__ and __init__ in class \\"{classType}\\"","continueInFinally":"\\"continue\\" cannot be used within a finally clause","continueOutsideLoop":"\\"continue\\" can be used only within a loop","constructorNoArgs":"Expected no arguments to \\"{type}\\" constructor","dataClassBaseClassNotFrozen":"A frozen class cannot inherit from a class that is not frozen","dataClassFieldWithDefault":"Fields without default values cannot appear after fields with default values","dataClassPostInitParamCount":"Dataclass __post_init__ incorrect parameter count; number of InitVar fields is {expected}","dataClassPostInitType":"Dataclass __post_init__ method parameter type mismatch for field \\"{fieldName}\\"","dataClassSlotsOverwrite":"__slots__ is already defined in class","dataClassTransformExpectedBoolLiteral":"Expected expression that statically evaluates to True or False","dataClassTransformFieldDescriptor":"Expected tuple of classes or functions but received type \\"{type}\\"","dataClassTransformPositionalParam":"All arguments to \\"dataclass_transform\\" must be keyword arguments","dataClassTransformUnknownArgument":"Argument \\"{name}\\" is not supported by dataclass_transform","declaredReturnTypePartiallyUnknown":"Declared return type, \\"{returnType}\\", is partially unknown","declaredReturnTypeUnknown":"Declared return type is unknown","defaultValueContainsCall":"Function calls and mutable objects not allowed within parameter default value expression","defaultValueNotAllowed":"Parameter with \\"*\\" or \\"**\\" cannot have default value","defaultValueNotEllipsis":"Default values in stub files should be specified as \\"...\\"","deprecatedType":"This type is deprecated as of Python {version}; use \\"{replacement}\\" instead","delTargetExpr":"Expression cannot be deleted","dictExpandIllegalInComprehension":"Dictionary expansion not allowed in comprehension","dictInAnnotation":"Dictionary expression not allowed in type annotation","dictKeyValuePairs":"Dictionary entries must contain key/value pairs","dictUnpackIsNotMapping":"Expected mapping for dictionary unpack operator","dunderAllSymbolNotPresent":"\\"{name}\\" is specified in __all__ but is not present in module","duplicateArgsParam":"Only one \\"*\\" parameter allowed","duplicateBaseClass":"Duplicate base class not allowed","duplicateCatchAll":"Only one catch-all except clause allowed","duplicateEnumMember":"Enum member \\"{name}\\" is already declared","duplicateImport":"\\"{importName}\\" is imported more than once","duplicateKwargsParam":"Only one \\"**\\" parameter allowed","duplicateKeywordOnly":"Only one \\"*\\" separator allowed","duplicateParam":"Duplicate parameter \\"{name}\\"","duplicateCapturePatternTarget":"Capture target \\"{name}\\" cannot appear more than once within the same pattern","duplicateStarPattern":"Only one \\"*\\" pattern allowed in a pattern sequence","duplicateStarStarPattern":"Only one \\"**\\" entry allowed","duplicatePositionOnly":"Only one \\"/\\" parameter allowed","duplicateUnpack":"Only one unpack operation allowed in list","ellipsisContext":"\\"...\\" not allowed in this context","ellipsisSecondArg":"\\"...\\" allowed only as the second of two arguments","enumClassOverride":"Enum class \\"{name}\\" is final and cannot be subclassed","exceptionGroupIncompatible":"Exception group syntax (\\"except*\\") requires Python 3.11 or newer","exceptionTypeIncorrect":"\\"{type}\\" does not derive from BaseException","exceptionTypeNotClass":"\\"{type}\\" is not valid exception class","exceptionTypeNotInstantiable":"Constructor for exception type \\"{type}\\" requires one or more arguments","expectedAfterDecorator":"Expected function or class declaration after decorator","expectedArrow":"Expected \\"->\\" followed by return type annotation","expectedAsAfterException":"Expected \\"as\\" after exception type","expectedAssignRightHandExpr":"Expected expression to the right of \\"=\\"","expectedBinaryRightHandExpr":"Expected expression to the right of operator","expectedBoolLiteral":"Expected True or False","expectedCase":"Expected \\"case\\" statement","expectedClassName":"Expected class name","expectedCloseBrace":"\\"{\\" was not closed","expectedCloseBracket":"\\"[\\" was not closed","expectedCloseParen":"\\"(\\" was not closed","expectedColon":"Expected \\":\\"","expectedComplexNumberLiteral":"Expected complex number literal for pattern matching","expectedDecoratorExpr":"Expression form not supported for decorator prior to Python 3.9","expectedDecoratorName":"Expected decorator name","expectedDecoratorNewline":"Expected new line at end of decorator","expectedDelExpr":"Expected expression after \\"del\\"","expectedElse":"Expected \\"else\\"","expectedEqualityOperator":"Expected equality operator, did you mean \\"==\\"?","expectedExceptionClass":"Invalid exception class or object","expectedExceptionObj":"Expected exception object, exception class or None","expectedExpr":"Expected expression","expectedIdentifier":"Expected identifier","expectedImport":"Expected \\"import\\"","expectedImportAlias":"Expected symbol after \\"as\\"","expectedImportSymbols":"Expected one or more symbol names after import","expectedIndentedBlock":"Expected indented block","expectedInExpr":"Expected expression after \\"in\\"","expectedIn":"Expected \\"in\\"","expectedFunctionAfterAsync":"Expected function definition after \\"async\\"","expectedFunctionName":"Expected function name after \\"def\\"","expectedMemberName":"Expected member name after \\".\\"","expectedModuleName":"Expected module name","expectedNameAfterAs":"Expected symbol name after \\"as\\"","expectedNamedParameter":"Keyword parameter must follow \\"*\\"","expectedNewline":"Expected newline","expectedNewlineOrSemicolon":"Statements must be separated by newlines or semicolons","expectedOpenParen":"Expected \\"(\\"","expectedParamName":"Expected parameter name","expectedPatternExpr":"Expected pattern expression","expectedPatternSubjectExpr":"Expected pattern subject expression","expectedPatternValue":"Expected pattern value expression of the form \\"a.b\\"","expectedReturnExpr":"Expected expression after \\"return\\"","expectedSliceIndex":"Expected index or slice expression","expectedTypeNotString":"Expected type but received a string literal","expectedYieldExpr":"Expected expression in yield statement","finalClassIsAbstract":"Class \\"{type}\\" is marked final and must implement all abstract methods","finalContext":"\\"Final\\" not allowed in this context","finalMethodOverride":"Method \\"{name}\\" cannot override final method defined in class \\"{className}\\"","finalReassigned":"\\"{name}\\" is declared as Final and cannot be reassigned","finalRedeclaration":"\\"{name}\\" was previously declared as Final","finalRedeclarationBySubclass":"\\"{name}\\" cannot be redeclared because parent class \\"{className}\\" declares it as Final","finalTooManyArgs":"Expected a single type argument after \\"Final\\"","finalUnassigned":"\\"{name}\\" is declared Final, but value is not assigned","formatStringBrace":"Single close brace not allowed within f-string literal; use double close brace","formatStringBytes":"Format string literals (f-strings) cannot be binary","formatStringEscape":"Escape sequence (backslash) not allowed in expression portion of f-string","formatStringInPattern":"Format string not allowed in pattern","formatStringUnicode":"Format string literals (f-strings) cannot be unicode","formatStringIllegal":"Format string literals (f-strings) require Python 3.6 or newer","formatStringUnterminated":"Unterminated expression in f-string; missing close brace","functionDecoratorTypeUnknown":"Untyped function decorator obscures type of function; ignoring decorator","generatorAsyncReturnType":"Return type of async generator function must be \\"AsyncGenerator\\" or \\"AsyncIterable\\"","generatorNotParenthesized":"Generator expressions must be parenthesized if not sole argument","generatorSyncReturnType":"Return type of generator function must be \\"Generator\\" or \\"Iterable\\"","genericClassAssigned":"Generic class type cannot be assigned","genericClassDeleted":"Generic class type cannot be deleted","genericNotAllowed":"\\"Generic\\" is not valid in this context","genericTypeAliasBoundTypeVar":"Generic type alias within class cannot use bound type variables {names}","genericTypeArgMissing":"\\"Generic\\" requires at least one type argument","genericTypeArgTypeVar":"Type argument for \\"Generic\\" must be a type variable","genericTypeArgUnique":"Type arguments for \\"Generic\\" must be unique","globalReassignment":"\\"{name}\\" is assigned before global declaration","globalRedefinition":"\\"{name}\\" was already declared global","implicitStringConcat":"Implicit string concatenation not allowed","importCycleDetected":"Cycle detected in import chain","importDepthExceeded":"Import chain depth exceeded {depth}","importResolveFailure":"Import \\"{importName}\\" could not be resolved","importSourceResolveFailure":"Import \\"{importName}\\" could not be resolved from source","importSymbolUnknown":"\\"{name}\\" is unknown import symbol in module \\"{moduleName}\\"","incompatibleMethodOverride":"Method \\"{name}\\" overrides class \\"{className}\\" in an incompatible manner","inconsistentIndent":"Unindent amount does not match previous indent","initMustReturnNone":"Return type of \\"__init__\\" must be None","inconsistentTabs":"Inconsistent use of tabs and spaces in indentation","initSubclassClsParam":"__init_subclass__ override should take a \\"cls\\" parameter","instanceMethodSelfParam":"Instance methods should take a \\"self\\" parameter","instanceVarOverridesClassVar":"Instance variable \\"{name}\\" overrides class variable of same name in class \\"{className}\\"","instantiateAbstract":"Cannot instantiate abstract class \\"{type}\\"","instantiateProtocol":"Cannot instantiate protocol class \\"{type}\\"","internalBindError":"An internal error occurred while binding file \\"{file}\\": {message}","internalParseError":"An internal error occurred while parsing file \\"{file}\\": {message}","internalTypeCheckingError":"An internal error occurred while type checking file \\"{file}\\": {message}","invalidIdentifierChar":"Invalid character in identifier","invalidStubStatement":"Statement is meaningless within a type stub file","invalidTokenChars":"Invalid character \\"{text}\\" in token","isInstanceInvalidType":"Second argument to \\"isinstance\\" must be a class or tuple of classes","isSubclassInvalidType":"Second argument to \\"issubclass\\" must be a class or tuple of classes","keyValueInSet":"Key/value pairs are not allowed within a set","keywordArgInTypeArgument":"Keyword arguments cannot be used in type argument lists","keywordOnlyAfterArgs":"Keyword-only argument separator not allowed after \\"*\\" parameter","keywordSubscriptIllegal":"Keyword arguments within subscripts are not supported","lambdaReturnTypeUnknown":"Return type of lambda is unknown","lambdaReturnTypePartiallyUnknown":"Return type of lambda, \\"{returnType}\\", is partially unknown","listAssignmentMismatch":"Expression with type \\"{type}\\" cannot be assigned to target list","listInAnnotation":"List expression not allowed in type annotation","literalUnsupportedType":"Type arguments for \\"Literal\\" must be None, a literal value (int, bool, str, or bytes), or an enum value","literalEmptyArgs":"Expected one or more type arguments after \\"Literal\\"","literalNotCallable":"Literal type cannot be instantiated","matchIncompatible":"Match statements require Python 3.10 or newer","matchIsNotExhaustive":"Cases within match statement do not exhaustively handle all values","maxParseDepthExceeded":"Maximum parse depth exceeded; break expression into smaller sub-expressions","memberAccess":"Cannot access member \\"{name}\\" for type \\"{type}\\"","memberDelete":"Cannot delete member \\"{name}\\" for type \\"{type}\\"","memberSet":"Cannot assign member \\"{name}\\" for type \\"{type}\\"","metaclassConflict":"The metaclass of a derived class must be a subclass of the metaclasses of all its base classes","metaclassDuplicate":"Only one metaclass can be provided","metaclassIsGeneric":"Metaclass cannot be generic","methodNotDefined":"\\"{name}\\" method not defined","methodNotDefinedOnType":"\\"{name}\\" method not defined on type \\"{type}\\"","methodOrdering":"Cannot create consistent method ordering","methodOverridden":"\\"{name}\\" overrides method of same name in class \\"{className}\\" with incompatible type \\"{type}\\"","methodReturnsNonObject":"\\"{name}\\" method does not return an object","missingProtocolMembers":"Class derives from one or more protocol classes but does not implement all required members","missingSuperCall":"Method \\"{methodName}\\" does not call the method of the same name in parent class","moduleAsType":"Module cannot be used as a type","moduleNotCallable":"Module is not callable","moduleUnknownMember":"\\"{name}\\" is not a known member of module \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","namedExceptAfterCatchAll":"A named except clause cannot appear after catch-all except clause","namedParamAfterParamSpecArgs":"Keyword parameter \\"{name}\\" cannot appear in signature after ParamSpec args parameter","namedTupleEmptyName":"Names within a named tuple cannot be empty","namedTupleMultipleInheritance":"Multiple inheritance with NamedTuple is not supported","namedTupleFirstArg":"Expected named tuple class name as first argument","namedTupleNameType":"Expected two-entry tuple specifying entry name and type","namedTupleNameUnique":"Names within a named tuple must be unique","namedTupleNoTypes":"\\"namedtuple\\" provides no types for tuple entries; use \\"NamedTuple\\" instead","namedTupleSecondArg":"Expected named tuple entry list as second argument","newClsParam":"__new__ override should take a \\"cls\\" parameter","newTypeLiteral":"NewType cannot be used with Literal type","newTypeNotAClass":"Expected class as second argument to NewType","newTypeProtocolClass":"NewType cannot be used with protocol class","nonDefaultAfterDefault":"Non-default argument follows default argument","noneNotCallable":"Object of type \\"None\\" cannot be called","noneNotIterable":"Object of type \\"None\\" cannot be used as iterable value","noneOperator":"Operator \\"{operator}\\" not supported for \\"None\\"","noneNotSubscriptable":"Object of type \\"None\\" is not subscriptable","noneNotUsableWith":"Object of type \\"None\\" cannot be used with \\"with\\"","noneUnknownMember":"\\"{name}\\" is not a known member of \\"None\\"","nonLocalNoBinding":"No binding for nonlocal \\"{name}\\" found","nonLocalReassignment":"\\"{name}\\" is assigned before nonlocal declaration","nonLocalRedefinition":"\\"{name}\\" was already declared nonlocal","nonLocalInModule":"Nonlocal declaration not allowed at module level","noOverload":"No overloads for \\"{name}\\" match the provided arguments","noReturnContainsReturn":"Function with declared return type \\"NoReturn\\" cannot include a return statement","noReturnContainsYield":"Function with declared return type \\"NoReturn\\" cannot include a yield statement","noReturnReturnsNone":"Function with declared type of \\"NoReturn\\" cannot return \\"None\\"","notRequiredArgCount":"Expected a single type argument after \\"NotRequired\\"","notRequiredNotInTypedDict":"\\"NotRequired\\" is not allowed in this context","objectNotCallable":"Object of type \\"{type}\\" is not callable","obscuredClassDeclaration":"Class declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredFunctionDeclaration":"Function declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredMethodDeclaration":"Method declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredParameterDeclaration":"Parameter declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredVariableDeclaration":"Declaration \\"{name}\\" is obscured by a declaration of the same name","operatorLessOrGreaterDeprecated":"Operator \\"<>\\" is not supported in Python 3; use \\"!=\\" instead","optionalExtraArgs":"Expected one type argument after \\"Optional\\"","orPatternIrrefutable":"Irrefutable pattern allowed only as the last subpattern in an \\"or\\" pattern","orPatternMissingName":"All subpatterns within an \\"or\\" pattern must target the same names","overlappingOverload":"Overload {obscured} for \\"{name}\\" will never be used because its parameters overlap overload {obscuredBy}","overloadAbstractMismatch":"Overloaded methods must all be abstract or not","overloadImplementationMismatch":"Overloaded function implementation is not consistent with signature of overload {index}","overloadReturnTypeMismatch":"Overload {prevIndex} for \\"{name}\\" overlaps overload {newIndex} and returns an incompatible type","overloadWithImplementation":"\\"{name}\\" is marked as overload, but it includes an implementation","overloadWithoutImplementation":"\\"{name}\\" is marked as overload, but no implementation is provided","paramAfterKwargsParam":"Parameter cannot follow \\"**\\" parameter","paramAlreadyAssigned":"Parameter \\"{name}\\" is already assigned","paramAnnotationMissing":"Type annotation is missing for parameter \\"{name}\\"","paramNameMissing":"No parameter named \\"{name}\\"","paramSpecArgsKwargsUsage":"\\"args\\" and \\"kwargs\\" members of ParamSpec must both appear within a function signature","paramSpecArgsUsage":"\\"args\\" member of ParamSpec is valid only when used with *args parameter","paramSpecAssignedName":"ParamSpec must be assigned to a variable named \\"{name}\\"","paramSpecContext":"ParamSpec not allowed in this context","paramSpecFirstArg":"Expected name of ParamSpec as first argument","paramSpecKwargsUsage":"\\"kwargs\\" member of ParamSpec is valid only when used with **kwargs parameter","paramSpecNotBound":"Param spec \\"{type}\\" has no bound value","paramSpecNotUsedByOuterScope":"ParamSpec \\"{name}\\" has no meaning in this context","paramSpecUnknownArg":"ParamSpec does not support more than one argument","paramSpecUnknownMember":"\\"{name}\\" is not a known member of ParamSpec","paramSpecUnknownParam":"\\"{name}\\" is unknown parameter to ParamSpec","paramAssignmentMismatch":"Expression of type \\"{sourceType}\\" cannot be assigned to parameter of type \\"{paramType}\\"","paramTypeCovariant":"Covariant type variable cannot be used in parameter type","paramTypeUnknown":"Type of parameter \\"{paramName}\\" is unknown","paramTypePartiallyUnknown":"Type of parameter \\"{paramName}\\" is partially unknown","parenthesizedContextManagerIllegal":"Parentheses within \\"with\\" statement requires Python 3.9 or newer","positionArgAfterNamedArg":"Positional argument cannot appear after keyword arguments","privateImportFromPyTypedModule":"\\"{name}\\" is not exported from module \\"{module}\\"","positionOnlyAfterArgs":"Position-only argument separator not allowed after \\"*\\" parameter","positionOnlyAfterKeywordOnly":"\\"/\\" parameter must appear before \\"*\\" parameter","positionOnlyIncompatible":"Position-only argument separator requires Python 3.8 or newer","positionOnlyFirstParam":"Position-only argument separator not allowed as first parameter","privateUsedOutsideOfClass":"\\"{name}\\" is private and used outside of the class in which it is declared","privateUsedOutsideOfModule":"\\"{name}\\" is private and used outside of the module in which it is declared","propertyOverridden":"\\"{name}\\" incorrectly overrides property of same name in class \\"{className}\\"","propertyStaticMethod":"Static methods not allowed for property getter, setter or deleter","protectedUsedOutsideOfClass":"\\"{name}\\" is protected and used outside of the class in which it is declared","protocolBaseClass":"Protocol class \\"{classType}\\" cannot derive from non-protocol class \\"{baseType}\\"","protocolIllegal":"Use of \\"Protocol\\" requires Python 3.7 or newer","protocolMemberNotClassVar":"Protocol class \\"{className}\\" does not define \\"{memberName}\\" as a ClassVar","protocolNotAllowedInTypeArgument":"\\"Protocol\\" cannot be used as a type argument","protocolVarianceContravariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be contravariant","protocolVarianceCovariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be covariant","protocolVarianceInvariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be invariant","protocolUsedInCall":"Protocol class cannot be used in \\"{name}\\" call","relativeImportNotAllowed":"Relative imports cannot be used with \\"import .a\\" form; use \\"from . import a\\" instead","recursiveDefinition":"Type of \\"{name}\\" could not be determined because it refers to itself","requiredArgCount":"Expected a single type argument after \\"Required\\"","requiredNotInTypedDict":"\\"Required\\" is not allowed in this context","returnOutsideFunction":"\\"return\\" can be used only within a function","returnMissing":"Function with declared type of \\"{returnType}\\" must return value","returnTypeContravariant":"Contravariant type variable cannot be used in return type","returnTypeMismatch":"Expression of type \\"{exprType}\\" cannot be assigned to return type \\"{returnType}\\"","returnTypeUnknown":"Return type is unknown","returnTypePartiallyUnknown":"Return type, \\"{returnType}\\", is partially unknown","revealLocalsArgs":"Expected no arguments for \\"reveal_locals\\" call","revealLocalsNone":"No locals in this scope","revealTypeArgs":"Expected a single positional argument for \\"reveal_type\\" call","revealTypeExpectedTextArg":"The \\"expected_text\\" argument for function \\"reveal_type\\" must be a str literal value","revealTypeExpectedTextMismatch":"Type text mismatch; expected \\"{expected}\\" but received \\"{received}\\"","revealTypeExpectedTypeMismatch":"Type mismatch; expected \\"{expected}\\" but received \\"{received}\\"","selfTypeContext":"\\"Self\\" is not valid in this context","selfTypeWithTypedSelfOrCls":"\\"Self\\" cannot be used in a function with a `self` or `cls` parameter that has a type annotation other than \\"Self\\"","setterGetterTypeMismatch":"Property setter value type is not assignable to the getter return type","singleOverload":"\\"{name}\\" is marked as overload, but additional overloads are missing","slotsAttributeError":"\\"{name}\\" is not specified in __slots__","slotsClassVarConflict":"\\"{name}\\" conflicts with instance variable declared in __slots__","starPatternInAsPattern":"Star pattern cannot be used with \\"as\\" target","starPatternInOrPattern":"Star pattern cannot be ORed within other patterns","starStarWildcardNotAllowed":"** cannot be used with wildcard \\"_\\"","staticClsSelfParam":"Static methods should not take a \\"self\\" or \\"cls\\" parameter","strictTypeGuardReturnType":"Return type of StrictTypeGuard (\\"{returnType}\\") is not assignable to value parameter type (\\"{type}\\")","stringNonAsciiBytes":"Non-ASCII character not allowed in bytes string literal","stringNotSubscriptable":"String expression cannot be subscripted in type annotation; enclose entire annotation in quotes","stringUnsupportedEscape":"Unsupported escape sequence in string literal","stringUnterminated":"String literal is unterminated","stubFileMissing":"Stub file not found for \\"{importName}\\"","stubUsesGetAttr":"Type stub file is incomplete; \\"__getattr__\\" obscures type errors for module","sublistParamsIncompatible":"Sublist parameters are not supported in Python 3.x","superCallArgCount":"Expected no more than two arguments to \\"super\\" call","superCallFirstArg":"Expected class type as first argument to \\"super\\" call but received \\"{type}\\"","superCallSecondArg":"Second argument to \\"super\\" call must be object or class that derives from \\"{type}\\"","superCallZeroArgForm":"Zero-argument form of \\"super\\" call is valid only within a class","symbolIsUnbound":"\\"{name}\\" is unbound","symbolIsUndefined":"\\"{name}\\" is not defined","symbolIsPossiblyUnbound":"\\"{name}\\" is possibly unbound","symbolOverridden":"\\"{name}\\" overrides symbol of same name in class \\"{className}\\"","totalOrderingMissingMethod":"Class must define one of \\"__lt__\\", \\"__le__\\", \\"__gt__\\", or \\"__ge__\\" to use total_ordering","trailingCommaInFromImport":"Trailing comma not allowed without surrounding parentheses","tryWithoutExcept":"Try statement must have at least one except or finally clause","tupleAssignmentMismatch":"Expression with type \\"{type}\\" cannot be assigned to target tuple","tupleInAnnotation":"Tuple expression not allowed in type annotation","tupleIndexOutOfRange":"Index {index} is out of range for type {type}","typeAliasIsRecursiveDirect":"Type alias \\"{name}\\" cannot use itself in its definition","typeAliasIsRecursiveIndirect":"Type alias \\"{name}\\" cannot refer to itself indirectly in its definition","typeAliasNotInModuleOrClass":"A TypeAlias can be defined only within a module or class scope","typeAliasRedeclared":"\\"{name}\\" is declared as a TypeAlias and can be assigned only once","typeArgListExpected":"Expected ParamSpec, ellipsis, or list of types","typeArgListNotAllowed":"List expression not allowed for this type argument","typeAnnotationCall":"Illegal type annotation: call expression not allowed","typeAnnotationVariable":"Illegal type annotation: variable not allowed unless it is a type alias","typeArgsExpectingNone":"Expected no type arguments for class \\"{name}\\"","typeArgsMismatchOne":"Expected one type argument but received {received}","typeArgsMissingForAlias":"Expected type arguments for generic type alias \\"{name}\\"","typeArgsMissingForClass":"Expected type arguments for generic class \\"{name}\\"","typeArgsTooFew":"Too few type arguments provided for \\"{name}\\"; expected {expected} but received {received}","typeArgsTooMany":"Too many type arguments provided for \\"{name}\\"; expected {expected} but received {received}","typeAssignmentMismatch":"Expression of type \\"{sourceType}\\" cannot be assigned to declared type \\"{destType}\\"","typeCallNotAllowed":"type() call should not be used in type annotation","typedDictAccess":"Could not access item in TypedDict","typedDictBadVar":"TypedDict classes can contain only type annotations","typedDictBaseClass":"All base classes for \\"TypedDict\\" classes must also be \\"TypedDict\\" classes","typedDictDelete":"Could not delete item in TypedDict","typedDictEmptyName":"Names within a TypedDict cannot be empty","typedDictEntryName":"Expected string literal for dictionary entry name","typedDictEntryUnique":"Names within a dictionary must be unique","typedDictExtraArgs":"Extra TypedDict arguments not supported","typedDictFieldRedefinition":"Type of TypedDict field \\"{name}\\" cannot be redefined","typedDictFirstArg":"Expected TypedDict class name as first argument","typedDictSecondArgDict":"Expected dict or keyword parameter as second parameter","typedDictSecondArgDictEntry":"Expected simple dictionary entry","typedDictSet":"Could not assign item in TypedDict","typedDictTotalParam":"Expected \\"total\\" parameter to have a value of True or False","typeExpectedClass":"Expected class type but received \\"{type}\\"","typeGuardArgCount":"Expected a single type argument after \\"TypeGuard\\"","typeNotAwaitable":"\\"{type}\\" is not awaitable","typeNotCallable":"\\"{expression}\\" has type \\"{type}\\" and is not callable","typeNotIntantiable":"\\"{type}\\" cannot be instantiated","typeNotIterable":"\\"{type}\\" is not iterable","typeNotSpecializable":"Could not specialize type \\"{type}\\"","typeNotSubscriptable":"Object of type \\"{type}\\" is not subscriptable","typeNotUsableWith":"Object of type \\"{type}\\" cannot be used with \\"with\\" because it does not implement {method}","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" not supported for types \\"{leftType}\\" and \\"{rightType}\\"","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" not supported for types \\"{leftType}\\" and \\"{rightType}\\" when expected type is \\"{expectedType}\\"","typeNotSupportUnaryOperator":"Operator \\"{operator}\\" not supported for type \\"{type}\\"","typeNotSupportUnaryOperatorBidirectional":"Operator \\"{operator}\\" not supported for type \\"{type}\\" when expected type is \\"{expectedType}\\"","typePartiallyUnknown":"Type of \\"{name}\\" is partially unknown","typeUnknown":"Type of \\"{name}\\" is unknown","typeVarAssignedName":"TypeVar must be assigned to a variable named \\"{name}\\"","typeVarAssignmentMismatch":"Type \\"{type}\\" cannot be assigned to type variable \\"{name}\\"","typeVarBoundAndConstrained":"TypeVar cannot be both bound and constrained","typeVarFirstArg":"Expected name of TypeVar as first argument","typeVarGeneric":"TypeVar bound type cannot be generic","typeVarNoMember":"TypeVar \\"{type}\\" has no member \\"{name}\\"","typeVarNotSubscriptable":"TypeVar \\"{type}\\" is not subscriptable","typeVarNotUsedByOuterScope":"Type variable \\"{name}\\" has no meaning in this context","typeVarSingleConstraint":"TypeVar cannot have only a single constraint","typeVarsNotInGeneric":"Generic[] must include all type variables","typeVarTupleContext":"TypeVarTuple not allowed in this context","typeVarTupleMustBeUnpacked":"Unpack operator is required for TypeVarTuple value","typeVarUnknownParam":"\\"{name}\\" is unknown parameter to TypeVar","typeVarUsedByOuterScope":"TypeVar \\"{name}\\" is already in use by an outer scope","typeVarUsedOnlyOnce":"TypeVar \\"{name}\\" appears only once in generic function signature","typeVarVariance":"TypeVar cannot be both covariant and contravariant","unaccessedClass":"Class \\"{name}\\" is not accessed","unaccessedFunction":"Function \\"{name}\\" is not accessed","unaccessedImport":"Import \\"{name}\\" is not accessed","unaccessedSymbol":"\\"{name}\\" is not accessed","unaccessedVariable":"Variable \\"{name}\\" is not accessed","unexpectedAsyncToken":"Expected \\"def\\", \\"with\\" or \\"for\\" to follow \\"async\\"","unexpectedExprToken":"Unexpected token at end of expression","unexpectedIndent":"Unexpected indentation","unexpectedUnindent":"Unindent not expected","unionSyntaxIllegal":"Alternative syntax for unions requires Python 3.10 or newer","unionTypeArgCount":"Union requires two or more type arguments","uninitializedInstanceVariable":"Instance variable \\"{name}\\" is not initialized in the class body or __init__ method","unnecessaryCast":"Unnecessary \\"cast\\" call; type is already \\"{type}\\"","unnecessaryIsInstanceAlways":"Unnecessary isinstance call; \\"{testType}\\" is always an instance of \\"{classType}\\"","unnecessaryIsSubclassAlways":"Unnecessary issubclass call; \\"{testType}\\" is always a subclass of \\"{classType}\\"","unnecessaryTypeIgnore":"Unnecessary \'# type ignore\' comment","unpackArgCount":"Expected a single type argument after \\"Unpack\\"","unpackedArgInTypeArgument":"Unpacked arguments cannot be used in type argument lists","unpackedArgWithVariadicParam":"Unpacked argument cannot be used for TupleTypeVar parameter","unpackedDictArgumentNotMapping":"Argument expression after ** must be a mapping with a \\"str\\" key type","unpackedSubscriptIllegal":"Unpack operator in subscript requires Python 3.11 or newer","unpackedTypedDictArgument":"Unable to match unpacked TypedDict argument to parameters","unpackedTypeVarTupleExpected":"Expected unpacked TypeVarTuple; use Unpack[{name1}] or *{name2}","unpackExpectedTypedDict":"Expected TypedDict type argument for Unpack","unpackExpectedTypeVarTuple":"Expected TypeVarTuple or Tuple as type argument for Unpack","unpackIllegalInComprehension":"Unpack operation not allowed in comprehension","unpackInAnnotation":"Unpack operator not allowed in type annotation","unpackInDict":"Unpack operation not allowed in dictionaries","unpackInSet":"Unpack operator not allowed within a set","unpackNotAllowed":"Unpack not allowed in this context","unpackOperatorNotAllowed":"Unpack operation not allowed in this context","unpackTuplesIllegal":"Unpack operation not allowed in tuples prior to Python 3.8","unreachableCode":"Code is unreachable","unreachableExcept":"Except clause is unreachable because exception is already handled","unsupportedDunderAllOperation":"Operation on \\"__all__\\" is not supported, so exported symbol list may be incorrect","unusedCallResult":"Result of call expression is of type \\"{type}\\" and is not used; assign to variable \\"_\\" if this is intentional","unusedCoroutine":"Result of async function call is not used; use \\"await\\" or assign result to variable","varAnnotationIllegal":"Type annotations for variables requires Python 3.6 or newer; use type comment for compatibility with previous versions","variadicTypeArgsTooMany":"Type argument list can have at most one unpacked TypeVarTuple or Tuple","variadicTypeParamTooManyAlias":"Type alias can have at most one TypeVarTuple type parameter but received multiple ({names})","variadicTypeParamTooManyClass":"Generic class can have at most one TypeVarTuple type parameter but received multiple ({names})","walrusIllegal":"Operator \\":=\\" requires Python 3.8 or newer","walrusNotAllowed":"Operator \\":=\\" not allowed in this context","wildcardInFunction":"Wildcard import not allowed within a class or function","wildcardLibraryImport":"Wildcard import from a library not allowed","yieldFromIllegal":"Use of \\"yield from\\" requires Python 3.3 or newer","yieldFromOutsideAsync":"\\"yield from\\" not allowed in an async function","yieldOutsideFunction":"\\"yield\\" not allowed outside of a function or lambda","yieldTypeMismatch":"Expression of type \\"{exprType}\\" cannot be assigned to yield type \\"{yieldType}\\"","yieldWithinListCompr":"\\"yield\\" not allowed inside a list comprehension","zeroCaseStatementsFound":"Match statement must include at least one case statement","zeroLengthTupleNotAllowed":"Zero-length tuple not allowed in this context"},"DiagnosticAddendum":{"argParam":"Argument corresponds to parameter \\"{paramName}\\"","argParamFunction":"Argument corresponds to parameter \\"{paramName}\\" in function \\"{functionName}\\"","argsParamMissing":"Parameter \\"*{paramName}\\" has no corresponding parameter","argsPositionOnly":"Position-only parameter mismatch; expected {expected} but received {received}","argumentType":"Argument type is \\"{type}\\"","argumentTypes":"Argument types: ({types})","assignToNone":"Type cannot be assigned to type \\"None\\"","asyncHelp":"Did you mean \\"async with\\"?","baseClassProvidesType":"Base class \\"{baseClass}\\" provides type \\"{type}\\"","dataClassFieldLocation":"Field declaration","dataClassFrozen":"\\"{name}\\" is frozen","finalMethod":"Final method","keyNotRequired":"\\"{name}\\" is not a required key in \\"{type}\\", so access may result in runtime exception","keyRequiredDeleted":"\\"{name}\\" is a required key and cannot be deleted","keyUndefined":"\\"{name}\\" is not a defined key in \\"{type}\\"","functionParamDefaultMissing":"Parameter \\"{name}\\" is missing default argument","functionParamName":"Parameter name mismatch: \\"{destName}\\" versus \\"{srcName}\\"","functionReturnTypeMismatch":"Function return type \\"{sourceType}\\" is incompatible with type \\"{destType}\\"","functionTooFewParams":"Function accepts too few positional parameters; expected {expected} but received {received}","functionTooManyParams":"Function accepts too many positional parameters; expected {expected} but received {received}","incompatibleGetter":"Property getter method is incompatible","incompatibleSetter":"Property setter method is incompatible","initMethodLocation":"The __init__ method is defined in class \\"{type}\\"","incompatibleDeleter":"Property deleter method is incompatible","initMethodSignature":"Signature of __init__ is \\"{type}\\"","kwargsParamMissing":"Parameter \\"**{paramName}\\" has no corresponding parameter","listAssignmentMismatch":"Type \\"{type}\\" is incompatible with target list","literalAssignmentMismatch":"\\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","matchIsNotExhaustiveType":"Unhandled type: \\"{type}\\"","matchIsNotExhaustiveHint":"If exhaustive handling is not intended, add \\"case _: pass\\"","memberSetClassVar":"Member \\"{name}\\" cannot be assigned through a class instance because it is a ClassVar","memberAssignment":"Expression of type \\"{type}\\" cannot be assigned to member \\"{name}\\" of class \\"{classType}\\"","memberIsAbstract":"\\"{type}.{name}\\" is abstract","memberIsAbstractMore":"and {count} more...","memberIsFinalInProtocol":"\\"{name}\\" is marked Final in protocol","memberIsInitVar":"Member \\"{name}\\" is an init-only field","memberIsNotFinalInProtocol":"\\"{name}\\" is not marked Final in protocol","memberTypeMismatch":"\\"{name}\\" is an incompatible type","memberUnknown":"Member \\"{name}\\" is unknown","missingProtocolMember":"Member \\"{name}\\" is declared in protocol class \\"{classType}\\"","missingGetter":"Property getter method is missing","missingSetter":"Property setter method is missing","missingDeleter":"Property deleter method is missing","namedParamMissingInDest":"Keyword parameter \\"{name}\\" is missing in destination","namedParamMissingInSource":"Keyword parameter \\"{name}\\" is missing in source","namedParamTypeMismatch":"Keyword parameter \\"{name}\\" of type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","newMethodLocation":"The __new__ method is defined in class \\"{type}\\"","newMethodSignature":"Signature of __new__ is \\"{type}\\"","noOverloadAssignable":"No overloaded function matches type \\"{type}\\"","orPatternMissingName":"Missing names: {name}","overloadMethod":"Overload method is defined here","overloadNotAssignable":"One or more overloads of \\"{name}\\" is not assignable","overloadWithImplementation":"The body of a function overload should be \\"...\\"","overriddenMethod":"Overridden method","overriddenSymbol":"Overridden symbol","overrideParamCount":"Parameter count mismatch; base method has {baseCount}, but override has {overrideCount}","overrideParamName":"Parameter {index} name mismatch: base parameter is named \\"{baseName}\\", override parameter is named \\"{overrideName}\\"","overrideParamNamePositionOnly":"Parameter {index} name mismatch: base parameter is named \\"{baseName}\\", override parameter is position-only\\"","overrideParamType":"Parameter {index} type mismatch: base parameter is type \\"{baseType}\\", override parameter is type \\"{overrideType}\\"","overrideReturnType":"Return type mismatch: base method returns type \\"{baseType}\\", override returns type \\"{overrideType}\\"","overrideType":"Base class defines type as \\"{type}\\"","paramAssignment":"Parameter {index}: type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","paramSpecOverload":"ParamSpec cannot be used with overloaded function","paramType":"Parameter type is \\"{paramType}\\"","privateImportFromPyTypedSource":"Import from \\"{module}\\" instead","propertyAccessFromProtocolClass":"A property defined within a protocol class cannot be accessed as a class variable","propertyMethodIncompatible":"Property method \\"{name}\\" is incompatible","propertyMethodMissing":"Property method \\"{name}\\" is missing in override","propertyMissingDeleter":"Property \\"{name}\\" has no defined deleter","propertyMissingSetter":"Property \\"{name}\\" has no defined setter","protocolIncompatible":"\\"{sourceType}\\" is incompatible with protocol \\"{destType}\\"","protocolMemberClassVar":"\\"{name}\\" is not a class variable","protocolMemberMissing":"\\"{name}\\" is not present","protocolSourceIsNotConcrete":"\\"{sourceType}\\" is not a concrete class type and cannot be assigned to type \\"{destType}\\"","readOnlyAttribute":"Attribute \\"{name}\\" is read-only","seeDeclaration":"See declaration","seeClassDeclaration":"See class declaration","seeFunctionDeclaration":"See function declaration","seeMethodDeclaration":"See method declaration","seeParameterDeclaration":"See parameter declaration","seeVariableDeclaration":"See variable declaration","tupleEntryTypeMismatch":"Tuple entry {entry} is incorrect type","tupleAssignmentMismatch":"Type \\"{type}\\" is incompatible with target tuple","tupleSizeMismatch":"Element size mismatch; expected {expected} but received {received}","tupleSizeMismatchIndeterminate":"Tuple size mismatch; expected {expected} but received indeterminate number","typeAssignmentMismatch":"Type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","typeBound":"Type \\"{sourceType}\\" is incompatible with bound type \\"{destType}\\" for type variable \\"{name}\\"","typeConstrainedTypeVar":"Type \\"{type}\\" is incompatible with constrained type variable \\"{name}\\"","typedDictFieldMissing":"\\"{name}\\" is missing from \\"{type}\\"","typedDictFieldNotRequired":"\\"{name}\\" is not required in \\"{type}\\"","typedDictFieldRequired":"\\"{name}\\" is required in \\"{type}\\"","typedDictFieldTypeMismatch":"Type \\"{type}\\" is not assignable to field \\"{name}\\"","typedDictFieldRedefinition":"Type in parent class is \\"{parentType}\\" and type in child class is \\"{childType}\\"","typedDictFieldUndefined":"\\"{name}\\" is an undefined field in type \\"{type}\\"","typedDictFinalMismatch":"\\"{sourceType}\\" is incompatible with \\"{destType}\\" because of a @final mismatch","typeIncompatible":"\\"{sourceType}\\" is incompatible with \\"{destType}\\"","typeNotCallable":"Type \\"{type}\\" is not callable","typeNotClass":"\\"{type}\\" is not a class","typeParamSpec":"Type \\"{type}\\" is incompatible with ParamSpec \\"{name}\\"","typeNotStringLiteral":"\\"{type}\\" is not a string literal","typeOfSymbol":"Type of \\"{name}\\" is \\"{type}\\"","typeUnsupported":"Type \\"{type}\\" is unsupported","typeVarIsContravariant":"TypeVar \\"{name}\\" is contravariant","typeVarIsCovariant":"TypeVar \\"{name}\\" is covariant","typeVarIsInvariant":"TypeVar \\"{name}\\" is invariant","typeVarNotAllowed":"TypeVar or generic type with type arguments not allowed","typeVarsMissing":"Missing type variables: {names}","typeVarTupleRequiresKnownLength":"TypeVarTuple cannot be bound to a tuple of unknown length","unreachableExcept":"\\"{exceptionType}\\" is a subclass of \\"{parentType}\\"","useDictInstead":"Use Dict[T1, T2] to indicate a dictionary type","useListInstead":"Use List[T] to indicate a list type or Union[T1, T2] to indicate a union type","useTupleInstead":"Use Tuple[T1, ..., Tn] to indicate a tuple type or Union[T1, T2] to indicate a union type","useTypeInstead":"Use Type[T] instead"},"CodeAction":{"addOptionalToAnnotation":"Add \\"Optional\\" to Type Annotation","createTypeStub":"Create Type Stub","createTypeStubFor":"Create Type Stub For \\"{moduleName}\\"","executingCommand":"Executing command","filesToAnalyzeOne":"1 file to analyze","filesToAnalyzeCount":"{count} files to analyze","findingReferences":"Finding references","organizeImports":"Organize Imports"},"Refactoring":{"moveFile":"Do you want to update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?","moveFileLabel":"Update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?","moveFileDescription":"Update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?"}}')},9191:()=>{},2016:()=>{},6341:()=>{},198:()=>{}},__webpack_module_cache__={},leafPrototypes,getProto;function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},getProto=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,__webpack_require__.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var n=Object.create(null);__webpack_require__.r(n);var i={};leafPrototypes=leafPrototypes||[null,getProto({}),getProto([]),getProto(getProto)];for(var r=2&t&&e;"object"==typeof r&&!~leafPrototypes.indexOf(r);r=getProto(r))Object.getOwnPropertyNames(r).forEach((t=>i[t]=()=>e[t]));return i.default=()=>e,__webpack_require__.d(n,i),n},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((t,n)=>(__webpack_require__.f[n](e,t),t)),[])),__webpack_require__.u=e=>"pyright-locale-"+{43:"ja",100:"en",231:"fr",327:"zh-cn",491:"ko",521:"zh-tw",537:"ca",598:"lol",689:"es-es",888:"nl",913:"de"}[e]+"-"+e+"-"+{43:"6d57f933221789ac4fa5",100:"ddc72e6b2c1f5de1a885",231:"eb261203312776336920",327:"7f4c7cd6c69bb031b753",491:"e2a228c1a7f81e59f14b",521:"73fec50d616e10ee0648",537:"e3d42c104c87070f53c5",598:"ec1b193371d2420cb0eb",689:"044348bd1ddc2b34a22e",888:"88ebe3f78a0987ea286e",913:"6516fe648e06c3175b0d"}[e]+".worker.js",__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var t=__webpack_require__.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");n.length&&(e=n[n.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{var e={885:1};__webpack_require__.f.i=(t,n)=>{e[t]||importScripts(__webpack_require__.p+__webpack_require__.u(t))};var t=self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[],n=t.push.bind(t);t.push=t=>{var[i,r,s]=t;for(var o in r)__webpack_require__.o(r,o)&&(__webpack_require__.m[o]=r[o]);for(s&&s(__webpack_require__);i.length;)e[i.pop()]=1;n(t)}})();var __webpack_exports__={};(()=>{"use strict";var e=__webpack_require__(3984);function t(e){return e}function n(e,t){return e===t}function i(e,t){return e===t?0:void 0===e?-1:void 0===t?1:et;n--)e[n]=e[n-1];e[t]=n}return e}function p(e,t){return!!e&&(t?e.some(t):e.length>0)}function d(e,t,n,i,r){return function(e,t,n,i,r){if(!p(e))return-1;let s=r||0,o=e.length-1;for(;s<=o;){const r=s+(o-s>>1);switch(i(n(e[r]),t)){case-1:s=r+1;break;case 0:return r;case 1:o=r-1}}return~s}(e,n(t),n,i,r)}function h(e,t,n){const i=e.get(t);if(void 0!==i)return i;const r=n();return e.set(t,r),r}function m(e,t){for(let n=0;nt(e))).reduce(((t,n,i)=>(t.set(n,(t.get(n)||[]).concat(e[i])),t)),new Map)}Object.prototype.hasOwnProperty;const g="typeshed-fallback",y="lib",_="Lib",v="lib64",T="site-packages",b="-stubs";var I,S=__webpack_require__(6470);I=(()=>{var e={470:e=>{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,i="",r=0,s=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=i.lastIndexOf("/");if(l!==i.length-1){-1===l?(i="",r=0):r=(i=i.slice(0,l)).length-1-i.lastIndexOf("/"),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",r=0,s=a,o=0;continue}t&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+e.slice(s+1,a):i=e.slice(s+1,a),r=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",r=!1,s=arguments.length-1;s>=-1&&!r;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e="/"),o=e),t(o),0!==o.length&&(i=o+"/"+i,r=47===o.charCodeAt(0))}return i=n(i,!r),r?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var i=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!i)).length||i||(e="."),e.length>0&&r&&(e+="/"),i?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":i.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=i.resolve(e))===(n=i.resolve(n)))return"";for(var r=1;rc){if(47===n.charCodeAt(a+p))return n.slice(a+p+1);if(0===p)return n.slice(a+p)}else o>c&&(47===e.charCodeAt(r+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(r+p);if(d!==n.charCodeAt(a+p))break;47===d&&(u=p)}var h="";for(p=r+u+1;p<=s;++p)p!==s&&47!==e.charCodeAt(p)||(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(a+u):(a+=u,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),i=47===n,r=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){r=o;break}}else s=!1;return-1===r?i?"/":".":i&&1===r?"//":e.slice(0,r)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var i,r=0,s=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,l=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){r=i+1;break}}else-1===l&&(o=!1,l=i+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=i):(a=-1,s=l))}return r===s?s=l:-1===s&&(s=e.length),e.slice(r,s)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){r=i+1;break}}else-1===s&&(o=!1,s=i+1);return-1===s?"":e.slice(r,s)},extname:function(e){t(e);for(var n=-1,i=0,r=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===r&&(s=!1,r=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){i=a+1;break}}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+"/"+i:i}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var i,r=e.charCodeAt(0),s=47===r;s?(n.root="/",i=1):i=0;for(var o=-1,a=0,l=-1,c=!0,u=e.length-1,p=0;u>=i;--u)if(47!==(r=e.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===r?-1===o?o=u:1!==p&&(p=1):-1!==o&&(p=-1);else if(!c){a=u+1;break}return-1===o||-1===l||0===p||1===p&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i},447:(e,t,n)=>{var i;if(n.r(t),n.d(t,{URI:()=>f,Utils:()=>w}),"object"==typeof{env:{},execArgv:[],cwd:()=>"/",memoryUsage:()=>({heapUsed:0,rss:1})})i="win32"==={env:{},execArgv:[],cwd:()=>"/",memoryUsage:()=>({heapUsed:0,rss:1})}.platform;else if("object"==typeof navigator){var r=navigator.userAgent;i=r.indexOf("Windows")>=0}var s,o,a=(s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),l=/^\w[\w\d+.-]*$/,c=/^\//,u=/^\/\//;function p(e,t){if(!e.scheme&&t)throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'.concat(e.authority,'", path: "').concat(e.path,'", query: "').concat(e.query,'", fragment: "').concat(e.fragment,'"}'));if(e.scheme&&!l.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!c.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(u.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}var d="",h="/",m=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,f=function(){function e(e,t,n,i,r,s){void 0===s&&(s=!1),"object"==typeof e?(this.scheme=e.scheme||d,this.authority=e.authority||d,this.path=e.path||d,this.query=e.query||d,this.fragment=e.fragment||d):(this.scheme=function(e,t){return e||t?e:"file"}(e,s),this.authority=t||d,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==h&&(t=h+t):t=h}return t}(this.scheme,n||d),this.query=i||d,this.fragment=r||d,p(this,s))}return e.isUri=function(t){return t instanceof e||!!t&&"string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"string"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString},Object.defineProperty(e.prototype,"fsPath",{get:function(){return b(this,!1)},enumerable:!1,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,n=e.authority,i=e.path,r=e.query,s=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=d),void 0===n?n=this.authority:null===n&&(n=d),void 0===i?i=this.path:null===i&&(i=d),void 0===r?r=this.query:null===r&&(r=d),void 0===s?s=this.fragment:null===s&&(s=d),t===this.scheme&&n===this.authority&&i===this.path&&r===this.query&&s===this.fragment?this:new y(t,n,i,r,s)},e.parse=function(e,t){void 0===t&&(t=!1);var n=m.exec(e);return n?new y(n[2]||d,C(n[4]||d),C(n[5]||d),C(n[7]||d),C(n[9]||d),t):new y(d,d,d,d,d)},e.file=function(e){var t=d;if(i&&(e=e.replace(/\\/g,h)),e[0]===h&&e[1]===h){var n=e.indexOf(h,2);-1===n?(t=e.substring(2),e=h):(t=e.substring(2,n),e=e.substring(n)||h)}return new y("file",t,e,d,d)},e.from=function(e){var t=new y(e.scheme,e.authority,e.path,e.query,e.fragment);return p(t,!0),t},e.prototype.toString=function(e){return void 0===e&&(e=!1),I(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var n=new y(t);return n._formatted=t.external,n._fsPath=t._sep===g?t.fsPath:null,n}return t},e}(),g=i?1:void 0,y=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return a(t,e),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath},enumerable:!1,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?I(this,!0):(this._formatted||(this._formatted=I(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=g),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},t}(f),_=((o={})[58]="%3A",o[47]="%2F",o[63]="%3F",o[35]="%23",o[91]="%5B",o[93]="%5D",o[64]="%40",o[33]="%21",o[36]="%24",o[38]="%26",o[39]="%27",o[40]="%28",o[41]="%29",o[42]="%2A",o[43]="%2B",o[44]="%2C",o[59]="%3B",o[61]="%3D",o[32]="%20",o);function v(e,t){for(var n=void 0,i=-1,r=0;r=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s)-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),void 0!==n&&(n+=e.charAt(r));else{void 0===n&&(n=e.substr(0,r));var o=_[s];void 0!==o?(-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),n+=o):-1===i&&(i=r)}}return-1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function T(e){for(var t=void 0,n=0;n1&&"file"===e.scheme?"//".concat(e.authority).concat(e.path):47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,i&&(n=n.replace(/\//g,"\\")),n}function I(e,t){var n=t?T:v,i="",r=e.scheme,s=e.authority,o=e.path,a=e.query,l=e.fragment;if(r&&(i+=r,i+=":"),(s||"file"===r)&&(i+=h,i+=h),s){var c=s.indexOf("@");if(-1!==c){var u=s.substr(0,c);s=s.substr(c+1),-1===(c=u.indexOf(":"))?i+=n(u,!1):(i+=n(u.substr(0,c),!1),i+=":",i+=n(u.substr(c+1),!1)),i+="@"}-1===(c=(s=s.toLowerCase()).indexOf(":"))?i+=n(s,!1):(i+=n(s.substr(0,c),!1),i+=s.substr(c))}if(o){if(o.length>=3&&47===o.charCodeAt(0)&&58===o.charCodeAt(2))(p=o.charCodeAt(1))>=65&&p<=90&&(o="/".concat(String.fromCharCode(p+32),":").concat(o.substr(3)));else if(o.length>=2&&58===o.charCodeAt(1)){var p;(p=o.charCodeAt(0))>=65&&p<=90&&(o="".concat(String.fromCharCode(p+32),":").concat(o.substr(2)))}i+=n(o,!0)}return a&&(i+="?",i+=n(a,!1)),l&&(i+="#",i+=t?l:v(l,!1)),i}function S(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+S(e.substr(3)):e}}var x=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function C(e){return e.match(x)?e.replace(x,(function(e){return S(e)})):e}var w,E=n(470),k=function(e,t,n){if(n||2===arguments.length)for(var i,r=0,s=t.length;r{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n(447)})();const{URI:x,Utils:C}=I;function w(e,t,n,i){e||(n&&(t+="\r\nVerbose Debug Information: "+("string"==typeof n?n:n())),E(t?"False expression: "+t:"False expression.",i||w))}function E(e,t){const n=new Error(e?`Debug Failure. ${e}`:"Debug Failure.");throw Error.captureStackTrace&&Error.captureStackTrace(n,t||E),n}function k(e,t="Illegal value:",n){E(`${t} ${JSON.stringify(e)}`,n||k)}function D(e){if(e)return JSON.stringify(e).length>2?e:{name:e.name&&r(e.name)?e.name:"noname",message:e.message&&r(e.message)?e.message:"nomessage",stack:e.stack&&r(e.stack)?e.stack:void 0}}let A;try{A=__webpack_require__(2016),(null==A?void 0:A.randomBytes)||(A=void 0)}catch{}function P(e){if(A)return A.randomBytes(e).toString("hex");if(crypto){return t=crypto.getRandomValues(new Uint8Array(e)),[...t].map((e=>e.toString(16).padStart(2,"0"))).join("")}var t;E("crypto library not found")}var R=__webpack_require__(7588),F=__webpack_require__.n(R);function N(e,t){const n=e.toLocaleLowerCase(),i=t.toLocaleLowerCase(),r=n.length,s=i.length;let o=0,a=0;for(;o0&&!r[r.length-1]&&r.pop(),K([i,...r])}function K(e){if(!p(e))return[];const t=[e[0]];for(let n=1;n1){if(".."!==t[t.length-1]){t.pop();continue}}else if(t[0])continue;t.push(i)}}return t}function J(e){return 0===e.length?"":X((e[0]&&le(e[0]))+e.slice(1).join(S.sep))}function Y(e,t){if(!e.startsWith(le(t)))return;const n=G(e);let i=".";for(let e=G(t).length;e=0?i.substring(r):""}function se(e,n,i){return w(H(e)>0==H(n)>0,"Paths must either both be absolute or both be relative"),function(e,t,n,i){const r=G(e),s=G(t);let o;for(o=0;oe.namet.name?1:0)),r=[],s=[];for(const e of i)if("."!==e.name&&".."!==e.name)if(e.isFile())r.push(e.name);else if(e.isDirectory())s.push(e.name);else if(e.isSymbolicLink()){const i=ye(t,te(n,e.name));(null==i?void 0:i.isFile())?r.push(e.name):(null==i?void 0:i.isDirectory())&&s.push(e.name)}return{files:r,directories:s}}function be(e,t){let n=function(e,t){let n=me(te(e,t));n.endsWith(".py")||n.endsWith(".pyi")||(n=le(n));const i=G(n),r=Ie(),s=`(${r}[^${r}.][^${r}]*)*?`,o=new RegExp(`[^\\w\\s${r}]`,"g");i.length>0&&(i[0]=ue(i[0]));let a="",l=!0;for(let e of i)"**"===e?a+=s:(l||(e=r+e),a+=e.replace(o,(e=>"*"===e?`[^${r}]*`:"?"===e?`[^${r}]`:"\\"+e)),l=!1);return a}(e,t);n=`^(${n})($|${Ie()})`;const i=new RegExp(n);return{wildcardRoot:function(e,t){let n=me(te(e,t));n.endsWith(".py")||n.endsWith(".pyi")||(n=le(n));const i=G(n);if(i.length>0&&(i[0]=ue(i[0])),1===i.length&&!i[0])return S.sep;let r="",s=!0;for(let e of i){if("**"===e)break;if(e.match(/[*?]/))break;s||(e=S.sep+e),r+=e,s=!1}return r}(e,t),regExp:i}}function Ie(){return"/"===S.sep?"/":"\\\\"}function Se(e){const t=H(e);return t>0&&t===e.length}function xe(e,t,n){if(e===t)return 0;if(void 0===e)return-1;if(void 0===t)return 1;const r=e.substring(0,H(e)),s=t.substring(0,H(t)),o=O(r,s);if(0!==o)return o;const a=Ie(),l=new RegExp(`(^|${a}).{0,2}($|${a})`),c=e.substring(r.length),u=t.substring(s.length);if(!l.test(c)&&!l.test(u))return n(c,u);const p=G(e),d=G(t),h=Math.min(p.length,d.length);for(let e=1;e=t.length&&46===e.charCodeAt(e.length-t.length)){const i=e.slice(e.length-t.length);if(n(i,t))return i}}function we(e,t){return e.getMappedFilePath(function(e){let t=me(x.parse(e).path);return t.match(/^\\[a-zA-Z]:\\/)&&(t=t.substr(1)),t}(t))}function Ee(e,t){return e.getUri(e.getOriginalFilePath(t))}function ke(e,t){return function(e){return void 0!==W||(W=function(e){let t;try{let n,i;do{n=`${P(21)}-a`,t=S.join(e.tmpdir(),n),i=S.join(e.tmpdir(),n.toUpperCase())}while(e.existsSync(t)||e.existsSync(i));return e.writeFileSync(t,"","utf8"),!e.existsSync(i)}catch(e){return!1}finally{t&&e.unlinkSync(t)}}(e)),W}(e)?t:t.toLowerCase()}var De;!function(e){e[e.V3_0=768]="V3_0",e[e.V3_1=769]="V3_1",e[e.V3_2=770]="V3_2",e[e.V3_3=771]="V3_3",e[e.V3_4=772]="V3_4",e[e.V3_5=773]="V3_5",e[e.V3_6=774]="V3_6",e[e.V3_7=775]="V3_7",e[e.V3_8=776]="V3_8",e[e.V3_9=777]="V3_9",e[e.V3_10=778]="V3_10",e[e.V3_11=779]="V3_11"}(De||(De={}));const Ae=De.V3_10;function Pe(e){return`${e>>8&255}.${255&e}`}function Re(e){const t=e.split(".");if(!(t.length<2))return function(e,t){if(isNaN(e)||isNaN(t))return;if(e>255||t>255)return;const n=256*e+t;if(void 0!==De[n]&&n>>8==3)return n}(parseInt(t[0],10),parseInt(t[1],10))}var Fe;!function(e){e[e.NotIdentifierChar=0]="NotIdentifierChar",e[e.StartIdentifierChar=1]="StartIdentifierChar",e[e.IdentifierChar=2]="IdentifierChar",e[e.SurrogateChar=3]="SurrogateChar"}(Fe||(Fe={}));const Ne=256,Me=new Array(Ne),Oe={},Le={};let Ue=!1;function Ve(e,t){if(e=48&&e<=57||95===e}function We(e){return Be(e)||e>=97&&e<=102||e>=65&&e<=70||95===e}function je(e){return e>=48&&e<=55||95===e}function ze(e){return 48===e||49===e||95===e}function $e(e,t){if(Oe[e]!==Fe.SurrogateChar)return Fe.NotIdentifierChar;const n=Le[e];return n?n[t]:Fe.NotIdentifierChar}const He=[[95,6277,6278,8472,8494,12443,12444],[[65,90],[192,214],[216,222],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,452,455,458,461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,497,500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],975,[978,980],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],[4256,4293],4295,4301,[5024,5109],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8120,8123],[8136,8139],[8152,8155],[8168,8172],[8184,8187],8450,8455,[8459,8461],[8464,8466],8469,[8473,8477],8484,8486,8488,[8490,8493],[8496,8499],[8510,8511],8517,8579,[11264,11310],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,[65313,65338],[66560,66599],[66736,66771],[68736,68786],[71840,71871],[119808,119833],[119860,119885],[119912,119937],119964,[119966,119967],119970,[119973,119974],[119977,119980],[119982,119989],[120016,120041],[120068,120069],[120071,120074],[120077,120084],[120086,120092],[120120,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120172,120197],[120224,120249],[120276,120301],[120328,120353],[120380,120405],[120432,120457],[120488,120512],[120546,120570],[120604,120628],[120662,120686],[120720,120744],120778,[125184,125217]],[[97,122],181,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,[311,312],314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,[396,397],402,405,[409,411],414,417,419,421,424,[426,427],429,432,436,438,[441,442],[445,447],454,457,460,462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,496],499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,[563,569],572,[575,576],578,583,585,587,589,[591,659],[661,687],881,883,887,[891,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,[1019,1020],[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1377,1415],[5112,5117],[7296,7304],[7424,7467],[7531,7543],[7545,7578],7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7837],7839,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8071],[8080,8087],[8096,8103],[8112,8116],[8118,8119],8126,[8130,8132],[8134,8135],[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8458,[8462,8463],8467,8495,8500,8505,[8508,8509],[8518,8521],8526,8580,[11312,11358],11361,[11365,11366],11368,11370,11372,11377,[11379,11380],[11382,11387],11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,[11491,11492],11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,2581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,[42799,42801],42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,[42865,42872],42874,42876,42879,42881,42883,42885,42887,42892,42894,42897,[42899,42901],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42933,42935,43002,[43824,43866],[43872,43877],[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[68800,68850],[71872,71903],[119834,119859],[119886,119892],[119894,119911],[119938,119963],[119990,119993],119995,[119997,120003],[120005,120015],[120042,120067],[120094,120119],[120146,120171],[120198,120223],[120250,120275],[120302,120327],[120354,120379],[120406,120431],[120458,120485],[120514,120538],[120540,120545],[120572,120596],[120598,120603],[120630,120654],[120656,120661],[120688,120712],[120714,120719],[120746,120770],[120772,120777],120779,[125218,125251]],[453,456,459,498,[8072,8079],[8088,8095],[8104,8111],8124,8140,8188],[170,186,443,[448,451],660,[1488,1514],[1520,1522],[1568,1599],[1601,1610],[1646,1647],[1649,1747],1749,[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2048,2069],[2112,2136],[2144,2154],[2208,2228],[2230,2237],[2308,2361],2365,2384,[2392,2401],[2418,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,3294,[3296,3297],[3313,3314],[3333,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],[3634,3635],[3648,3653],[3713,3714],3716,[3719,3720],3722,3725,[3732,3735],[3737,3743],[3745,3747],3749,3751,[3754,3755],[3757,3760],[3762,3763],3773,[3776,3780],[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4304,4346],[4349,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5873,5880],[5888,5900],[5902,5905],[5920,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6108,[6176,6210],[6212,6263],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],[6917,6963],[6981,6987],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7287],[7401,7404],[7406,7409],[7413,7414],[8501,8504],[11568,11623],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],12294,12348,[12353,12438],12447,[12449,12538],12543,[12549,12590],[12593,12686],[12704,12730],[12784,12799],[13312,19893],[19968,40938],[40960,40980],[40982,42124],[42192,42231],[42240,42507],[42512,42527],[42538,42539],42606,[42656,42725],42895,42999,[43003,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,43261,[43274,43301],[43312,43334],[43360,43388],[43396,43442],[43488,43492],[43495,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43631],[43633,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43740],[43744,43754],43762,[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43968,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65382,65391],[65393,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[66176,66204],[66208,66256],[66304,66335],[66349,66368],[66370,66377],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66640,66717],[66816,66855],[66864,66915],[67072,67382],[67392,67413],[67424,67431],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68147],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[69635,69687],[69763,69807],[69840,69864],[69891,69926],[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],[71424,71449],71935,72192,[72203,72242],72250,72272,[72284,72323],[72326,72329],[72384,72440],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73728,74649],[74880,75075],[77824,78894],[82944,83526],[92160,92728],[92736,92766],[92880,92909],[92928,92975],[93027,93047],[93053,93071],[93952,94020],94032,[94208,100332],[100352,101106],[110592,110878],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[124928,125124],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173782],[173824,177972],[177984,178205],[178208,183969],[183984,191456],[194560,195101]],[[688,705],[710,721],[736,740],748,750,884,890,1369,1600,[1765,1766],[2036,2037],2042,2074,2084,2088,2417,3654,3782,4348,6103,6211,6823,[7288,7293],[7468,7530],7544,[7579,7615],8305,8319,[8336,8348],[11388,11389],11631,11823,12293,[12337,12341],12347,[12445,12446],[12540,12542],40981,[42232,42237],42508,42623,[42652,42653],[42775,42783],42864,42888,[43e3,43001],43471,43494,43632,43741,[43763,43764],[43868,43871],65392,[65438,65439],[92992,92995],[94099,94111],[94176,94177]],[[5870,5872],[8544,8578],[8581,8584],12295,[12321,12329],[12344,12346],[42726,42735],[65856,65908],66369,66378,[66513,66517],[74752,74862]]],Ge=[{55297:[[56320,56359],[56496,56531]],55299:[[56448,56498]],55302:[[56480,56511]],55323:[[56896,56927]],55349:[[56320,56345],[56372,56397],[56424,56449],56476,[56478,56479],56482,[56485,56486],[56489,56492],[56494,56501],[56528,56553],[56580,56581],[56583,56586],[56589,56596],[56598,56604],[56632,56633],[56635,56638],[56640,56644],56646,[56650,56656],[56684,56709],[56736,56761],[56788,56813],[56840,56865],[56892,56917],[56944,56969],[57e3,57024],[57058,57082],[57116,57140],[57174,57198],[57232,57256],[57290,57290]],55354:[[56576,56609]]},{55297:[[56360,56399],[56536,56571]],55299:[[56512,56562]],55302:[[56512,56543]],55323:[[56928,56959]],55349:[[56346,56371],[56398,56404],[56406,56423],[56450,56475],[56502,56505],56507,[56509,56515],[56517,56527],[56554,56579],[56606,56631],[56658,56683],[56710,56735],[56762,56787],[56814,56839],[56866,56891],[56918,56943],[56970,56997],[57026,57050],[57052,57057],[57084,57108],[57110,57115],[57142,57166],[57168,57173],[57200,57224],[57226,57231],[57258,57282],[57284,57289],[57291,57291]],55354:[[56610,56643]]},{55296:[[56320,56331],[56333,56358],[56360,56378],[56380,56381],[56383,56397],[56400,56413],[56448,56570],[56960,56988],[56992,57040],[57088,57119],[57133,57152],[57154,57161],[57168,57205],[57216,57245],[57248,57283],[57288,57295]],55297:[[56400,56477],[56576,56615],[56624,56675],[56832,57142],[57152,57173],[57184,57191]],55298:[[56320,56325],[56328,56328],[56330,56373],[56375,56376],[56380,56380],[56383,56405],[56416,56438],[56448,56478],[56544,56562],[56564,56565],[56576,56597],[56608,56633],[56704,56759],[56766,56767],[56832,56832],[56848,56851],[56853,56855],[56857,56885],[56928,56956],[56960,56988],[57024,57031],[57033,57060],[57088,57141],[57152,57173],[57184,57202],[57216,57233]],55299:[[56320,56392],[56576,56611],[56960,57001],[57008,57009],[57088,57116],57127,[57136,57157],[57264,57284],[57312,57334]],55300:[[56323,56375],[56451,56495],[56528,56552],[56579,56614],56644,56647,[56656,56690],56694,[56707,56754],[56769,56772],56794,56796,[56832,56849],[56851,56875],[56960,56966],56968,[56970,56973],[56975,56989],[56991,57e3],[57008,57054],[57093,57100],[57103,57104],[57107,57128],[57130,57136],[57138,57139],[57141,57145],57149,57168,[57181,57185]],55301:[[56320,56372],[56391,56394],[56415,56417],[56448,56495],[56516,56517],56519,[56704,56750],[56792,56795],[56832,56879],56900,[56960,57002],57016,[57088,57114]],55302:[[56320,56363],[56575,56582],56585,[56588,56595],[56597,56598],[56600,56623],56639,56641,[56736,56743],[56746,56784],56801,56803,56832,[56843,56882],56890,56912,[56924,56969],56989,[57024,57080]],55303:[[56320,56328],[56330,56366],56384,56434,[56576,56582],[56584,56585],[56587,56624],56646,[56672,56677],[56679,56680],[56682,56713],56728,[57056,57074],57264],55304:[[56320,57241]],55305:[[56448,56643]],55308:[[56320,57343]],55309:[[56320,56366]],55313:[[56320,56902]],55322:[[56320,56888],[56896,56926],[57040,57069],[57088,57135],[57187,57207],[57213,57231]],55323:[[57088,57162],57168],55324:[56320],55329:[57335],55330:[[56320,57343]],55331:[[56320,56533],[56576,56576],[56584,56584]],55340:[[56320,56606],[56656,56658],[56676,56679],[56688,57083]],55343:[[56320,56426],[56432,56444],[56448,56456],[56464,56473]],55352:[[56576,56620],56654,[57024,57067]],55354:[[56320,56516]],55355:[[56832,56835],[56837,56863],[56865,56866],56868,56871,[56873,56882],[56884,56887],56889,56891,56898,56903,56905,56907,[56909,56911],[56913,56914],56916,56919,56921,56923,56925,56927,[56929,56930],56932,[56935,56938],[56940,56946],[56948,56951],[56953,56956],56958,[56960,56969],[56971,56987],[56993,56995],[56997,57001],[57003,57019]],55360:[56320],55401:[57053,57088],55405:[57140,57152],55406:[56349,56352],55411:[56993,57008],55418:[57312],55422:[[56320,56861]],55424:[56320],55428:[57162]},{55322:[[57152,57155]],55323:[[57235,57247],[57312,57313],57315],55352:[[56631,56637]],55354:[56651]},{55296:[[56640,56692],57153,57162,[57297,57301]],55305:[[56320,56430]]}],Ke=[[183,903,4969,4970,4971,4972,4973,4974,4975,4976,4977,6618],[[768,879],[1155,1159],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2260,2273],[2275,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2433,2492,[2497,2500],2509,[2530,2531],[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,2879,[2881,2884],2893,2902,[2914,2915],2946,3008,3021,3072,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,3263,3270,[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],3405,[3426,3427],3530,[3538,3540],3542,3633,[3636,3642],[3655,3662],3761,[3764,3769],[3771,3772],[3784,3789],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,[4957,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6109,[6155,6157],[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,[6832,6845],[6912,6915],6964,[6966,6970],6972,6978,[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],7142,[7144,7145],7149,[7151,7153],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7673],[7675,7679],[8400,8412],8417,[8421,8432],[11503,11505],11647,[11744,11775],[12330,12333],[12441,12442],42607,[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43045,43046],[43204,43205],[43232,43249],[43302,43309],[43335,43345],[43392,43394],43443,[43446,43449],43452,43493,[43561,43566],[43569,43570],[43573,43574],43587,43596,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,[43756,43757],43766,44005,44008,44013,64286,[65024,65039],[65056,65071],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],69633,[69688,69702],[69759,69761],[69811,69814],[69817,69818],[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],[70090,70092],[70191,70193],70196,[70198,70199],70206,70367,[70371,70378],[70400,70401],70460,70464,[70502,70508],[70512,70516],[70712,70719],[70722,70724],70726,[70835,70840],70842,[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71349],71351,[71453,71455],[71458,71461],[71463,71467],[72193,72198],[72201,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],72767,[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[92912,92916],[92976,92982],[94095,94098],[113821,113822],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[125136,125142],[125252,125258],[917760,917999]],[2307,2363,[2366,2368],[2377,2380],[2382,2383],[2434,2435],[2494,2496],[2503,2504],[2507,2508],2519,2563,[2622,2624],2691,[2750,2752],2761,[2763,2764],[2818,2819],2878,2880,[2887,2888],[2891,2892],2903,[3006,3007],[3009,3010],[3014,3016],[3018,3020],3031,[3073,3075],[3137,3140],[3202,3203],3262,[3264,3268],[3271,3272],[3274,3275],[3285,3286],[3330,3331],[3390,3392],[3398,3400],[3402,3404],3415,[3458,3459],[3535,3537],[3544,3551],[3570,3571],[3902,3903],3967,[4139,4140],4145,4152,[4155,4156],[4182,4183],[4194,4196],[4199,4205],[4227,4228],[4231,4236],4239,[4250,4252],6070,[6078,6085],[6087,6088],[6435,6438],[6441,6443],[6448,6449],[6451,6456],[6681,6682],6741,6743,6753,[6755,6756],[6765,6770],6916,6965,6971,[6973,6977],[6979,6980],7042,7073,[7078,7079],7082,7143,[7146,7148],7150,[7154,7155],[7204,7211],[7220,7221],7393,[7410,7411],7415,[12334,12335],[43043,43044],43047,[43136,43137],[43188,43203],[43346,43347],43395,[43444,43445],[43450,43451],[43453,43456],[43567,43568],[43571,43572],43597,43643,43645,43755,[43758,43759],43765,[44003,44004],[44006,44007],[44009,44010],44012,69632,69634,69762,[69808,69810],[69815,69816],69932,70018,[70067,70069],[70079,70080],[70188,70190],[70194,70195],70197,[70368,70370],[70402,70403],[70462,70463],[70465,70468],[70471,70472],[70475,70477],70487,[70498,70499],[70709,70711],[70720,70721],70725,[70832,70834],70841,[70843,70846],70849,[71087,71089],[71096,71099],71102,[71216,71218],[71227,71228],71230,71340,[71342,71343],71350,[71456,71457],71462,[72199,72200],72249,[72279,72280],72343,72751,72766,72873,72881,72884,[94033,94078],[119141,119142],[119149,119154]],[[48,57],[1632,1641],[1776,1785],[1984,1993],[2406,2415],[2534,2543],[2662,2671],[2790,2799],[2918,2927],[3046,3055],[3174,3183],[3302,3311],[3430,3439],[3558,3567],[3664,3673],[3792,3801],[3872,3881],[4160,4169],[4240,4249],[6112,6121],[6160,6169],[6470,6479],[6608,6617],[6784,6793],[6800,6809],[6992,7001],[7088,7097],[7232,7241],[7248,7257],[42528,42537],[43216,43225],[43264,43273],[43472,43481],[43504,43513],[43600,43609],[44016,44025],[65296,65305],[66720,66729],[69734,69743],[69872,69881],[69942,69951],[70096,70105],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71472,71481],[71904,71913],[72784,72793],[73040,73049],[92768,92777],[93008,93017],[120782,120831],[125264,125273]],[95,[8255,8256],8276,[65075,65076],[65101,65103],65343]],Je=[{55296:[56829,57056,[57206,57210]],55298:[[56833,56835],[56837,56838],[56844,56847],[56888,56890],56895,[57061,57062]],55299:[[56612,56615],[57003,57004],[57158,57168]],55300:[56321,[56376,56390],[56447,56449],[56499,56502],[56505,56506],[56576,56578],[56615,56619],[56621,56628],56691,[56704,56705],[56758,56766],[56777,56780],56783,[56879,56881],56884,[56886,56887],56894,57055,[57059,57066],[57088,57089],[57147,57148],57152,[57190,57196],[57200,57204]],55301:[[56376,56383],[56386,56388],56390,56414,[56499,56504],56506,[56511,56512],[56514,56515],[56754,56757],[56764,56765],[56767,56768],[56796,56797],[56883,56890],56893,[56895,56896],57003,57005,[57008,57013],57015,[57117,57119],[57122,57125],[57127,57131]],55302:[[56367,56375],[56377,56378],[56635,56636],56638,56643,[56788,56791],[56794,56795],56800,[56833,56842],[56883,56888],[56891,56894],56903,[56913,56918],[56921,56923],[56970,56982],[56984,56985]],55303:[[56368,56374],[56376,56381],56383,[56466,56487],[56490,56496],[56498,56499],[56501,56502],[56625,56630],56634,[56636,56637],[56639,56645],56647,[56720,56721],56725,56727,[57075,57076]],55322:[[57072,57076],[57136,57142]],55323:[57167,[57231,57234],57316],55343:[[56477,56478]],55348:[[56679,56681],[56699,56706],[56709,56715],[56746,56749],[56898,56900]],55350:[[56832,56886],[56891,56940],56949,56964,[56987,56991],[56993,57007]],55352:[[56320,56326],[56328,56344],[56347,56353],[56355,56356],[56358,56362],[56624,56630],[57068,57071]],55354:[[56528,56534],[56644,56650]],56128:[[56576,56815]]},{55300:[56320,56322,56450,[56496,56498],[56503,56504],56620,[56645,56646],56706,[56755,56757],[56767,56768],56782,[56876,56878],[56882,56883],56885,[57056,57058],[57090,57091],[57150,57151],[57153,57156],[57159,57160],[57163,57165],57175,[57186,57187]],55301:[[56373,56375],[56384,56385],56389,[56496,56498],56505,[56507,56510],56513,[56751,56753],[56760,56763],56766,[56880,56882],[56891,56892],56894,57004,[57006,57007],57014,[57120,57121],57126],55302:[[56364,56366],56376,[56624,56629],[56631,56632],56637,56640,56642,[56785,56787],[56796,56799],56804,56889,[56919,56920],56983],55303:[56367,56382,56489,56497,56500,[56714,56718],[56723,56724],56726,[57077,57078]],55323:[[57169,57223],[57328,57329]],55348:[[56677,56678],[56685,56690]]},{55297:[[56480,56489]],55299:[[56624,56633]],55300:[[56422,56431],[56560,56569],[56630,56639],[56784,56793],[57072,57081]],55301:[[56400,56409],[56528,56537],[56912,56921],[57024,57033],[57136,57145]],55302:[[56544,56553],56656],55303:[[56400,56409],[56656,56665],[56736,56745]],55322:[[56928,56937],[57168,57177]],55349:[[57294,57343]],55352:[[56640,56649],[57072,57081]],55354:[[56656,56665]],55358:[[57328,57337]]}];function Ye(e,t,n,i,r){for(let s=0;s=Ne)break}}function Qe(e,t){for(const n in e)Le[n]||(Le[n]={},Oe[n]=Fe.SurrogateChar),Ye(e[n],t,!1,Le[n],Le[n])}function Ze(e){if(Me.fill(Fe.NotIdentifierChar),Ke.forEach((t=>{Ye(t,Fe.IdentifierChar,e,Me,Oe)})),He.forEach((t=>{Ye(t,Fe.StartIdentifierChar,e,Me,Oe)})),!e){for(const e of Je)Qe(e,Fe.IdentifierChar);for(const e of Ge)Qe(e,Fe.StartIdentifierChar)}}function Xe(e,t){if(!e.existsSync(t)||!fe(e,t))return;let n=!1;const i=te(t,"py.typed");if(!e.existsSync(t)||!ge(e,i))return;const r=e.statSync(i);if(r.size>0&&r.size<65536){const t=e.readFileSync(i,"utf8");(t.match(/partial\n/)||t.match(/partial\r\n/))&&(n=!0)}return{pyTypedPath:i,isPartiallyTyped:n}}function et(e){const t=e.map((e=>e.toLowerCase()));return e=>{if(!e||e.indexOf("__pycache__")>=0)return!0;const n=e.toLowerCase();return t.every((e=>n.indexOf(e)<0))}}Ze(!0);const tt={close(){}},nt={createFileWatcher:(e,t)=>tt,onFileChange(e,t){}};class it{constructor(e,t){this.name=e,this._file=t}isFile(){return this._file}isDirectory(){return!this._file}isBlockDevice(){return!1}isCharacterDevice(){return!1}isSymbolicLink(){return!1}isFIFO(){return!1}isSocket(){return!1}}class rt extends class{constructor(e){this._realFS=e,this._entryMap=new Map,this._reverseEntryMap=new Map,this._folderMap=new Map}existsSync(e){return!this._isMovedEntry(e)&&this._realFS.existsSync(this._getOriginalPath(e))}mkdirSync(e,t){throw new Error("Operation is not allowed.")}chdir(e){throw new Error("Operation is not allowed.")}readdirEntriesSync(e){const t=le(e),n=[],i=this._folderMap.get(t);return i&&!this._realFS.existsSync(e)||n.push(...this._realFS.readdirEntriesSync(e).filter((t=>!this._isMovedEntry(te(e,t.name))))),i?n.concat(i.map((e=>new it(e.name,e.isFile)))):n}readdirSync(e){return this.readdirEntriesSync(e).map((e=>e.name))}readFileSync(e,t){return this._realFS.readFileSync(this._getOriginalPath(e),t)}writeFileSync(e,t,n){throw new Error("Operation is not allowed.")}statSync(e){return this._realFS.statSync(this._getOriginalPath(e))}unlinkSync(e){throw new Error("Operation is not allowed.")}realpathSync(e){return this._entryMap.has(e)?e:this._realFS.realpathSync(e)}getModulePath(){return this._realFS.getModulePath()}createFileSystemWatcher(e,t){return this._realFS.createFileSystemWatcher(e,t)}createReadStream(e){return this._realFS.createReadStream(this._getOriginalPath(e))}createWriteStream(e){throw new Error("Operation is not allowed.")}copyFileSync(e,t){throw new Error("Operation is not allowed.")}readFile(e){return this._realFS.readFile(this._getOriginalPath(e))}readFileText(e,t){return this._realFS.readFileText(this._getOriginalPath(e),t)}tmpdir(){return this._realFS.tmpdir()}tmpfile(e){return this._realFS.tmpfile(e)}realCasePath(e){return this._realFS.realCasePath(e)}getUri(e){return this._realFS.getUri(e)}isMappedFilePath(e){return this._entryMap.has(e)||this._realFS.isMappedFilePath(e)}getOriginalFilePath(e){return this._realFS.getOriginalFilePath(this._getOriginalPath(e))}getMappedFilePath(e){var t;const n=this._realFS.getMappedFilePath(e);return null!==(t=this._reverseEntryMap.get(n))&&void 0!==t?t:n}isInZipOrEgg(e){return this._realFS.isInZipOrEgg(e)}_recordMovedEntry(e,t,n=!0,i=!0){this._entryMap.set(e,t),n&&this._reverseEntryMap.set(t,e);const r=le($(e)),s=h(this._folderMap,r,(()=>[])),o=de(e);s.some((e=>e.name===o))||s.push({name:o,isFile:i})}_getOriginalPath(e){var t;return null!==(t=this._entryMap.get(e))&&void 0!==t?t:e}_isMovedEntry(e){return this._reverseEntryMap.has(e)}_clear(){this._entryMap.clear(),this._reverseEntryMap.clear(),this._folderMap.clear()}}{constructor(e){super(e),this._rootSearched=new Set,this._partialStubPackagePaths=new Set,this._conflictMap=new Map,this._customUriMap=new Map}mkdirSync(e,t){this._realFS.mkdirSync(e,t)}chdir(e){this._realFS.chdir(e)}writeFileSync(e,t,n){this._realFS.writeFileSync(this._getOriginalPath(e),t,n)}unlinkSync(e){this._realFS.unlinkSync(this._getOriginalPath(e))}createWriteStream(e){return this._realFS.createWriteStream(this._getOriginalPath(e))}copyFileSync(e,t){this._realFS.copyFileSync(this._getOriginalPath(e),this._getOriginalPath(t))}getUri(e){const t=this._customUriMap.get(this.getMappedFilePath(e));return t?t.uri:this._realFS.getUri(e)}hasUriMapEntry(e,t){const n=this._customUriMap.get(t);return!(!n||n.uri!==e)}addUriMap(e,t){const n=this._customUriMap.get(t);return n?n.uri===e&&(n.closed=!1,!0):(this._customUriMap.set(t,{uri:e,closed:!1,hasPendingRequest:!1}),!0)}removeUriMap(e,t){const n=this._customUriMap.get(t);return!(!n||n.uri!==e||(n.hasPendingRequest?(n.closed=!0,0):(this._customUriMap.delete(t),0)))}pendingRequest(e,t){const n=this._customUriMap.get(e);n&&(t||!n.closed?n.hasPendingRequest=t:this._customUriMap.delete(e))}isPartialStubPackagesScanned(e){var t;return this.isPathScanned(null!==(t=e.root)&&void 0!==t?t:"")}isPathScanned(e){return this._rootSearched.has(e)}processPartialStubPackages(e,t){var n;for(const i of e)if(this._rootSearched.add(i),this._realFS.existsSync(i)&&fe(this._realFS,i))for(const e of this._realFS.readdirEntriesSync(i)){const r=te(i,e.name);if(!(e.isSymbolicLink()?null===(n=ye(this._realFS,r))||void 0===n?void 0:n.isDirectory():e.isDirectory())||!e.name.endsWith(b))continue;const s=Xe(this._realFS,r);if(!s||!s.isPartiallyTyped)continue;let o;this._partialStubPackagePaths.add(r);const a=e.name.substr(0,e.name.length-b.length);for(const e of t){const t=te(e,a);try{const e=ye(this._realFS,t);if(!(null==e?void 0:e.isDirectory()))continue;const n=Xe(this._realFS,t);if(n&&!n.isPartiallyTyped)continue;o=null!=o?o:this._getRelativePathPartialStubs(r);for(const e of o){const n=te(r,e),i=te(t,e);if(this.existsSync(i)){const t=ie(i,"py"),r=ie(te(this.tmpdir(),"conflictFiles",a,e),"py");this._conflictMap.has(i)||this.existsSync(t)||this.existsSync(r)||(this._recordMovedEntry(r,n,!1),this._conflictMap.set(i,r))}else this._recordMovedEntry(i,n)}}catch{}}}}clearPartialStubs(){super._clear(),this._rootSearched.clear(),this._partialStubPackagePaths.clear(),this._conflictMap.clear()}getConflictedFile(e){return this._conflictMap.get(e)}_getRelativePathPartialStubs(e){const t=[],n=le(e).length,i=e=>{for(const r of this._realFS.readdirEntriesSync(e)){const s=te(e,r.name);let o=r.isDirectory(),a=r.isFile();if(r.isSymbolicLink()){const e=ye(this._realFS,s);e&&(o=e.isDirectory(),a=e.isFile())}if(o&&i(s),a&&r.name.endsWith(".pyi")){const e=s.substring(n);e&&t.push(e)}}};return i(e),t}_isMovedEntry(e){return this._partialStubPackagePaths.has(e)||super._isMovedEntry(e)}}var st=__webpack_require__(3374),ot=__webpack_require__(8934);let at;class lt extends ot.ResponseError{constructor(){super(ot.LSPErrorCodes.RequestCancelled,"request cancelled")}static is(e){return e.code===ot.LSPErrorCodes.RequestCancelled}}function ct(e){if(!o()&&e.isCancellationRequested)throw new lt}function ut(...e){const t=new st.CancellationTokenSource,n=[];for(const i of e)n.push(i.onCancellationRequested((e=>{t.cancel()})));return n.push(t.token.onCancellationRequested((e=>{n.forEach((e=>e.dispose()))}))),t}class pt{createCancellationTokenSource(){return new st.CancellationTokenSource}}var dt,ht,mt,ft;function gt(e,t){return e.linet.line?1:e.charactert.character?1:0}function yt(e,t){return!(gt(t.start,e.end)>0||gt(e.start,t.end)>0)}function _t(e,t){return ht.is(t)?gt(e.start,t)<=0&>(e.end,t)>=0:_t(e,t.start)&&_t(e,t.end)}function vt(e,t){return 0===gt(e,t)}function Tt(e,t){return vt(e.start,t.start)&&vt(e.end,t.end)}function bt(e,t){t&&(Array.isArray(t)?t.forEach((t=>{bt(e,t)})):(gt(t.start,e.start)<0&&(e.start=t.start),gt(t.end,e.end)>0&&(e.end=t.end)))}function It(e,t){if(0===t.end)return{line:0,character:0};let n=0;e>=t.end&&(e=t.end-1,n=1);const i=t.getItemContaining(e);w(i>=0&&i<=t.length);const r=t.getItemAt(i);return w(void 0!==r),{line:i,character:e-r.start+n}}function St(e,t,n){return{start:It(e,n),end:It(t,n)}}function xt(e,t){if(!(e.line>=t.count))return t.getItemAt(e.line).start+e.character}function Ct(e,t){const n=xt(e.start,t);if(void 0===n)return;const i=xt(e.end,t);return void 0!==i?dt.fromBounds(n,i):void 0}function wt(e,t){return St(e.start,dt.getEnd(e),t)}!function(e){function t(e,t){if(e<0)throw new Error("start must be non-negative");if(t<0)throw new Error("length must be non-negative");return{start:e,length:t}}function n(e){return e.start+e.length}function i(e,t){return t>=e.start&&t<=n(e)}function r(e,t){t&&(Array.isArray(t)?t.forEach((t=>{r(e,t)})):(t.startn(e)&&(e.length+=n(t)-n(e))))}e.create=t,e.fromBounds=function(e,n){if(e<0)throw new Error("start must be non-negative");if(e>n)throw new Error("end must be greater than or equal to start");return t(e,n-e)},e.getEnd=n,e.contains=function(e,t){return t>=e.start&&t=e.start&&n(t)<=n(e)},e.overlaps=i,e.overlapsRange=function(e,t){return i(e,t.start)||i(t,e.start)},e.extend=r,e.combine=function(e){if(0===e.length)return;const t=e[0];for(let n=1;n2&&e.startsWith("__")&&!e.endsWith("__")}function Jt(e){return e.length>1&&e.startsWith("_")&&!e.startsWith("__")}function Yt(e){return Kt(e)||Jt(e)}function Qt(e){return e.length>4&&e.startsWith("__")&&e.endsWith("__")}function Zt(e){return!!e.match($t)&&!e.match(Ht)}function Xt(e){return!!e.match(Gt)}function en(e){return e.importResult?0===e.importResult.importType?0:1===e.importResult.importType||e.importResult.isLocalTypingsFile?1:e.importResult.isRelative?3:2:2}function tn(e,t=!1){const n={orderedImports:[],mapByFilePath:new Map};let i=!1,r=!1;return e.statements.forEach((e=>{47===e.nodeType?e.statements.forEach((e=>{20===e.nodeType?(r=!0,function(e,t,n){e.list.forEach((i=>{const r=Rt(i.module);let s;r&&r.isImportFound&&(s=r.resolvedPaths[r.resolvedPaths.length-1]);const o={node:e,subnode:i,importResult:r,resolvedPath:s,moduleName:ln(i.module),followsNonImportStatement:n};t.orderedImports.push(o),s&&(t.mapByFilePath.has(s)||t.mapByFilePath.set(s,o))}))}(e,n,i),i=!1):22===e.nodeType?(r=!0,function(e,t,n,i){var r;const s=Rt(e.module);let o;if(s&&s.isImportFound&&(o=s.resolvedPaths[s.resolvedPaths.length-1]),i&&s){t.implicitImports=null!==(r=t.implicitImports)&&void 0!==r?r:new Map;for(const n of s.implicitImports){const i=e.imports.find((e=>e.name.value===n.name));i&&t.implicitImports.set(n.path,i)}}const a={node:e,importResult:s,resolvedPath:o,moduleName:ln(e.module),followsNonImportStatement:n};if(t.orderedImports.push(a),o){const e=t.mapByFilePath.get(o);(!e||20===e.node.nodeType||e.moduleName.length>a.moduleName.length)&&t.mapByFilePath.set(o,a)}}(e,n,i,t),i=!1):i=r})):i=r})),n}function nn(e){return Zt(e)?0:Xt(e)?1:2}function rn(e,t,n){const i=[];if(!t.node||22!==t.node.nodeType||t.node.isWildcardImport)return i;const r=t.node;if(0===(e=(Array.isArray(e)?e:[e]).filter((e=>!!e.name&&!r.imports.some((t=>t.name.value===e.name&&t.alias===e.alias))))).length)return i;for(const r of e)i.push(on(r.name,r.alias,t.node,n));const s=f(i,(e=>mt.print(e.range))),o=[];for(const e of s.values())1===e.length?o.push(e[0]):o.push({range:e[0].range,replacementText:e.sort(((e,t)=>sn(e.importName,t.importName))).map((e=>e.replacementText)).join("")});return o}function sn(e,t){const n=nn(e)-nn(t);return 0!==n?n:L(e.replace(/_/g,"="),t.replace(/_/g,"="))}function on(e,t,n,i){let r;for(const t of n.imports){if(sn(t.name.value,e)>0)break;r=t}let s=!1,o="";if(n.imports.length>0){const e=It(n.start,i.tokenizerOutput.lines),t=It(n.imports[0].start,i.tokenizerOutput.lines),r=n.imports.length>1?It(n.imports[1].start,i.tokenizerOutput.lines):void 0;if(t.line>e.line&&(void 0===r||r.line>t.line)){const e=i.tokenizerOutput.lines.getItemAt(t.line);o=i.text.substr(e.start,t.character),/^\s*$/.test(o)&&(s=!0)}}const a=It(r?dt.getEnd(r):n.imports.length>0?n.imports[0].start:n.start+n.length,i.tokenizerOutput.lines),l=t?`${e} as ${t}`:`${e}`;let c;if(s){const e=i.tokenizerOutput.predominantEndOfLineSequence;c=r?`,${e}${o}${l}`:`${l},${e}${o}`}else c=r?`, ${l}`:`${l}, `;return{range:{start:a,end:a},importName:e,replacementText:c}}function an(e,t,i,r,s,o){return function(e,t){if(t.length<2)return t.map((e=>r(e)));const n=[...f(t,(e=>`${e.importGroup} ${mt.print(e.range)}`))].sort(((e,t)=>L(e[0],t[0]))).map((e=>e[1])),i=[];for(const t of n)1===t.length?i.push(r(t[0])):i.push({range:t[0].range,replacementText:t[0].preChange+t.map((e=>e.importStatement)).sort(((e,t)=>s(e,t))).join(e.tokenizerOutput.predominantEndOfLineSequence)+t[0].postChange});return i;function r(e){return{range:e.range,replacementText:e.preChange+e.importStatement+e.postChange}}function s(e,t){const n=e.startsWith("import");return n===t.startsWith("import")?ee.name?"from":"import")),c=l.get("import");c&&p(c,(e=>`import ${e.join(", ")}`));const u=l.get("from");return u&&p(u,(e=>`from ${i} import ${e.join(", ")}`)),a;function p(e,l){const c=e.map((e=>function(e,t){const n=e.name?e.name:t;return{sortText:n,text:e.alias?`${n} as ${e.alias}`:n}}(e,i))).sort(((e,t)=>sn(e.sortText,t.sortText))).reduce(((e,t)=>function(e,t,i=n){return function(e,t,i=n){if(e)for(const n of e)if(i(n,t))return!0;return!1}(e,t,i)||e.push(t),e}(e,t.text)),[]);a.push(function(e,t,n,i,r,s){let o,a="",l="";const c=xt(s,r.tokenizerOutput.lines);if(t.orderedImports.length>0&&c>t.orderedImports[0].node.start){let e=!0,s=t.orderedImports[0],c=0;for(const o of t.orderedImports){const l=o.importResult?en(o):c;if(in)break;if(o.followsNonImportStatement){i>c&&(a=r.tokenizerOutput.predominantEndOfLineSequence+a);break}o===t.orderedImports[t.orderedImports.length-1]&&i>l&&(a=r.tokenizerOutput.predominantEndOfLineSequence+a),e=!e&&ie.value)).join("."),t}function cn(e){let t=2;return e.isLocalTypingsFile||1===e.importType?t=1:0===e.importType&&(t=0),t}function un(e,t,n,i=!1,r){let s,o=t;(r=void 0!==r?r:ge(e,t))&&(o=$(t));let a=n;if(r){a=$(n);const e=he(de(n));"__init__"!==e?s=e:i&&(s=de(a),a=$(a))}const l=se(o,a,(t=>e.realCasePath(t)));let c=".";for(let e=1;ele(ke(e,me(t))))).filter((e=>e!==n)).filter((e=>e.startsWith(n))),!this._libPathCache.some((e=>t.startsWith(e))))}checked(e,t,n){h(this._importChecked,t,(()=>new Map)).set(e,n)}add(e){h(this._cachedResults,e.importName,(()=>new Map)).set(e.path,e.importResult)}reset(){this._importChecked.clear(),this._cachedResults.clear(),this._libPathCache=void 0}}const hn="stdlib",mn="stubs";function fn(e,t,n,i,r,s){if(i.push("Finding python search paths"),void 0!==t.venvPath&&t.venv){const n=t.venv,r=te(t.venvPath,n),s=[],o=[];if([y,v,_].forEach((t=>{const n=function(e,t,n){if(!e.existsSync(t))return void n.push(`Did not find '${t}'`);n.push(`Found path '${t}'; looking for site-packages`);const i=te(t,T);if(e.existsSync(i))return n.push(`Found path '${i}'`),i;n.push(`Did not find '${i}', so looking for python subdirectory`);const r=ve(e,t);for(let i=0;i{yn(e,t).forEach((e=>{_n(s,e)}))})),s.length>0)return i.push("Found the following 'site-packages' dirs"),s.forEach((e=>{i.push(` ${e}`)})),s;i.push("Did not find any 'site-packages' dirs. Falling back on python interpreter.")}const o=n.getPythonSearchPaths(t.pythonPath,i);return r&&s?o.paths.filter((e=>!ne(s,e,!0)||ne(o.prefix,e,!0))):o.paths}function gn(e){return"python"===(e=e.trim())||"python3"===e}function yn(e,t){const n=[];return e.readdirEntriesSync(t).filter((e=>(e.isFile()||e.isSymbolicLink())&&e.name.endsWith(".pth"))).sort(((e,t)=>i(e.name,t.name))).forEach((i=>{const r=te(t,i.name),s=ye(e,r);(null==s?void 0:s.isFile())&&s.size>0&&s.size<65536&&e.readFileSync(r,"utf8").split(/\r?\n/).forEach((i=>{const r=i.trim();if(r.length>0&&!r.startsWith("#")&&!r.match(/^import\s/)){const i=te(t,r);e.existsSync(i)&&fe(e,i)&&n.push(i)}}))})),n}function _n(e,t){return!e.some((e=>e===t))&&(e.push(t),!0)}function vn(e){return{leadingDots:0,nameParts:e.split("."),importedSymbols:[]}}const Tn=[".pyd",".so",".dylib"],bn=[".py",".pyi",...Tn];class In{constructor(e,t,n){this.fileSystem=e,this._configOptions=t,this.host=n,this._cachedImportResults=new Map,this._cachedModuleNameResults=new Map,this._cachedEntriesForPath=new Map,this.cachedParentImportResults=new dn((()=>this.getPythonSearchPaths([])))}invalidateCache(){this._cachedImportResults=new Map,this._cachedModuleNameResults=new Map,this.cachedParentImportResults.reset(),this._invalidateFileSystemCache(),this.fileSystem instanceof rt&&this.fileSystem.clearPartialStubs()}resolveImport(e,t,n){return this._resolveImport(e,t,n)}_resolveImport(e,t,n){const i=this.formatImportName(n),r=this._resolveImportStrict(i,e,t,n,[]);if(r.isImportFound||n.leadingDots>0)return r;const s=le($(e=ke(this.fileSystem,me(e)))),o=this.cachedParentImportResults.getImportResult(s,i,r);if(o)return this.filterImplicitImports(o,n.importedSymbols);const a=this.getParentImportResolutionRoot(e,t.root);if(!this.cachedParentImportResults.checkValidPath(this.fileSystem,e,a))return r;const l={importPath:void 0};let c=s;for(;this._shouldWalkUp(c,a,t);){const e=this.resolveAbsoluteImport(c,t,n,i,[],void 0,void 0,!1,!0);if(this.cachedParentImportResults.checked(c,i,l),e.isImportFound)return l.importPath=c,this.cachedParentImportResults.add({importResult:e,path:c,importName:i}),this.filterImplicitImports(e,n.importedSymbols);let r;if([r,c]=this._tryWalkUp(c),!r)break}return this.cachedParentImportResults.checked(c,i,l),r}_resolveImportStrict(e,t,n,i,r){const s={importName:e,isRelative:!1,isImportFound:!1,isPartlyResolved:!1,isNamespacePackage:!1,isStubPackage:!1,importFailureInfo:r,resolvedPaths:[],importType:2,isStubFile:!1,isNativeLib:!1,implicitImports:[],filteredImplicitImports:[],nonStubImportResult:void 0};if(this.ensurePartialStubPackages(n),i.leadingDots>0){const s=this._resolveRelativeImport(t,n,i,e,r);if(s)return s.isRelative=!0,s}else{const r=this._lookUpResultsInCache(n,e,i.importedSymbols);if(r&&(!r.isImportFound||!r.isNamespacePackage||this._isNamespacePackageResolved(i,r.implicitImports)))return r;const o=this._resolveBestAbsoluteImport(t,n,i,!0);if(o)return o.isStubFile&&(o.nonStubImportResult=this._resolveBestAbsoluteImport(t,n,i,!1)||s),this.addResultsToCache(n,e,o,i.importedSymbols)}return this.addResultsToCache(n,e,s,void 0)}getCompletionSuggestions(e,t,n){const i=this._getCompletionSuggestionsStrict(e,t,n);if(n.leadingDots>0)return i;const r=this.getParentImportResolutionRoot(e,t.root);let s=le($(ke(this.fileSystem,me(e))));for(;this._shouldWalkUp(s,r,t);){let r;if(this._getCompletionSuggestionsAbsolute(e,t,s,n,i,!1),[r,s]=this._tryWalkUp(s),!r)break}return i}_getCompletionSuggestionsStrict(e,t,n){const i=[],r=new Set;if(n.leadingDots>0)this._getCompletionSuggestionsRelative(e,t,n,r);else{n.nameParts.length>0&&this._getCompletionSuggestionsTypeshedPath(e,t,n,!0,r),t.root&&this._getCompletionSuggestionsAbsolute(e,t,t.root,n,r);for(const i of t.extraPaths)this._getCompletionSuggestionsAbsolute(e,t,i,n,r);this._configOptions.stubPath&&this._getCompletionSuggestionsAbsolute(e,t,this._configOptions.stubPath,n,r),this._getCompletionSuggestionsTypeshedPath(e,t,n,!1,r);const s=this.getPythonSearchPaths(i);for(const i of s)this._getCompletionSuggestionsAbsolute(e,t,i,n,r)}return r}getSourceFilesFromStub(e,t,n){const i=[];if(this._cachedImportResults.forEach((t=>{t.forEach((t=>{if(t.isStubFile&&t.isImportFound&&t.nonStubImportResult&&t.resolvedPaths[t.resolvedPaths.length-1]===e&&t.nonStubImportResult.isImportFound){const e=t.nonStubImportResult.resolvedPaths[t.nonStubImportResult.resolvedPaths.length-1];(e.endsWith(".py")||e.endsWith(".pyi"))&&i.push(e)}}))})),0===i.length){const t=ie(e,".py");this.dirExistsCached(t)&&i.push(t)}if(0===i.length){const n=this.getImportRoots(t),r=[];for(const t of n)if(ne(t,e,!0)){const n=se(t,e,!0);if(n.length>1){n[1].endsWith(b)&&(n[1]=n[1].substr(0,n[1].length-b.length));const e=J(n);e&&r.push(e)}}for(const e of r)for(const t of n){let n=ie(ee(t,e),".py");if(this.fileExistsCached(n))i.push(n);else{const e=he(n);e.endsWith("__init__")?(n=e.substr(0,e.length-9)+".py",this.fileExistsCached(n)&&i.push(n)):(n=te(e,"__init__.py"),this.fileExistsCached(n)&&i.push(n))}}}return i}getModuleNameForImport(e,t){const n=h(this._cachedModuleNameResults,t.root,(()=>new Map));return h(n,e,(()=>this._getModuleNameForImport(e,t)))}_getModuleNameForImport(e,t){let n,i=0,r=!1;const s=[],o=this._getStdlibTypeshedPath(t,s);if(o&&(n=this.getModuleNameFromPath(o,e),n)){const e={leadingDots:0,nameParts:n.split("."),importedSymbols:void 0};if(this._isStdlibTypeshedStubValidForVersion(e,t,[]))return{moduleName:n,importType:i,isLocalTypingsFile:r}}t.root&&(n=this.getModuleNameFromPath(t.root,e),i=2);for(const r of t.extraPaths){const t=this.getModuleNameFromPath(r,e);(!n||t&&t.length0&&i.push(...o),i}readdirEntriesCached(e){const t=this._cachedEntriesForPath.get(e);if(t)return t;let n;try{n=this.fileSystem.readdirEntriesSync(e)}catch{n=[]}return this._cachedEntriesForPath.set(e,n),n}fileExistsCached(e){var t,n;const i=this._splitPath(e);if(!i[0]||!i[1])return!!this.fileSystem.existsSync(e)&&null!==(n=null===(t=ye(this.fileSystem,e))||void 0===t?void 0:t.isFile())&&void 0!==n&&n;const r=this.readdirEntriesCached(i[0]).find((e=>e.name===i[1]));if(null==r?void 0:r.isFile())return!0;if(null==r?void 0:r.isSymbolicLink()){const t=_e(this.fileSystem,e);if(t&&this.fileSystem.existsSync(t)&&ge(this.fileSystem,t))return!0}return!1}dirExistsCached(e){var t,n;const i=this._splitPath(e);if(!i[0]||!i[1])return!!this.fileSystem.existsSync(e)&&null!==(n=null===(t=ye(this.fileSystem,e))||void 0===t?void 0:t.isDirectory())&&void 0!==n&&n;const r=this.readdirEntriesCached(i[0]).find((e=>e.name===i[1]));if(null==r?void 0:r.isDirectory())return!0;if(null==r?void 0:r.isSymbolicLink()){const t=_e(this.fileSystem,e);if(t&&this.fileSystem.existsSync(t)&&fe(this.fileSystem,t))return!0}return!1}ensurePartialStubPackages(e){if(!(this.fileSystem instanceof rt))return!1;if(this.fileSystem.isPartialStubPackagesScanned(e))return!1;const t=this.fileSystem,n=[],i=[];return r(this._configOptions.stubPath),r(e.root),e.extraPaths.forEach((e=>r(e))),r(this.getTypeshedPathEx(e,n)),this.getPythonSearchPaths(n).forEach((e=>r(e))),this.fileSystem.processPartialStubPackages(i,this.getImportRoots(e)),this._invalidateFileSystemCache(),!0;function r(e){e&&!t.isPathScanned(e)&&i.push(e)}}addResultsToCache(e,t,n,i){return h(this._cachedImportResults,e.root,(()=>new Map)).set(t,n),this.filterImplicitImports(n,i)}resolveAbsoluteImport(e,t,n,i,r,s=!1,o=!1,a=!1,l=!0,c=!1){if(l&&a){const o=this._resolveAbsoluteImport(e,t,n,i,r,s,!1,!0,!0,!0);if(o.packageDirectory&&(!o.isNamespacePackage||o.isImportFound))return o}return this._resolveAbsoluteImport(e,t,n,i,r,s,o,!1,l,c)}_invalidateFileSystemCache(){this._cachedEntriesForPath.clear()}_splitPath(e){const t=G(e);return t.length<=1?[e,""]:[J(t.slice(0,-1)),t[t.length-1]]}_resolveAbsoluteImport(e,t,n,i,r,s,o,a,l,c){a?r.push(`Attempting to resolve stub package using root path '${e}'`):r.push(`Attempting to resolve using root path '${e}'`);const u=[];let p,d,h,m=e,f=!1,g=!1,y=!1,_=!1,v=[];if(0===n.nameParts.length){const e="__init__",t=te(m,e+".py"),n=te(m,e+".pyi");l&&this.fileExistsCached(n)?(r.push(`Resolved import with file '${n}'`),u.push(n),y=!0):this.fileExistsCached(t)?(r.push(`Resolved import with file '${t}'`),u.push(t)):(r.push(`Partially resolved import with directory '${m}'`),u.push(""),f=!0),v=this._findImplicitImports(i,m,[t,n])}else for(let e=0;ethis._isNativeModuleFileName(S,e)));if(e){const s=te(I,e);_=this._resolveNativeModuleStub(s,t,i,n,r,u)}}!_&&T?(r.push(`Partially resolved import with directory '${m}'`),u.push(""),h&&(v=this._findImplicitImports(i,m,[x,C]),f=!0)):_&&r.push(`Did not find file '${C}' or '${x}'`)}break}const T=u.length>0&&u.length0:u.length>=n.nameParts.length,{importName:i,isRelative:!1,isNamespacePackage:f,isStubPackage:g,isImportFound:h,isPartlyResolved:T,importFailureInfo:r,importType:2,resolvedPaths:u,searchPath:e,isStubFile:y,isNativeLib:_,implicitImports:v,pyTypedInfo:d,filteredImplicitImports:v,packageDirectory:p}}getTypeshedPathEx(e,t){}resolveImportEx(e,t,n,i,r=[],s=!0){}resolveNativeImportEx(e,t,n=[]){}getNativeModuleName(e){const t=pe(e,!1).toLowerCase();if(this._isNativeModuleFileExtension(t))return he(he(e))}_lookUpResultsInCache(e,t,n){const i=this._cachedImportResults.get(e.root);if(!i)return;const r=i.get(t);return r?this.filterImplicitImports(r,n):void 0}_isNamespacePackageResolved(e,t){if(e.importedSymbols){if(!e.importedSymbols.some((e=>t.some((t=>t.name===e)))))return!1}else if(0===t.length)return!1;return!0}getModuleNameFromPath(e,t,n=!1){e=le(e);let i=he(t);if(this._isNativeModuleFileExtension(pe(t))&&(i=he(i)),!i.startsWith(e))return;i.endsWith("__init__")&&(i=i.substr(0,i.length-9));const r=G(i.substr(e.length));if(r.shift(),n){if(0===r.length)return;r.shift()}return 0===r.length||(r[0].endsWith(b)&&(r[0]=r[0].substr(0,r[0].length-b.length)),r.some((e=>!this._isIdentifier(e))))?void 0:r.join(".")}_resolveBestAbsoluteImport(e,t,n,i){const r=this.formatImportName(n),s=[];if(i&&this._configOptions.stubPath){s.push(`Looking in stubPath '${this._configOptions.stubPath}'`);const e=this.resolveAbsoluteImport(this._configOptions.stubPath,t,n,r,s,void 0,!1,!0,i,!1);if(e.isImportFound)return e.importType=2,e.isLocalTypingsFile=!0,e}let o,a;t.root&&(s.push(`Looking in root directory of execution environment '${t.root}'`),a=this.resolveAbsoluteImport(t.root,t,n,r,s,void 0,!0,!0,i,!1),o=a);for(const e of t.extraPaths)s.push(`Looking in extraPath '${e}'`),a=this.resolveAbsoluteImport(e,t,n,r,s,void 0,!0,!0,i,!1),o=this._pickBestImport(o,a,n);const l=this.getPythonSearchPaths(s);if(l.length>0)for(const e of l){s.push(`Looking in python search path '${e}'`);const a=this.resolveAbsoluteImport(e,t,n,r,s,!1,!0,!0,i,!0);if(a){if(a.importType=1,a.isImportFound&&a.isStubFile)return a;o=this._pickBestImport(o,a,n)}}else s.push("No python interpreter search path");if(t.root!==this._getTypeshedRoot(t,s)&&(null==o?void 0:o.pyTypedInfo)&&!o.isPartlyResolved)return o;const c=this.resolveImportEx(e,t,n,r,s,i);if(c)return c;if(i&&n.nameParts.length>0){s.push("Looking for typeshed stdlib path");const e=this._findTypeshedPath(t,n,r,!0,s);if(e)return e.isTypeshedFile=!0,e;s.push("Looking for typeshed third-party path");const i=this._findTypeshedPath(t,n,r,!1,s);i&&(i.isTypeshedFile=!0,o=this._pickBestImport(o,i,n))}return o}_pickBestImport(e,t,n){if(!e)return t;if(!t)return e;if(t.isImportFound){if(!e.isImportFound)return t;if(e.isNamespacePackage&&!t.isNamespacePackage)return t;if(2===e.importType&&!e.isNamespacePackage)return e;if(e.isNamespacePackage&&t.isNamespacePackage&&n.importedSymbols&&!this._isNamespacePackageResolved(n,e.implicitImports)&&this._isNamespacePackageResolved(n,t.implicitImports))return t;if(e.pyTypedInfo&&!t.pyTypedInfo)return e;if(!e.pyTypedInfo&&t.pyTypedInfo)return t;if(e.isStubFile&&!t.isStubFile)return e;if(!e.isStubFile&&t.isStubFile)return t;if(e.resolvedPaths.length>t.resolvedPaths.length)return t}else if(t.isPartlyResolved&&e.isNamespacePackage&&!t.isNamespacePackage)return t;return e}_isIdentifier(e){for(let t=0;tthis.fileSystem.realCasePath(e)));this._cachedPythonSearchPaths=[...new Set(t)]}return this._cachedPythonSearchPaths}_findTypeshedPath(e,t,n,i,r){let s;if(r.push(`Looking for typeshed ${i?hn:mn} path`),i){const n=this._getStdlibTypeshedPath(e,r,t);n&&(s=[n])}else s=this._getThirdPartyTypeshedPackagePaths(t,e,r);if(s)for(const o of s)if(this.dirExistsCached(o)){const s=this.resolveAbsoluteImport(o,e,t,n,r);if(s.isImportFound)return s.importType=i?0:1,s}r.push("Typeshed path not found")}_buildTypeshedThirdPartyPackageMap(e){this._cachedTypeshedThirdPartyPackagePaths=new Map,e&&this.readdirEntriesCached(e).forEach((t=>{if(t.isDirectory()){const n=te(e,t.name);this.readdirEntriesCached(n).forEach((e=>{if("@python2"!==e.name)if(e.isDirectory()){const t=this._cachedTypeshedThirdPartyPackagePaths.get(e.name);t?t.push(n):this._cachedTypeshedThirdPartyPackagePaths.set(e.name,[n])}else if(e.isFile()&&e.name.endsWith(".pyi")){const t=he(e.name),i=this._cachedTypeshedThirdPartyPackagePaths.get(t);i?i.push(n):this._cachedTypeshedThirdPartyPackagePaths.set(t,[n])}}))}})),this._cachedTypeshedThirdPartyPackageRoots=[...new Set(...this._cachedTypeshedThirdPartyPackagePaths.values())].sort()}_getCompletionSuggestionsTypeshedPath(e,t,n,i,r){const s=[];let o;if(i){const e=this._getStdlibTypeshedPath(t,s,n);e&&(o=[e])}else{o=this._getThirdPartyTypeshedPackagePaths(n,t,s,!1);const e=this.getTypeshedPathEx(t,s);e&&(o=null!=o?o:[],o.push(e))}o&&o.forEach((i=>{this.dirExistsCached(i)&&this._getCompletionSuggestionsAbsolute(e,t,i,n,r)}))}_getStdlibTypeshedPath(e,t,n){const i=this._getTypeshedSubdirectory(!0,e,t);if(!i||!n||this._isStdlibTypeshedStubValidForVersion(n,e,t))return i}_getThirdPartyTypeshedPath(e,t){return this._getTypeshedSubdirectory(!1,e,t)}_isStdlibTypeshedStubValidForVersion(e,t,n){this._cachedTypeshedStdLibModuleVersions||(this._cachedTypeshedStdLibModuleVersions=this._readTypeshedStdLibVersions(t,n));for(let n=1;n<=e.nameParts.length;n++){const i=e.nameParts.slice(0,n),r=this._cachedTypeshedStdLibModuleVersions.get(i.join("."));if(r){if(t.pythonVersionr.max)return!1}}return!0}_readTypeshedStdLibVersions(e,t){const n=new Map,i=this._getTypeshedSubdirectory(!0,e,t);if(i){const e=te(i,"VERSIONS");try{const i=this.fileSystem.statSync(e);i.size>0&&i.size<262144?this.fileSystem.readFileSync(e,"utf8").split(/\r?\n/).forEach((e=>{const t=e.split("#")[0].split(":");if(2!==t.length)return;const i=t[1].split("-");if(i.length>2)return;const r=t[0].trim();if(!r)return;let s=i[0].trim();s.endsWith("+")&&(s=s.substr(0,s.length-1));let o,a=Re(s);a||(a=De.V3_0),i.length>1&&(o=Re(i[1].trim())),n.set(r,{min:a,max:o})})):t.push("Typeshed stdlib VERSIONS file is unexpectedly large")}catch(e){t.push(`Could not read typeshed stdlib VERSIONS file: '${JSON.stringify(e)}'`)}}return n}_getThirdPartyTypeshedPackagePaths(e,t,n,i=!0){const r=this._getThirdPartyTypeshedPath(t,n);this._cachedTypeshedThirdPartyPackagePaths||this._buildTypeshedThirdPartyPackageMap(r);const s=e.nameParts.length>0?e.nameParts[0]:"";return i?this._cachedTypeshedThirdPartyPackagePaths.get(s):s?function(e){const t=[];for(const i of e)i&&(n=i,(Array.isArray?Array.isArray(n):n instanceof Array)?c(t,i):t.push(i));var n;return t}(function(e,t){const n=[];return e.forEach(((e,t)=>{(e=>e.startsWith(s))(t)&&n.push(e)})),n}(this._cachedTypeshedThirdPartyPackagePaths)):[]}_getThirdPartyTypeshedPackageRoots(e,t){const n=this._getThirdPartyTypeshedPath(e,t);return this._cachedTypeshedThirdPartyPackagePaths||this._buildTypeshedThirdPartyPackageMap(n),this._cachedTypeshedThirdPartyPackageRoots}_getTypeshedRoot(e,t){if(void 0!==this._cachedTypeshedRoot)return this._cachedTypeshedRoot;let n="";if(this._configOptions.typeshedPath){const e=this._configOptions.typeshedPath;this.dirExistsCached(e)&&(n=e)}else{const e=this.getPythonSearchPaths(t);for(const t of e){const e=te(t,"typeshed");if(this.dirExistsCached(e)){n=e;break}}}return n||(n=function(e){let t=e.getModulePath();if(!t)return;t=$(le(me(t)));const n=te(t,g);if(e.existsSync(n))return n;const i=te($(t),g);return e.existsSync(i)?i:void 0}(this.fileSystem)||""),this._cachedTypeshedRoot=n,n}_getTypeshedSubdirectory(e,t,n){if(e){if(void 0!==this._cachedTypeshedStdLibPath)return this._cachedTypeshedStdLibPath}else if(void 0!==this._cachedTypeshedThirdPartyPath)return this._cachedTypeshedThirdPartyPath;let i=this._getTypeshedRoot(t,n);if(i=function(e,t){return te(e,t?hn:mn)}(i,e),this.dirExistsCached(i))return e?this._cachedTypeshedStdLibPath=i:this._cachedTypeshedThirdPartyPath=i,i}_resolveRelativeImport(e,t,n,i,r){r.push("Attempting to resolve relative import");const s=pn($(e),n.leadingDots);if(!s)return void r.push(`Invalid relative path '${i}'`);const o=this.resolveAbsoluteImport(s,t,n,i,r,!1,!0);return this.filterImplicitImports(o,n.importedSymbols)}_getCompletionSuggestionsRelative(e,t,n,i){const r=pn($(e),n.leadingDots);r&&this._getCompletionSuggestionsAbsolute(e,t,r,n,i)}_getFilesInDirectory(e){const t=this.readdirEntriesCached(e),n=t.filter((e=>e.isFile())).map((e=>e.name));return t.forEach((t=>{var i;const r=te(e,t.name);t.isSymbolicLink()&&(null===(i=ye(this.fileSystem,r))||void 0===i?void 0:i.isFile())&&n.push(t.name)})),n}_getCompletionSuggestionsAbsolute(e,t,n,i,r,s=!0){let o=n;const a=i.nameParts.map((e=>e));i.hasTrailingDot&&a.push("");const l=i.leadingDots,c=a.slice(0,-1);if(0===a.length)this._addFilteredSuggestionsAbsolute(e,t,o,"",r,l,c,s);else for(let n=0;n{const l=pe(n,!1).toLowerCase(),c=he(n,!0);if(bn.some((e=>e===l))){if("__init__"===c)return;if(i&&!N(i,c))return;if(!this._isUniqueValidSuggestion(c,r)||!this._isResolvableSuggestion(c,s,o,e,t,a))return;r.add(c)}})),l.directories.forEach((n=>{i&&!n.startsWith(i)||this._isUniqueValidSuggestion(n,r)&&this._isResolvableSuggestion(n,s,o,e,t,a)&&r.add(n)}))}_isResolvableSuggestion(e,t,n,i,r,s){const o={leadingDots:t,nameParts:[...n,e],importedSymbols:[]};if(s){const e=this.formatImportName(o),t=[];return this._resolveImportStrict(e,i,r,o,t).isImportFound}return this._resolveImport(i,r,o).isImportFound}_isUniqueValidSuggestion(e,t){return!(t.has(e)||/[.-]/.test(e)||Qt(e)&&"__future__"!==e)}filterImplicitImports(e,t){if(void 0===t){const t=Object.assign({},e);return t.filteredImplicitImports=[],t}if(0===t.length)return e;if(0===e.implicitImports.length)return e;const n=e.implicitImports.filter((e=>t.some((t=>t===e.name))));if(n.length===e.implicitImports.length)return e;const i=Object.assign({},e);return i.filteredImplicitImports=n,i}_findImplicitImports(e,t,n){const i=new Map,r=Te(this.readdirEntriesCached(t),this.fileSystem,t);for(const s of r.files){const r=pe(s);let o,a=!1;if(".py"===r||".pyi"===r)o=he(s);else{if(!this._isNativeModuleFileExtension(r)||this.fileExistsCached(`${s}.py`)||this.fileExistsCached(`${s}.pyi`))continue;o=s.substr(0,s.indexOf(".")),a=!0}const l=te(t,s);if(!n.find((e=>e===l))){const n={isStubFile:s.endsWith(".pyi"),isNativeLib:a,name:o,path:l},r=i.get(n.name);if(!r||!r.isStubFile){if(a){const i=te(t,s),r=this.resolveNativeImportEx(i,`${e}.${o}`,[]);r&&(n.path=r,n.isNativeLib=!1)}i.set(n.name,n)}}}for(const e of r.directories){const r=te(t,e,"__init__.py"),s=r+"i";let o=!1,a="";if(this.fileExistsCached(s)?(o=!0,a=s):this.fileExistsCached(r)&&(a=r),a&&!n.find((e=>e===a))){const t={isStubFile:o,isNativeLib:!1,name:e,path:a};i.set(t.name,t)}}return[...i.values()]}formatImportName(e){return".".repeat(e.leadingDots)+e.nameParts.join(".")}_resolveNativeModuleStub(e,t,n,i,r,s){let o=n;if(i.leadingDots>0){const n=this.getModuleNameForImport(e,t);o=n.moduleName.length>0?n.moduleName:o}const a=this.resolveNativeImportEx(e,o,r);return a?(r.push(`Resolved native import ${n} with stub '${a}'`),s.push(a),!1):(r.push(`Resolved import with file '${e}'`),s.push(e),!0)}_isNativeModuleFileName(e,t){const n=pe(t,!1).toLowerCase(),i=he(t,!0);return this._isNativeModuleFileExtension(n)&&V(e,i)}_isNativeModuleFileExtension(e){return Tn.some((t=>t===e))}_tryWalkUp(e){return Se(e)?[!1,""]:[!0,le(ke(this.fileSystem,me(te(e,".."))))]}_shouldWalkUp(e,t,n){return e.length>t.length||e===t&&!n.root}getParentImportResolutionRoot(e,t){return le(t?ke(this.fileSystem,me(t)):$(e))}}const Sn=new(__webpack_require__(2477).ProtocolRequestType)("pyright/apidocs");let xn;function Cn(e){xn=e}function wn(){if(!xn)throw new Error("Host must be initialized");return xn}function En(){return wn().createMessageChannel()}function kn(){return wn().parentPort()}function Dn(){return wn().threadId()}function An(e,t){if(Array.isArray(e))return e.map(t);if(n=e,"[object Object]"===Object.prototype.toString.call(n)){const n=Object.create(null);return Object.entries(e).forEach((([e,i])=>{n[e]=t(i)})),n}var n;return t(e)}class Pn{constructor(){this._startTime=Date.now()}getDurationInMilliseconds(){return Date.now()-this._startTime}getDurationInSeconds(){return this.getDurationInMilliseconds()/1e3}}class Rn{constructor(){this.totalTime=0,this.callCount=0,this.isTiming=!1}timeOperation(e){if(this.callCount++,this.isTiming)return e();{this.isTiming=!0;const t=new Pn,n=e();return this.totalTime+=t.getDurationInMilliseconds(),this.isTiming=!1,n}}subtractFromTime(e){if(this.isTiming){this.isTiming=!1;const t=new Pn;e(),this.totalTime-=t.getDurationInMilliseconds(),this.isTiming=!0}else e()}printTime(){const e=this.totalTime/1e3;return(Math.round(100*e)/100).toString()+"sec"}}const Fn=new class{constructor(){this.totalDuration=new Pn,this.findFilesTime=new Rn,this.readFileTime=new Rn,this.tokenizeFileTime=new Rn,this.parseFileTime=new Rn,this.resolveImportsTime=new Rn,this.cycleDetectionTime=new Rn,this.bindTime=new Rn,this.typeCheckerTime=new Rn,this.typeEvaluationTime=new Rn}printSummary(e){e.info(`Completed in ${this.totalDuration.getDurationInSeconds()}sec`)}printDetails(e){e.info(""),e.info("Timing stats"),e.info("Find Source Files: "+this.findFilesTime.printTime()),e.info("Read Source Files: "+this.readFileTime.printTime()),e.info("Tokenize: "+this.tokenizeFileTime.printTime()),e.info("Parse: "+this.parseFileTime.printTime()),e.info("Resolve Imports: "+this.resolveImportsTime.printTime()),e.info("Bind: "+this.bindTime.printTime()),e.info("Check: "+this.typeCheckerTime.printTime()),e.info("Detect Cycles: "+this.cycleDetectionTime.printTime())}getTotalDuration(){return this.totalDuration.getDurationInSeconds()}},Nn=e=>{};function Mn(e,t,n,i,r,s){let o=!1;i=null!=i?i:Nn;try{ct(s);const r=new Pn;o=e.analyze(t,s);const a=e.getFilesToAnalyzeCount(),l=e.getDiagnostics(n),c=l.length,u=r.getDurationInSeconds();(c>0||!o)&&i({diagnostics:l,filesInProgram:e.getFileCount(),filesRequiringAnalysis:a,checkingOnlyOpenFiles:e.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:u})}catch(e){if(lt.is(e))return!1;const t=((a=e).stack?a.stack.toString():void 0)||("string"==typeof a.message?a.message:void 0)||JSON.stringify(a);r.error("Error performing analysis: "+t),i({diagnostics:[],filesInProgram:0,filesRequiringAnalysis:0,checkingOnlyOpenFiles:!0,fatalErrorOccurred:!0,configParseErrorOccurred:!1,elapsedTime:0,error:D(e)})}var a;return o}var On,Ln=__webpack_require__(5269);!function(e){e.Error="error",e.Warn="warn",e.Info="info",e.Log="log"}(On||(On={}));class Un{log(e){console.info(e)}info(e){console.info(e)}warn(e){console.warn(e)}error(e){console.error(e)}}class Vn{constructor(e,t=""){this._console=e,this._name=t,this._levelMap=new Map([[On.Error,0],[On.Warn,1],[On.Info,2],[On.Log,3]]),this._maxLevel=2}get level(){switch(this._maxLevel){case 0:return On.Error;case 1:return On.Warn;case 2:return On.Info}return On.Log}set level(e){let t=this._levelMap.get(e);void 0===t&&(t=this._levelMap.get(On.Info)),this._maxLevel=t}error(e){this._log(On.Error,`${this._prefix}${e}`)}warn(e){this._log(On.Warn,`${this._prefix}${e}`)}info(e){this._log(On.Info,`${this._prefix}${e}`)}log(e){this._log(On.Log,`${this._prefix}${e}`)}get _prefix(){return this._name?`(${this._name}) `:""}_log(e,t){this._getNumericalLevel(e)>this._maxLevel||qn(this._console,e,t)}_getNumericalLevel(e){const t=this._levelMap.get(e);return w(void 0!==t,"Logger: unknown log level."),void 0!==t?t:2}}function qn(e,t,n){switch(t){case On.Log:e.log(n);break;case On.Info:e.info(n);break;case On.Warn:e.warn(n);break;case On.Error:e.error(n);break;default:E(`${t} is not expected`)}}class Bn{constructor(e,t){this._console=e,this._prefix=t,this._dummyState=new Wn,this._indentation="",this._previousTitles=[]}log(e,t,n=-1,i=!1){if(void 0===this._console)return t(this._dummyState);const r=this._console.level;if(void 0===r||r!==On.Log&&r!==On.Info)return t(this._dummyState);const s=this._indentation;this._previousTitles.push(`${s}${e} ...`),this._indentation+=" ";const o=new Wn;try{return t(o)}finally{const t=o.duration;if(this._indentation=s,this._previousTitles.length>0&&(o.isSuppressed()||t<=n))this._previousTitles.pop();else{this._printPreviousTitles();let n=`[${this._prefix}] ${this._indentation}${e}${o.get()} (${t}ms)`;i&&o.fileReadTotal+o.tokenizeTotal+o.parsingTotal+o.resolveImportsTotal+o.bindingTotal>0&&(n+=` [f:${o.fileReadTotal}, t:${o.tokenizeTotal}, p:${o.parsingTotal}, i:${o.resolveImportsTotal}, b:${o.bindingTotal}]`),this._console.log(n),t>=2e3&&this._console.info(`[${this._prefix}] Long operation: ${e} (${t}ms)`)}}}_printPreviousTitles(){if(this._previousTitles.pop(),!(this._previousTitles.length<=0)){for(const e of this._previousTitles)this._console.log(`[${this._prefix}] ${e}`);this._previousTitles.length=0}}}class Wn{constructor(){this._start=new Pn,this._startFile=Fn.readFileTime.totalTime,this._startToken=Fn.tokenizeFileTime.totalTime,this._startParse=Fn.parseFileTime.totalTime,this._startImport=Fn.resolveImportsTime.totalTime,this._startBind=Fn.bindTime.totalTime}get duration(){return this._start.getDurationInMilliseconds()}get fileReadTotal(){return Fn.readFileTime.totalTime-this._startFile}get tokenizeTotal(){return Fn.tokenizeFileTime.totalTime-this._startToken}get parsingTotal(){return Fn.parseFileTime.totalTime-this._startParse}get resolveImportsTotal(){return Fn.resolveImportsTime.totalTime-this._startImport}get bindingTotal(){return Fn.bindTime.totalTime-this._startBind}add(e){e&&(this._addendum=e)}get(){return this._addendum?` [${this._addendum}]`:""}suppress(){this._suppress=!0}isSuppressed(){return!!this._suppress}}function jn(e){return 3===e.type}function zn(e){return 4===e.type}function $n(e){return 2===e.type}function Hn(e){return 1===e.type}function Gn(e){return 6===e.type}let Kn=1;function Jn(e,t){t.startdt.getEnd(e)&&(e.length=dt.getEnd(t)-e.start)}var Yn,Qn,Zn,Xn,ei,ti,ni,ii,ri,si,oi,ai,li,ci,ui,pi,di,hi,mi,fi,gi,yi,_i,vi,Ti,bi,Ii,Si,xi,Ci,wi,Ei,ki,Di,Ai,Pi,Ri,Fi,Ni,Mi,Oi,Li,Ui,Vi,qi,Bi,Wi,ji,zi,$i,Hi,Gi,Ki,Ji,Yi,Qi,Zi,Xi,er,tr,nr,ir,rr,sr,or,ar,lr,cr,ur,pr,dr,hr,mr,fr,gr;function yr(e){switch(e.nodeType){case 0:case 55:case 7:case 4:case 54:case 6:case 51:case 56:case 52:case 9:case 32:case 24:case 46:case 60:case 61:case 35:case 30:case 38:case 11:case 18:case 40:case 49:case 27:case 48:case 15:case 16:case 31:case 45:return!0;default:return!1}}!function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:36,id:Kn++,statements:[]}}}(Yn||(Yn={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:50,id:Kn++,statements:[]}}}(Qn||(Qn={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:19,id:Kn++,testExpression:t,ifSuite:n,elseSuite:i};return t.parent=r,n.parent=r,Jn(r,t),Jn(r,n),i&&(Jn(r,i),i.parent=r),r}}(Zn||(Zn={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:57,id:Kn++,testExpression:t,whileSuite:n};return t.parent=i,n.parent=i,Jn(i,n),i}}(Xn||(Xn={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:26,id:Kn++,targetExpression:t,iterableExpression:n,forSuite:i};return t.parent=r,n.parent=r,i.parent=r,Jn(r,i),r}}(ei||(ei={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:33,id:Kn++,targetExpression:t,iterableExpression:n};return t.parent=i,n.parent=i,Jn(i,t),Jn(i,n),i}}(ti||(ti={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:34,id:Kn++,testExpression:t};return t.parent=n,Jn(n,t),n}}(ni||(ni={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:53,id:Kn++,trySuite:t,exceptClauses:[]};return t.parent=n,Jn(n,t),n}}(ii||(ii={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:25,id:Kn++,exceptSuite:t,isExceptGroup:n};return t.parent=i,Jn(i,t),i}}(ri||(ri={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:28,id:Kn++,decorators:[],name:t,parameters:[],suite:n};return t.parent=i,n.parent=i,Jn(i,n),i}}(si||(si={})),function(e){e.create=function(e,t){return{start:e.start,length:e.length,nodeType:41,id:Kn++,category:t}}}(oi||(oi={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:10,id:Kn++,decorators:[],name:t,arguments:[],suite:n};return t.parent=i,n.parent=i,Jn(i,n),i},e.createDummyForDecorators=function(e){const t={start:e[0].start,length:0,nodeType:10,id:Kn++,decorators:e,name:{start:e[0].start,length:0,id:0,nodeType:38,token:{type:7,start:0,length:0,comments:[],value:""},value:""},arguments:[],suite:{start:e[0].start,length:0,id:0,nodeType:50,statements:[]}};return e.forEach((e=>{e.parent=t,Jn(t,e)})),t.name.parent=t,t.suite.parent=t,t}}(ai||(ai={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:58,id:Kn++,withItems:[],suite:t};return t.parent=n,Jn(n,t),n}}(li||(li={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:59,id:Kn++,expression:e};return e.parent=t,t}}(ci||(ci={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:13,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(ui||(ui={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:47,id:Kn++,statements:[]}}}(pi||(pi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:0,id:Kn++,category:t,child:n,decorators:i};return n&&(n.parent=r,Jn(r,n)),i&&(i.forEach((e=>{e.parent=r})),i.length>0&&Jn(r,i[0])),r}}(di||(di={})),function(e){e.create=function(e,t,n){var i;const r={start:e.start,length:e.length,nodeType:55,id:Kn++,operator:n,operatorToken:e,expression:t};return t.parent=r,r.maxChildDepth=1+(null!==(i=t.maxChildDepth)&&void 0!==i?i:0),Jn(r,t),r}}(hi||(hi={})),function(e){e.create=function(e,t,n,i){var r,s;const o={start:e.start,length:e.length,nodeType:7,id:Kn++,leftExpression:e,operatorToken:n,operator:i,rightExpression:t};return e.parent=o,t.parent=o,o.maxChildDepth=1+Math.max(null!==(r=e.maxChildDepth)&&void 0!==r?r:0,null!==(s=t.maxChildDepth)&&void 0!==s?s:0),Jn(o,t),o}}(mi||(mi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:4,id:Kn++,name:e,rightExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(fi||(fi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:3,id:Kn++,leftExpression:e,rightExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(gi||(gi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:54,id:Kn++,valueExpression:e,typeAnnotation:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(yi||(yi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:62,id:Kn++,isParamListEllipsis:t,paramTypeAnnotations:n,returnTypeAnnotation:i};return n.forEach((e=>{e.parent=r})),i.parent=r,Jn(r,i),r}}(_i||(_i={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:5,id:Kn++,leftExpression:e,operator:n,rightExpression:t,destExpression:i};return e.parent=r,t.parent=r,i.parent=r,Jn(r,t),r}}(vi||(vi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:6,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Ti||(Ti={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:51,id:Kn++,ifExpression:e,testExpression:t,elseExpression:n};return e.parent=i,t.parent=i,n.parent=i,Jn(i,n),i}}(bi||(bi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:56,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Ii||(Ii={})),function(e){e.create=function(e,t){return{start:e.start,length:e.length,nodeType:52,id:Kn++,expressions:[],enclosedInParens:t}}}(Si||(Si={})),function(e){e.create=function(e,t,n){var i;const r={start:e.start,length:e.length,nodeType:9,id:Kn++,leftExpression:e,arguments:t,trailingComma:n};return e.parent=r,r.maxChildDepth=1+(null!==(i=e.maxChildDepth)&&void 0!==i?i:0),t.length>0&&(t.forEach((e=>{e.parent=r})),Jn(r,t[t.length-1])),r}}(xi||(xi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:32,id:Kn++,expression:e,forIfNodes:[]};return e.parent=t,t}}(Ci||(Ci={})),function(e){e.create=function(e,t,n,i){var r;const s={start:e.start,length:e.length,nodeType:24,id:Kn++,baseExpression:e,items:t,trailingComma:n};return e.parent=s,t.forEach((e=>{e.parent=s})),Jn(s,i),s.maxChildDepth=1+(null!==(r=e.maxChildDepth)&&void 0!==r?r:0),s}}(wi||(wi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:46,id:Kn++}}}(Ei||(Ei={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:60,id:Kn++,expression:t};return t&&(t.parent=n,Jn(n,t)),n}}(ki||(ki={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:61,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Di||(Di={})),function(e){e.create=function(e,t){var n;const i={start:e.start,length:e.length,nodeType:35,id:Kn++,leftExpression:e,memberName:t};return e.parent=i,t.parent=i,Jn(i,t),i.maxChildDepth=1+(null!==(n=e.maxChildDepth)&&void 0!==n?n:0),i}}(Ai||(Ai={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:30,id:Kn++,parameters:[],expression:t};return t.parent=n,Jn(n,t),n}}(Pi||(Pi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:38,id:Kn++,token:e,value:e.value}}}(Ri||(Ri={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:11,id:Kn++,constType:e.keywordType}}}(Fi||(Fi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:18,id:Kn++}}}(Ni||(Ni={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:40,id:Kn++,value:e.value,isInteger:e.isInteger,isImaginary:e.isImaginary}}}(Mi||(Mi={})),function(e){e.create=function(e,t,n){return{start:e.start,length:e.length,nodeType:49,id:Kn++,token:e,value:t,hasUnescapeErrors:n}}}(Oi||(Oi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:27,id:Kn++,token:e,value:t,hasUnescapeErrors:n,expressions:i};return i.forEach((e=>{e.parent=r})),r}}(Li||(Li={})),function(e){e.create=function(e){const t={start:e[0].start,length:e[0].length,nodeType:48,id:Kn++,strings:e};return e.length>0&&(e.forEach((e=>{e.parent=t})),Jn(t,e[e.length-1])),t}}(Ui||(Ui={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:15,id:Kn++,entries:[]}}}(Vi||(Vi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:17,id:Kn++,keyExpression:e,valueExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(qi||(qi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:16,id:Kn++,expandExpression:e};return e.parent=t,t}}(Bi||(Bi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:45,id:Kn++,entries:[]}}}(Wi||(Wi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:31,id:Kn++,entries:[]}}}(ji||(ji={})),function(e){e.create=function(e,t,n){const i={start:e?e.start:t.start,length:e?e.length:t.length,nodeType:1,id:Kn++,valueExpression:t,argumentCategory:n};return t.parent=i,Jn(i,t),i}}(zi||(zi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:14,id:Kn++,expressions:[]}}}($i||($i={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:42,id:Kn++}}}(Hi||(Hi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:20,id:Kn++,list:[]}}}(Gi||(Gi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:37,id:Kn++,leadingDots:0,nameParts:[]}}}(Ki||(Ki={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:21,id:Kn++,module:e};return e.parent=t,t}}(Ji||(Ji={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:22,id:Kn++,module:t,imports:[],isWildcardImport:!1,usesParens:!1};return t.parent=n,Jn(n,t),n}}(Yi||(Yi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:23,id:Kn++,name:e};return e.parent=t,t}}(Qi||(Qi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:29,id:Kn++,nameList:[]}}}(Zi||(Zi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:39,id:Kn++,nameList:[]}}}(Xi||(Xi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:2,id:Kn++,testExpression:t};return t.parent=n,Jn(n,t),n}}(er||(er={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:8,id:Kn++}}}(tr||(tr={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:12,id:Kn++}}}(nr||(nr={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:44,id:Kn++}}}(ir||(ir={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:43,id:Kn++}}}(rr||(rr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:63,id:Kn++,subjectExpression:t,cases:[]};return t.parent=n,Jn(n,t),n}}(sr||(sr={})),function(e){e.create=function(e,t,n,i,r){const s={start:e.start,length:e.length,nodeType:64,id:Kn++,pattern:t,isIrrefutable:n,guardExpression:i,suite:r};return Jn(s,r),t.parent=s,r.parent=s,i&&(i.parent=s),s}}(or||(or={})),function(e){e.create=function(e,t){const n=t.findIndex((e=>1===e.orPatterns.length&&69===e.orPatterns[0].nodeType&&e.orPatterns[0].isStar)),i={start:e.start,length:e.length,nodeType:65,id:Kn++,entries:t,starEntryIndex:n>=0?n:void 0};return t.length>0&&Jn(i,t[t.length-1]),t.forEach((e=>{e.parent=i})),i}}(ar||(ar={})),function(e){e.create=function(e,t){const n={start:e[0].start,length:e[0].length,nodeType:66,id:Kn++,orPatterns:e,target:t};return e.length>1&&Jn(n,e[e.length-1]),e.forEach((e=>{e.parent=n})),t&&(Jn(n,t),t.parent=n),n}}(lr||(lr={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:67,id:Kn++,expression:e};return e.parent=t,t}}(cr||(cr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:68,id:Kn++,className:e,arguments:t};return e.parent=n,t.forEach((e=>{e.parent=n})),t.length>0&&Jn(n,t[t.length-1]),n}}(ur||(ur={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:74,id:Kn++,pattern:e,name:t};return e.parent=n,t&&(Jn(n,t),t.parent=n),n}}(pr||(pr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:69,id:Kn++,target:e,isStar:void 0!==t,isWildcard:"_"===e.value};return e.parent=n,t&&Jn(n,t),n}}(dr||(dr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:70,id:Kn++,entries:t};return t.length>0&&Jn(n,t[t.length-1]),t.forEach((e=>{e.parent=n})),n}}(hr||(hr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:71,id:Kn++,keyPattern:e,valuePattern:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(mr||(mr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:72,id:Kn++,target:t};return t.parent=n,Jn(n,t),n}}(fr||(fr={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:73,id:Kn++,expression:e};return e.parent=t,t}}(gr||(gr={}));class _r{walk(e){const t=this.visitNode(e);t.length>0&&this.walkMultiple(t)}walkMultiple(e){e.forEach((e=>{e&&this.walk(e)}))}visitNode(e){var t;switch(e.nodeType){case 0:if(this.visitError(e))return[e.child,...null!==(t=e.decorators)&&void 0!==t?t:[]];break;case 1:if(this.visitArgument(e))return[e.name,e.valueExpression];break;case 2:if(this.visitAssert(e))return[e.testExpression,e.exceptionExpression];break;case 3:if(this.visitAssignment(e))return[e.leftExpression,e.rightExpression,e.typeAnnotationComment];break;case 4:if(this.visitAssignmentExpression(e))return[e.name,e.rightExpression];break;case 5:if(this.visitAugmentedAssignment(e))return[e.leftExpression,e.rightExpression];break;case 6:if(this.visitAwait(e))return[e.expression];break;case 7:if(this.visitBinaryOperation(e))return[e.leftExpression,e.rightExpression];break;case 8:if(this.visitBreak(e))return[];break;case 9:if(this.visitCall(e))return[e.leftExpression,...e.arguments];break;case 10:if(this.visitClass(e))return[...e.decorators,e.name,...e.arguments,e.suite];break;case 11:if(this.visitConstant(e))return[];break;case 12:if(this.visitContinue(e))return[];break;case 13:if(this.visitDecorator(e))return[e.expression];break;case 14:if(this.visitDel(e))return e.expressions;break;case 15:if(this.visitDictionary(e))return e.entries;break;case 16:if(this.visitDictionaryExpandEntry(e))return[e.expandExpression];break;case 17:if(this.visitDictionaryKeyEntry(e))return[e.keyExpression,e.valueExpression];break;case 18:if(this.visitEllipsis(e))return[];break;case 19:if(this.visitIf(e))return[e.testExpression,e.ifSuite,e.elseSuite];break;case 20:if(this.visitImport(e))return e.list;break;case 21:if(this.visitImportAs(e))return[e.module,e.alias];break;case 22:if(this.visitImportFrom(e))return[e.module,...e.imports];break;case 23:if(this.visitImportFromAs(e))return[e.name,e.alias];break;case 24:if(this.visitIndex(e))return[e.baseExpression,...e.items];break;case 25:if(this.visitExcept(e))return[e.typeExpression,e.name,e.exceptSuite];break;case 26:if(this.visitFor(e))return[e.targetExpression,e.iterableExpression,e.forSuite,e.elseSuite];break;case 27:if(this.visitFormatString(e))return e.expressions;break;case 28:if(this.visitFunction(e))return[...e.decorators,e.name,...e.parameters,e.returnTypeAnnotation,e.functionAnnotationComment,e.suite];break;case 29:if(this.visitGlobal(e))return e.nameList;break;case 30:if(this.visitLambda(e))return[...e.parameters,e.expression];break;case 31:if(this.visitList(e))return e.entries;break;case 32:if(this.visitListComprehension(e))return[e.expression,...e.forIfNodes];break;case 33:if(this.visitListComprehensionFor(e))return[e.targetExpression,e.iterableExpression];break;case 34:if(this.visitListComprehensionIf(e))return[e.testExpression];break;case 35:if(this.visitMemberAccess(e))return[e.leftExpression,e.memberName];break;case 36:if(this.visitModule(e))return[...e.statements];break;case 37:if(this.visitModuleName(e))return e.nameParts;break;case 38:if(this.visitName(e))return[];break;case 39:if(this.visitNonlocal(e))return e.nameList;break;case 40:if(this.visitNumber(e))return[];break;case 41:if(this.visitParameter(e))return[e.name,e.typeAnnotation,e.typeAnnotationComment,e.defaultValue];break;case 42:if(this.visitPass(e))return[];break;case 43:if(this.visitRaise(e))return[e.typeExpression,e.valueExpression,e.tracebackExpression];break;case 44:if(this.visitReturn(e))return[e.returnExpression];break;case 45:if(this.visitSet(e))return e.entries;break;case 46:if(this.visitSlice(e))return[e.startValue,e.endValue,e.stepValue];break;case 47:if(this.visitStatementList(e))return e.statements;break;case 48:if(this.visitStringList(e))return[e.typeAnnotation,...e.strings];break;case 49:if(this.visitString(e))return[];break;case 50:if(this.visitSuite(e))return[...e.statements];break;case 51:if(this.visitTernary(e))return[e.ifExpression,e.testExpression,e.elseExpression];break;case 52:if(this.visitTuple(e))return e.expressions;break;case 53:if(this.visitTry(e))return[e.trySuite,...e.exceptClauses,e.elseSuite,e.finallySuite];break;case 54:if(this.visitTypeAnnotation(e))return[e.valueExpression,e.typeAnnotation];break;case 55:if(this.visitUnaryOperation(e))return[e.expression];break;case 56:if(this.visitUnpack(e))return[e.expression];break;case 57:if(this.visitWhile(e))return[e.testExpression,e.whileSuite,e.elseSuite];break;case 58:if(this.visitWith(e))return[...e.withItems,e.suite];break;case 59:if(this.visitWithItem(e))return[e.expression,e.target];break;case 60:if(this.visitYield(e))return[e.expression];break;case 61:if(this.visitYieldFrom(e))return[e.expression];break;case 62:if(this.visitFunctionAnnotation(e))return[...e.paramTypeAnnotations,e.returnTypeAnnotation];break;case 63:if(this.visitMatch(e))return[e.subjectExpression,...e.cases];break;case 64:if(this.visitCase(e))return[e.pattern,e.guardExpression,e.suite];break;case 65:if(this.visitPatternSequence(e))return[...e.entries];break;case 66:if(this.visitPatternAs(e))return[...e.orPatterns,e.target];break;case 67:if(this.visitPatternLiteral(e))return[e.expression];break;case 68:if(this.visitPatternClass(e))return[e.className,...e.arguments];break;case 69:if(this.visitPatternCapture(e))return[e.target];break;case 70:if(this.visitPatternMapping(e))return[...e.entries];break;case 71:if(this.visitPatternMappingKeyEntry(e))return[e.keyPattern,e.valuePattern];break;case 72:if(this.visitPatternMappingExpandEntry(e))return[e.target];break;case 73:if(this.visitPatternValue(e))return[e.expression];break;case 74:if(this.visitPatternClassArgument(e))return[e.name,e.pattern];break;default:E("Unexpected node type")}return[]}visitArgument(e){return!0}visitAssert(e){return!0}visitAssignment(e){return!0}visitAssignmentExpression(e){return!0}visitAugmentedAssignment(e){return!0}visitAwait(e){return!0}visitBinaryOperation(e){return!0}visitBreak(e){return!0}visitCall(e){return!0}visitCase(e){return!0}visitClass(e){return!0}visitTernary(e){return!0}visitContinue(e){return!0}visitConstant(e){return!0}visitDecorator(e){return!0}visitDel(e){return!0}visitDictionary(e){return!0}visitDictionaryKeyEntry(e){return!0}visitDictionaryExpandEntry(e){return!0}visitError(e){return!0}visitEllipsis(e){return!0}visitIf(e){return!0}visitImport(e){return!0}visitImportAs(e){return!0}visitImportFrom(e){return!0}visitImportFromAs(e){return!0}visitIndex(e){return!0}visitExcept(e){return!0}visitFor(e){return!0}visitFormatString(e){return!0}visitFunction(e){return!0}visitFunctionAnnotation(e){return!0}visitGlobal(e){return!0}visitLambda(e){return!0}visitList(e){return!0}visitListComprehension(e){return!0}visitListComprehensionFor(e){return!0}visitListComprehensionIf(e){return!0}visitMatch(e){return!0}visitMemberAccess(e){return!0}visitModule(e){return!0}visitModuleName(e){return!0}visitName(e){return!0}visitNonlocal(e){return!0}visitNumber(e){return!0}visitParameter(e){return!0}visitPass(e){return!0}visitPatternCapture(e){return!0}visitPatternClass(e){return!0}visitPatternClassArgument(e){return!0}visitPatternAs(e){return!0}visitPatternLiteral(e){return!0}visitPatternMappingExpandEntry(e){return!0}visitPatternSequence(e){return!0}visitPatternValue(e){return!0}visitPatternMappingKeyEntry(e){return!0}visitPatternMapping(e){return!0}visitRaise(e){return!0}visitReturn(e){return!0}visitSet(e){return!0}visitSlice(e){return!0}visitStatementList(e){return!0}visitString(e){return!0}visitStringList(e){return!0}visitSuite(e){return!0}visitTuple(e){return!0}visitTry(e){return!0}visitTypeAnnotation(e){return!0}visitUnaryOperation(e){return!0}visitUnpack(e){return!0}visitWhile(e){return!0}visitWith(e){return!0}visitWithItem(e){return!0}visitYield(e){return!0}visitYieldFrom(e){return!0}}function vr(e){let t=0,n=e;for(;n;)t++,n=n.parent;return t}function Tr(e,t){if(tdt.getEnd(e))return;const n=(new _r).visitNode(e);for(const e of n)if(e){const n=Tr(e,t);if(n)return n}return e}function br(e,t,n){const i=[n];let r=e;for(;r;)r=Er(r),r&&i.push(r.name.value);return i.push(t),i.reverse().join(".")}function Ir(e){return e.start}function Sr(e,t){let n="";return 1===e.argumentCategory?n="*":2===e.argumentCategory&&(n="**"),e.name&&(n+=e.name.value+"="),n+=xr(e.valueExpression,t),n}function xr(e,t=0){switch(e.nodeType){case 38:return e.value;case 35:return xr(e.leftExpression,t)+"."+e.memberName.value;case 9:return xr(e.leftExpression,t)+"("+e.arguments.map((e=>Sr(e,t))).join(", ")+")";case 24:return xr(e.baseExpression,t)+"["+e.items.map((e=>Sr(e,t))).join(", ")+"]"+(e.trailingComma?",":"");case 55:return Cr(e.operator)+xr(e.expression,t);case 7:{const n=xr(e.leftExpression,t)+" "+Cr(e.operator)+" "+xr(e.rightExpression,t);return e.parenthesized?`(${n})`:n}case 40:{let t=e.value.toString();return t.endsWith("n")&&(t=t.substring(0,t.length-1)),e.isImaginary&&(t+="j"),t}case 48:return 1&t&&e.typeAnnotation?xr(e.typeAnnotation,t):e.strings.map((e=>xr(e,t))).join(" ");case 49:{let t="";return 8&e.token.flags&&(t+="r"),16&e.token.flags&&(t+="u"),32&e.token.flags&&(t+="b"),64&e.token.flags&&(t+="f"),4&e.token.flags?1&e.token.flags?t+=`'''${e.token.escapedValue}'''`:t+=`"""${e.token.escapedValue}"""`:1&e.token.flags?t+=`'${e.token.escapedValue}'`:t+=`"${e.token.escapedValue}"`,t}case 3:return xr(e.leftExpression,t)+" = "+xr(e.rightExpression,t);case 4:return xr(e.name,t)+" := "+xr(e.rightExpression,t);case 54:return xr(e.valueExpression,t)+": "+xr(e.typeAnnotation,t);case 5:return xr(e.leftExpression,t)+" "+Cr(e.operator)+" "+xr(e.rightExpression,t);case 6:return"await "+xr(e.expression,t);case 51:return xr(e.ifExpression,t)+" if "+xr(e.testExpression,t)+" else "+xr(e.elseExpression,t);case 31:return`[${e.entries.map((e=>xr(e,t))).join(", ")}]`;case 56:return"*"+xr(e.expression,t);case 52:{const n=e.expressions.map((e=>xr(e,t)));return 1===n.length?`(${n[0]}, )`:`(${n.join(", ")})`}case 60:return e.expression?"yield "+xr(e.expression,t):"yield";case 61:return"yield from "+xr(e.expression,t);case 18:return"...";case 32:{let n="";return yr(e.expression)?n=xr(e.expression,t):17===e.expression.nodeType&&(n=`${xr(e.expression.keyExpression,t)}: ${xr(e.expression.valueExpression,t)}`),n=n+" "+e.forIfNodes.map((e=>33===e.nodeType?(e.isAsync?"async ":"")+"for "+xr(e.targetExpression,t)+` in ${xr(e.iterableExpression,t)}`:`if ${xr(e.testExpression,t)}`)).join(" "),e.isParenthesized?`(${n}})`:n}case 46:{let n="";return e.startValue&&(n+=xr(e.startValue,t)),e.endValue&&(n+=": "+xr(e.endValue,t)),e.stepValue&&(n+=": "+xr(e.stepValue,t)),n}case 30:return"lambda "+e.parameters.map((e=>{let n="";return 1===e.category?n+="*":2===e.category&&(n+="**"),e.name&&(n+=e.name.value),e.defaultValue&&(n+=" = "+xr(e.defaultValue,t)),n})).join(", ")+": "+xr(e.expression,t);case 11:if(33===e.constType)return"True";if(15===e.constType)return"False";if(9===e.constType)return"__debug__";if(26===e.constType)return"None";break;case 15:{const n=`${e.entries.map((e=>17===e.nodeType?`${xr(e.keyExpression,t)}: ${xr(e.valueExpression,t)}`:xr(e,t)))}`;return n?`{ ${n} }`:"{}"}case 16:return`**${xr(e.expandExpression,t)}`;case 45:return e.entries.map((e=>xr(e,t))).join(", ")}return""}function Cr(e){const t={0:"+",1:"+=",2:"=",3:"&",4:"&=",5:"~",6:"|",7:"|=",8:"^",9:"^=",10:"/",11:"/=",12:"==",13:"//",14:"//=",15:">",16:">=",17:"<<",18:"<<=",19:"<>",20:"<",21:"<=",22:"@",23:"@=",24:"%",25:"%=",26:"*",27:"*=",28:"!=",29:"**",30:"**=",31:">>",32:">>=",33:"-",34:"-=",36:"and",37:"or",38:"not",39:"is",40:"is not",41:"in",42:"not in"};return t[e]?t[e]:"unknown"}function wr(e){let t=e.parent;for(;t;){if(50===t.nodeType)return t;t=t.parent}}function Er(e,t=!1){let n=e.parent;for(;n;){if(10===n.nodeType)return n;if(36===n.nodeType)return;if(28===n.nodeType&&t)return;n=n.parent}}function kr(e){let t,n=e.parent;for(;n;){if(28===n.nodeType&&!n.decorators.some((e=>e===t)))return n;if(10===n.nodeType)return;t=n,n=n.parent}}function Dr(e){let t=e.parent;for(;t;){if(28===t.nodeType)return t;if(10===t.nodeType)return t;t=t.parent}}function Ar(e){let t,n,i=e,r=!1;for(;i;){switch(41===i.nodeType&&t===i.name&&(r=!0),i.nodeType){case 28:if(i.parameters.some((e=>e===t))){if(r&&void 0!==Ft(i))return i}else if(t===i.suite&&void 0!==Ft(i))return i;break;case 30:if(i.parameters.some((e=>e===t))){if(r&&void 0!==Ft(i))return i}else if((!t||t===i.expression)&&void 0!==Ft(i))return i;break;case 10:if(t===i.suite&&void 0!==Ft(i))return i;break;case 32:if(void 0!==Ft(i)&&(t!==i.forIfNodes[0]||33!==i.forIfNodes[0].nodeType||i.forIfNodes[0].iterableExpression!==n))return i;break;case 36:if(void 0!==Ft(i))return i}n=t,t=i,i=i.parent}E("Did not find evaluation scope")}function Pr(e,t=!1){let n,i=e;for(;i;){switch(i.nodeType){case 28:if((n===i.suite||t)&&!i.decorators.some((e=>e===n)))return i;break;case 10:if(n===i.suite&&!i.decorators.some((e=>e===n)))return i}n=i,i=i.parent}}function Rr(e){let t=Ar(e);for(;10===t.nodeType||32===t.nodeType;)t=Ar(t.parent);return t}function Fr(e){if(38===e.nodeType)return!0;if(35===e.nodeType){if(38!==e.leftExpression.nodeType)return!1;if(!Er(e))return!1;const t=kr(e);return!!t&&"__init__"===t.name.value}return!1}function Nr(e){return!!Er(e,!0)}function Mr(e,t){let n=e;for(;n;){if(n===t)return!0;n=n.parent}return!1}function Or(e){let t=!1;for(const n of e.statements){if(47!==n.nodeType)return!1;for(const e of n.statements)if(18===e.nodeType)t=!0;else if(48!==e.nodeType)return!1}return t}function Lr(e,t){if(38===e.nodeType)return 38===t.nodeType?e.value===t.value:4===t.nodeType&&e.value===t.name.value;if(35===e.nodeType&&35===t.nodeType)return Lr(e.leftExpression,t.leftExpression)&&e.memberName.value===t.memberName.value;if(24===e.nodeType&&24===t.nodeType){if(!Lr(e.baseExpression,t.baseExpression))return!1;if(1!==t.items.length||t.trailingComma||t.items[0].name||0!==t.items[0].argumentCategory)return!1;if(40===e.items[0].valueExpression.nodeType){const n=e.items[0].valueExpression,i=t.items[0].valueExpression;return!(40!==i.nodeType||i.isImaginary||!i.isInteger)&&n.value===i.value}if(48===e.items[0].valueExpression.nodeType){const n=e.items[0].valueExpression,i=t.items[0].valueExpression;if(1===n.strings.length&&49===n.strings[0].nodeType&&48===i.nodeType&&1===i.strings.length&&49===i.strings[0].nodeType)return n.strings[0].value===i.strings[0].value}return!1}return!1}function Ur(e,t){return 35===e.nodeType?Lr(e.leftExpression,t)||Ur(e.leftExpression,t):24===e.nodeType&&(Lr(e.baseExpression,t)||Ur(e.baseExpression,t))}function Vr(e){if(0===e.length)return;if(47!==e[0].nodeType)return;if(!qr(e[0]))return;const t=e[0].statements[0].strings;return 1===t.length?t[0].value:t.map((e=>e.value)).join("")}function qr(e){if(0===e.statements.length||48!==e.statements[0].nodeType)return!1;const t=e.statements[0].strings;return 0!==t.length&&!t.some((e=>0!=(64&e.token.flags)))}class Br extends _r{constructor(e){super(),this._callback=e}visitName(e){return this._callback(e,this._subscriptIndex,this._baseExpression),!0}visitIndex(e){this.walk(e.baseExpression);const t=this._subscriptIndex,n=this._baseExpression;return this._baseExpression=e.baseExpression,e.items.forEach(((e,t)=>{this._subscriptIndex=t,this.walk(e)})),this._subscriptIndex=t,this._baseExpression=n,!1}}class Wr extends _r{constructor(e){super(),this._callback=e}visitCall(e){return this._callback(e),!0}}function jr(e){let t=e;for(;t;){if(41===t.nodeType)return t;t=t.parent}}function zr(e,t,n){let i,r=e;for(;void 0!==r;){if(9===r.nodeType&&u(r)){i=r;break}r=r.parent}if(!i||!i.arguments)return;const s=dt.getEnd(i);if(t>s)return;const o=function(e,t){const n=e.getItemAtPosition(t);if(!(n<0))return e.getItemAt(n)}(n,s-1);if(t===s&&14===(null==o?void 0:o.type))return;let a=!1,l=-1,c=!1;return i.arguments.forEach(((e,i)=>{if(a)return;let r=e.start;const s=n.getItemAtPosition(r);s>=0&&(r=dt.getEnd(n.getItemAt(s-1)));let o=dt.getEnd(e);const u=n.getItemAtPosition(o);if(u>=0)for(let e=u;e=r,a=!0)})),a||(l=i.arguments.length+1),{callNode:i,activeIndex:l,activeOrFake:c};function u(e,i){let r=!0;const s=e.leftExpression.length>0?dt.getEnd(e.leftExpression)-1:e.leftExpression.start,o=n.getItemAtPosition(s);if(o>=0&&o+10&&t===n.module.nameParts[0];case 23:return t===n.alias||!n.alias&&t===n.name;case 35:if(t!==n.memberName)return!1;break;case 25:return t===n.name;case 58:return n.withItems.some((e=>e===t));case 33:return t===n.targetExpression;case 54:if(t===n.typeAnnotation)return!1;break;case 28:case 10:case 36:return!1}t=n,n=n.parent}return!1}function Hr(e){let t=e;for(;t&&36!==t.nodeType;)t=t.parent;return t}function Gr(e){const t=Hr(e);return t?qt(t):void 0}function Kr(e){var t,n;return 21===(null===(n=null===(t=es(e,37))||void 0===t?void 0:t.parent)||void 0===n?void 0:n.nodeType)}function Jr(e){var t;return 21===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.alias===e}function Yr(e){var t,n;return 22===(null===(n=null===(t=es(e,37))||void 0===t?void 0:t.parent)||void 0===n?void 0:n.nodeType)}function Qr(e){var t;return 23===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.name===e}function Zr(e){var t;return 23===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.alias===e}function Xr(e){var t;if(37!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType))return!1;const n=e.parent;return 0!==n.nameParts.length&&n.nameParts[n.nameParts.length-1]===e}function es(e,t){return function(e,n){for(const n of function*(e){for(;void 0!==e;)yield e,e=e.parent}(e))if(n.nodeType===t)return n}(e)}function ts(e){var t;return 35!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)||e.parent.leftExpression===e?e:e.parent}function ns(e){switch(e.type){case 0:case 4:case 5:case 3:return!0;case 2:{if(e.node.typeAnnotation||e.node.typeAnnotationComment)return!0;const t=e.node.parent;if(28===(null==t?void 0:t.nodeType)&&t.functionAnnotationComment&&!t.functionAnnotationComment.isParamListEllipsis){const n=t.functionAnnotationComment.paramTypeAnnotations;return!(t.parameters.length>n.length&&e.node===t.parameters[0])}return!1}case 1:return!!e.typeAnnotationNode;case 6:return!1}}function is(e,t,n=!1){if(e.type!==t.type)return!1;if(e.path!==t.path)return!1;if(e.range.start.line!==t.range.start.line||e.range.start.character!==t.range.start.character)return!1;if(6===e.type&&6===t.type){if(e.symbolName!==t.symbolName||e.usesLocalName!==t.usesLocalName)return!1;if(n)return!0;if(e.firstNamePart!==t.firstNamePart)return!1}return!0}function rs(e){return 1===e.type&&!!e.isFinal}function ss(e){return 1===e.type&&!!e.typeAliasAnnotation}function os(e){var t;if(1!==e.type||!e.typeAliasName||e.typeAnnotationNode)return!1;if(3!==(null===(t=e.node.parent)||void 0===t?void 0:t.nodeType))return!1;switch(e.node.parent.rightExpression.nodeType){case 0:case 55:case 4:case 54:case 6:case 51:case 56:case 52:case 9:case 32:case 46:case 60:case 61:case 30:case 40:case 15:case 31:case 45:return!1}return!0}function as(e){var t;switch(e.type){case 6:return e.symbolName;case 4:case 3:return e.node.name.value;case 2:return null===(t=e.node.name)||void 0===t?void 0:t.value;case 1:return 38===e.node.nodeType?e.node.value:void 0;case 0:case 5:return}throw new Error("Shouldn't reach here")}function ls(e){return e.map((e=>{if(6!==e.type)return e;const t={...e};return t.usesLocalName=!1,t}))}function cs(e){return{type:6,node:void 0,path:e,loadSymbolsFromPath:!1,range:{start:{line:0,character:0},end:{line:0,character:0}},implicitImports:new Map,usesLocalName:!1,moduleName:"",isInExceptSuite:!1}}function us(e){const t=e.replace(/\r/g,"").replace(/\t/g," ").split("\n");let n=Number.MAX_VALUE;t.forEach(((e,i)=>{if(t.length<=1||i>0){const t=e.trimLeft();t&&(n=Math.min(n,e.length-t.length))}})),n>=Number.MAX_VALUE&&(n=0);const i=[];for(t.forEach(((e,t)=>{0===t?i.push(e.trim()):i.push(e.substr(n).trimRight())}));i.length>0&&0===i[0].length;)i.shift();for(;i.length>0&&0===i[i.length-1].length;)i.pop();return i}function ps(e,t){if(!e||!t)return;const n=us(e);for(const e of n){const n=e.trim();let i=n.indexOf("@param "+t);if(i>=0)return n.substr(i+7);if(i=n.indexOf(":param "+t),i>=0)return n.substr(i+7);if(i=n.indexOf(t+": "),i>=0)return n.substr(i);if(i=n.indexOf(t+" ("),i>=0)return n.substr(i)}}function ds(e){return new qs(e).convert()}function hs(e){const t=us(e),n=[];for(const e of t){const t=n.length>0?n[n.length-1]:void 0;Ws(e)&&Ws(t)||n.push(e)}return n.join("\n").trimEnd()}const ms=/\S|$/,fs=/\S/,gs=/^\s*~~~+$/,ys=/^\s*\+\+\++$/,_s=/^\s*===+\s+===+$/,vs=/^\s*---+\s+---+$/,Ts=/^(\s*)-\s/,bs=/^(\s*)\*\s/,Is=/^(\s*)\d+\.\s/,Ss=/^(\s+\* )(.*)$/,xs=/^\s*\.\. /,Cs=/^\s*\.\.\s+(\w+)::\s*(.*)$/,ws=/ *>>> /,Es=/^\s*:(param|arg|type|return|rtype|raise|except|var|ivar|cvar|copyright|license)/,ks=/^[.\s\t]+(@\w+)/,Ds=/^(\.\s{3})|^(\.)/,As=[{exp:/^\s*=+(\s+=+)+$/,replacement:"="},{exp:/^\s*-+(\s+-+)+$/,replacement:"-"},{exp:/^\s*~+(\s+-+)+$/,replacement:"~"},{exp:/^\s*\++(\s+\++)+$/,replacement:"+"}],Ps=/\s/g,Rs=/``/g,Fs=/~/g,Ns=/\+/g,Ms=/[_*~[\]]/g,Os=/(\[.*\]\(.*\))/g,Ls=[{exp://g,replacement:">"}],Us=/^\s*::$/,Vs=[{exp:/\s+::$/g,replacement:""},{exp:/(\S)\s*::$/g,replacement:"$1:"},{exp:/:[\w_\-+:.]+:`/g,replacement:"`"},{exp:/`:[\w_\-+:.]+:/g,replacement:"`"}];class qs{constructor(e){this._builder="",this._skipAppendEmptyLine=!0,this._insideInlineCode=!1,this._appendDirectiveBlock=!1,this._stateStack=[],this._lineNum=0,this._blockIndent=0,this._state=this._parseText,this._lines=us(e)}convert(){for(this._lines.some((e=>ks.exec(e)))&&(this._lines=this._lines.map((e=>e.replace(Ds,""))));void 0!==this._currentLineOrUndefined();){const e=this._state,t=this._lineNum;if(this._state(),this._state===e&&this._lineNum===t)break}return this._state===this._parseBacktickBlock||this._state===this._parseDocTest||this._state===this._parseLiteralBlock?this._trimOutputAndAppendLine("```"):this._insideInlineCode&&this._trimOutputAndAppendLine("`",!0),this._builder.trim()}_eatLine(){this._lineNum++}_currentLineOrUndefined(){return this._lineNum!Ws(e)))||"")}_currentLineIsOutsideBlock(){return this._currentIndent()n)||Ws(t)||this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")||js(t)||(this._builder=this._builder.slice(0,-1)+"\\\n"),n>i&&!Ws(t)&&!this._builder.endsWith("\\\n")&&!this._builder.endsWith("\n\n")&&(this._builder=this._builder.slice(0,-1)+"\\\n"),0===n||this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")?this._convertIndent(e):e.trimStart()}_convertIndent(e){return e.replace(/^([ \t]+)(.+)$/g,((e,t,n)=>" ".repeat(t.length)+n))}_escapeHtml(e){return Ls.forEach((t=>{e=e.replace(t.exp,t.replacement)})),e}_appendTextLine(e){const t=(e=this._preprocessTextLine(e)).split("`");for(let e=0;e0&&(this._insideInlineCode=!this._insideInlineCode,this._append("`")),this._insideInlineCode)this._append(n);else{if(n=this._escapeHtml(n),0===e){if(1===t.length){for(const e of As)if(e.exp.test(n)){n=n.replace(Ps,e.replacement);break}if(gs.test(n)){this._append(n.replace(Fs,"-"));continue}if(ys.test(n)){this._append(n.replace(Ns,"-"));continue}}const e=Ss.exec(n);null!==e&&3===e.length&&(this._append(e[1]),n=e[2])}n.split(Os).forEach((e=>{Os.test(e)?this._append(e):this._append(e.replace(Ms,((e,t,n)=>"\\"===n.charAt(t-1)?e:"\\"+e)))}))}}this._builder+="\n"}_preprocessTextLine(e){return Us.test(e)?"":(Vs.forEach((t=>e=e.replace(t.exp,t.replacement))),e=e.replace(Rs,"`"))}_parseEmpty(){if(Ws(this._currentLineOrUndefined()))return this._appendLine(),void this._eatLine();this._state=this._parseText}_beginMinIndentCodeBlock(e){this._appendLine("```"),this._pushAndSetState(e),this._blockIndent=this._currentIndent()}_beginBacktickBlock(){return!!this._currentLine().startsWith("```")&&(this._appendLine(this._currentLine()),this._pushAndSetState(this._parseBacktickBlock),this._eatLine(),!0)}_parseBacktickBlock(){this._currentLine().startsWith("```")?(this._appendLine("```"),this._appendLine(),this._popState()):this._appendLine(this._currentLine()),this._eatLine()}_beginDocTest(){return!!ws.test(this._currentLine())&&(this._beginMinIndentCodeBlock(this._parseDocTest),this._appendLine(this._currentLineWithinBlock()),this._eatLine(),!0)}_parseDocTest(){if(this._currentLineIsOutsideBlock()||Ws(this._currentLine()))return this._trimOutputAndAppendLine("```"),this._appendLine(),void this._popState();this._appendLine(this._currentLineWithinBlock()),this._eatLine()}_beginLiteralBlock(){const e=this._lineAt(this._lineNum-1);if(void 0===e)return!1;if(!Ws(e))return!1;let t=this._lineNum-2;for(;t>=0;t--){const e=this._lineAt(t);if(!Ws(e)){if(e.endsWith("::"))break;return!1}}return!(t<0||(0===this._currentIndent()?(this._appendLine("```"),this._pushAndSetState(this._parseLiteralBlockSingleLine),0):(this._beginMinIndentCodeBlock(this._parseLiteralBlock),0)))}_parseLiteralBlock(){return Ws(this._currentLineOrUndefined())?(this._appendLine(),void this._eatLine()):this._currentLineIsOutsideBlock()?(this._trimOutputAndAppendLine("```"),this._appendLine(),void this._popState()):(this._appendLine(this._currentLineWithinBlock()),void this._eatLine())}_parseLiteralBlockSingleLine(){this._appendLine(this._currentLine()),this._appendLine("```"),this._appendLine(),this._popState(),this._eatLine()}_beginDirective(){return!!xs.test(this._currentLine())&&(this._pushAndSetState(this._parseDirective),this._blockIndent=this._nextBlockIndent(),this._appendDirectiveBlock=!1,!0)}_beginFieldList(){var e,t;if(this._insideInlineCode)return!1;let n=this._currentLine();if(n.startsWith("@"))return this._appendLine(),this._appendTextLine(n),this._eatLine(),!0;const i=!(null==n?void 0:n.endsWith(":"))&&!(null==n?void 0:n.endsWith("::"))&&(null!==(t=null===(e=n.match(/:/g))||void 0===e?void 0:e.length)&&void 0!==t?t:0)%2==1,r=Es.test(n);if(i||r){const e=this._lineAt(this._lineNum-1);return this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")||js(e)||(this._builder=this._builder.slice(0,-1)+"\\\n"),n=this._convertIndent(n),this._appendTextLine(n),this._eatLine(),!0}return!1}_beginTableBlock(){if(this._insideInlineCode)return!1;const e=this._currentLine();return!!_s.test(e)&&(this._tableState={header:e.trimStart(),inHeader:!0},this._eatLine(),this._pushAndSetState(this._parseTableBlock),!0)}_parseTableBlock(){if(Ws(this._currentLineOrUndefined())||!this._tableState)return this._tableState=void 0,void this._popState();let e=this._currentLine();if(_s.test(e))return this._eatLine(),this._appendLine("\n
\n"),this._popState(),void(this._tableState=void 0);{let t="|";const n=this._tableState.header.split(" "),i=[];if(this._tableState.inHeader){do{let t=0;for(let r=0;r${o} `),t+=s}this._eatLine(),e=this._currentLine()}while(!Ws(this._currentLineOrUndefined())&&!vs.test(e)&&!_s.test(e));this._tableState.inHeader=!1,i.forEach((e=>{t+=`${e}|`})),this._appendLine(t);const r=e.trimStart().replace(/=/g,"-").replace(" ","|");this._appendLine(`|${r}|`),this._eatLine()}else{let i=0;n.forEach((n=>{const r=n.length+1,s=e.slice(i,i+r);t+=`${s}|`,i+=r})),this._appendLine(t),this._eatLine()}}}_beginList(){if(this._insideInlineCode)return!1;let e=this._currentLine();const t=Ts.exec(e);if(2===(null==t?void 0:t.length))return t[1].length>=4&&(e=" ".repeat(t[1].length/2)+e.trimLeft()),this._appendTextLine(e),this._eatLine(),this._state!==this._parseList&&this._pushAndSetState(this._parseList),!0;const n=bs.exec(e);if(2===(null==n?void 0:n.length))return 0===n[1].length?e=e=" "+e:n[1].length>=4&&(e=" ".repeat(n[1].length/2)+e.trimLeft()),this._appendTextLine(e),this._eatLine(),this._state!==this._parseList&&this._pushAndSetState(this._parseList),!0;const i=Is.exec(e);return 2===(null==i?void 0:i.length)&&(this._appendTextLine(e),this._eatLine(),!0)}_parseList(){if(Ws(this._currentLineOrUndefined())||this._currentLineIsOutsideBlock())this._popState();else if(!this._beginList()){const e=this._currentLine().trimStart();this._appendTextLine(e),this._eatLine()}}_parseDirective(){const e=Cs.exec(this._currentLine());if(null!==e&&3===e.length){const t=e[1],n=e[2];"class"===t&&(this._appendDirectiveBlock=!0,this._appendLine(),this._appendLine("```"),this._appendLine(n),this._appendLine("```"),this._appendLine())}0===this._blockIndent?this._popState():this._state=this._parseDirectiveBlock,this._eatLine()}_parseDirectiveBlock(){Ws(this._currentLineOrUndefined())||!this._currentLineIsOutsideBlock()?(this._appendDirectiveBlock&&this._appendTextLine(this._currentLine().trimLeft()),this._eatLine()):this._popState()}_appendLine(e){Ws(e)?this._skipAppendEmptyLine||(this._builder+="\n",this._skipAppendEmptyLine=!0):(this._builder+=e+"\n",this._skipAppendEmptyLine=!1)}_append(e){this._builder+=e,this._skipAppendEmptyLine=!1}_trimOutputAndAppendLine(e,t=!1){this._builder=this._builder.trimRight(),this._skipAppendEmptyLine=!1,t||this._appendLine(),this._appendLine(e)}}function Bs(e){return e.search(ms)}function Ws(e){return void 0===e||!fs.test(e)}function js(e){var t,n;return void 0!==e&&(null!==(n=null===(t=e.match(/^\s*[#`~=-]{3,}/))||void 0===t?void 0:t.length)&&void 0!==n?n:0)>0}function zs(e){return Ft(Ar(e))}const $s="*";class Hs{constructor(e,t,n){this.className=e,this.itemName=t,this.itemType=n}}const Gs=14;var Ks,Js,Ys,Qs,Zs,Xs,eo,to,no,io,ro,so,oo;function ao(e){return 4===e.category}function lo(e){return 3===e.category&&Ks.isInstance(e)}function co(e){return 3===e.category&&Ks.isInstantiable(e)}function uo(e){return 2===e.category}function po(e){return 1===e.category}function ho(e){return 2===e.category||1===e.category||!!fo(e)&&void 0===e.subtypes.find((e=>!ho(e)))}function mo(e){return 0===e.category}function fo(e){return 9===e.category}function go(e){return!!mo(e)||!!fo(e)&&void 0!==e.subtypes.find((e=>go(e)))}function yo(e){return 7===e.category}function _o(e){return 7===e.category&&Ks.isInstantiable(e)}function vo(e){return 7===e.category&&Ks.isInstance(e)}function To(e){return 8===e.category}function bo(e){return 10===e.category}function Io(e){return 10===e.category&&e.details.isVariadic}function So(e){return fo(e)&&1===e.subtypes.length&&(e=e.subtypes[0]),10===e.category&&e.details.isVariadic&&!!e.isVariadicUnpacked}function xo(e){return!(!yo(e)||!e.isUnpacked)}function Co(e){return So(e)||xo(e)}function wo(e){return 10===e.category&&e.details.isParamSpec}function Eo(e){return 5===e.category}function ko(e){return 6===e.category}function Do(e){return e.typeAliasInfo?e.typeAliasInfo:bo(e)&&e.details.recursiveTypeAliasName&&e.details.boundType&&e.details.boundType.typeAliasInfo?e.details.boundType.typeAliasInfo:void 0}function Ao(e,t,n=!1,i=!1,r=0){var s,o;if(e===t)return!0;if(e.category!==t.category)return!1;if(!i&&e.flags!==t.flags)return!1;if(r>Gs)return!0;switch(r++,e.category){case 7:{const i=t;if(!Zs.isSameGenericClass(e,i,r))return!1;if(!ro.isSame(e.condition,t.condition))return!1;if(!n||!Zs.isPseudoGenericClass(e))if(e.tupleTypeArguments&&i.tupleTypeArguments){const t=e.tupleTypeArguments||[],s=i.tupleTypeArguments||[];if(t.length!==s.length)return!1;for(let e=0;e0===e.category&&!e.name)),l=o.findIndex((e=>0===e.category&&!e.name));for(let t=0;t=a;if(p!==(void 0!==l&&t>=l))return!1;if(p&&c.name!==u.name)return!1;if(!Ao(Xs.getEffectiveParameterType(e,t),Xs.getEffectiveParameterType(i,t),n,!1,r))return!1}let c=e.details.declaredReturnType;e.specializedTypes&&e.specializedTypes.returnType&&(c=e.specializedTypes.returnType),!c&&e.inferredReturnType&&(c=e.inferredReturnType);let u=i.details.declaredReturnType;return i.specializedTypes&&i.specializedTypes.returnType&&(u=i.specializedTypes.returnType),!u&&i.inferredReturnType&&(u=i.inferredReturnType),!!(!c&&!u||c&&u&&Ao(c,u,n,!1,r))}case 6:{const s=t;if(e.overloads.length!==s.overloads.length)return!1;for(let t=0;t!so.containsType(n,e,r)))}case 10:{const i=t;if(e.scopeId!==i.scopeId)return!1;if(e.details.recursiveTypeParameters&&i.details.recursiveTypeParameters){const i=(null===(s=null==e?void 0:e.typeAliasInfo)||void 0===s?void 0:s.typeArguments)||[],a=(null===(o=null==t?void 0:t.typeAliasInfo)||void 0===o?void 0:o.typeArguments)||[],l=Math.max(i.length,a.length);for(let e=0;epo(e)))}function Ro(e){return fo(e)?No(e,(e=>mo(e))):mo(e)?Ys.create():e}function Fo(e){return No(e,(e=>lo(e)))}function No(e,t){if(fo(e)){const n=e.subtypes.filter((e=>!t(e)));if(n.lengtht(e))):t(e)?e:void 0}function Oo(e,t){let n=!1;if(0===(e=e.filter((e=>(4===e.category&&e.isNoReturn&&(n=!0),4!==e.category)))).length)return n?no.createNoReturn():no.createNever();let i=!0;for(let t=1;tvo(e)&&void 0!==e.literalValue||_o(e)&&void 0!==e.literalValue?1:vo(t)&&void 0!==t.literalValue||_o(t)&&void 0!==t.literalValue?-1:vo(e)&&e.isEmptyContainer?1:vo(t)&&t.isEmptyContainer?-1:0)),0===r.length)return Ys.create();const o=so.create();s.length>0&&(o.typeAliasSources=new Set,s.forEach((e=>{o.typeAliasSources.add(e)})));let a=!1;return r.forEach(((e,n)=>{0===n?so.addType(o,e):void 0===t||o.subtypes.lengtht===e.details.name))||n.some((t=>t===e.aliasName))}return!0}function i(t,n,i=0){if(i>Gs)return!0;if(i++,t.details===n.details)return!0;const r=t.details,s=n.details;if(r===s)return!0;if(r.fullName!==s.fullName||r.flags!==s.flags||r.typeSourceId!==s.typeSourceId||r.baseClasses.length!==s.baseClasses.length||r.typeParameters.length!==s.typeParameters.length)return!1;if(e.isBuiltIn(t,"NamedTuple")&&e.isBuiltIn(n,"NamedTuple"))return!0;if(e.isBuiltIn(t,"tuple")&&e.isBuiltIn(n,"tuple"))return!0;for(let e=0;eao(e)&&!e.isNoReturn?Ys.create():e)):void 0,o.isTypeArgumentExplicit=n,i&&(o.includeSubclasses=!0),o.tupleTypeArguments=r?r.map((e=>ao(e.type)?{type:Ys.create(),isUnbounded:e.isUnbounded}:e)):void 0,void 0!==s&&(o.isEmptyContainer=s),o},e.cloneWithLiteral=function(e,t){const n=Ks.cloneType(e);return n.literalValue=t,n},e.cloneForTypingAlias=function(e,t){const n=Ks.cloneType(e);return n.aliasName=t,n},e.cloneForNarrowedTypedDictEntries=function(e,t){const n=Ks.cloneType(e);return n.typedDictNarrowedEntries=t,n},e.cloneWithNewTypeParameters=function(e,t){const n=Ks.cloneType(e);return n.details={...n.details},n.details.typeParameters=t,n},e.cloneForTypeGuard=function(e,t,n){const i=Ks.cloneType(e);return i.typeGuardType=t,i.isStrictTypeGuard=n,i},e.cloneForSymbolTableUpdate=function(e){const n=Ks.cloneType(e);return n.details={...n.details},n.details.fields=new Map(n.details.fields),n.details.mro=[...n.details.mro],n.details.mro[0]=t(n),n},e.cloneForUnpacked=function(e,t=!0){const n=Ks.cloneType(e);return n.isUnpacked=t,n},e.isLiteralValueSame=function(e,t){return void 0===e.literalValue?void 0===t.literalValue:void 0!==t.literalValue&&(e.literalValue instanceof Hs?t.literalValue instanceof Hs&&e.literalValue.itemName===t.literalValue.itemName:e.literalValue===t.literalValue)},e.isUnspecialized=function(e){return e.details.typeParameters.length>0&&void 0===e.typeArguments},e.isSpecialBuiltIn=function(e,t){return!!(2&e.details.flags||e.aliasName)&&(void 0===t||e.details.name===t)},e.isBuiltIn=n,e.supportsAbstractMethods=function(e){return!!(512&e.details.flags)},e.isDataClass=function(e){return!!(4&e.details.flags)},e.isSkipSynthesizedDataClassInit=function(e){return!!(16&e.details.flags)},e.isSkipSynthesizedDataClassEq=function(e){return!!(32&e.details.flags)},e.isFrozenDataClass=function(e){return!!(8&e.details.flags)},e.isSynthesizedDataclassOrder=function(e){return!!(64&e.details.flags)},e.isDataClassKeywordOnlyParams=function(e){return!!(2097152&e.details.flags)},e.isGeneratedDataClassSlots=function(e){return!!(33554432&e.details.flags)},e.isSynthesizeDataClassUnsafeHash=function(e){return!!(67108864&e.details.flags)},e.isTypedDictClass=function(e){return!!(128&e.details.flags)},e.isCanOmitDictValues=function(e){return!!(256&e.details.flags)},e.isEnumClass=function(e){return!!(1048576&e.details.flags)},e.isPropertyClass=function(e){return!!(2048&e.details.flags)},e.isClassProperty=function(e){return!!(4194304&e.details.flags)},e.isFinal=function(e){return!!(4096&e.details.flags)},e.isProtocolClass=function(e){return!!(8192&e.details.flags)},e.isDefinedInStub=function(e){return!!(8388608&e.details.flags)},e.isPseudoGenericClass=function(e){return!!(16384&e.details.flags)},e.getDataClassEntries=function(e){return e.details.dataClassEntries||[]},e.isRuntimeCheckable=function(e){return!!(32768&e.details.flags)},e.isTypingExtensionClass=function(e){return!!(65536&e.details.flags)},e.isPartiallyConstructed=function(e){return!!(131072&e.details.flags)},e.hasCustomClassGetItem=function(e){return!!(262144&e.details.flags)},e.isTupleClass=function(e){return!!(524288&e.details.flags)},e.isReadOnlyInstanceVariables=function(e){return!!(16777216&e.details.flags)},e.getTypeParameters=function(e){return e.details.typeParameters},e.hasUnknownBaseClass=function(e){return e.details.mro.some((e=>ho(e)))},e.isSameGenericClass=i,e.isDerivedFrom=function e(t,r,s){if(i(t,r))return s&&s.push(t),!0;if(n(t)&&n(r,"object"))return s&&s.push(r),!0;for(const n of t.details.baseClasses)if(_o(n)){if(e(n,r,s))return s&&s.push(t),!0}else if(ho(n))return s&&s.push(Ys.create()),!0;return!1}}(Zs||(Zs={})),function(e){function t(e,t,n,i,r,s){return{category:5,details:{name:e,fullName:t,moduleName:n,flags:i,parameters:[],docString:s},flags:r}}function n(e,t){return w(t0&&0===e.details.parameters[0].category?(e.details.parameters.length>0&&!e.details.parameters[0].isTypeInferred&&(o.strippedFirstParamType=n(e,0)),o.details.parameters=e.details.parameters.slice(1)):i=!1,o.details.flags&=-4,o.details.flags|=4),void 0!==e.typeAliasInfo&&(o.typeAliasInfo=e.typeAliasInfo),e.specializedTypes&&(o.specializedTypes={parameterTypes:i?e.specializedTypes.parameterTypes.slice(1):e.specializedTypes.parameterTypes,returnType:e.specializedTypes.returnType}),o.inferredReturnType=e.inferredReturnType,o.boundTypeVarScopeId=s,o},e.cloneAsInstance=function(e){w(Ks.isInstantiable(e));const t=Ks.cloneType(e);return t.flags&=~9,t.flags|=2,t},e.cloneAsInstantiable=function(e){w(Ks.isInstance(e));const t=Ks.cloneType(e);return t.flags&=-11,t.flags|=1,t},e.cloneForSpecialization=function(e,n,i){const r=t(e.details.name,e.details.fullName,e.details.moduleName,e.details.flags,e.flags,e.details.docString);return r.details=e.details,w(n.parameterTypes.length===e.details.parameters.length),r.specializedTypes=n,i&&(r.inferredReturnType=i),r},e.cloneForParamSpec=function(n,i){const r=t(n.details.name,n.details.fullName,n.details.moduleName,n.details.flags,n.flags,n.details.docString);return r.specializedTypes=n.specializedTypes,r.details={...n.details},delete r.details.paramSpec,i&&(r.details.parameters=[...n.details.parameters,...i.parameters.map((e=>({category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})))],r.details.docString||(r.details.docString=i.docString),r.details.flags=98311&i.flags|64,e.isParamSpecValue(n)&&(r.details.flags|=65536),r.specializedTypes&&i.parameters.forEach((e=>{r.specializedTypes.parameterTypes.push(e.type)})),r.details.paramSpec=i.paramSpec),r},e.cloneWithNewFlags=function(e,t){const n=Ks.cloneType(e);return n.details={...e.details},n.details.flags=t,n},e.cloneForParamSpecApplication=function(e,t){const n=Ks.cloneType(e);if(n.details={...e.details},n.details.parameters=n.details.parameters.slice(0,n.details.parameters.length-2),t.parameters.some((e=>0===e.category&&!e.name))&&n.details.parameters.length>0){const e=n.details.parameters[n.details.parameters.length-1];0!==e.category||e.name||n.details.parameters.pop()}return t.parameters.forEach((e=>{n.details.parameters.push({category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})})),n.details.paramSpec=t.paramSpec,n.details.docString||(n.details.docString=t.docString),n},e.cloneRemoveParamSpecVariadics=function(e,n){const i=t(e.details.name,e.details.fullName,e.details.moduleName,e.details.flags,e.flags,e.details.docString);return i.details={...e.details},i.details.parameters=i.details.parameters.slice(0,i.details.parameters.length-2),e.specializedTypes&&(i.specializedTypes={...e.specializedTypes},i.specializedTypes.parameterTypes=i.specializedTypes.parameterTypes.slice(0,i.specializedTypes.parameterTypes.length-2)),i.details.paramSpec||(i.details.paramSpec=n),i},e.addDefaultParameters=function(t,n=!1){e.addParameter(t,{category:1,name:"args",type:n?Ys.create():io.create(),hasDeclaredType:!n}),e.addParameter(t,{category:2,name:"kwargs",type:n?Ys.create():io.create(),hasDeclaredType:!n})},e.hasDefaultParameters=function(t){let n=!1,i=!1;for(let r=0;rt.typeVarName?1:e.constraintIndext.constraintIndex?1:0}e.combine=function(e,n){if(!e)return n;if(!n)return e;const i=[...e];return n.forEach((e=>{i.some((n=>0===t(e,n)))||i.push(e)})),i.sort(t)},e.isSame=function(e,t){return e?!(!t||e.length!==t.length)&&void 0===e.find(((e,n)=>e.typeVarName!==t[n].typeVarName||e.constraintIndex!==t[n].constraintIndex)):!t},e.isCompatible=function(e,t){if(!e||!t)return!0;for(const n of e){let e=!1;const i=t.find((t=>n.typeVarName===t.typeVarName&&(e=!0,n.constraintIndex===t.constraintIndex)));if(e&&!i)return!1}return!0}}(ro||(ro={})),function(e){e.create=function(){return{category:9,subtypes:[],flags:3}},e.addType=function(e,t){vo(t)&&Zs.isBuiltIn(t,"str")&&void 0!==t.literalValue&&void 0===t.condition?(void 0===e.literalStrMap&&(e.literalStrMap=new Map),e.literalStrMap.set(t.literalValue,t)):vo(t)&&Zs.isBuiltIn(t,"int")&&void 0!==t.literalValue&&void 0===t.condition&&(void 0===e.literalIntMap&&(e.literalIntMap=new Map),e.literalIntMap.set(t.literalValue,t)),e.flags&=t.flags,e.subtypes.push(t)},e.containsType=function(e,t,n=0){if(vo(t)&&void 0===t.condition){if(Zs.isBuiltIn(t,"str")&&void 0!==t.literalValue&&void 0!==e.literalStrMap)return e.literalStrMap.has(t.literalValue);if(Zs.isBuiltIn(t,"int")&&void 0!==t.literalValue&&void 0!==e.literalIntMap)return e.literalIntMap.has(t.literalValue)}return void 0!==e.subtypes.find((e=>Ao(e,t,void 0,void 0,n)))},e.addTypeAliasSource=function(e,t){if(9===t.category){const n=t.typeAliasInfo?[t]:t.typeAliasSources;n&&(e.typeAliasSources||(e.typeAliasSources=new Set),n.forEach((t=>{e.typeAliasSources.add(t)})))}}}(so||(so={})),function(e){function t(e,t){return`${e}.${t}`}function n(e,t,n){return{category:10,details:{name:e,constraints:[],variance:0,isParamSpec:t,isVariadic:!1,isSynthesized:!1},flags:n}}e.createInstance=function(e){return n(e,!1,2)},e.createInstantiable=function(e,t=!1){return n(e,t,1)},e.cloneAsInstance=function(e){w(Ks.isInstantiable(e));const t=Ks.cloneType(e);return t.flags&=~9,t.flags|=2,t},e.cloneAsInstantiable=function(e){w(Ks.isInstance(e));const t=Ks.cloneType(e);return t.flags&=-11,t.flags|=1,t},e.cloneForScopeId=function(e,n,i,r){const s=Ks.cloneType(e);return s.nameWithScope=t(e.details.name,n),s.scopeId=n,s.scopeName=i,s.scopeType=r,s},e.cloneForUnpacked=function(e,t=!1){w(e.details.isVariadic);const n=Ks.cloneType(e);return n.isVariadicUnpacked=!0,n.isVariadicInUnion=t,n},e.cloneForPacked=function(e){w(e.details.isVariadic);const t=Ks.cloneType(e);return t.isVariadicUnpacked=!1,t.isVariadicInUnion=!1,t},e.cloneAsInvariant=function(e){if(e.details.isParamSpec||e.details.isVariadic)return e;if(0===e.details.variance&&void 0===e.details.boundType&&0===e.details.constraints.length)return e;const t=Ks.cloneType(e);return t.details={...t.details},t.details.variance=0,t.details.boundType=void 0,t.details.constraints=[],t},e.cloneForParamSpecAccess=function(e,t){const n=Ks.cloneType(e);return n.paramSpecAccess=t,n},e.cloneAsSpecializedSelf=function(e,t){w(e.details.isSynthesizedSelf);const n=Ks.cloneType(e);return n.details={...n.details},n.details.boundType=t,n},e.makeNameWithScope=t,e.addConstraint=function(e,t){e.details.constraints.push(t)},e.getNameWithScope=function(e){return e.nameWithScope||e.details.name},e.getReadableName=function(e){return e.scopeName?`${e.details.name}@${e.scopeName}`:e.details.name}}(oo||(oo={}));let Uo=1;class Vo{constructor(e=4){this.id=Uo++,this._flags=e}static createWithType(e,t){const n=new Vo(e);return n._synthesizedType=t,n}isInitiallyUnbound(){return!!(1&this._flags)}setIsExternallyHidden(){this._flags|=2}isExternallyHidden(){return!!(2&this._flags)}setIsIgnoredForProtocolMatch(){this._flags|=64}isIgnoredForProtocolMatch(){return!!(64&this._flags)}setIsClassMember(){this._flags|=4}isClassMember(){return!!(4&this._flags)}setIsInstanceMember(){this._flags|=8}isInstanceMember(){return!!(8&this._flags)}setIsClassVar(){this._flags|=128}isClassVar(){return!!(128&this._flags)}setIsInitVar(){this._flags|=1024}isInitVar(){return!!(1024&this._flags)}setIsInDunderAll(){this._flags|=256}isInDunderAll(){return!!(256&this._flags)}setIsPrivateMember(){this._flags|=32}isPrivateMember(){return!!(32&this._flags)}setPrivatePyTypedImport(){this._flags|=512}isPrivatePyTypedImport(){return!!(512&this._flags)}addDeclaration(e){if(this._declarations){const t=this._declarations.findIndex((t=>is(t,e)));if(t<0)this._declarations.push(e),this._declarations.forEach((e=>{1===e.type&&e.typeAliasName&&delete e.typeAliasName}));else{const n=this._declarations[t];ns(e)?(this._declarations[t]=e,1===n.type&&1===e.type&&!e.inferredTypeSource&&n.inferredTypeSource&&(e.inferredTypeSource=n.inferredTypeSource)):1===e.type&&1===n.type&&(e.isFinal&&(n.isFinal=!0),e.typeAliasAnnotation&&(n.typeAliasAnnotation=e.typeAliasAnnotation,n.typeAliasName=e.typeAliasName),!n.inferredTypeSource&&e.inferredTypeSource&&(n.inferredTypeSource=e.inferredTypeSource))}}else this._declarations=[e]}hasDeclarations(){return!!this._declarations&&this._declarations.length>0}getDeclarations(){return this._declarations?this._declarations:[]}hasTypedDeclarations(){return!!this._synthesizedType||this.getDeclarations().some((e=>ns(e)))}getTypedDeclarations(){return this.getDeclarations().filter((e=>ns(e)))}getSynthesizedType(){return this._synthesizedType}}function qo(e){const t=e.getTypedDeclarations();if(t.length>0)return t[t.length-1]}function Bo(e){const t=e.getTypedDeclarations();return t.length>0&&1===t[t.length-1].type}function Wo(e){return e.getDeclarations().some((e=>rs(e)))}class jo{constructor(e){this._isLocked=!1,Array.isArray(e)?this._solveForScopes=e:this._solveForScopes=void 0!==e?[e]:void 0,this._typeVarMap=new Map,this._paramSpecMap=new Map}clone(){const e=new jo;return this._solveForScopes&&(e._solveForScopes=[...this._solveForScopes]),this._typeVarMap.forEach((t=>{e.setTypeVarType(t.typeVar,t.narrowBound,t.wideBound,t.retainLiteral)})),this._paramSpecMap.forEach((t=>{e.setParamSpec(t.paramSpec,t.type)})),this._variadicTypeVarMap&&this._variadicTypeVarMap.forEach((t=>{e.setVariadicTypeVar(t.typeVar,t.types)})),e._isLocked=this._isLocked,e}copyFromClone(e){this._typeVarMap=e._typeVarMap,this._paramSpecMap=e._paramSpecMap,this._variadicTypeVarMap=e._variadicTypeVarMap,this._isLocked=e._isLocked}getSolveForScopes(){return this._solveForScopes}hasSolveForScope(e){return void 0!==e&&void 0!==this._solveForScopes&&this._solveForScopes.some((t=>t===e||t===$s))}setSolveForScopes(e){this._solveForScopes=e}addSolveForScope(e){void 0===e||this.hasSolveForScope(e)||(this._solveForScopes||(this._solveForScopes=[]),this._solveForScopes.push(e))}isEmpty(){return 0===this._typeVarMap.size&&0===this._paramSpecMap.size}getScore(){let e=0;return this._typeVarMap.forEach((t=>{e+=1;const n=this.getTypeVarType(t.typeVar);e+=1-this._getComplexityScoreForType(n)})),e+=this._paramSpecMap.size,e}hasTypeVar(e){return this._typeVarMap.has(this._getKey(e))}getTypeVarType(e,t=!1){const n=this._typeVarMap.get(this._getKey(e));if(n)return n.narrowBound?n.narrowBound:t?void 0:n.wideBound}setTypeVarType(e,t,n,i){w(!this._isLocked);const r=this._getKey(e);this._typeVarMap.set(r,{typeVar:e,narrowBound:t,wideBound:n,retainLiteral:i})}getVariadicTypeVar(e){var t,n;return null===(n=null===(t=this._variadicTypeVarMap)||void 0===t?void 0:t.get(this._getKey(e)))||void 0===n?void 0:n.types}setVariadicTypeVar(e,t){w(!this._isLocked);const n=this._getKey(e);this._variadicTypeVarMap||(this._variadicTypeVarMap=new Map),this._variadicTypeVarMap.set(n,{typeVar:e,types:t})}getTypeVar(e){const t=this._getKey(e);return this._typeVarMap.get(t)}getTypeVars(){const e=[];return this._typeVarMap.forEach((t=>{e.push(t)})),e}hasParamSpec(e){return this._paramSpecMap.has(this._getKey(e))}getParamSpec(e){var t;return null===(t=this._paramSpecMap.get(this._getKey(e)))||void 0===t?void 0:t.type}setParamSpec(e,t){w(!this._isLocked),this._paramSpecMap.set(this._getKey(e),{paramSpec:e,type:t})}typeVarCount(){return this._typeVarMap.size}getWideTypeBound(e){const t=this._typeVarMap.get(this._getKey(e));if(t)return t.wideBound}getRetainLiterals(e){const t=this._typeVarMap.get(this._getKey(e));return!!(null==t?void 0:t.retainLiteral)}lock(){w(!this._isLocked),this._isLocked=!0}unlock(){this._isLocked=!1}isLocked(){return this._isLocked}_getKey(e){return oo.getNameWithScope(e)}_getComplexityScoreForType(e,t=0){if(t>Gs)return 1;switch(t++,e.category){case 1:case 2:case 3:case 5:case 6:case 10:return.5;case 0:case 4:return 1;case 9:{let n=0;return e.subtypes.length<16&&Jo(e,(e=>{const i=this._getComplexityScoreForType(e,t);n=Math.max(n,i)})),.75+n/4}case 7:return this._getComplexityScoreForClass(e,t)}return 0}_getComplexityScoreForClass(e,t){let n=0,i=0;return e.tupleTypeArguments?e.tupleTypeArguments.forEach((e=>{n+=this._getComplexityScoreForType(e.type,t),i++})):e.typeArguments?e.typeArguments.forEach((e=>{n+=this._getComplexityScoreForType(e,t),i++})):e.details.typeParameters&&e.details.typeParameters.forEach((e=>{n+=this._getComplexityScoreForType(io.create(),t),i++})),.5+.25*(i>0?n/i:0)}}var zo,$o;function Ho(e){const t={firstPositionOrKeywordIndex:0,positionParamCount:0,positionOnlyParamCount:0,params:[],hasUnpackedVariadicTypeVar:!1};let n=e.details.parameters.findIndex((e=>0===e.category&&!e.name));if(n<0)for(let t=0;t=0&&(t.firstPositionOrKeywordIndex=n);for(let i=0;i{if(r.name){let a;a=1===r.category?zo.PositionOnly:i?zo.KeywordOnly:n>=0&&s{1===e.category?e.name&&xo(e.type)&&e.type.tupleTypeArguments?e.type.tupleTypeArguments.forEach(((n,i)=>{const s=Io(n.type)||n.isUnbounded?1:0;1===s&&(t.argsIndex=t.params.length),Io(e.type)&&(t.hasUnpackedVariadicTypeVar=!0),r({category:s,name:`${e.name}[${i.toString()}]`,type:n.type,hasDeclaredType:!0},i,n.type)})):(e.name&&void 0===t.argsIndex&&(t.argsIndex=t.params.length,Io(e.type)&&(t.hasUnpackedVariadicTypeVar=!0)),!i&&(n<0||s>=n)&&(t.firstKeywordOnlyIndex=t.params.length,e.name&&t.firstKeywordOnlyIndex++,i=!0),r(e,s)):2===e.category?(i=!0,vo(e.type)&&xo(e.type)&&e.type.details.typedDictEntries?(void 0===t.firstKeywordOnlyIndex&&(t.firstKeywordOnlyIndex=t.params.length),e.type.details.typedDictEntries.forEach(((e,t)=>{r({category:0,name:t,type:e.valueType,hasDeclaredType:!0,hasDefault:!e.isRequired},s,e.valueType)}))):e.name&&(void 0===t.kwargsIndex&&(t.kwargsIndex=t.params.length),void 0===t.firstKeywordOnlyIndex&&(t.firstKeywordOnlyIndex=t.params.length),r(e,s))):0===e.category&&(e.name&&!i&&t.positionParamCount++,r(e,s))})),t}function Go(e){return!!fo(e)&&void 0!==Mo(e,(e=>lo(e)))}function Ko(e,t){if(fo(e)){const n=[];let i=!1;if(e.subtypes.forEach((r=>{const s=t(r);s?s!==r?(n.push(Zo(s,Xo(e))),i=!0):n.push(r):i=!0})),!i)return e;const r=Oo(n);return 9===r.category&&so.addTypeAliasSource(r,e),r}return t(e)||no.createNever()}function Jo(e,t){fo(e)?e.subtypes.forEach(((e,n)=>{t(e,n)})):t(e,0)}function Yo(e,t){if(e.length<2)return!0;for(let n=1;nQo(e))):e}function Zo(e,t){if(!t)return e;switch(e.category){case 0:case 1:case 2:case 4:case 8:case 10:return e;case 3:case 5:return Ks.cloneForCondition(e,ro.combine(e.condition,t));case 6:return eo.create(e.overloads.map((e=>Zo(e,t))));case 7:return Ks.cloneForCondition(e,ro.combine(e.condition,t));case 9:return Oo(e.subtypes.map((e=>Zo(e,t))))}}function Xo(e){switch(e.category){case 0:case 1:case 2:case 4:case 8:case 10:case 6:case 9:return;case 3:case 7:case 5:return e.condition}}function ea(e){return!!bo(e)&&!!e.details.recursiveTypeAliasName&&!e.details.boundType}function ta(e){var t;if(e&&bo(e)&&e.details.recursiveTypeAliasName&&e.details.boundType){const n=Ks.isInstance(e)?Fa(e.details.boundType):e.details.boundType;return(null===(t=e.typeAliasInfo)||void 0===t?void 0:t.typeArguments)&&e.details.recursiveTypeParameters?fa(n,Ea(e.details.recursiveTypeParameters,e.typeAliasInfo.typeArguments,na(e))):n}return e}function na(e){return yo(e)||Eo(e)?e.details.typeVarScopeId:bo(e)?e.scopeId:void 0}function ia(e){let t;if(_o(e)?t=e:vo(e)&&(t=Zs.cloneAsInstantiable(e)),!t)return;const n=t.details.mro.find((e=>_o(e)&&pa(e)));return n&&_o(n)?Zs.isSameGenericClass(t,n)?t:fa(n,wa(t)):void 0}function ra(e){return Ks.isInstance(e)&&void 0!==e.literalValue}function sa(e){return vo(e)?void 0!==e.literalValue:!!fo(e)&&!Mo(e,(e=>!vo(e)||void 0===e.literalValue))}function oa(e,t=!1,n=0){var i;if(n>Gs)return!1;if(n++,vo(e)&&ra(e))return!0;if(t&&yo(e)){const r=(null===(i=e.tupleTypeArguments)||void 0===i?void 0:i.map((e=>e.type)))||e.typeArguments;if(r)return r.some((e=>oa(e,t,n)))}if(fo(e))return e.subtypes.some((e=>oa(e,t,n)));if(ko(e))return e.overloads.some((e=>oa(e,t,n)));if(Eo(e)){const i=Xs.getSpecializedReturnType(e);if(i&&oa(i,t,n))return!0;for(let i=0;i{const i=aa(e);i?t||(t=i):n=!0})),n?void 0:t}}function la(e){return fo(e)?e.subtypes.length:1}function ca(e){return uo(e)&&e.isEllipsis}function ua(e){return vo(e)&&Zs.isPropertyClass(e)}function pa(e){return Zs.isBuiltIn(e,"tuple")}function da(e){return e.tupleTypeArguments&&e.tupleTypeArguments.some((e=>e.isUnbounded))}function ha(e,t,n){if(Zs.isUnspecialized(t))return e;const i=wa(t,void 0);return n&&ma(i,t,n),fa(e,i)}function ma(e,t,n){const i=Aa(t,!1);e.setTypeVarType(i,Fa(n))}function fa(e,t,n=!1,i=!1,r=!1){return!t.isEmpty()||n||r?new Qa(t,n,i,r).apply(e):e}function ga(e){const t=new Map;return Zs.isProtocolClass(e)&&ya(e,t),t}function ya(e,t,n=0){n>Gs||(e.details.baseClasses.forEach((e=>{yo(e)&&Zs.isProtocolClass(e)&&ya(e,t,n+1)})),e.details.fields.forEach(((n,i)=>{n.isIgnoredForProtocolMatch()||t.set(i,{symbol:n,classType:e,isInstanceMember:n.isInstanceMember(),isClassVar:n.isClassVar(),isTypeDeclared:n.hasTypedDeclarations(),skippedUndeclaredType:!1})})))}function _a(e,t,n=0){if(vo(e))return va(e,t,n)}function va(e,t,n=0){var i;return null===(i=Ta(e,t,n).next())||void 0===i?void 0:i.value}function*Ta(e,t,n=0){const i=0!=(16&n);let r=!1;if(yo(e)){let s=0;1&n&&(s|=1),2&n&&(s|=2),4&n&&(s|=4),32&n&&(s|=8);const o=ba(e,s);for(const[e,s]of o){if(!_o(e)){if(!i){const e={symbol:Vo.createWithType(0,Ys.create()),isInstanceMember:!1,isClassVar:!0,classType:Ys.create(),isTypeDeclared:!1,skippedUndeclaredType:!1};yield e}continue}if(!_o(s))continue;const o=s.details.fields;if(0==(8&n)){const e=o.get(t);if(e&&e.isInstanceMember()){const t=e.hasTypedDeclarations();if(!i||t){const n={symbol:e,isInstanceMember:!0,isClassVar:e.isClassVar(),classType:s,isTypeDeclared:t,skippedUndeclaredType:r};yield n}else r=!0}}const a=o.get(t);if(a&&a.isClassMember()){const e=a.hasTypedDeclarations();if(!i||e){let t=!1;if(Zs.isDataClass(s)||Zs.isTypedDictClass(s)){const e=a.getDeclarations();e.length>0&&1===e[0].type&&(t=!0)}const n={symbol:a,isInstanceMember:t,isClassVar:a.isClassVar(),classType:s,isTypeDeclared:e,skippedUndeclaredType:r};yield n}else r=!0}}}else if(ho(e)){const e={symbol:Vo.createWithType(0,Ys.create()),isInstanceMember:!1,isClassVar:!0,classType:Ys.create(),isTypeDeclared:!1,skippedUndeclaredType:!1};yield e}}function*ba(e,t=0){if(yo(e)){let n=0!=(1&t);for(const i of e.details.mro){if(n){n=!1;continue}const r=ha(i,e);if(4&t&&_o(r)&&Zs.isBuiltIn(r,"object"))break;if(8&t&&_o(r)&&Zs.isBuiltIn(r,"type"))break;if(yield[i,r],0!=(2&t))break}}}function Ia(e,t){for(const n of t)e.find((e=>Ao(Fa(e),Fa(n))))||e.push(n)}function Sa(e,t=0){var n,i;if(t>Gs)return[];if(t++,null===(n=e.typeAliasInfo)||void 0===n?void 0:n.typeArguments){const n=[];return null===(i=e.typeAliasInfo)||void 0===i||i.typeArguments.forEach((e=>{Ia(n,Sa(e,t))})),n}if(bo(e))return e.details.recursiveTypeAliasName||wo(e)&&e.paramSpecAccess?[]:[Ks.isInstantiable(e)?oo.cloneAsInstance(e):e];if(yo(e))return(e=>{const n=[];return e.typeArguments&&e.typeArguments.forEach((e=>{Ia(n,Sa(e,t))})),n})(e);if(fo(e)){const n=[];return Jo(e,(e=>{Ia(n,Sa(e,t))})),n}if(Eo(e)){const n=[];for(let i=0;i{t.setTypeVarType(e,Ys.create())})),fa(e,t)}function Ca(e,t,n,i=0){if(!(i>Gs||(i++,n.isLocked())))switch(e.category){case 9:Jo(e,(e=>{Ca(e,t,n,i)}));break;case 7:e.typeArguments&&e.typeArguments.forEach((e=>{Ca(e,t,n,i)})),e.tupleTypeArguments&&e.tupleTypeArguments.forEach((e=>{Ca(e.type,t,n,i)}));break;case 5:e.specializedTypes?(e.specializedTypes.parameterTypes.forEach((e=>{Ca(e,t,n,i)})),e.specializedTypes.returnType&&Ca(e.specializedTypes.returnType,t,n,i)):(e.details.parameters.forEach((e=>{Ca(e.type,t,n,i)})),e.details.declaredReturnType&&Ca(e.details.declaredReturnType,t,n,i));break;case 6:e.overloads.forEach((e=>{Ca(e,t,n,i)}));break;case 10:n.hasTypeVar(e)||n.setTypeVarType(e,t)}}function wa(e,t=!0){const n=Zs.getTypeParameters(e);let i=e.typeArguments;i||t||(i=n);const r=Ea(n,i,na(e));return Zs.isTupleClass(e)&&e.tupleTypeArguments&&n.length>=1&&r.setVariadicTypeVar(n[0],e.tupleTypeArguments),r}function Ea(e,t,n){const i=new jo(n);return e.forEach(((e,n)=>{let r;if(t)if(wo(e)){if(n{t.push({category:e.category,name:e.name,hasDefault:!!e.hasDefault,isNameSynthesized:e.isNameSynthesized,type:Xs.getEffectiveParameterType(n,i)})})),i.setParamSpec(e,{parameters:t,typeVarScopeId:r.details.typeVarScopeId,flags:r.details.flags,docString:r.details.docString,paramSpec:r.details.paramSpec})}else wo(r)&&i.setParamSpec(e,{flags:0,parameters:[],typeVarScopeId:void 0,docString:void 0,paramSpec:r})}else r=n>=t.length?io.create():t[n],i.setTypeVarType(e,r,r,!0)})),i}function ka(e,t){if(0===Zs.getTypeParameters(t).length)return t;const n=fa(t,wa(e));return w(_o(n)),n}function Da(e,t,n){if(Zs.isSameGenericClass(e,t))return!0;for(const i of e.details.baseClasses)if(_o(i)){if(Da(i,t,n))return!0}else if(!n&&ho(i))return!0;return!1}function Aa(e,t){var n;const i=oo.createInstance("__type_of_self__"),r=null!==(n=na(e))&&void 0!==n?n:"";i.details.isSynthesized=!0,i.details.isSynthesizedSelf=!0,i.nameWithScope=oo.makeNameWithScope(i.details.name,r),i.scopeId=r;const s=Zs.cloneForSpecialization(e,Zs.getTypeParameters(e),!1,!0);return i.details.boundType=Zs.cloneAsInstance(s),t?oo.cloneAsInstantiable(i):i}function Pa(e){const t=Xs.getSpecializedReturnType(e);if(t){const e=za(t);if(e)return e.length>=3?e[2]:Ys.create()}}function Ra(e){return!!Ks.isInstantiable(e)||!(!vo(e)||!Zs.isBuiltIn(e,"type"))||!!fo(e)&&e.subtypes.every((e=>Ra(e)))}function Fa(e){let t=Ko(e,(e=>{switch(e.category){case 7:return Zs.isBuiltIn(e,"Type")?!e.typeArguments||e.typeArguments.length<1?Ys.create():Na(e.typeArguments[0]):Zs.cloneAsInstance(e);case 3:return to.createInstance();case 5:if(Ks.isInstantiable(e))return Xs.cloneAsInstance(e);break;case 10:if(Ks.isInstantiable(e))return oo.cloneAsInstance(e)}return e}));return e.typeAliasInfo&&e!==t&&(t=Ks.cloneForTypeAlias(t,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,e.typeAliasInfo.typeArguments)),t}function Na(e){let t=Ko(e,(e=>{switch(e.category){case 7:if(Ks.isInstance(e))return Zs.cloneAsInstantiable(e);break;case 3:return to.createType();case 5:if(Ks.isInstance(e))return Xs.cloneAsInstantiable(e);break;case 10:if(Ks.isInstance(e))return oo.cloneAsInstantiable(e)}return e}));return e.typeAliasInfo&&e!==t&&(t=Ks.cloneForTypeAlias(t,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,e.typeAliasInfo.typeArguments)),t}function Ma(e,t,n){for(let i=0;i{if((i.isClassMember()||n&&i.isInstanceMember())&&!(e&&Bo(i)||i.isInitVar())){const e=t.get(r);e?!e.hasTypedDeclarations()&&i.hasTypedDeclarations()&&t.set(r,i):t.set(r,i)}}))}}if(!n){const n=e.details.effectiveMetaclass;if(n&&_o(n))for(const e of n.details.mro){if(!_o(e))break;e.details.fields.forEach(((e,n)=>{const i=t.get(n);i?!i.hasTypedDeclarations()&&e.hasTypedDeclarations()&&t.set(n,e):t.set(n,e)}))}}}function Oa(e){let t=!1;return Jo(e,(e=>{po(e)&&(t=!0)})),t}function La(e,t=!1,n=0){var i,r;if(n>Gs)return!1;if(n++,po(e))return!0;if((null===(i=e.typeAliasInfo)||void 0===i?void 0:i.typeArguments)&&e.typeAliasInfo.typeArguments.some((e=>La(e,t,n))))return!0;if(fo(e))return void 0!==Mo(e,(e=>La(e,t,n)));if(yo(e)){if(Ks.isInstance(e)&&(t=!1),!t&&!Zs.isPseudoGenericClass(e)){const i=(null===(r=e.tupleTypeArguments)||void 0===r?void 0:r.map((e=>e.type)))||e.typeArguments;if(i)for(const e of i)if(La(e,t,n))return!0}return!1}if(ko(e))return e.overloads.some((e=>La(e,!1,n)));if(Eo(e)){for(let t=0;tZs.cloneForSpecialization(e,[t],!0)))):e}function Va(e,t){if(!t||!_o(t)||da(t))return;let n,i=!0;return Jo(e,(e=>{if(vo(e)){let t;yo(e)&&pa(e)&&!da(e)&&(t=e),t||(t=e.details.mro.find((e=>yo(e)&&pa(e)&&!da(e)))),t&&yo(t)&&t.tupleTypeArguments?n?n.length===t.tupleTypeArguments.length?t.tupleTypeArguments.forEach(((e,t)=>{n[t].push(e.type)})):i=!1:n=t.tupleTypeArguments.map((e=>[e.type])):i=!1}else i=!1})),i&&n?Fa(qa(t,n.map((e=>({type:Oo(e),isUnbounded:!1}))))):void 0}function qa(e,t,n=!0,i=!0,r=!1){let s=Oo(t.map((e=>e.type)));i&&(s=Qo(s)),ao(s)&&(s=io.create());const o=Zs.cloneForSpecialization(e,[s],n,void 0,t);return r&&(o.isUnpacked=!0),o}function Ba(e){if(Eo(e))return Wa(e);const t=[];let n=!1;for(const i of e.overloads){const e=Wa(i);t.push(e),e!==i&&(n=!0)}return n?eo.create(t):e}function Wa(e){const t=e.details.parameters.length;if(t<2)return e;const n=e.details.parameters[t-2],i=e.details.parameters[t-1];return 1===n.category&&2===i.category&&wo(n.type)&&wo(i.type)&&Ao(n.type,i.type)?Xs.cloneRemoveParamSpecVariadics(e,n.type):e}function ja(e){return vo(e)&&pa(e)&&e.tupleTypeArguments&&e.isUnpacked?Oo(e.tupleTypeArguments.map((e=>e.type))):e}function za(e){var t;if(vo(e)){if(Zs.isBuiltIn(e,["Generator","AsyncGenerator"]))return e.typeArguments;if(Zs.isBuiltIn(e,"AwaitableGenerator"))return null===(t=e.typeArguments)||void 0===t?void 0:t.slice(1)}}function $a(e,t=!1,n=!1,i=0){var r;if(i>Gs)return!1;switch(i++,e.category){case 7:return(!Zs.isPseudoGenericClass(e)||!t)&&(e.typeArguments?void 0!==e.typeArguments.find((e=>$a(e,t,n,i))):Zs.getTypeParameters(e).length>0);case 5:{if(e.details.paramSpec)return!0;for(let r=0;r$a(e,t,n,i)));case 9:return void 0!==Mo(e,(e=>$a(e,t,n,i)));case 10:if(!e.details.recursiveTypeAliasName)return!e.details.isSynthesizedSelf||!n;if(null===(r=e.typeAliasInfo)||void 0===r?void 0:r.typeArguments)return e.typeAliasInfo.typeArguments.some((e=>$a(e,t,n,i)))}return!1}function Ha(e){let t=!0;const n=e.details.baseClasses.filter(((t,n)=>{if(_o(t)&&Zs.isBuiltIn(t,"Generic")){if(Zs.isProtocolClass(e))return!1;if(e.details.baseClasses.some(((e,t)=>t>n&&_o(e)&&e.typeArguments&&e.isTypeArgumentExplicit)))return!1}return!0})),i=[];n.forEach(((e,t)=>{if(_o(e)){const t=wa(e,!1);i.push(e.details.mro.map((e=>fa(e,t))))}else i.push([e])})),i.push(n.map((t=>fa(t,wa(e,!1)))));const r=wa(e,!1);e.details.mro.push(fa(e,r));const s=(e,t)=>t.some((t=>t.findIndex((t=>_o(t)&&Zs.isSameGenericClass(t,e)))>0)),o=(e,t)=>{for(let n=0;n!_o(t)||!Zs.isSameGenericClass(t,e)))};for(;;){let n,r=!1;for(let t=0;t0){if(void 0===n&&(n=a),!_o(a[0])){r=!0,e.details.mro.push(a[0]),a.shift();break}if(!s(a[0],i)){r=!0,e.details.mro.push(a[0]),o(a[0],i);break}}}if(!n)break;r||(t=!1,_o(n[0])?(e.details.mro.push(n[0]),o(n[0],i)):(e.details.mro.push(n[0]),n.shift()))}return t}function Ga(e){const t=[];return Ka(e,t),t}function Ka(e,t,n=0){if(n>Gs)return;n++;const i=e=>{e&&!t.some((t=>t===e))&&t.push(e)};switch(e.category){case 7:case 5:i(e.details.moduleName);break;case 6:e.overloads.forEach((e=>{Ka(e,t,n)}));break;case 9:Jo(e,(e=>{Ka(e,t,n)}));break;case 8:i(e.moduleName)}}function Ja(e){let t=e.parameters.length>0;if(1===e.parameters.length){const n=e.parameters[0];0!==n.category||n.name||(t=!1)}if(t||!e.paramSpec){const t=Xs.createInstance("","","",65536);return e.parameters.forEach((e=>{Xs.addParameter(t,{category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})})),t.details.paramSpec=e.paramSpec,t.details.docString=e.docString,t}return e.paramSpec}!function(e){e[e.PositionOnly=0]="PositionOnly",e[e.PositionOrKeyword=1]="PositionOrKeyword",e[e.KeywordOnly=2]="KeywordOnly"}(zo||(zo={}));class Ya{constructor(){this._isTransformingTypeArg=!1}apply(e,t=new Set,n=0){var i;if(n>Gs)return e;if(n++,!$a(e))return e;if(ho(e))return e;if(lo(e))return e;if(bo(e)){if(e.details.recursiveTypeAliasName){if(!(null===(i=e.typeAliasInfo)||void 0===i?void 0:i.typeArguments))return e;let r=!1;const s=e.typeAliasInfo.typeArguments.map((e=>{const i=this.apply(e,t,n);return i!==e&&(r=!0),i}));return r?Ks.cloneForTypeAlias(e,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,s):e}let r=e;const s=oo.getNameWithScope(e);return t.has(s)||(r=this.transformTypeVar(e),this._isTransformingTypeArg||(t.add(s),r=this.apply(r,t,n),t.delete(s)),Io(e)&&e.isVariadicInUnion&&(r=ja(r))),r}if(fo(e)){const i=Ko(e,(e=>{let i=this.apply(e,t,n);if(Io(e)&&!Io(i)){const e=[];Jo(i,(t=>{e.push(ja(t))})),i=Oo(e)}return i}));return this.transformUnion&&fo(i)?this.transformUnion(i):i}if(yo(e))return this._transformTypeVarsInClassType(e,t,n);if(Eo(e))return this._transformTypeVarsInFunctionType(e,t,n);if(ko(e)){let i=!1;const r=[];return e.overloads.forEach((e=>{const s=this._transformTypeVarsInFunctionType(e,t,n);r.push(s),s!==e&&(i=!0)})),i?eo.create(r):e}return e}transformTypeVar(e){return e}transformVariadicTypeVar(e){}transformParamSpec(e){}transformUnion(e){return e}_transformTypeVarsInClassType(e,t,n){if(0===Zs.getTypeParameters(e).length&&!Zs.isSpecialBuiltIn(e))return e;let i,r=[],s=!1;const o=Zs.getTypeParameters(e),a=e=>{const t=this.transformParamSpec(e);return t?(s=!0,Ja(t)):e},l=this._isTransformingTypeArg;return this._isTransformingTypeArg=!0,e.typeArguments?r=e.typeArguments.map((e=>{if(bo(e)&&e.details.isParamSpec)return a(e);let i=this.apply(e,t,n);return i!==e&&(s=!0,bo(e)&&Io(e)&&e.isVariadicInUnion&&(i=ja(i))),i})):o.forEach((e=>{let i=e;if(e.details.isParamSpec)i=a(e),i!==e&&(s=!0);else{const r=oo.getNameWithScope(e);t.has(r)||(i=this.transformTypeVar(e),i!==e&&(this._isTransformingTypeArg||(t.add(r),i=this.apply(i,t,n),t.delete(r)),s=!0))}r.push(i)})),Zs.isTupleClass(e)&&(e.tupleTypeArguments?(i=[],e.tupleTypeArguments.forEach((e=>{const r=this.apply(e.type,t,n);r!==e.type&&(s=!0),Io(e.type)&&vo(r)&&pa(r)&&r.tupleTypeArguments?i.push(...r.tupleTypeArguments):i.push({type:r,isUnbounded:e.isUnbounded})}))):o.length>0&&(i=this.transformVariadicTypeVar(o[0]),i&&(s=!0))),this._isTransformingTypeArg=l,s?Zs.cloneForSpecialization(e,r,!0,void 0,i):e}_transformTypeVarsInFunctionType(e,t,n){let i=e;if(i.details.paramSpec){const e=this.transformParamSpec(i.details.paramSpec);e&&(i=Xs.cloneForParamSpec(i,e))}const r=Xs.getSpecializedReturnType(i),s=r?this.apply(r,t,n):void 0;let o=r!==s;const a={parameterTypes:[],returnType:s};if(i.details.parameters.length>=2){const e=i.details.parameters[i.details.parameters.length-2],t=i.details.parameters[i.details.parameters.length-1],n=Xs.getEffectiveParameterType(i,i.details.parameters.length-2),r=Xs.getEffectiveParameterType(i,i.details.parameters.length-1);if(1===e.category&&2===t.category&&wo(n)&&wo(r)&&Ao(n,r)){const e=this.transformParamSpec(n);e&&(i=Xs.cloneForParamSpecApplication(i,e))}}let l,c,u;for(let e=0;e{if(t===l){let e=!1;c.forEach((t=>{Xs.addParameter(p,{category:t.isUnbounded?1:0,name:`__p${p.details.parameters.length}`,isNameSynthesized:!0,type:t.type,hasDeclaredType:!0}),t.isUnbounded&&(e=!0)})),e?h=!0:d=!0}else{const n={...i.details.parameters[t]};1!==n.category||n.name?2===n.category&&(d=!1):d=!1,0===n.category&&n.name&&d&&(Xs.addParameter(p,{category:1,type:Ys.create()}),d=!1),n.type=e,n.name&&n.isNameSynthesized&&(n.name=`__p${p.details.parameters.length}`),0===n.category&&!n.name&&h||Xs.addParameter(p,n)}})),p.details.declaredReturnType=a.returnType,p}}class Qa extends Ya{constructor(e,t=!1,n=!1,i=!1){super(),this._typeVarMap=e,this._unknownIfNotFound=t,this._useNarrowBoundOnly=n,this._eliminateUnsolvedInUnions=i}transformTypeVar(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId)){let t=this._typeVarMap.getTypeVarType(e,this._useNarrowBoundOnly);if(!t&&this._useNarrowBoundOnly){const n=this._typeVarMap.getTypeVarType(e);n&&oa(n,!0)&&(t=n)}if(t)return Ks.isInstantiable(e)&&(t=Na(t)),t;if(this._unknownIfNotFound)return Ys.create()}return e}transformUnion(e){if(this._eliminateUnsolvedInUnions){const t=Ko(e,(e=>{if(!bo(e)||void 0===e.scopeId||!this._typeVarMap.hasSolveForScope(e.scopeId))return e}));return ao(t)?e:t}return e}transformVariadicTypeVar(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId))return this._typeVarMap.getVariadicTypeVar(e)}transformParamSpec(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId))return this._typeVarMap.getParamSpec(e)}}class Za extends Ya{constructor(e,t){super(),this._typeVarMap=e,this._liveTypeVarScopes=t,this.dummyScopeId="__expected_type_scope_id",this.dummyTypeVarPrefix="__expected_type_",this._typeVarMap.addSolveForScope(this.dummyScopeId)}_isTypeVarLive(e){return this._liveTypeVarScopes.some((t=>e.scopeId===t))}_createDummyTypeVar(e){if(e.details.isSynthesized&&e.details.name.startsWith(this.dummyTypeVarPrefix))return e;const t=Ks.isInstance(e);let n=oo.createInstance(`__expected_type_${Za.synthesizedTypeVarIndexForExpectedType}`);return n.details.isSynthesized=!0,n.scopeId=this.dummyScopeId,n.nameWithScope=oo.makeNameWithScope(n.details.name,this.dummyScopeId),t||(n=Na(n)),n.details.boundType=e.details.boundType,n.details.constraints=e.details.constraints,n.details.variance=e.details.variance,Za.synthesizedTypeVarIndexForExpectedType++,n}transformTypeVar(e){return this._isTypeVarLive(e)?e:this._createDummyTypeVar(e)}}Za.synthesizedTypeVarIndexForExpectedType=1;class Xa{constructor(e,t,n,i,r,s,o){this._importResolver=e,this._execEnv=t,this._evaluator=n,this._fileBinder=i,this._boundSourceGetter=r,this._mapCompiled=s,this._preferStubs=o}findModules(e){return this._getBoundSourceFilesFromStubFile(e).map((e=>{var t;return null===(t=e.getParseResults())||void 0===t?void 0:t.parseTree})).filter(a)}findDeclarations(e){return zn(e)?this._findClassOrTypeAliasDeclarations(e):jn(e)?this._findFunctionOrTypeAliasDeclarations(e):Hn(e)?this._findVariableDeclarations(e):$n(e)?this._findParameterDeclarations(e):5===e.type?this._findSpecialBuiltInClassDeclarations(e):[]}findClassDeclarations(e){return this._findClassOrTypeAliasDeclarations(e).filter((e=>zn(e))).map((e=>e))}findClassDeclarationsByType(e,t){const n=[];return this._addClassTypeDeclarations(e,t,n,new Set),n.filter((e=>zn(e))).map((e=>e))}findFunctionDeclarations(e){return this._findFunctionOrTypeAliasDeclarations(e).filter((e=>jn(e))).map((e=>e))}_findSpecialBuiltInClassDeclarations(e,t=new Set){if(38===e.node.valueExpression.nodeType){const n=e.node.valueExpression.value;return this._getBoundSourceFilesFromStubFile(e.path).flatMap((e=>this._findClassDeclarationsByName(e,n,t)))}return[]}_findClassOrTypeAliasDeclarations(e,t=new Set){const n=this._getFullClassName(e.node);return this._getBoundSourceFilesFromStubFile(e.path).flatMap((e=>this._findClassDeclarationsByName(e,n,t)))}_findFunctionOrTypeAliasDeclarations(e,t=new Set){const n=e.node.name.value,i=this._getBoundSourceFilesFromStubFile(e.path);if(e.isMethod){const r=Er(e.node);if(void 0===r)return[];const s=this._getFullClassName(r);return i.flatMap((e=>this._findMethodDeclarationsByName(e,s,n,t)))}return i.flatMap((e=>this._findFunctionDeclarationsByName(e,n,t)))}_findVariableDeclarations(e,t=new Set){if(38!==e.node.nodeType)return[];const n=e.node.value,i=this._getBoundSourceFilesFromStubFile(e.path),r=Er(e.node);if(r){const e=this._getFullClassName(r);return i.flatMap((i=>this._findFieldDeclarationsByName(i,e,n,t)))}return i.flatMap((e=>this._findVariableDeclarationsByName(e,n,t)))}_findParameterDeclarations(e){const t=[];if(!e.node.name)return t;const n=kr(e.node);if(!n)return t;const i=this._evaluator.getDeclarationsForNameNode(n.name);if(!i)return t;const r=new Set;for(const n of i)for(const i of this._findFunctionOrTypeAliasDeclarations(n,r))t.push(...this._lookUpSymbolDeclarations(i.node,e.node.name.value).filter((e=>$n(e))).map((e=>e)));return t}_findMemberDeclarationsByName(e,t,n,i,r){const s=[],o=this._findClassDeclarationsByName(e,t,r);for(const e of o.filter((e=>zn(e))).map((e=>e))){const t=this._evaluator.getTypeOfClass(e.node);if(!t)continue;const o=va(t.classType,n);if(o)for(const e of o.symbol.getDeclarations())i(e,r,s)}return s}_findFieldDeclarationsByName(e,t,n,i){let r=[];const s=`@${e.getFilePath()}/c/${t}/v/${n}`;return i.has(s)||(i.add(s),r=this._findMemberDeclarationsByName(e,t,n,((e,t,n)=>{if(Hn(e))if(this._isStubThatShouldBeMappedToImplementation(e.path))for(const i of this._findVariableDeclarations(e,t))Hn(i)&&n.push(i);else n.push(e)}),i),i.delete(s)),r}_findMethodDeclarationsByName(e,t,n,i){let r=[];const s=`@${e.getFilePath()}/c/${t}/f/${n}`;return i.has(s)||(i.add(s),r=this._findMemberDeclarationsByName(e,t,n,((e,t,n)=>{jn(e)&&(this._isStubThatShouldBeMappedToImplementation(e.path)?n.push(...this._findFunctionOrTypeAliasDeclarations(e,t)):n.push(e))}),i),i.delete(s)),r}_findVariableDeclarationsByName(e,t,n){var i;const r=[],s=`@${e.getFilePath()}/v/${t}`;if(n.has(s))return r;n.add(s);const o=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(!o)return r;const a=this._lookUpSymbolDeclarations(o,t);if(0===a.length)this._addDeclarationsFollowingWildcardImports(o,t,r,n);else for(const e of a)this._addVariableDeclarations(e,r,n);return n.delete(s),r}_findFunctionDeclarationsByName(e,t,n){var i;const r=[],s=`@${e.getFilePath()}/f/${t}`;if(n.has(s))return r;n.add(s);const o=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(!o)return r;const a=this._lookUpSymbolDeclarations(o,t);if(0===a.length)this._addDeclarationsFollowingWildcardImports(o,t,r,n);else for(const e of a)this._addClassOrFunctionDeclarations(e,r,n);return n.delete(s),r}_findClassDeclarationsByName(e,t,n){var i;let r=[];const s=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(s){let i=t.split(".");i.length>0&&(r=this._findClassDeclarations(e,i[0],s,n),i=i.slice(1));for(const t of i)r=r.flatMap((i=>this._findClassDeclarations(e,t,i.node,n)))}return r}_findClassDeclarations(e,t,n,i){const r=[],s=`@${e.getFilePath()}[${n.start}]${t}`;if(i.has(s))return r;i.add(s);const o=this._lookUpSymbolDeclarations(n,t);if(0===o.length&&36===n.nodeType)this._addDeclarationsFollowingWildcardImports(n,t,r,i);else for(const e of o)this._addClassOrFunctionDeclarations(e,r,i);return i.delete(s),r}_addVariableDeclarations(e,t,n){if(Hn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findVariableDeclarations(e,n)):t.push(e);else if(Gn(e)){const i=this._evaluator.resolveAliasDeclaration(e,!0);i&&(Hn(i)?this._addVariableDeclarations(i,t,n):(zn(i)||jn(i))&&this._addClassOrFunctionDeclarations(i,t,n))}}_addClassOrFunctionDeclarations(e,t,n){var i;if(zn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findClassOrTypeAliasDeclarations(e,n)):t.push(e);else if(jn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findFunctionOrTypeAliasDeclarations(e,n)):t.push(e);else if(Gn(e)){const i=this._evaluator.resolveAliasDeclaration(e,!0);i&&!Gn(i)&&this._addClassOrFunctionDeclarations(i,t,n)}else if(Hn(e)){this._addVariableDeclarations(e,t,n);const r=null!==(i=e.typeAliasName)&&void 0!==i?i:e.node,s=this._evaluator.getType(r);if(!s)return;if(Eo(s)&&s.details.declaration)this._addClassOrFunctionDeclarations(s.details.declaration,t,n);else if(ko(s))for(const e of s.overloads.map((e=>e.details.declaration)).filter(a))this._addClassOrFunctionDeclarations(e,t,n);else _o(s)&&this._addClassTypeDeclarations(e.path,s,t,n)}}_addClassTypeDeclarations(e,t,n,i){const r=t.details.filePath,s=this._getSourceFiles(r),o=t.details.fullName.substring(t.details.moduleName.length+1);for(const e of s)n.push(...this._findClassDeclarationsByName(e,o,i))}_getSourceFiles(e){const t=[];if(this._isStubThatShouldBeMappedToImplementation(e))t.push(...this._getBoundSourceFilesFromStubFile(e));else{const n=this._boundSourceGetter(e);n&&t.push(n)}return t}_addDeclarationsFollowingWildcardImports(e,t,n,i){var r,s;const o=null===(r=Ft(e))||void 0===r?void 0:r.symbolTable;if(o)for(const e of o.values())for(const r of e.getDeclarations()){if(!Gn(r)||!r.path||22!==r.node.nodeType||!r.node.isWildcardImport)continue;const e=`@${r.path}/l/${t}`;if(i.has(e))continue;i.add(e);const o=this._getSourceFiles(r.path);for(const e of o){const r=null===(s=e.getParseResults())||void 0===s?void 0:s.parseTree;if(!r)continue;const o=this._lookUpSymbolDeclarations(r,t);if(0===o.length)this._addDeclarationsFollowingWildcardImports(r,t,n,i);else for(const e of o){const t=this._evaluator.resolveAliasDeclaration(e,!0);t&&(jn(t)||zn(t)?this._addClassOrFunctionDeclarations(t,n,i):Hn(t)&&this._addVariableDeclarations(t,n,i))}}}}_lookUpSymbolDeclarations(e,t){if(void 0===e)return[];const n=Ft(e),i=null==n?void 0:n.lookUpSymbol(t),r=null==i?void 0:i.getDeclarations();return null!=r?r:[]}_getFullClassName(e){const t=[];let n=e;for(;void 0!==n;)t.push(n.name.value),n=Er(n);return t.reverse().join(".")}_getBoundSourceFilesFromStubFile(e){return this._importResolver.getSourceFilesFromStub(e,this._execEnv,this._mapCompiled).map((t=>this._fileBinder(e,t))).filter(a)}_isStubThatShouldBeMappedToImplementation(e){return!this._preferStubs&&(!!el(e)&&this._importResolver.getSourceFilesFromStub(e,this._execEnv,this._mapCompiled).every((t=>t!==e)))}}function el(e){return".pyi"===re(e,[".pyi"],!1)}function tl(e){switch(e){case"error":return 0;case"warning":return 1;case"information":return 2;default:throw new Error(`${e} is not expected`)}}class nl{constructor(e,t,n){this.category=e,this.message=t,this.range=n,this._relatedInfo=[]}addAction(e){void 0===this._actions?this._actions=[e]:this._actions.push(e)}getActions(){return this._actions}setRule(e){this._rule=e}getRule(){return this._rule}addRelatedInfo(e,t,n){this._relatedInfo.push({filePath:t,message:e,range:n})}getRelatedInfo(){return this._relatedInfo}}class il{constructor(){this._messages=[],this._childAddenda=[]}addMessage(e){this._messages.push(e)}createAddendum(){const e=new il;return this.addAddendum(e),e}getString(e=5,t=8){let n=this._getLinesRecursive(e,t);n.length>t&&(n=n.slice(0,t),n.push(" ..."));const i=n.join("\n");return i.length>0?"\n"+i:""}isEmpty(){return 0===this._getMessageCount()}addAddendum(e){this._childAddenda.push(e)}getChildren(){return this._childAddenda}getMessages(){return this._messages}_getMessageCount(e=0){if(e>64)return 0;let t=this._messages.length;for(const n of this._childAddenda)t+=n._getMessageCount(e+1);return t}_getLinesRecursive(e,t,n=0){if(e<=0||n>64)return[];let i=[];for(const r of this._childAddenda){const s=this._messages.length>0?e-1:e;if(i.push(...r._getLinesRecursive(s,t,n+1)),i.length>=t){i=i.slice(0,t);break}}const r=this._messages.length>0?"  ":"";return this._messages.concat(i).map((e=>r+e))}}!function(e){e.strictListInference="strictListInference",e.strictSetInference="strictSetInference",e.strictDictionaryInference="strictDictionaryInference",e.strictParameterNoneValue="strictParameterNoneValue",e.enableTypeIgnoreComments="enableTypeIgnoreComments",e.reportGeneralTypeIssues="reportGeneralTypeIssues",e.reportPropertyTypeMismatch="reportPropertyTypeMismatch",e.reportFunctionMemberAccess="reportFunctionMemberAccess",e.reportMissingImports="reportMissingImports",e.reportMissingModuleSource="reportMissingModuleSource",e.reportMissingTypeStubs="reportMissingTypeStubs",e.reportImportCycles="reportImportCycles",e.reportUnusedImport="reportUnusedImport",e.reportUnusedClass="reportUnusedClass",e.reportUnusedFunction="reportUnusedFunction",e.reportUnusedVariable="reportUnusedVariable",e.reportDuplicateImport="reportDuplicateImport",e.reportWildcardImportFromLibrary="reportWildcardImportFromLibrary",e.reportOptionalSubscript="reportOptionalSubscript",e.reportOptionalMemberAccess="reportOptionalMemberAccess",e.reportOptionalCall="reportOptionalCall",e.reportOptionalIterable="reportOptionalIterable",e.reportOptionalContextManager="reportOptionalContextManager",e.reportOptionalOperand="reportOptionalOperand",e.reportTypedDictNotRequiredAccess="reportTypedDictNotRequiredAccess",e.reportUntypedFunctionDecorator="reportUntypedFunctionDecorator",e.reportUntypedClassDecorator="reportUntypedClassDecorator",e.reportUntypedBaseClass="reportUntypedBaseClass",e.reportUntypedNamedTuple="reportUntypedNamedTuple",e.reportPrivateUsage="reportPrivateUsage",e.reportPrivateImportUsage="reportPrivateImportUsage",e.reportConstantRedefinition="reportConstantRedefinition",e.reportIncompatibleMethodOverride="reportIncompatibleMethodOverride",e.reportIncompatibleVariableOverride="reportIncompatibleVariableOverride",e.reportInconsistentConstructor="reportInconsistentConstructor",e.reportOverlappingOverload="reportOverlappingOverload",e.reportMissingSuperCall="reportMissingSuperCall",e.reportUninitializedInstanceVariable="reportUninitializedInstanceVariable",e.reportInvalidStringEscapeSequence="reportInvalidStringEscapeSequence",e.reportUnknownParameterType="reportUnknownParameterType",e.reportUnknownArgumentType="reportUnknownArgumentType",e.reportUnknownLambdaType="reportUnknownLambdaType",e.reportUnknownVariableType="reportUnknownVariableType",e.reportUnknownMemberType="reportUnknownMemberType",e.reportMissingParameterType="reportMissingParameterType",e.reportMissingTypeArgument="reportMissingTypeArgument",e.reportInvalidTypeVarUse="reportInvalidTypeVarUse",e.reportCallInDefaultInitializer="reportCallInDefaultInitializer",e.reportUnnecessaryIsInstance="reportUnnecessaryIsInstance",e.reportUnnecessaryCast="reportUnnecessaryCast",e.reportUnnecessaryComparison="reportUnnecessaryComparison",e.reportAssertAlwaysTrue="reportAssertAlwaysTrue",e.reportSelfClsParameterName="reportSelfClsParameterName",e.reportImplicitStringConcatenation="reportImplicitStringConcatenation",e.reportUndefinedVariable="reportUndefinedVariable",e.reportUnboundVariable="reportUnboundVariable",e.reportInvalidStubStatement="reportInvalidStubStatement",e.reportIncompleteStub="reportIncompleteStub",e.reportUnsupportedDunderAll="reportUnsupportedDunderAll",e.reportUnusedCallResult="reportUnusedCallResult",e.reportUnusedCoroutine="reportUnusedCoroutine",e.reportUnnecessaryTypeIgnoreComment="reportUnnecessaryTypeIgnoreComment",e.reportMatchNotExhaustive="reportMatchNotExhaustive",e.reportMicrobitVersionApiUnsupported="reportMicrobitVersionApiUnsupported"}($o||($o={}));class rl{constructor(e){this._formatString=e}format(e){let t=this._formatString;return Object.keys(e).forEach((n=>{t=t.replace(`{${n}}`,e[n].toString())})),t}getFormatString(){return this._formatString}}let sl="default";function ol(){return"simplified"===sl}function al(e){return ol()?"":e.getString()}let ll;const cl=__webpack_require__(6395);function ul(e){void 0===ll&&(ll={});const t=e.split("."),n=pl(ll,t)||pl(cl,t);if(n)return n;E(`Missing localized string for key "${e}"`)}function pl(e,t){let n=e;for(const e of t){if(!n[e])return;n=n[e]}return n}async function dl({locale:e,style:t}={}){t&&(sl=t);const n=e?e.toLowerCase():function(){try{if(null===navigator||void 0===navigator?void 0:navigator.language)return navigator.language.toLowerCase()}catch{}const e=process.env,t=e.VSCODE_NLS_CONFIG;if(t)try{return JSON.parse(t).locale}catch{}const n=e.LC_ALL||e.LC_MESSAGES||e.LANG||e.LANGUAGE;if(n){const e=n.split(".");if(e.length>0&&e[0])return e[0]}return"en-us"}();ll=await async function(e){let t=await hl(e);if(void 0!==t)return t;const n=e.split("-");return n.length>0&&n[0]&&(t=await hl(n[0]),void 0!==t)?t:{}}(n)}async function hl(e){switch(e){case"ca":return(await __webpack_require__.e(537).then(__webpack_require__.t.bind(__webpack_require__,6464,19))).default;case"de":return(await __webpack_require__.e(913).then(__webpack_require__.t.bind(__webpack_require__,1362,19))).default;case"fr":return(await __webpack_require__.e(231).then(__webpack_require__.t.bind(__webpack_require__,4846,19))).default;case"es-es":return(await __webpack_require__.e(689).then(__webpack_require__.t.bind(__webpack_require__,4162,19))).default;case"ja":return(await __webpack_require__.e(43).then(__webpack_require__.t.bind(__webpack_require__,244,19))).default;case"ko":return(await __webpack_require__.e(491).then(__webpack_require__.t.bind(__webpack_require__,1372,19))).default;case"nl":return(await __webpack_require__.e(888).then(__webpack_require__.t.bind(__webpack_require__,5101,19))).default;case"zh-cn":return(await __webpack_require__.e(327).then(__webpack_require__.t.bind(__webpack_require__,8131,19))).default;case"zh-tw":return(await __webpack_require__.e(521).then(__webpack_require__.t.bind(__webpack_require__,9753,19))).default;case"lol":return(await __webpack_require__.e(598).then(__webpack_require__.t.bind(__webpack_require__,8007,19))).default;default:return(await __webpack_require__.e(100).then(__webpack_require__.t.bind(__webpack_require__,8416,19))).default}}var ml;function fl(e,t,n){w(Zs.isTypedDictClass(n));const i=Xs.createInstance("__new__","","",65);Xs.addParameter(i,{category:0,name:"cls",type:n,hasDeclaredType:!0}),Xs.addDefaultParameters(i),i.details.declaredReturnType=Zs.cloneAsInstance(n);const r=Xs.createInstance("__init__","","",64);Xs.addParameter(r,{category:0,name:"self",type:Zs.cloneAsInstance(n),hasDeclaredType:!0}),r.details.declaredReturnType=to.createInstance(),Xs.addParameter(r,{category:1,type:io.create(),hasDeclaredType:!0});const s=gl(e,n);s.forEach(((e,t)=>{Xs.addParameter(r,{category:0,name:t,hasDefault:!e.isRequired,type:e.valueType,hasDeclaredType:!0})}));const o=n.details.fields;o.set("__init__",Vo.createWithType(4,r)),o.set("__new__",Vo.createWithType(4,i));const a=e.getBuiltInType(t,"str");if(_o(a)){const i={category:0,name:"self",type:Zs.cloneAsInstance(n),hasDeclaredType:!0},r=e=>{let t=oo.createInstance(`__${e.details.name}_default`);return t.details.isSynthesized=!0,t=oo.cloneForScopeId(t,e.details.typeVarScopeId,n.details.name,1),t},l=(n,s,o,a=!1)=>{const l=Xs.createInstance("get","","",320);if(Xs.addParameter(l,i),l.details.typeVarScopeId=e.getScopeIdForNode(t),Xs.addParameter(l,{category:0,name:"k",type:n,hasDeclaredType:!0}),o){const e=r(l);Xs.addParameter(l,{category:0,name:"default",type:a?s:e,hasDeclaredType:!0}),l.details.declaredReturnType=a?s:Oo([s,e])}else l.details.declaredReturnType=Oo([s,to.createInstance()]);return l},c=(n,s)=>{const o={category:0,name:"k",type:n,hasDeclaredType:!0},a=Xs.createInstance("pop","","",320);Xs.addParameter(a,i),Xs.addParameter(a,o),a.details.declaredReturnType=s;const l=Xs.createInstance("pop","","",320);Xs.addParameter(l,i),Xs.addParameter(l,o),l.details.typeVarScopeId=e.getScopeIdForNode(t);const c=r(l);return Xs.addParameter(l,{category:0,name:"default",hasDeclaredType:!0,type:c,hasDefault:!0}),l.details.declaredReturnType=Oo([s,c]),[a,l]},u=(e,t)=>{const n=Xs.createInstance("setdefault","","",320);return Xs.addParameter(n,i),Xs.addParameter(n,{category:0,name:"k",hasDeclaredType:!0,type:e}),Xs.addParameter(n,{category:0,name:"default",hasDeclaredType:!0,type:t}),n.details.declaredReturnType=t,n},p=e=>{const t=Xs.createInstance("delitem","","",320);return Xs.addParameter(t,i),Xs.addParameter(t,{category:0,name:"k",hasDeclaredType:!0,type:e}),t.details.declaredReturnType=to.createInstance(),t},d=[],h=[],m=[];s.forEach(((e,t)=>{const n=Zs.cloneAsInstance(Zs.cloneWithLiteral(a,t));d.push(l(n,e.valueType,!1)),d.push(l(n,e.valueType,!0,!0)),d.push(l(n,e.valueType,!0,!1)),h.push(...c(n,e.valueType)),m.push(u(n,e.valueType))}));const f=Zs.cloneAsInstance(a);d.push(l(f,io.create(),!1)),d.push(l(f,io.create(),!0)),o.set("get",Vo.createWithType(4,eo.create(d))),h.length>0&&o.set("pop",Vo.createWithType(4,eo.create(h))),m.length>0&&o.set("setdefault",Vo.createWithType(4,eo.create(m))),o.set("__delitem__",Vo.createWithType(4,p(f)))}}function gl(e,t,n=!1){if(!t.details.typedDictEntries){const n=new Map;yl(e,t,n),t.details.typedDictEntries=n}const i=new Map;return t.details.typedDictEntries.forEach(((e,t)=>{i.set(t,{...e})})),n&&t.typedDictNarrowedEntries&&t.typedDictNarrowedEntries.forEach(((e,t)=>{i.set(t,{...e})})),i}function yl(e,t,n,i=0){w(Zs.isTypedDictClass(t)),i>Gs||(i++,t.details.baseClasses.forEach((t=>{_o(t)&&Zs.isTypedDictClass(t)&&yl(e,t,n,i)})),t.details.fields.forEach(((i,r)=>{if(!i.isIgnoredForProtocolMatch()){const s=qo(i);if(s&&1===s.type){const o=e.getEffectiveTypeOfSymbol(i);let a=!Zs.isCanOmitDictValues(t);!function(e){return e.getDeclarations().some((e=>1===e.type&&!!e.isRequired))}(i)?function(e){return e.getDeclarations().some((e=>1===e.type&&!!e.isNotRequired))}(i)&&(a=!1):a=!0;const l=n.get(r);if(l&&!Ao(l.valueType,o)){const t=new il;t.addMessage(ml.DiagnosticAddendum.typedDictFieldRedefinition().format({parentType:e.printType(l.valueType),childType:e.printType(o)})),e.addDiagnostic(qt(s.node).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typedDictFieldRedefinition().format({name:r})+t.getString(),s.node)}n.set(r,{valueType:o,isRequired:a,isProvided:!1})}}})))}function _l(e,t,n,i,r=0){let s=!0;const o=gl(e,t),a=gl(e,n,!0);return o.forEach(((o,l)=>{const c=a.get(l);c?(o.isRequired&&!c.isRequired?(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldRequired().format({name:l,type:e.printType(t)})),s=!1):!o.isRequired&&c.isRequired&&(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldNotRequired().format({name:l,type:e.printType(t)})),s=!1),e.canAssignType(o.valueType,c.valueType,void 0,void 0,void 0,r)||(i&&i.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:l})),s=!1)):(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldMissing().format({name:l,type:e.printType(n)})),s=!1)})),s}function vl(e,t,n,i){if(1!==t.items.length)return e.addError(ml.Diagnostic.typeArgsMismatchOne().format({received:t.items.length}),t),{node:t,type:Ys.create()};if(t.trailingComma||t.items[0].name||0!==t.items[0].argumentCategory)return;const r=gl(e,n,"get"===i.method),s=e.getTypeOfExpression(t.items[0].valueExpression),o=s.type;let a=new il,l=!0;const c=Ko(o,(s=>{if(ho(s))return s;if(vo(s)&&Zs.isBuiltIn(s,"str")){if(void 0===s.literalValue)return Ys.create();const o=s.literalValue,c=r.get(o);return c?(c.isRequired||c.isProvided||"get"!==i.method||function(e,t=!1){let n,i=e;for(;i;){switch(i.nodeType){case 53:return i.trySuite===n;case 58:if(t&&i.suite===n)return!0;break;case 28:case 36:case 10:return!1}n=i,i=i.parent}return!1}(t,!0)||a.addMessage(ml.DiagnosticAddendum.keyNotRequired().format({name:o,type:e.printType(n)})),"set"===i.method?e.canAssignType(c.valueType,i.setType||io.create(),a)||(l=!1):"del"===i.method&&c.isRequired&&(a.addMessage(ml.DiagnosticAddendum.keyRequiredDeleted().format({name:o})),l=!1),c.valueType):(a.addMessage(ml.DiagnosticAddendum.keyUndefined().format({name:o,type:e.printType(n)})),l=!1,Ys.create())}return a.addMessage(ml.DiagnosticAddendum.typeNotStringLiteral().format({type:e.printType(s)})),l=!1,Ys.create()}));if(i.setExpectedTypeDiag&&(a=i.setExpectedTypeDiag),!a.isEmpty()){let n;n="set"===i.method?ml.Diagnostic.typedDictSet():"del"===i.method?ml.Diagnostic.typedDictDelete():ml.Diagnostic.typedDictAccess();const r=qt(t);e.addDiagnostic(l?r.diagnosticRuleSet.reportTypedDictNotRequiredAccess:r.diagnosticRuleSet.reportGeneralTypeIssues,l?$o.reportTypedDictNotRequiredAccess:$o.reportGeneralTypeIssues,n+a.getString(),t)}return{node:t,type:c,isIncomplete:!!s.isIncomplete}}function Tl(e,t){if(6===e.category){if(0===e.overloads.length)return!1;e=e.overloads[0]}return"builtins"===e.details.moduleName&&!!t&&!!e.boundToType&&!Zs.isSameGenericClass(t,e.boundToType)}function bl(e,t,n){const i=Er(e.node.name,!1),r=i?n.getTypeOfClass(i):void 0;if(r)return function(e,t,n,i){if(!e||!jn(e))return;const r=n.getTypeForDeclaration(e);if(!r||!ua(r))return;const s=28===e.node.nodeType?e.node.name.value:void 0;if(!s)return;const o=ba(i,0);for(const[e]of o){if(!_o(e))continue;const i=e.details.fields.get(s),r=null==i?void 0:i.getDeclarations();if(r)for(const e of r)if(jn(e)){const i=n.getTypeForDeclaration(e);if(i&&ua(i)){const n=El(e,t);if(n)return n}}}}(e,t,n,r.classType)}function Il(e,t,n){let i=e.docString;return!i&&t&&el(t.path)&&(i=function(e){for(const t of e)if(t.statements){const e=Vr(t.statements);if(e)return e}}(n.findModules(t.path))),i}function Sl(e,t,n){let i=e.details.docString;if(!i&&t&&zn(t)&&(i=kl([t]),!i&&t&&el(t.path)&&4===t.type)&&(i=kl(n.findClassDeclarations(t))),!i&&t){const r=n.findClassDeclarationsByType(t.path,e);r&&(i=kl(r.filter((e=>zn(e))).map((e=>e))))}return i}function xl(e){var t,n,i;return Vr(null!==(i=null===(n=null===(t=e.node)||void 0===t?void 0:t.suite)||void 0===n?void 0:n.statements)&&void 0!==i?i:[])}function Cl(e,t){if(e)return void 0!==e.docString?e.docString:function(e,t){const n=[];if(!el(e.path))return n;for(const i of t.findDeclarations(e))if(Hn(i)&&i.docString)n.push(i.docString);else if(zn(i)||jn(i)){const e=xl(i);e&&n.push(e)}return n}(e,t).find((e=>e))}function wl(e,t,n){if(!ko(e))return;const i=[];if(e.overloads.some((e=>e.details.docString)))e.overloads.forEach((e=>{e.details.docString&&i.push(e.details.docString)}));else if(t&&el(t.path)&&jn(t)){const e=kl(n.findFunctionDeclarations(t));e&&i.push(e)}return i}function El(e,t){let n=kl([e]);return!n&&el(e.path)&&(n=kl(t.findFunctionDeclarations(e))),n}function kl(e){for(const t of e){const e=xl(t);if(e)return e}}!function(e){let t,n,i,r;!function(e){e.annotatedParamCountMismatch=()=>new rl(ul("Diagnostic.annotatedParamCountMismatch")),e.annotatedTypeArgMissing=()=>ul("Diagnostic.annotatedTypeArgMissing"),e.annotationFormatString=()=>ul("Diagnostic.annotationFormatString"),e.annotationNotSupported=()=>ul("Diagnostic.annotationNotSupported"),e.annotationSpansStrings=()=>ul("Diagnostic.annotationSpansStrings"),e.annotationStringEscape=()=>ul("Diagnostic.annotationStringEscape"),e.argAssignment=()=>new rl(ul("Diagnostic.argAssignment")),e.argAssignmentFunction=()=>new rl(ul("Diagnostic.argAssignmentFunction")),e.argAssignmentParam=()=>new rl(ul("Diagnostic.argAssignmentParam")),e.argAssignmentParamFunction=()=>new rl(ul("Diagnostic.argAssignmentParamFunction")),e.argMissingForParam=()=>new rl(ul("Diagnostic.argMissingForParam")),e.argMissingForParams=()=>new rl(ul("Diagnostic.argMissingForParams")),e.argMorePositionalExpectedCount=()=>new rl(ul("Diagnostic.argMorePositionalExpectedCount")),e.argMorePositionalExpectedOne=()=>ul("Diagnostic.argMorePositionalExpectedOne"),e.argPositional=()=>ul("Diagnostic.argPositional"),e.argPositionalExpectedCount=()=>new rl(ul("Diagnostic.argPositionalExpectedCount")),e.argPositionalExpectedOne=()=>ul("Diagnostic.argPositionalExpectedOne"),e.argTypePartiallyUnknown=()=>ul("Diagnostic.argTypePartiallyUnknown"),e.argTypeUnknown=()=>ul("Diagnostic.argTypeUnknown"),e.assertAlwaysTrue=()=>ul("Diagnostic.assertAlwaysTrue"),e.assignmentExprContext=()=>ul("Diagnostic.assignmentExprContext"),e.assignmentExprComprehension=()=>new rl(ul("Diagnostic.assignmentExprComprehension")),e.assignmentExprInSubscript=()=>ul("Diagnostic.assignmentExprInSubscript"),e.assignmentInProtocol=()=>ul("Diagnostic.assignmentInProtocol"),e.assignmentTargetExpr=()=>ul("Diagnostic.assignmentTargetExpr"),e.asyncNotInAsyncFunction=()=>ul("Diagnostic.asyncNotInAsyncFunction"),e.awaitIllegal=()=>ul("Diagnostic.awaitIllegal"),e.awaitNotInAsync=()=>ul("Diagnostic.awaitNotInAsync"),e.backticksIllegal=()=>ul("Diagnostic.backticksIllegal"),e.baseClassCircular=()=>ul("Diagnostic.baseClassCircular"),e.baseClassInvalid=()=>ul("Diagnostic.baseClassInvalid"),e.baseClassFinal=()=>new rl(ul("Diagnostic.baseClassFinal")),e.baseClassMethodTypeIncompatible=()=>new rl(ul("Diagnostic.baseClassMethodTypeIncompatible")),e.baseClassUnknown=()=>ul("Diagnostic.baseClassUnknown"),e.bindTypeMismatch=()=>new rl(ul("Diagnostic.bindTypeMismatch")),e.booleanIsLowerCase=()=>new rl(ul("Diagnostic.booleanIsLowerCase")),e.breakOutsideLoop=()=>ul("Diagnostic.breakOutsideLoop"),e.callableExtraArgs=()=>ul("Diagnostic.callableExtraArgs"),e.callableFirstArg=()=>ul("Diagnostic.callableFirstArg"),e.callableSecondArg=()=>ul("Diagnostic.callableSecondArg"),e.casePatternIsIrrefutable=()=>ul("Diagnostic.casePatternIsIrrefutable"),e.classAlreadySpecialized=()=>new rl(ul("Diagnostic.classAlreadySpecialized")),e.classDecoratorTypeUnknown=()=>ul("Diagnostic.classDecoratorTypeUnknown"),e.classDefinitionCycle=()=>new rl(ul("Diagnostic.classDefinitionCycle")),e.classGetItemClsParam=()=>ul("Diagnostic.classGetItemClsParam"),e.classMethodClsParam=()=>ul("Diagnostic.classMethodClsParam"),e.classNotRuntimeSubscriptable=()=>new rl(ul("Diagnostic.classNotRuntimeSubscriptable")),e.classPatternBuiltInArgCount=()=>ul("Diagnostic.classPatternBuiltInArgCount"),e.classPatternBuiltInArgPositional=()=>ul("Diagnostic.classPatternBuiltInArgPositional"),e.classPatternTypeAlias=()=>new rl(ul("Diagnostic.classPatternTypeAlias")),e.classVarNotAllowed=()=>ul("Diagnostic.classVarNotAllowed"),e.classVarFirstArgMissing=()=>ul("Diagnostic.classVarFirstArgMissing"),e.classVarOverridesInstanceVar=()=>new rl(ul("Diagnostic.classVarOverridesInstanceVar")),e.classVarTooManyArgs=()=>ul("Diagnostic.classVarTooManyArgs"),e.classVarWithTypeVar=()=>ul("Diagnostic.classVarWithTypeVar"),e.clsSelfParamTypeMismatch=()=>new rl(ul("Diagnostic.clsSelfParamTypeMismatch")),e.comparisonAlwaysFalse=()=>new rl(ul("Diagnostic.comparisonAlwaysFalse")),e.comparisonAlwaysTrue=()=>new rl(ul("Diagnostic.comparisonAlwaysTrue")),e.comprehensionInDict=()=>ul("Diagnostic.comprehensionInDict"),e.comprehensionInSet=()=>ul("Diagnostic.comprehensionInSet"),e.concatenateParamSpecMissing=()=>ul("Diagnostic.concatenateParamSpecMissing"),e.concatenateTypeArgsMissing=()=>ul("Diagnostic.concatenateTypeArgsMissing"),e.constantRedefinition=()=>new rl(ul("Diagnostic.constantRedefinition")),e.constructorNoArgs=()=>new rl(ul("Diagnostic.constructorNoArgs")),e.constructorParametersMismatch=()=>new rl(ul("Diagnostic.constructorParametersMismatch")),e.continueInFinally=()=>ul("Diagnostic.continueInFinally"),e.continueOutsideLoop=()=>ul("Diagnostic.continueOutsideLoop"),e.dataClassBaseClassNotFrozen=()=>ul("Diagnostic.dataClassBaseClassNotFrozen"),e.dataClassFieldWithDefault=()=>ul("Diagnostic.dataClassFieldWithDefault"),e.dataClassPostInitParamCount=()=>new rl(ul("Diagnostic.dataClassPostInitParamCount")),e.dataClassPostInitType=()=>new rl(ul("Diagnostic.dataClassPostInitType")),e.dataClassSlotsOverwrite=()=>ul("Diagnostic.dataClassSlotsOverwrite"),e.dataClassTransformExpectedBoolLiteral=()=>ul("Diagnostic.dataClassTransformExpectedBoolLiteral"),e.dataClassTransformFieldDescriptor=()=>new rl(ul("Diagnostic.dataClassTransformFieldDescriptor")),e.dataClassTransformPositionalParam=()=>ul("Diagnostic.dataClassTransformPositionalParam"),e.dataClassTransformUnknownArgument=()=>new rl(ul("Diagnostic.dataClassTransformUnknownArgument")),e.declaredReturnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.declaredReturnTypePartiallyUnknown")),e.declaredReturnTypeUnknown=()=>ul("Diagnostic.declaredReturnTypeUnknown"),e.defaultValueContainsCall=()=>ul("Diagnostic.defaultValueContainsCall"),e.defaultValueNotAllowed=()=>ul("Diagnostic.defaultValueNotAllowed"),e.defaultValueNotEllipsis=()=>ul("Diagnostic.defaultValueNotEllipsis"),e.deprecatedType=()=>new rl(ul("Diagnostic.deprecatedType")),e.dictExpandIllegalInComprehension=()=>ul("Diagnostic.dictExpandIllegalInComprehension"),e.dictInAnnotation=()=>ul("Diagnostic.dictInAnnotation"),e.dictKeyValuePairs=()=>ul("Diagnostic.dictKeyValuePairs"),e.dictUnpackIsNotMapping=()=>ul("Diagnostic.dictUnpackIsNotMapping"),e.delTargetExpr=()=>ul("Diagnostic.delTargetExpr"),e.dunderAllSymbolNotPresent=()=>new rl(ul("Diagnostic.dunderAllSymbolNotPresent")),e.duplicateArgsParam=()=>ul("Diagnostic.duplicateArgsParam"),e.duplicateBaseClass=()=>ul("Diagnostic.duplicateBaseClass"),e.duplicateCatchAll=()=>ul("Diagnostic.duplicateCatchAll"),e.duplicateEnumMember=()=>new rl(ul("Diagnostic.duplicateEnumMember")),e.duplicateImport=()=>new rl(ul("Diagnostic.duplicateImport")),e.duplicateKwargsParam=()=>ul("Diagnostic.duplicateKwargsParam"),e.duplicateKeywordOnly=()=>ul("Diagnostic.duplicateKeywordOnly"),e.duplicateParam=()=>new rl(ul("Diagnostic.duplicateParam")),e.duplicateCapturePatternTarget=()=>new rl(ul("Diagnostic.duplicateCapturePatternTarget")),e.duplicateStarPattern=()=>ul("Diagnostic.duplicateStarPattern"),e.duplicateStarStarPattern=()=>ul("Diagnostic.duplicateStarStarPattern"),e.duplicatePositionOnly=()=>ul("Diagnostic.duplicatePositionOnly"),e.duplicateUnpack=()=>ul("Diagnostic.duplicateUnpack"),e.ellipsisContext=()=>ul("Diagnostic.ellipsisContext"),e.ellipsisSecondArg=()=>ul("Diagnostic.ellipsisSecondArg"),e.enumClassOverride=()=>new rl(ul("Diagnostic.enumClassOverride")),e.exceptionGroupIncompatible=()=>ul("Diagnostic.exceptionGroupIncompatible"),e.exceptionTypeIncorrect=()=>new rl(ul("Diagnostic.exceptionTypeIncorrect")),e.exceptionTypeNotClass=()=>new rl(ul("Diagnostic.exceptionTypeNotClass")),e.exceptionTypeNotInstantiable=()=>new rl(ul("Diagnostic.exceptionTypeNotInstantiable")),e.expectedAfterDecorator=()=>ul("Diagnostic.expectedAfterDecorator"),e.expectedArrow=()=>ul("Diagnostic.expectedArrow"),e.expectedAsAfterException=()=>ul("Diagnostic.expectedAsAfterException"),e.expectedAssignRightHandExpr=()=>ul("Diagnostic.expectedAssignRightHandExpr"),e.expectedBinaryRightHandExpr=()=>ul("Diagnostic.expectedBinaryRightHandExpr"),e.expectedBoolLiteral=()=>ul("Diagnostic.expectedBoolLiteral"),e.expectedCase=()=>ul("Diagnostic.expectedCase"),e.expectedClassName=()=>ul("Diagnostic.expectedClassName"),e.expectedCloseBrace=()=>ul("Diagnostic.expectedCloseBrace"),e.expectedCloseBracket=()=>ul("Diagnostic.expectedCloseBracket"),e.expectedCloseParen=()=>ul("Diagnostic.expectedCloseParen"),e.expectedColon=()=>ul("Diagnostic.expectedColon"),e.expectedComplexNumberLiteral=()=>ul("Diagnostic.expectedComplexNumberLiteral"),e.expectedDecoratorExpr=()=>ul("Diagnostic.expectedDecoratorExpr"),e.expectedDecoratorName=()=>ul("Diagnostic.expectedDecoratorName"),e.expectedDecoratorNewline=()=>ul("Diagnostic.expectedDecoratorNewline"),e.expectedDelExpr=()=>ul("Diagnostic.expectedDelExpr"),e.expectedElse=()=>ul("Diagnostic.expectedElse"),e.expectedEqualityOperator=()=>ul("Diagnostic.expectedEqualityOperator"),e.expectedExceptionClass=()=>ul("Diagnostic.expectedExceptionClass"),e.expectedExceptionObj=()=>ul("Diagnostic.expectedExceptionObj"),e.expectedExpr=()=>ul("Diagnostic.expectedExpr"),e.expectedImport=()=>ul("Diagnostic.expectedImport"),e.expectedImportAlias=()=>ul("Diagnostic.expectedImportAlias"),e.expectedImportSymbols=()=>ul("Diagnostic.expectedImportSymbols"),e.expectedIdentifier=()=>ul("Diagnostic.expectedIdentifier"),e.expectedIndentedBlock=()=>ul("Diagnostic.expectedIndentedBlock"),e.expectedIn=()=>ul("Diagnostic.expectedIn"),e.expectedInExpr=()=>ul("Diagnostic.expectedInExpr"),e.expectedFunctionAfterAsync=()=>ul("Diagnostic.expectedFunctionAfterAsync"),e.expectedFunctionName=()=>ul("Diagnostic.expectedFunctionName"),e.expectedMemberName=()=>ul("Diagnostic.expectedMemberName"),e.expectedModuleName=()=>ul("Diagnostic.expectedModuleName"),e.expectedNameAfterAs=()=>ul("Diagnostic.expectedNameAfterAs"),e.expectedNamedParameter=()=>ul("Diagnostic.expectedNamedParameter"),e.expectedNewline=()=>ul("Diagnostic.expectedNewline"),e.expectedNewlineOrSemicolon=()=>ul("Diagnostic.expectedNewlineOrSemicolon"),e.expectedOpenParen=()=>ul("Diagnostic.expectedOpenParen"),e.expectedParamName=()=>ul("Diagnostic.expectedParamName"),e.expectedPatternExpr=()=>ul("Diagnostic.expectedPatternExpr"),e.expectedPatternSubjectExpr=()=>ul("Diagnostic.expectedPatternSubjectExpr"),e.expectedPatternValue=()=>ul("Diagnostic.expectedPatternValue"),e.expectedReturnExpr=()=>ul("Diagnostic.expectedReturnExpr"),e.expectedSliceIndex=()=>ul("Diagnostic.expectedSliceIndex"),e.expectedTypeNotString=()=>ul("Diagnostic.expectedTypeNotString"),e.expectedYieldExpr=()=>ul("Diagnostic.expectedYieldExpr"),e.finalClassIsAbstract=()=>new rl(ul("Diagnostic.finalClassIsAbstract")),e.finalContext=()=>ul("Diagnostic.finalContext"),e.finalMethodOverride=()=>new rl(ul("Diagnostic.finalMethodOverride")),e.finalReassigned=()=>new rl(ul("Diagnostic.finalReassigned")),e.finalRedeclaration=()=>new rl(ul("Diagnostic.finalRedeclaration")),e.finalRedeclarationBySubclass=()=>new rl(ul("Diagnostic.finalRedeclarationBySubclass")),e.finalTooManyArgs=()=>ul("Diagnostic.finalTooManyArgs"),e.finalUnassigned=()=>new rl(ul("Diagnostic.finalUnassigned")),e.formatStringBrace=()=>ul("Diagnostic.formatStringBrace"),e.formatStringBytes=()=>ul("Diagnostic.formatStringBytes"),e.formatStringEscape=()=>ul("Diagnostic.formatStringEscape"),e.formatStringInPattern=()=>ul("Diagnostic.formatStringInPattern"),e.formatStringIllegal=()=>ul("Diagnostic.formatStringIllegal"),e.formatStringUnicode=()=>ul("Diagnostic.formatStringUnicode"),e.formatStringUnterminated=()=>ul("Diagnostic.formatStringUnterminated"),e.functionDecoratorTypeUnknown=()=>ul("Diagnostic.functionDecoratorTypeUnknown"),e.generatorAsyncReturnType=()=>ul("Diagnostic.generatorAsyncReturnType"),e.generatorNotParenthesized=()=>ul("Diagnostic.generatorNotParenthesized"),e.generatorSyncReturnType=()=>ul("Diagnostic.generatorSyncReturnType"),e.genericClassAssigned=()=>ul("Diagnostic.genericClassAssigned"),e.genericClassDeleted=()=>ul("Diagnostic.genericClassDeleted"),e.genericNotAllowed=()=>ul("Diagnostic.genericNotAllowed"),e.genericTypeAliasBoundTypeVar=()=>new rl(ul("Diagnostic.genericTypeAliasBoundTypeVar")),e.genericTypeArgMissing=()=>ul("Diagnostic.genericTypeArgMissing"),e.genericTypeArgTypeVar=()=>ul("Diagnostic.genericTypeArgTypeVar"),e.genericTypeArgUnique=()=>ul("Diagnostic.genericTypeArgUnique"),e.globalReassignment=()=>new rl(ul("Diagnostic.globalReassignment")),e.globalRedefinition=()=>new rl(ul("Diagnostic.globalRedefinition")),e.implicitStringConcat=()=>ul("Diagnostic.implicitStringConcat"),e.importCycleDetected=()=>ul("Diagnostic.importCycleDetected"),e.importDepthExceeded=()=>new rl(ul("Diagnostic.importDepthExceeded")),e.importResolveFailure=()=>new rl(ul("Diagnostic.importResolveFailure")),e.importSourceResolveFailure=()=>new rl(ul("Diagnostic.importSourceResolveFailure")),e.importSymbolUnknown=()=>new rl(ul("Diagnostic.importSymbolUnknown")),e.incompatibleMethodOverride=()=>new rl(ul("Diagnostic.incompatibleMethodOverride")),e.inconsistentIndent=()=>ul("Diagnostic.inconsistentIndent"),e.inconsistentTabs=()=>ul("Diagnostic.inconsistentTabs"),e.initMustReturnNone=()=>ul("Diagnostic.initMustReturnNone"),e.initSubclassClsParam=()=>ul("Diagnostic.initSubclassClsParam"),e.instanceMethodSelfParam=()=>ul("Diagnostic.instanceMethodSelfParam"),e.instanceVarOverridesClassVar=()=>new rl(ul("Diagnostic.instanceVarOverridesClassVar")),e.instantiateAbstract=()=>new rl(ul("Diagnostic.instantiateAbstract")),e.instantiateProtocol=()=>new rl(ul("Diagnostic.instantiateProtocol")),e.internalBindError=()=>new rl(ul("Diagnostic.internalBindError")),e.internalParseError=()=>new rl(ul("Diagnostic.internalParseError")),e.internalTypeCheckingError=()=>new rl(ul("Diagnostic.internalTypeCheckingError")),e.invalidIdentifierChar=()=>ul("Diagnostic.invalidIdentifierChar"),e.invalidStubStatement=()=>ul("Diagnostic.invalidStubStatement"),e.invalidTokenChars=()=>new rl(ul("Diagnostic.invalidTokenChars")),e.isInstanceInvalidType=()=>new rl(ul("Diagnostic.isInstanceInvalidType")),e.isSubclassInvalidType=()=>new rl(ul("Diagnostic.isSubclassInvalidType")),e.keyValueInSet=()=>ul("Diagnostic.keyValueInSet"),e.keywordArgInTypeArgument=()=>ul("Diagnostic.keywordArgInTypeArgument"),e.keywordOnlyAfterArgs=()=>ul("Diagnostic.keywordOnlyAfterArgs"),e.keywordSubscriptIllegal=()=>ul("Diagnostic.keywordSubscriptIllegal"),e.lambdaReturnTypeUnknown=()=>ul("Diagnostic.lambdaReturnTypeUnknown"),e.lambdaReturnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.lambdaReturnTypePartiallyUnknown")),e.listAssignmentMismatch=()=>new rl(ul("Diagnostic.listAssignmentMismatch")),e.listInAnnotation=()=>ul("Diagnostic.listInAnnotation"),e.literalUnsupportedType=()=>ul("Diagnostic.literalUnsupportedType"),e.literalEmptyArgs=()=>ul("Diagnostic.literalEmptyArgs"),e.literalNotCallable=()=>ul("Diagnostic.literalNotCallable"),e.matchIncompatible=()=>ul("Diagnostic.matchIncompatible"),e.matchIsNotExhaustive=()=>ul("Diagnostic.matchIsNotExhaustive"),e.maxParseDepthExceeded=()=>ul("Diagnostic.maxParseDepthExceeded"),e.memberAccess=()=>new rl(ul("Diagnostic.memberAccess")),e.memberDelete=()=>new rl(ul("Diagnostic.memberDelete")),e.memberSet=()=>new rl(ul("Diagnostic.memberSet")),e.metaclassConflict=()=>ul("Diagnostic.metaclassConflict"),e.metaclassDuplicate=()=>ul("Diagnostic.metaclassDuplicate"),e.metaclassIsGeneric=()=>ul("Diagnostic.metaclassIsGeneric"),e.methodNotDefined=()=>new rl(ul("Diagnostic.methodNotDefined")),e.methodNotDefinedOnType=()=>new rl(ul("Diagnostic.methodNotDefinedOnType")),e.methodOrdering=()=>ul("Diagnostic.methodOrdering"),e.methodOverridden=()=>new rl(ul("Diagnostic.methodOverridden")),e.methodReturnsNonObject=()=>new rl(ul("Diagnostic.methodReturnsNonObject")),e.microbitVersionApiUnsupported=()=>new rl(ul("Diagnostic.microbitVersionApiUnsupported")),e.missingProtocolMembers=()=>ul("Diagnostic.missingProtocolMembers"),e.missingSuperCall=()=>new rl(ul("Diagnostic.missingSuperCall")),e.moduleAsType=()=>ul("Diagnostic.moduleAsType"),e.moduleNotCallable=()=>ul("Diagnostic.moduleNotCallable"),e.moduleUnknownMember=()=>new rl(ul("Diagnostic.moduleUnknownMember")),e.namedExceptAfterCatchAll=()=>ul("Diagnostic.namedExceptAfterCatchAll"),e.namedParamAfterParamSpecArgs=()=>new rl(ul("Diagnostic.namedParamAfterParamSpecArgs")),e.namedTupleEmptyName=()=>ul("Diagnostic.namedTupleEmptyName"),e.namedTupleFirstArg=()=>ul("Diagnostic.namedTupleFirstArg"),e.namedTupleMultipleInheritance=()=>ul("Diagnostic.namedTupleMultipleInheritance"),e.namedTupleNameType=()=>ul("Diagnostic.namedTupleNameType"),e.namedTupleNameUnique=()=>ul("Diagnostic.namedTupleNameUnique"),e.namedTupleNoTypes=()=>ul("Diagnostic.namedTupleNoTypes"),e.namedTupleSecondArg=()=>ul("Diagnostic.namedTupleSecondArg"),e.newClsParam=()=>ul("Diagnostic.newClsParam"),e.newTypeLiteral=()=>ul("Diagnostic.newTypeLiteral"),e.newTypeNotAClass=()=>ul("Diagnostic.newTypeNotAClass"),e.newTypeProtocolClass=()=>ul("Diagnostic.newTypeProtocolClass"),e.nonDefaultAfterDefault=()=>ul("Diagnostic.nonDefaultAfterDefault"),e.noneNotCallable=()=>ul("Diagnostic.noneNotCallable"),e.noneNotIterable=()=>ul("Diagnostic.noneNotIterable"),e.noneNotSubscriptable=()=>ul("Diagnostic.noneNotSubscriptable"),e.noneNotUsableWith=()=>ul("Diagnostic.noneNotUsableWith"),e.noneOperator=()=>new rl(ul("Diagnostic.noneOperator")),e.noneUnknownMember=()=>new rl(ul("Diagnostic.noneUnknownMember")),e.nonLocalNoBinding=()=>new rl(ul("Diagnostic.nonLocalNoBinding")),e.nonLocalReassignment=()=>new rl(ul("Diagnostic.nonLocalReassignment")),e.nonLocalRedefinition=()=>new rl(ul("Diagnostic.nonLocalRedefinition")),e.nonLocalInModule=()=>ul("Diagnostic.nonLocalInModule"),e.noOverload=()=>new rl(ul("Diagnostic.noOverload")),e.noReturnContainsReturn=()=>ul("Diagnostic.noReturnContainsReturn"),e.noReturnContainsYield=()=>ul("Diagnostic.noReturnContainsYield"),e.noReturnReturnsNone=()=>ul("Diagnostic.noReturnReturnsNone"),e.notRequiredArgCount=()=>ul("Diagnostic.notRequiredArgCount"),e.notRequiredNotInTypedDict=()=>ul("Diagnostic.notRequiredNotInTypedDict"),e.objectNotCallable=()=>new rl(ul("Diagnostic.objectNotCallable")),e.obscuredClassDeclaration=()=>new rl(ul("Diagnostic.obscuredClassDeclaration")),e.obscuredFunctionDeclaration=()=>new rl(ul("Diagnostic.obscuredFunctionDeclaration")),e.obscuredMethodDeclaration=()=>new rl(ul("Diagnostic.obscuredMethodDeclaration")),e.obscuredParameterDeclaration=()=>new rl(ul("Diagnostic.obscuredParameterDeclaration")),e.obscuredVariableDeclaration=()=>new rl(ul("Diagnostic.obscuredVariableDeclaration")),e.operatorLessOrGreaterDeprecated=()=>ul("Diagnostic.operatorLessOrGreaterDeprecated"),e.optionalExtraArgs=()=>ul("Diagnostic.optionalExtraArgs"),e.orPatternIrrefutable=()=>ul("Diagnostic.orPatternIrrefutable"),e.orPatternMissingName=()=>ul("Diagnostic.orPatternMissingName"),e.overlappingOverload=()=>new rl(ul("Diagnostic.overlappingOverload")),e.overloadAbstractMismatch=()=>new rl(ul("Diagnostic.overloadAbstractMismatch")),e.overloadImplementationMismatch=()=>new rl(ul("Diagnostic.overloadImplementationMismatch")),e.overloadReturnTypeMismatch=()=>new rl(ul("Diagnostic.overloadReturnTypeMismatch")),e.overloadWithImplementation=()=>new rl(ul("Diagnostic.overloadWithImplementation")),e.overloadWithoutImplementation=()=>new rl(ul("Diagnostic.overloadWithoutImplementation")),e.paramAfterKwargsParam=()=>ul("Diagnostic.paramAfterKwargsParam"),e.paramAlreadyAssigned=()=>new rl(ul("Diagnostic.paramAlreadyAssigned")),e.paramAnnotationMissing=()=>new rl(ul("Diagnostic.paramAnnotationMissing")),e.paramNameMissing=()=>new rl(ul("Diagnostic.paramNameMissing")),e.paramSpecArgsKwargsUsage=()=>ul("Diagnostic.paramSpecArgsKwargsUsage"),e.paramSpecArgsUsage=()=>ul("Diagnostic.paramSpecArgsUsage"),e.paramSpecAssignedName=()=>new rl(ul("Diagnostic.paramSpecAssignedName")),e.paramSpecContext=()=>ul("Diagnostic.paramSpecContext"),e.paramSpecFirstArg=()=>ul("Diagnostic.paramSpecFirstArg"),e.paramSpecKwargsUsage=()=>ul("Diagnostic.paramSpecKwargsUsage"),e.paramSpecNotBound=()=>new rl(ul("Diagnostic.paramSpecNotBound")),e.paramSpecNotUsedByOuterScope=()=>new rl(ul("Diagnostic.paramSpecNotUsedByOuterScope")),e.paramSpecUnknownArg=()=>ul("Diagnostic.paramSpecUnknownArg"),e.paramSpecUnknownMember=()=>new rl(ul("Diagnostic.paramSpecUnknownMember")),e.paramSpecUnknownParam=()=>new rl(ul("Diagnostic.paramSpecUnknownParam")),e.paramTypeCovariant=()=>ul("Diagnostic.paramTypeCovariant"),e.paramTypeUnknown=()=>new rl(ul("Diagnostic.paramTypeUnknown")),e.paramAssignmentMismatch=()=>new rl(ul("Diagnostic.paramAssignmentMismatch")),e.paramTypePartiallyUnknown=()=>new rl(ul("Diagnostic.paramTypePartiallyUnknown")),e.parenthesizedContextManagerIllegal=()=>ul("Diagnostic.parenthesizedContextManagerIllegal"),e.positionArgAfterNamedArg=()=>ul("Diagnostic.positionArgAfterNamedArg"),e.privateImportFromPyTypedModule=()=>new rl(ul("Diagnostic.privateImportFromPyTypedModule")),e.positionOnlyAfterArgs=()=>ul("Diagnostic.positionOnlyAfterArgs"),e.positionOnlyAfterKeywordOnly=()=>ul("Diagnostic.positionOnlyAfterKeywordOnly"),e.positionOnlyIncompatible=()=>ul("Diagnostic.positionOnlyIncompatible"),e.positionOnlyFirstParam=()=>ul("Diagnostic.positionOnlyFirstParam"),e.privateUsedOutsideOfClass=()=>new rl(ul("Diagnostic.privateUsedOutsideOfClass")),e.privateUsedOutsideOfModule=()=>new rl(ul("Diagnostic.privateUsedOutsideOfModule")),e.propertyOverridden=()=>new rl(ul("Diagnostic.propertyOverridden")),e.propertyStaticMethod=()=>ul("Diagnostic.propertyStaticMethod"),e.protectedUsedOutsideOfClass=()=>new rl(ul("Diagnostic.protectedUsedOutsideOfClass")),e.protocolBaseClass=()=>new rl(ul("Diagnostic.protocolBaseClass")),e.protocolIllegal=()=>ul("Diagnostic.protocolIllegal"),e.protocolMemberNotClassVar=()=>new rl(ul("Diagnostic.protocolMemberNotClassVar")),e.protocolNotAllowedInTypeArgument=()=>ul("Diagnostic.protocolNotAllowedInTypeArgument"),e.protocolUsedInCall=()=>new rl(ul("Diagnostic.protocolUsedInCall")),e.protocolVarianceContravariant=()=>new rl(ul("Diagnostic.protocolVarianceContravariant")),e.protocolVarianceCovariant=()=>new rl(ul("Diagnostic.protocolVarianceCovariant")),e.protocolVarianceInvariant=()=>new rl(ul("Diagnostic.protocolVarianceInvariant")),e.recursiveDefinition=()=>new rl(ul("Diagnostic.recursiveDefinition")),e.relativeImportNotAllowed=()=>ul("Diagnostic.relativeImportNotAllowed"),e.requiredArgCount=()=>ul("Diagnostic.requiredArgCount"),e.requiredNotInTypedDict=()=>ul("Diagnostic.requiredNotInTypedDict"),e.returnMissing=()=>new rl(ul("Diagnostic.returnMissing")),e.returnOutsideFunction=()=>ul("Diagnostic.returnOutsideFunction"),e.returnTypeContravariant=()=>ul("Diagnostic.returnTypeContravariant"),e.returnTypeMismatch=()=>new rl(ul("Diagnostic.returnTypeMismatch")),e.returnTypeUnknown=()=>ul("Diagnostic.returnTypeUnknown"),e.returnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.returnTypePartiallyUnknown")),e.revealLocalsArgs=()=>ul("Diagnostic.revealLocalsArgs"),e.revealLocalsNone=()=>ul("Diagnostic.revealLocalsNone"),e.revealTypeArgs=()=>ul("Diagnostic.revealTypeArgs"),e.revealTypeExpectedTextArg=()=>ul("Diagnostic.revealTypeExpectedTextArg"),e.revealTypeExpectedTextMismatch=()=>new rl(ul("Diagnostic.revealTypeExpectedTextMismatch")),e.revealTypeExpectedTypeMismatch=()=>new rl(ul("Diagnostic.revealTypeExpectedTypeMismatch")),e.selfTypeContext=()=>ul("Diagnostic.selfTypeContext"),e.selfTypeWithTypedSelfOrCls=()=>ul("Diagnostic.selfTypeWithTypedSelfOrCls"),e.setterGetterTypeMismatch=()=>ul("Diagnostic.setterGetterTypeMismatch"),e.starPatternInAsPattern=()=>ul("Diagnostic.starPatternInAsPattern"),e.starPatternInOrPattern=()=>ul("Diagnostic.starPatternInOrPattern"),e.singleOverload=()=>new rl(ul("Diagnostic.singleOverload")),e.slotsAttributeError=()=>new rl(ul("Diagnostic.slotsAttributeError")),e.slotsClassVarConflict=()=>new rl(ul("Diagnostic.slotsClassVarConflict")),e.starStarWildcardNotAllowed=()=>ul("Diagnostic.starStarWildcardNotAllowed"),e.staticClsSelfParam=()=>ul("Diagnostic.staticClsSelfParam"),e.strictTypeGuardReturnType=()=>new rl(ul("Diagnostic.strictTypeGuardReturnType")),e.stringNonAsciiBytes=()=>ul("Diagnostic.stringNonAsciiBytes"),e.stringNotSubscriptable=()=>ul("Diagnostic.stringNotSubscriptable"),e.stringUnsupportedEscape=()=>ul("Diagnostic.stringUnsupportedEscape"),e.stringUnterminated=()=>ul("Diagnostic.stringUnterminated"),e.stubFileMissing=()=>new rl(ul("Diagnostic.stubFileMissing")),e.stubUsesGetAttr=()=>ul("Diagnostic.stubUsesGetAttr"),e.sublistParamsIncompatible=()=>ul("Diagnostic.sublistParamsIncompatible"),e.superCallArgCount=()=>ul("Diagnostic.superCallArgCount"),e.superCallFirstArg=()=>new rl(ul("Diagnostic.superCallFirstArg")),e.superCallSecondArg=()=>new rl(ul("Diagnostic.superCallSecondArg")),e.superCallZeroArgForm=()=>ul("Diagnostic.superCallZeroArgForm"),e.symbolIsUnbound=()=>new rl(ul("Diagnostic.symbolIsUnbound")),e.symbolIsUndefined=()=>new rl(ul("Diagnostic.symbolIsUndefined")),e.symbolIsPossiblyUnbound=()=>new rl(ul("Diagnostic.symbolIsPossiblyUnbound")),e.symbolOverridden=()=>new rl(ul("Diagnostic.symbolOverridden")),e.totalOrderingMissingMethod=()=>ul("Diagnostic.totalOrderingMissingMethod"),e.trailingCommaInFromImport=()=>ul("Diagnostic.trailingCommaInFromImport"),e.tryWithoutExcept=()=>ul("Diagnostic.tryWithoutExcept"),e.tupleAssignmentMismatch=()=>new rl(ul("Diagnostic.tupleAssignmentMismatch")),e.tupleInAnnotation=()=>ul("Diagnostic.tupleInAnnotation"),e.tupleIndexOutOfRange=()=>new rl(ul("Diagnostic.tupleIndexOutOfRange")),e.typeAliasIsRecursiveDirect=()=>new rl(ul("Diagnostic.typeAliasIsRecursiveDirect")),e.typeAliasIsRecursiveIndirect=()=>new rl(ul("Diagnostic.typeAliasIsRecursiveIndirect")),e.typeAliasNotInModuleOrClass=()=>ul("Diagnostic.typeAliasNotInModuleOrClass"),e.typeAliasRedeclared=()=>new rl(ul("Diagnostic.typeAliasRedeclared")),e.typeAnnotationCall=()=>ul("Diagnostic.typeAnnotationCall"),e.typeAnnotationVariable=()=>ul("Diagnostic.typeAnnotationVariable"),e.typeArgListExpected=()=>ul("Diagnostic.typeArgListExpected"),e.typeArgListNotAllowed=()=>ul("Diagnostic.typeArgListNotAllowed"),e.typeArgsExpectingNone=()=>new rl(ul("Diagnostic.typeArgsExpectingNone")),e.typeArgsMismatchOne=()=>new rl(ul("Diagnostic.typeArgsMismatchOne")),e.typeArgsMissingForAlias=()=>new rl(ul("Diagnostic.typeArgsMissingForAlias")),e.typeArgsMissingForClass=()=>new rl(ul("Diagnostic.typeArgsMissingForClass")),e.typeArgsTooFew=()=>new rl(ul("Diagnostic.typeArgsTooFew")),e.typeArgsTooMany=()=>new rl(ul("Diagnostic.typeArgsTooMany")),e.typeAssignmentMismatch=()=>new rl(ul("Diagnostic.typeAssignmentMismatch")),e.typeCallNotAllowed=()=>ul("Diagnostic.typeCallNotAllowed"),e.typedDictAccess=()=>ul("Diagnostic.typedDictAccess"),e.typedDictBadVar=()=>ul("Diagnostic.typedDictBadVar"),e.typedDictBaseClass=()=>ul("Diagnostic.typedDictBaseClass"),e.typedDictDelete=()=>ul("Diagnostic.typedDictDelete"),e.typedDictEmptyName=()=>ul("Diagnostic.typedDictEmptyName"),e.typedDictEntryName=()=>ul("Diagnostic.typedDictEntryName"),e.typedDictEntryUnique=()=>ul("Diagnostic.typedDictEntryUnique"),e.typedDictExtraArgs=()=>ul("Diagnostic.typedDictExtraArgs"),e.typedDictFieldRedefinition=()=>new rl(ul("Diagnostic.typedDictFieldRedefinition")),e.typedDictFirstArg=()=>ul("Diagnostic.typedDictFirstArg"),e.typedDictSecondArgDict=()=>ul("Diagnostic.typedDictSecondArgDict"),e.typedDictSecondArgDictEntry=()=>ul("Diagnostic.typedDictSecondArgDictEntry"),e.typedDictSet=()=>ul("Diagnostic.typedDictSet"),e.typedDictTotalParam=()=>ul("Diagnostic.typedDictTotalParam"),e.typeExpectedClass=()=>new rl(ul("Diagnostic.typeExpectedClass")),e.typeGuardArgCount=()=>ul("Diagnostic.typeGuardArgCount"),e.typeNotAwaitable=()=>new rl(ul("Diagnostic.typeNotAwaitable")),e.typeNotCallable=()=>new rl(ul("Diagnostic.typeNotCallable")),e.typeNotIntantiable=()=>new rl(ul("Diagnostic.typeNotIntantiable")),e.typeNotIterable=()=>new rl(ul("Diagnostic.typeNotIterable")),e.typeNotSpecializable=()=>new rl(ul("Diagnostic.typeNotSpecializable")),e.typeNotSubscriptable=()=>new rl(ul("Diagnostic.typeNotSubscriptable")),e.typeNotUsableWith=()=>new rl(ul("Diagnostic.typeNotUsableWith")),e.typeNotSupportBinaryOperator=()=>new rl(ul("Diagnostic.typeNotSupportBinaryOperator")),e.typeNotSupportBinaryOperatorBidirectional=()=>new rl(ul("Diagnostic.typeNotSupportBinaryOperatorBidirectional")),e.typeNotSupportUnaryOperator=()=>new rl(ul("Diagnostic.typeNotSupportUnaryOperator")),e.typeNotSupportUnaryOperatorBidirectional=()=>new rl(ul("Diagnostic.typeNotSupportUnaryOperatorBidirectional")),e.typePartiallyUnknown=()=>new rl(ul("Diagnostic.typePartiallyUnknown")),e.typeUnknown=()=>new rl(ul("Diagnostic.typeUnknown")),e.typeVarAssignedName=()=>new rl(ul("Diagnostic.typeVarAssignedName")),e.typeVarAssignmentMismatch=()=>new rl(ul("Diagnostic.typeVarAssignmentMismatch")),e.typeVarBoundAndConstrained=()=>ul("Diagnostic.typeVarBoundAndConstrained"),e.typeVarFirstArg=()=>ul("Diagnostic.typeVarFirstArg"),e.typeVarGeneric=()=>ul("Diagnostic.typeVarGeneric"),e.typeVarNoMember=()=>new rl(ul("Diagnostic.typeVarNoMember")),e.typeVarNotSubscriptable=()=>new rl(ul("Diagnostic.typeVarNotSubscriptable")),e.typeVarNotUsedByOuterScope=()=>new rl(ul("Diagnostic.typeVarNotUsedByOuterScope")),e.typeVarSingleConstraint=()=>ul("Diagnostic.typeVarSingleConstraint"),e.typeVarsNotInGeneric=()=>ul("Diagnostic.typeVarsNotInGeneric"),e.typeVarTupleMustBeUnpacked=()=>ul("Diagnostic.typeVarTupleMustBeUnpacked"),e.typeVarTupleContext=()=>ul("Diagnostic.typeVarTupleContext"),e.typeVarUnknownParam=()=>new rl(ul("Diagnostic.typeVarUnknownParam")),e.typeVarUsedByOuterScope=()=>new rl(ul("Diagnostic.typeVarUsedByOuterScope")),e.typeVarUsedOnlyOnce=()=>new rl(ul("Diagnostic.typeVarUsedOnlyOnce")),e.typeVarVariance=()=>ul("Diagnostic.typeVarVariance"),e.unaccessedClass=()=>new rl(ul("Diagnostic.unaccessedClass")),e.unaccessedFunction=()=>new rl(ul("Diagnostic.unaccessedFunction")),e.unaccessedImport=()=>new rl(ul("Diagnostic.unaccessedImport")),e.unaccessedSymbol=()=>new rl(ul("Diagnostic.unaccessedSymbol")),e.unaccessedVariable=()=>new rl(ul("Diagnostic.unaccessedVariable")),e.unexpectedAsyncToken=()=>ul("Diagnostic.unexpectedAsyncToken"),e.unexpectedExprToken=()=>ul("Diagnostic.unexpectedExprToken"),e.unexpectedIndent=()=>ul("Diagnostic.unexpectedIndent"),e.unexpectedUnindent=()=>ul("Diagnostic.unexpectedUnindent"),e.unionSyntaxIllegal=()=>ul("Diagnostic.unionSyntaxIllegal"),e.unionTypeArgCount=()=>ul("Diagnostic.unionTypeArgCount"),e.uninitializedInstanceVariable=()=>new rl(ul("Diagnostic.uninitializedInstanceVariable")),e.unnecessaryCast=()=>new rl(ul("Diagnostic.unnecessaryCast")),e.unnecessaryIsInstanceAlways=()=>new rl(ul("Diagnostic.unnecessaryIsInstanceAlways")),e.unnecessaryIsSubclassAlways=()=>new rl(ul("Diagnostic.unnecessaryIsSubclassAlways")),e.unnecessaryTypeIgnore=()=>ul("Diagnostic.unnecessaryTypeIgnore"),e.unpackArgCount=()=>ul("Diagnostic.unpackArgCount"),e.unpackedArgInTypeArgument=()=>ul("Diagnostic.unpackedArgInTypeArgument"),e.unpackedArgWithVariadicParam=()=>ul("Diagnostic.unpackedArgWithVariadicParam"),e.unpackedDictArgumentNotMapping=()=>ul("Diagnostic.unpackedDictArgumentNotMapping"),e.unpackedSubscriptIllegal=()=>ul("Diagnostic.unpackedSubscriptIllegal"),e.unpackedTypedDictArgument=()=>ul("Diagnostic.unpackedTypedDictArgument"),e.unpackedTypeVarTupleExpected=()=>new rl(ul("Diagnostic.unpackedTypeVarTupleExpected")),e.unpackExpectedTypedDict=()=>ul("Diagnostic.unpackExpectedTypedDict"),e.unpackExpectedTypeVarTuple=()=>ul("Diagnostic.unpackExpectedTypeVarTuple"),e.unpackIllegalInComprehension=()=>ul("Diagnostic.unpackIllegalInComprehension"),e.unpackInAnnotation=()=>ul("Diagnostic.unpackInAnnotation"),e.unpackInDict=()=>ul("Diagnostic.unpackInDict"),e.unpackInSet=()=>ul("Diagnostic.unpackInSet"),e.unpackNotAllowed=()=>ul("Diagnostic.unpackNotAllowed"),e.unpackOperatorNotAllowed=()=>ul("Diagnostic.unpackOperatorNotAllowed"),e.unpackTuplesIllegal=()=>ul("Diagnostic.unpackTuplesIllegal"),e.unreachableCode=()=>ul("Diagnostic.unreachableCode"),e.unreachableExcept=()=>ul("Diagnostic.unreachableExcept"),e.unsupportedDunderAllOperation=()=>ul("Diagnostic.unsupportedDunderAllOperation"),e.unusedCallResult=()=>new rl(ul("Diagnostic.unusedCallResult")),e.unusedCoroutine=()=>ul("Diagnostic.unusedCoroutine"),e.varAnnotationIllegal=()=>ul("Diagnostic.varAnnotationIllegal"),e.variadicTypeArgsTooMany=()=>ul("Diagnostic.variadicTypeArgsTooMany"),e.variadicTypeParamTooManyAlias=()=>new rl(ul("Diagnostic.variadicTypeParamTooManyAlias")),e.variadicTypeParamTooManyClass=()=>new rl(ul("Diagnostic.variadicTypeParamTooManyClass")),e.walrusIllegal=()=>ul("Diagnostic.walrusIllegal"),e.walrusNotAllowed=()=>ul("Diagnostic.walrusNotAllowed"),e.wildcardInFunction=()=>ul("Diagnostic.wildcardInFunction"),e.wildcardLibraryImport=()=>ul("Diagnostic.wildcardLibraryImport"),e.yieldFromIllegal=()=>ul("Diagnostic.yieldFromIllegal"),e.yieldFromOutsideAsync=()=>ul("Diagnostic.yieldFromOutsideAsync"),e.yieldOutsideFunction=()=>ul("Diagnostic.yieldOutsideFunction"),e.yieldTypeMismatch=()=>new rl(ul("Diagnostic.yieldTypeMismatch")),e.yieldWithinListCompr=()=>ul("Diagnostic.yieldWithinListCompr"),e.zeroCaseStatementsFound=()=>ul("Diagnostic.zeroCaseStatementsFound"),e.zeroLengthTupleNotAllowed=()=>ul("Diagnostic.zeroLengthTupleNotAllowed")}(t=e.Diagnostic||(e.Diagnostic={})),function(e){e.argParam=()=>new rl(ul("DiagnosticAddendum.argParam")),e.argParamFunction=()=>new rl(ul("DiagnosticAddendum.argParamFunction")),e.argsParamMissing=()=>new rl(ul("DiagnosticAddendum.argsParamMissing")),e.argsPositionOnly=()=>new rl(ul("DiagnosticAddendum.argsPositionOnly")),e.argumentType=()=>new rl(ul("DiagnosticAddendum.argumentType")),e.argumentTypes=()=>new rl(ul("DiagnosticAddendum.argumentTypes")),e.assignToNone=()=>ul("DiagnosticAddendum.assignToNone"),e.asyncHelp=()=>ul("DiagnosticAddendum.asyncHelp"),e.baseClassProvidesType=()=>new rl(ul("DiagnosticAddendum.baseClassProvidesType")),e.dataClassFrozen=()=>new rl(ul("DiagnosticAddendum.dataClassFrozen")),e.dataClassFieldLocation=()=>ul("DiagnosticAddendum.dataClassFieldLocation"),e.finalMethod=()=>ul("DiagnosticAddendum.finalMethod"),e.functionParamDefaultMissing=()=>new rl(ul("DiagnosticAddendum.functionParamDefaultMissing")),e.functionParamName=()=>new rl(ul("DiagnosticAddendum.functionParamName")),e.functionReturnTypeMismatch=()=>new rl(ul("DiagnosticAddendum.functionReturnTypeMismatch")),e.functionTooFewParams=()=>new rl(ul("DiagnosticAddendum.functionTooFewParams")),e.incompatibleGetter=()=>ul("DiagnosticAddendum.incompatibleGetter"),e.incompatibleSetter=()=>ul("DiagnosticAddendum.incompatibleSetter"),e.incompatibleDeleter=()=>ul("DiagnosticAddendum.incompatibleDeleter"),e.initMethodLocation=()=>new rl(ul("DiagnosticAddendum.initMethodLocation")),e.initMethodSignature=()=>new rl(ul("DiagnosticAddendum.initMethodSignature")),e.functionTooManyParams=()=>new rl(ul("DiagnosticAddendum.functionTooManyParams")),e.keyNotRequired=()=>new rl(ul("DiagnosticAddendum.keyNotRequired")),e.keyRequiredDeleted=()=>new rl(ul("DiagnosticAddendum.keyRequiredDeleted")),e.keyUndefined=()=>new rl(ul("DiagnosticAddendum.keyUndefined")),e.kwargsParamMissing=()=>new rl(ul("DiagnosticAddendum.kwargsParamMissing")),e.listAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.listAssignmentMismatch")),e.literalAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.literalAssignmentMismatch")),e.matchIsNotExhaustiveType=()=>new rl(ul("DiagnosticAddendum.matchIsNotExhaustiveType")),e.matchIsNotExhaustiveHint=()=>ul("DiagnosticAddendum.matchIsNotExhaustiveHint"),e.memberAssignment=()=>new rl(ul("DiagnosticAddendum.memberAssignment")),e.memberIsAbstract=()=>new rl(ul("DiagnosticAddendum.memberIsAbstract")),e.memberIsAbstractMore=()=>new rl(ul("DiagnosticAddendum.memberIsAbstractMore")),e.memberIsFinalInProtocol=()=>new rl(ul("DiagnosticAddendum.memberIsFinalInProtocol")),e.memberIsInitVar=()=>new rl(ul("DiagnosticAddendum.memberIsInitVar")),e.memberIsNotFinalInProtocol=()=>new rl(ul("DiagnosticAddendum.memberIsNotFinalInProtocol")),e.memberSetClassVar=()=>new rl(ul("DiagnosticAddendum.memberSetClassVar")),e.memberTypeMismatch=()=>new rl(ul("DiagnosticAddendum.memberTypeMismatch")),e.memberUnknown=()=>new rl(ul("DiagnosticAddendum.memberUnknown")),e.missingProtocolMember=()=>new rl(ul("DiagnosticAddendum.missingProtocolMember")),e.missingGetter=()=>ul("DiagnosticAddendum.missingGetter"),e.missingSetter=()=>ul("DiagnosticAddendum.missingSetter"),e.missingDeleter=()=>ul("DiagnosticAddendum.missingDeleter"),e.namedParamMissingInDest=()=>new rl(ul("DiagnosticAddendum.namedParamMissingInDest")),e.namedParamMissingInSource=()=>new rl(ul("DiagnosticAddendum.namedParamMissingInSource")),e.namedParamTypeMismatch=()=>new rl(ul("DiagnosticAddendum.namedParamTypeMismatch")),e.newMethodLocation=()=>new rl(ul("DiagnosticAddendum.newMethodLocation")),e.newMethodSignature=()=>new rl(ul("DiagnosticAddendum.newMethodSignature")),e.noOverloadAssignable=()=>new rl(ul("DiagnosticAddendum.noOverloadAssignable")),e.orPatternMissingName=()=>new rl(ul("DiagnosticAddendum.orPatternMissingName")),e.overloadMethod=()=>ul("DiagnosticAddendum.overloadMethod"),e.overloadNotAssignable=()=>new rl(ul("DiagnosticAddendum.overloadNotAssignable")),e.overloadWithImplementation=()=>ul("DiagnosticAddendum.overloadWithImplementation"),e.overriddenMethod=()=>ul("DiagnosticAddendum.overriddenMethod"),e.overriddenSymbol=()=>ul("DiagnosticAddendum.overriddenSymbol"),e.overrideParamCount=()=>new rl(ul("DiagnosticAddendum.overrideParamCount")),e.overrideParamName=()=>new rl(ul("DiagnosticAddendum.overrideParamName")),e.overrideParamNamePositionOnly=()=>new rl(ul("DiagnosticAddendum.overrideParamNamePositionOnly")),e.overrideParamType=()=>new rl(ul("DiagnosticAddendum.overrideParamType")),e.overrideReturnType=()=>new rl(ul("DiagnosticAddendum.overrideReturnType")),e.overrideType=()=>new rl(ul("DiagnosticAddendum.overrideType")),e.paramAssignment=()=>new rl(ul("DiagnosticAddendum.paramAssignment")),e.paramSpecOverload=()=>ul("DiagnosticAddendum.paramSpecOverload"),e.paramType=()=>new rl(ul("DiagnosticAddendum.paramType")),e.privateImportFromPyTypedSource=()=>new rl(ul("DiagnosticAddendum.privateImportFromPyTypedSource")),e.propertyAccessFromProtocolClass=()=>ul("DiagnosticAddendum.propertyAccessFromProtocolClass"),e.propertyMethodIncompatible=()=>new rl(ul("DiagnosticAddendum.propertyMethodIncompatible")),e.propertyMethodMissing=()=>new rl(ul("DiagnosticAddendum.propertyMethodMissing")),e.propertyMissingDeleter=()=>new rl(ul("DiagnosticAddendum.propertyMissingDeleter")),e.propertyMissingSetter=()=>new rl(ul("DiagnosticAddendum.propertyMissingSetter")),e.protocolMemberClassVar=()=>new rl(ul("DiagnosticAddendum.protocolMemberClassVar")),e.protocolIncompatible=()=>new rl(ul("DiagnosticAddendum.protocolIncompatible")),e.protocolMemberMissing=()=>new rl(ul("DiagnosticAddendum.protocolMemberMissing")),e.protocolSourceIsNotConcrete=()=>new rl(ul("DiagnosticAddendum.protocolSourceIsNotConcrete")),e.readOnlyAttribute=()=>new rl(ul("DiagnosticAddendum.readOnlyAttribute")),e.seeDeclaration=()=>ul("DiagnosticAddendum.seeDeclaration"),e.seeClassDeclaration=()=>ul("DiagnosticAddendum.seeClassDeclaration"),e.seeFunctionDeclaration=()=>ul("DiagnosticAddendum.seeFunctionDeclaration"),e.seeMethodDeclaration=()=>ul("DiagnosticAddendum.seeMethodDeclaration"),e.seeParameterDeclaration=()=>ul("DiagnosticAddendum.seeParameterDeclaration"),e.seeVariableDeclaration=()=>ul("DiagnosticAddendum.seeVariableDeclaration"),e.tupleEntryTypeMismatch=()=>new rl(ul("DiagnosticAddendum.tupleEntryTypeMismatch")),e.tupleAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.tupleAssignmentMismatch")),e.tupleSizeMismatch=()=>new rl(ul("DiagnosticAddendum.tupleSizeMismatch")),e.tupleSizeMismatchIndeterminate=()=>new rl(ul("DiagnosticAddendum.tupleSizeMismatchIndeterminate")),e.typeAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.typeAssignmentMismatch")),e.typeBound=()=>new rl(ul("DiagnosticAddendum.typeBound")),e.typeConstrainedTypeVar=()=>new rl(ul("DiagnosticAddendum.typeConstrainedTypeVar")),e.typedDictFieldMissing=()=>new rl(ul("DiagnosticAddendum.typedDictFieldMissing")),e.typedDictFieldNotRequired=()=>new rl(ul("DiagnosticAddendum.typedDictFieldNotRequired")),e.typedDictFieldRedefinition=()=>new rl(ul("DiagnosticAddendum.typedDictFieldRedefinition")),e.typedDictFieldRequired=()=>new rl(ul("DiagnosticAddendum.typedDictFieldRequired")),e.typedDictFieldTypeMismatch=()=>new rl(ul("DiagnosticAddendum.typedDictFieldTypeMismatch")),e.typedDictFieldUndefined=()=>new rl(ul("DiagnosticAddendum.typedDictFieldUndefined")),e.typedDictFinalMismatch=()=>new rl(ul("DiagnosticAddendum.typedDictFinalMismatch")),e.typeIncompatible=()=>new rl(ul("DiagnosticAddendum.typeIncompatible")),e.typeNotCallable=()=>new rl(ul("DiagnosticAddendum.typeNotCallable")),e.typeNotClass=()=>new rl(ul("DiagnosticAddendum.typeNotClass")),e.typeParamSpec=()=>new rl(ul("DiagnosticAddendum.typeParamSpec")),e.typeNotStringLiteral=()=>new rl(ul("DiagnosticAddendum.typeNotStringLiteral")),e.typeOfSymbol=()=>new rl(ul("DiagnosticAddendum.typeOfSymbol")),e.typeUnsupported=()=>new rl(ul("DiagnosticAddendum.typeUnsupported")),e.typeVarIsContravariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsContravariant")),e.typeVarIsCovariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsCovariant")),e.typeVarIsInvariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsInvariant")),e.typeVarTupleRequiresKnownLength=()=>ul("DiagnosticAddendum.typeVarTupleRequiresKnownLength"),e.typeVarNotAllowed=()=>ul("DiagnosticAddendum.typeVarNotAllowed"),e.typeVarsMissing=()=>new rl(ul("DiagnosticAddendum.typeVarsMissing")),e.unreachableExcept=()=>new rl(ul("DiagnosticAddendum.unreachableExcept")),e.useDictInstead=()=>ul("DiagnosticAddendum.useDictInstead"),e.useListInstead=()=>ul("DiagnosticAddendum.useListInstead"),e.useTupleInstead=()=>ul("DiagnosticAddendum.useTupleInstead"),e.useTypeInstead=()=>ul("DiagnosticAddendum.useTypeInstead")}(n=e.DiagnosticAddendum||(e.DiagnosticAddendum={})),function(e){e.addOptionalToAnnotation=()=>ul("CodeAction.addOptionalToAnnotation"),e.createTypeStub=()=>ul("CodeAction.createTypeStub"),e.createTypeStubFor=()=>new rl(ul("CodeAction.createTypeStubFor")),e.executingCommand=()=>ul("CodeAction.executingCommand"),e.filesToAnalyzeOne=()=>ul("CodeAction.filesToAnalyzeOne"),e.filesToAnalyzeCount=()=>new rl(ul("CodeAction.filesToAnalyzeCount")),e.findingReferences=()=>ul("CodeAction.findingReferences"),e.organizeImports=()=>ul("CodeAction.organizeImports")}(i=e.CodeAction||(e.CodeAction={})),function(e){e.moveFile=()=>new rl(ul("Refactoring.moveFile")),e.moveFileLabel=()=>new rl(ul("Refactoring.moveFileLabel")),e.moveFileDescription=()=>new rl(ul("Refactoring.moveFileDescription"))}(r=e.Refactoring||(e.Refactoring={}))}(ml||(ml={}));const Dl=/'/g,Al=/\\"/g;function Pl(e,t,n,i=[]){const r=0!=(16&t),s=0!=(128&t);if(t&=-145,e.typeAliasInfo){let r=!0;if((0==(32&t)||i.find((t=>t===e)))&&(r=!1),!r)try{i.push(e);let r=e.typeAliasInfo.name;const s=e.typeAliasInfo.typeParameters;if(s){let o;e.typeAliasInfo.typeArguments?(0==(2&t)||e.typeAliasInfo.typeArguments.some((e=>!ho(e))))&&(o=[],e.typeAliasInfo.typeArguments.forEach(((e,r)=>{Io(r{o.push(Pl(e.type,t,n,i))})):o.push(Pl(e,t,n,i))}))):(0==(2&t)||s.some((e=>!ho(e))))&&(o=[],s.forEach((e=>{o.push(Pl(e,t,n,i))}))),o&&(0===o.length?r+="[()]":r+=`[${o.join(", ")}]`)}if(10!==e.category)return r}finally{i.pop()}}if(i.find((t=>{var n;return t===e||void 0!==t.typeAliasInfo&&t.typeAliasInfo.fullName===(null===(n=e.typeAliasInfo)||void 0===n?void 0:n.fullName)}))||i.length>Gs)return bo(e)&&e.details.isSynthesized&&e.details.recursiveTypeAliasName?e.details.recursiveTypeAliasName:e.typeAliasInfo?e.typeAliasInfo.name:"...";try{i.push(e);const o=0==(64&t),a=e=>void 0!==e.condition&&o?"*":"";switch(e.category){case 0:return"Unbound";case 1:return 0!=(1&t)?"Any":"Unknown";case 8:return`Module("${e.moduleName}")`;case 7:return Ks.isInstance(e)?void 0!==e.literalValue?`Literal[${Rl(e)}]`:`${Fl(e,t,n,i)}${a(e)}`:void 0!==e.literalValue?`Type[Literal[${Rl(e)}]]${a(e)}`:`Type[${Fl(e,t,n,i)}]${a(e)}`;case 5:{const r=Nl(e,t,n,i),o=`(${r[0].join(", ")})`;if(Xs.isParamSpecValue(e))return o;const a=`${o} -> ${r[1]}`;return s?`(${a})`:a}case 6:return`Overload[${e.overloads.map((e=>Pl(e,t,n,i))).join(", ")}]`;case 9:{const s=new Set,o=new Set,a=8&t?128|t:t;if(0==(32&t)&&e.typeAliasSources)for(const t of e.typeAliasSources){let r=!0,l=!0;const c=new Set;for(const n of t.subtypes){let t=0,i=!1;for(const r of e.subtypes){if(Ao(n,r,void 0,!0)){s.has(t)||(l=!1),c.add(t),i=!0;break}t++}if(!i){r=!1;break}}r&&!l&&(o.add(Pl(t,a,n,i)),c.forEach((e=>s.add(e))))}const l=e.subtypes.findIndex((e=>lo(e)));if(l>=0&&!s.has(l)){const r=Fo(e);if(ao(r))return"None";const s=Pl(r,a,n,i);return 8&t?s+" | None":"Optional["+s+"]"}const c=new Set,u=new Set;Jo(e,((e,t)=>{s.has(t)||(vo(e)&&void 0!==e.literalValue?c.add(Rl(e)):_o(e)&&void 0!==e.literalValue?u.add(Rl(e)):o.add(Pl(e,a,n,i)))}));const p=[];if(o.forEach((e=>p.push(e))),c.size>0){const e=[];c.forEach((t=>e.push(t))),p.push(`Literal[${e.join(", ")}]`)}if(u.size>0){const e=[];u.forEach((t=>e.push(t))),p.push(`Type[Literal[${e.join(", ")}]]`)}if(1===p.length)return p[0];if(8&t){const e=p.join(" | ");return r?`(${e})`:e}return`Union[${p.join(", ")}]`}case 10:{if(e.details.isSynthesized){if(e.details.recursiveTypeAliasName)return 0!=(32&t)&&e.details.boundType?Pl(Ks.isInstance(e)?Fa(e.details.boundType):e.details.boundType,t,n,i):e.details.recursiveTypeAliasName;if(e.details.isSynthesizedSelf&&e.details.boundType){let r=Pl(e.details.boundType,-33&t,n,i);return ho(e.details.boundType)||(r=`Self@${r}`),Ks.isInstantiable(e)?`Type[${r}]`:r}return 0!=(1&t)?"Any":"Unknown"}if(e.details.isParamSpec)return e.paramSpecAccess?`${e.details.name}.${e.paramSpecAccess}`:`${oo.getReadableName(e)}`;let r=oo.getReadableName(e);return e.isVariadicUnpacked&&(r=`*${r}`),Ks.isInstantiable(e)?`Type[${r}]`:r}case 3:return`${Ks.isInstantiable(e)?"Type[None]":"None"}${a(e)}`;case 4:return e.isNoReturn?"NoReturn":"Never";case 2:return e.isEllipsis?"...":"Any"}return""}finally{i.pop()}}function Rl(e,t="'"){const n=e.literalValue;if(void 0===n)return"";let i;if("string"==typeof n){const r="bytes"===e.details.name?"b":"";i=JSON.stringify(n).toString(),'"'!==t&&(i=`'${i.substring(1,i.length-1).replace(Al,'"').replace(Dl,"\\'")}'`),r&&(i=`${r}${i}`)}else"boolean"==typeof n?i=n?"True":"False":n instanceof Hs?i=`${n.className}.${n.itemName}`:"bigint"==typeof n?(i=n.toString(),i.endsWith("n")&&(i=i.substring(0,i.length-1))):i=n.toString();return i}function Fl(e,t,n,i=[]){var r,s;let o=e.aliasName||e.details.name;if(!Zs.isPseudoGenericClass(e)){const a=Zs.getTypeParameters(e),l=a.length>0?a[a.length-1]:void 0,c=!!l&&l.details.isVariadic,u=null!==(r=e.tupleTypeArguments)&&void 0!==r?r:null===(s=e.typeArguments)||void 0===s?void 0:s.map((e=>({type:e,isUnbounded:!1})));if(u)if(u.length>0){const r=[];let s=!0;u.forEach(((e,o)=>{const l=o{ho(e.type)||(s=!1);const r=Pl(e.type,t,n,i);return e.isUnbounded?`*tuple[${r}, ...]`:r})));else{ho(e.type)||(s=!1);const o=Pl(e.type,t,n,i);e.isUnbounded?1===u.length?r.push(o,"..."):r.push(`*tuple[${o}, ...]`):r.push(o)}})),e.isUnpacked&&(o="*"+o),0!=(2&t)&&s||(o+="["+r.join(", ")+"]")}else(Zs.isTupleClass(e)||c)&&(o+="[()]");else a.length>0&&(0==(2&t)||a.some((e=>!ho(e))))&&(o+="["+a.map((e=>Pl(e,t,n,i))).join(", ")+"]")}return o}function Nl(e,t,n,i=[]){const r=[];let s=!1;e.details.parameters.forEach(((o,a)=>{if(a===e.details.parameters.length-1&&1===o.category&&Io(o.type)){const s=Xs.getEffectiveParameterType(e,a);if(vo(s)&&Zs.isBuiltIn(s,"tuple")&&s.tupleTypeArguments)return void s.tupleTypeArguments.forEach((e=>{const s=Pl(e.type,t,n,i);r.push(s)}))}let l="";1===o.category?o.name&&o.isNameSynthesized||(l+="*"):2===o.category&&(l+="**"),o.name&&!o.isNameSynthesized&&(l+=o.name,s=!0);let c="=",u=!1;if(o.name)if(o.hasDeclaredType||o.isTypeInferred){const r=Xs.getEffectiveParameterType(e,a),s=i.length{const i=t.resolveAliasDeclaration(e,n);if(i&&(o.push(i),r&&el(i.path))){const e=r.findDeclarations(i);for(const t of e)t&&t.path&&this._addIfUnique(o,t)}})),o}collect(){return this.walk(this._startingNode),this._results}walk(e){zt(e)||super.walk(e)}visitName(e){if(ct(this._cancellationToken),e.value!==this._symbolName)return!1;if(this._declarations.length>0){const t=Ml._getDeclarationsForNode(e,this._evaluator);t&&t.length>0&&t.some((e=>this._resultsContainsDeclaration(e)))&&this._addResult(e)}else this._addResult(e);return!1}visitString(e){return ct(this._cancellationToken),this._dunderAllNameNodes.has(e)&&this._addResult(e),!1}_addResult(e){const t=38===e.nodeType?e:function(e){return function(e){const t=e.quoteMarkLength,n=!(65536&e.flags);return dt.create(e.start+t,e.length-t-(n?t:0))}(e.token)}(e);this._results.push({node:e,range:t})}_resultsContainsDeclaration(e){const t=this._evaluator.resolveAliasDeclaration(e,!1);if(!t)return!1;if(this._declarations.some((e=>is(e,t,this._treatModuleInImportAndFromImportSame))))return!0;const n=this._getResolveAliasDeclaration(t);return!(!n||n===t)&&this._declarations.some((e=>is(e,n,this._treatModuleInImportAndFromImportSame)))}_getResolveAliasDeclaration(e){if(n(e))return ls([e])[0];const t=this._evaluator.resolveAliasDeclaration(e,!0);return n(t)?ls([t])[0]:t;function n(e){return!!e&&6===e.type&&e.node&&e.usesLocalName&&21===e.node.nodeType}}_setDunderAllNodes(e){if(36!==e.nodeType)return;const t=Wt(e);if(!t)return;const n=zs(e);n&&t.stringNodes.forEach((e=>{if(e.value!==this._symbolName)return;const t=n.lookUpSymbolRecursive(e.value);t&&t.symbol.getDeclarations().some((e=>this._resultsContainsDeclaration(e)))&&this._dunderAllNameNodes.add(e)}))}static _addIfUnique(e,t){for(const n of e)if(is(n,t))return;e.push(t)}static _getDeclarationsForNode(e,t){var n,i,r,s,o,a;if(37!==(null===(n=e.parent)||void 0===n?void 0:n.nodeType)){let n=t.getDeclarationsForNameNode(e)||[];if(23===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&(n=n.filter((t=>t.node===e.parent))),0===n.length){const n=t.getType(e);if(8===(null==n?void 0:n.category))return[cs(n.filePath)]}for(const e of n.filter((e=>Gn(e)&&!e.loadSymbolsFromPath))){const i=e.node;23!==i.nodeType&&n.push(...t.getDeclarationsForNameNode(i.module.nameParts[0])||[])}return n}const l=e.parent;if(21===(null===(r=l.parent)||void 0===r?void 0:r.nodeType)||22===(null===(s=l.parent)||void 0===s?void 0:s.nodeType)){const n=l.nameParts.findIndex((t=>t===e));if(0===n){let n=[];const i=1===l.nameParts.length&&21===l.parent.nodeType&&!!l.parent.alias,r=i?l.parent.alias.value:l.nameParts[0].value,s=null===(o=zs(e))||void 0===o?void 0:o.lookUpSymbolRecursive(r);return s&&1===l.nameParts.length&&(n.push(...s.symbol.getDeclarations().filter((e=>Gn(e)))),n.length>1&&(n=n.filter((e=>void 0!==(e=e).firstNamePart?e.firstNamePart===l.nameParts[0].value:e.node===l.parent))),i&&(n=ls(n))),n.push(...(null===(a=t.getDeclarationsForNameNode(l.nameParts[0]))||void 0===a?void 0:a.filter((e=>Gn(e))))||[]),n}return n>0&&t.getDeclarationsForNameNode(l.nameParts[n])||[]}return[]}}function Ol(e,t,n=70){let i="";const r=e.overloads.filter((e=>Xs.isOverloaded(e))).map((e=>e.details.name+t.printType(e,!1)));for(let e=0;en&&r[e-1].length<=n&&(i+="\n"),i+=r[e],en&&(i+="\n"));return i}function Ll(e,t,n){const i=e.details.declaration,r=i?Er(i.node):void 0,s=r?n.getTypeOfClass(r):void 0;return function(e,t,n,i){let r;if(!Tl(e,i)&&t&&jn(t)&&(r=function(e,t,n){if(!Eo(e))return;let i=e.details.docString;return!i&&t&&(i=El(t,n)),!i&&e.details.declaration&&(i=El(e.details.declaration,n)),i}(e,t,n)),!r&&i){const t=Ta(i,e.details.name,29);for(const e of t)if(e.symbol.getDeclarations().length>0){const t=e.symbol.getDeclarations().slice(-1)[0];if(jn(t)&&(r=El(t,n),r))break}}return r||e.details.docString}(e,i,t,null==s?void 0:s.classType)}function Ul(e,t,n){if(0===e.overloads.length)return[];const i=e.overloads[0].details.declaration,r=i?Er(i.node):void 0,s=r?n.getTypeOfClass(r):void 0;return function(e,t,n,i,r){let s;if(!Tl(e,r))for(const i of t)if(s=wl(e,i,n),s&&s.length>0)return s;if(r&&e.overloads.length>0){const t=Ta(r,e.overloads[0].details.name,29);for(const e of t){const t=e.symbol.getDeclarations().slice(-1)[0],r=i.getTypeForDeclaration(t);if(r&&(s=wl(r,t,n),s&&s.length>0))break}}return null!=s?s:[]}(e,e.overloads.map((e=>e.details.declaration)).filter(a),t,n,null==s?void 0:s.classType)}function Vl(e,t,n,i){if(1===(null==n?void 0:n.type)&&n.typeAliasName&&n.docString)return[n.docString];if(To(t)){const i=Il(t,n,e);if(i)return[i]}else if(_o(t)){const i=Sl(t,n,e);if(i)return[i]}else if(Eo(t)){const n=Ll(t,e,i);if(n)return[n]}else{if(ko(t))return Ul(t,e,i);if(1===(null==n?void 0:n.type)){const t=Cl(n,e);if(t)return[t]}else if(3===(null==n?void 0:n.type)){const t=bl(n,e,i);if(t)return[t]}}return[]}var ql,Bl;!function(e){const t=["True","False","None","and","or","not","is","lambda","yield","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","nonlocal","pass","raise","return","try","while","with"],n=[...t,"async","await"],i=[...n,"case","match"];e.forVersion=function(e){return e>=De.V3_10?i:e>=De.V3_5?n:t}}(ql||(ql={})),function(e){e[e.LikelyKeyword=0]="LikelyKeyword",e[e.RecentImportModuleName=1]="RecentImportModuleName",e[e.ImportModuleName=2]="ImportModuleName",e[e.LiteralValue=3]="LiteralValue",e[e.NamedParameter=4]="NamedParameter",e[e.RecentKeywordOrSymbol=5]="RecentKeywordOrSymbol",e[e.RecentAutoImport=6]="RecentAutoImport",e[e.Keyword=7]="Keyword",e[e.EnumMember=8]="EnumMember",e[e.NormalSymbol=9]="NormalSymbol",e[e.PrivateSymbol=10]="PrivateSymbol",e[e.DunderSymbol=11]="DunderSymbol",e[e.AutoImport=12]="AutoImport"}(Bl||(Bl={}));const Wl="Dictionary key";class jl{constructor(e,t,n,i,r,s,o,a,l,c,u,p,d){this._workspacePath=e,this._parseResults=t,this._fileContents=n,this._importResolver=i,this._position=r,this._filePath=s,this._configOptions=o,this._importLookup=a,this._evaluator=l,this._options=c,this._sourceMapper=u,this._autoImportMaps=p,this._cancellationToken=d,this._insideStringLiteral=!1,this._execEnv=this._configOptions.findExecEnvironment(this._filePath)}getCompletionsForPosition(){var e,t;const n=xt(this._position,this._parseResults.tokenizerOutput.lines);if(void 0===n)return;const i=function(e,t){const n=e.getItemAtPosition(t);if(n<0)return;const i=e.getItemAt(n);return dt.overlaps(i,t)?i:void 0}(this._parseResults.tokenizerOutput.tokens,n);5===(null==i?void 0:i.type)&&(this._insideStringLiteral=!!dt.contains(i,n)||!!(65536&i.flags));let r=Tr(this._parseResults.parseTree,n);const s=r,o=r?vr(r):0;if(!s||38!==s.nodeType){let t=n,i=!1;for(;t>=0;){t--;const n=this._fileContents.substr(t,1);if("("===n||"\n"===n||"}"===n)break;","===n&&(i=!0);const a=Tr(this._parseResults.parseTree,t);if(a&&a!==s){vr(a)>o&&(r=a,i&&23===(null===(e=r.parent)||void 0===e?void 0:e.nodeType)&&(r=r.parent));break}}}if(void 0===r)return;const a=this._parseResults.tokenizerOutput.lines.getItemAt(this._position.line),l=this._fileContents.substr(a.start,a.length),c=l.substr(0,this._position.character),u=l.substr(this._position.character),p=c.search(/\w+$/),d=p>=0?c.substr(p):"";if(this._isWithinComment(n))return;let h=r;for(;h&&0!==h.nodeType;)h=h.parent;let m=h||r;for(;;){if(ct(this._cancellationToken),49===m.nodeType)return this._getLiteralCompletions(m,d,c,u);if(48===m.nodeType||27===m.nodeType)return;if(37===m.nodeType)return this._getImportModuleCompletions(m);if(0===m.nodeType)return this._getExpressionErrorCompletions(m,d,c,u);if(35===m.nodeType)return this._getMemberAccessCompletions(m.leftExpression,d);if(15===m.nodeType){const e=new $l;if(this._addTypedDictKeys(m,void 0,c,u,e))return{completionMap:e}}const e=es(m,17);if(e&&15===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)){const t=e.parent;if(t.trailingCommaToken&&t.trailingCommaToken.starte.label===n&&e.autoImportText===i));if(r>0&&(jl._mostRecentCompletions=jl._mostRecentCompletions.splice(r,1)),0!==r&&jl._mostRecentCompletions.unshift({label:n,autoImportText:i}),jl._mostRecentCompletions.length>128&&jl._mostRecentCompletions.pop(),t.symbolLabel)if(this._itemToResolve=e,t.autoImportText){if(!e.additionalTextEdits){const e={completionMap:new $l};this._addAutoImportCompletions(t.symbolLabel,1,!1,e)}}else this.getCompletionsForPosition()}_tryGetNameCompletions(e,t,n){var i;if(!e.parent)return!1;if(21!==e.parent.nodeType||e.parent.alias!==e){if(37===e.parent.nodeType){if(e.parent.parent&&21===e.parent.parent.nodeType&&!e.parent.parent.alias&&dt.getEnd(e.parent.parent)this._isOverload(e))))?this._getMethodOverloadsCompletions(n,e):void 0;if(!(41===e.parent.nodeType&&e===e.parent.name||10===e.parent.nodeType&&e===e.parent.name||26===e.parent.nodeType&&dt.contains(e.parent.targetExpression,e.start)||33===e.parent.nodeType&&dt.contains(e.parent.targetExpression,e.start)))return!1}}}_isWithinComment(e){var t,n;const i=function(e,t){const n=t.getItemAtPosition(e);if(n<0)return;let i=t.getItemAt(n);if(!(e>i.start&&e=0;e--){const n=t.getItemAt(e);if(i.start!==n.start)break;i=n}return e<=i.start?i:(w(n+1dt.overlaps(t,e))))&&void 0!==n&&n}_getExpressionErrorCompletions(e,t,n,i){var r;switch(e.category){case 0:return this._createSingleKeywordCompletion("in");case 1:return this._createSingleKeywordCompletion("else");case 2:case 4:return this._getExpressionCompletions(e,t,n,i);case 3:{let r=this._getLiteralCompletions(e,t,n,i);return r&&r.completionMap||(r=this._getExpressionCompletions(e,t,n,i)),r}case 7:if(e.child&&yr(e.child))return this._getMemberAccessCompletions(e.child,t);break;case 10:if(e.child&&38===e.child.nodeType)return(null===(r=e.decorators)||void 0===r?void 0:r.some((e=>this._isOverload(e))))?this._getMethodOverloadsCompletions(t,e.child):this._getMethodOverrideCompletions(t,e.child,e.decorators)}}_isOverload(e){return this._checkDecorator(e,"overload")}_checkDecorator(e,t){return 38===e.expression.nodeType&&e.expression.value===t}_createSingleKeywordCompletion(e){const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.LikelyKeyword,e);const n=new $l;return n.set(t),{completionMap:n}}_getMethodOverloadsCompletions(e,t){var n;const i=function(e,t){const n=Er(t,!1);if(n){const t=e.getTypeOfClass(n);if(!t)return;const i=new Map;for(const e of t.classType.details.mro)_o(e)&&Ma(e,i,!1);return i}const i=function(e){let t=e.parent;for(;t;){if(36===t.nodeType)return t;t=t.parent}E("Module node not found")}(t);if(i){const e=Ft(i);return null==e?void 0:e.symbolTable}}(this._evaluator,t);if(!i)return;const r=28===(null===(n=t.parent)||void 0===n?void 0:n.nodeType)||void 0,s=new $l,o=kr(t);return i.forEach(((n,i)=>{const a=qo(n);if(!a||3!==a.type)return;if(!a.node.decorators.some((e=>this._isOverload(e))))return;const l=n.getDeclarations();if((1!==l.length||!l.some((e=>e.node===o)))&&N(t.value,i)){const o=this._createReplaceEdits(e,t,a.node.name.value);this._addSymbol(i,n,t.value,s,{funcParensDisabled:r,edits:{textEdit:o}})}})),{completionMap:s}}_getMethodOverrideCompletions(e,t,n){var i,r;const s=Er(t,!0);if(!s)return;const o=this._evaluator.getTypeOfClass(s);if(!o)return;const a=new Map;for(let e=1;ethis._checkDecorator(e,"staticmethod"))))&&void 0!==i&&i,c=null!==(r=null==n?void 0:n.some((e=>this._checkDecorator(e,"classmethod"))))&&void 0!==r&&r,u=new $l;return a.forEach(((n,i)=>{let r=qo(n);if(r&&3===r.type&&N(t.value,i)){const s=this._evaluator.getTypeForDeclaration(r);if(!s)return;let a=vo(s)&&Zs.isPropertyClass(s);if(Qt(i)&&(a=!1),!Eo(s)&&!a)return;if(a){const e=n.getTypedDeclarations();e.length>0&&3===e[0].type&&(r=e[0])}const p=Eo(s)&&Xs.isStaticMethod(s),d=Eo(s)&&Xs.isClassMethod(s)&&"__init_subclass__"!==i;if(l!==p||c!==d)return;const h=this._printMethodSignature(o.classType,r);let m;m=el(this._filePath)?`${h}: ...`:`${h}:\n${this._printOverriddenMethodBody(o.classType,p,a,r)}`;const f=this._createReplaceEdits(e,t,m);this._addSymbol(i,n,t.value,u,{funcParensDisabled:!0,edits:{format:this._options.snippet?ot.InsertTextFormat.Snippet:void 0,textEdit:f}})}})),{completionMap:u}}_createReplaceEdits(e,t,n){const i=38===(null==t?void 0:t.nodeType)?this._position.character-e.length+t.value.length:this._position.character,r={start:{line:this._position.line,character:this._position.character-e.length},end:{line:this._position.line,character:i}};return ot.TextEdit.replace(r,n)}_printMethodSignature(e,t){const n=t.node;let i;el(this._filePath)?i=!0:e.details.moduleName===t.moduleName&&(i=!1);const r=el(this._filePath)?1:void 0,s=n.parameters.map(((e,t)=>{let s="";1===e.category?s+="*":2===e.category&&(s+="**"),e.name&&(s+=e.name.value);const o=this._evaluator.getTypeAnnotationForParameter(n,t);return o&&(s+=": "+xr(o,r)),e.defaultValue&&(s+=o?" = ":"=",s+=(null!=i?i:!a(e.defaultValue))?"...":xr(e.defaultValue,r)),s||e.name||0!==e.category?s:"/"})).join(", ");let o=n.name.value+"("+s+")";return n.returnTypeAnnotation?o+=" -> "+xr(n.returnTypeAnnotation,r):n.functionAnnotationComment&&(o+=" -> "+xr(n.functionAnnotationComment.returnTypeAnnotation,r)),o;function a(e){switch(e.nodeType){case 40:case 11:return!0;case 49:return 0==(64&e.token.flags);case 48:return e.strings.every(a);case 55:return a(e.expression);case 7:return a(e.leftExpression)&&a(e.rightExpression);default:return!1}}}_printOverriddenMethodBody(e,t,n,i){let r=" ";if(1===e.details.baseClasses.length&&yo(e.details.baseClasses[0])&&"builtins.object"===e.details.baseClasses[0].details.fullName)return r+=this._options.snippet?"${0:pass}":"pass",r;if(0===i.node.parameters.length)return r+=this._options.snippet?"${0:pass}":"pass",r;const s=function(e){const t=[];let n=!1;for(const i of e)i.name&&t.push([i,n]),n=1===i.category||2===i.category;return t}(t?i.node.parameters:i.node.parameters.slice(1));return"__init__"!==i.node.name.value&&(r+="return "),i.node.isAsync&&(r+="await "),n?r+`super().${i.node.name.value}`:r+`super().${i.node.name.value}(${s.map((function(e){var t;const n=null===(t=e[0].name)||void 0===t?void 0:t.value;return 1===e[0].category?`*${n}`:2===e[0].category?`**${n}`:e[1]?`${n}=${n}`:n})).join(", ")})`}_getMemberAccessCompletions(e,t){const n=new Map,i=new $l;let r={},s=this._evaluator.getType(e);return s&&(s=this._evaluator.makeTopLevelTypeVarsConcrete(s),Jo(s,(r=>{if(yo(r=this._evaluator.makeTopLevelTypeVarsConcrete(r)))Ma(r,n,Ks.isInstance(r));else if(To(r))!function(e,t){e.loaderFields&&e.loaderFields.forEach(((e,n)=>{t.set(n,e)})),e.fields.forEach(((e,n)=>{t.set(n,e)}))}(r,n);else if(Eo(r)||ko(r)){const t=this._evaluator.getBuiltInType(e,"function");t&&_o(t)&&Ma(t,n,!0)}else if(lo(r)){const t=this._evaluator.getBuiltInType(e,"object");t&&_o(t)&&Ma(t,n,Ks.isInstance(r))}this._addSymbolsForSymbolTable(n,(()=>!0),t,!1,yo(r)?r:void 0,i)}))),(!s||po(s)||mo(s))&&(r=this._getLastKnownModule(e,s)),{completionMap:i,memberAccessInfo:r}}_getLastKnownModule(e,t){var n;let i=e,r=t,s=35===e.nodeType?null==e?void 0:e.memberName.value:void 0;for(;i&&(9===i.nodeType||35===i.nodeType?(i=i.leftExpression,void 0===s&&(s=35===i.nodeType&&null!==(n=null==i?void 0:i.memberName.value)&&void 0!==n?n:"")):i=void 0,!i||(r=this._evaluator.getType(i),void 0===r||po(r)||mo(r))););const o={};if(r&&!po(r)&&!mo(r)&&i){const e=Ga(r);o.lastKnownModule=e.find((e=>"typing"!==e)),35===i.nodeType?o.lastKnownMemberName=i.memberName.value:(38===i.nodeType&&_o(r)||38===i.nodeType&&vo(r))&&(o.lastKnownMemberName=r.details.name),o.unknownMemberName=s}return o}_getStatementCompletions(e,t,n,i){return this._getExpressionCompletions(e,t,n,i)}_getExpressionCompletions(e,t,n,i){var r,s,o,a;const l=this._isIndexArgument(e);if(!l&&40===e.nodeType)return;if(59===(null===(r=e.parent)||void 0===r?void 0:r.nodeType)&&e.parent===(null===(s=e.parent.target)||void 0===s?void 0:s.parent))return;const c=new $l,u={completionMap:c};if(".."===n.slice(-2))return u;if(this._addCallArgumentCompletions(e,t,n,i,!1,c),this._addSymbols(e,t,c),this._findMatchingKeywords(ql.forVersion(this._execEnv.pythonVersion),t).map((e=>{if(c.has(e))return;const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.Keyword,e),c.set(t)})),t.startsWith("_")||this._itemToResolve||this._addAutoImportCompletions(t,.25,this._options.lazyEdit,u),0===e.nodeType)if(3===e.category&&24===(null===(o=e.parent)||void 0===o?void 0:o.nodeType))this._tryAddTypedDictStringLiteral(e.parent,void 0,void 0,c);else if(2===e.category&&e.parent&&3===e.parent.nodeType){const r=null===(a=this._evaluator.getExpectedType(e))||void 0===a?void 0:a.type;r&&this._addLiteralValuesForTargetType(r,n,t,i,c)}if(l){const n=e.parent.parent;this._getIndexerKeys(n,e).forEach((e=>{c.has(e)||this._addNameToCompletions(e,ot.CompletionItemKind.Constant,t,c,{sortText:this._makeSortText(Bl.LiteralValue,e),itemDetail:Wl})}))}return u}_isIndexArgument(e){const t=e.parent;return t&&1===t.nodeType&&0===t.argumentCategory&&t.parent&&24===t.parent.nodeType&&t.parent.baseExpression&&38===t.parent.baseExpression.nodeType}_addCallArgumentCompletions(e,t,n,i,r,s){const o=zr(e,xt(this._position,this._parseResults.tokenizerOutput.lines),this._parseResults.tokenizerOutput.tokens);if(!o)return;const a=this._evaluator.getCallSignatureInfo(o.callNode,o.activeIndex,o.activeOrFake);if(a){const e=It(a.callNode.leftExpression.start+a.callNode.leftExpression.length,this._parseResults.tokenizerOutput.lines);gt(this._position,e)>0&&(r||this._addNamedParameters(a,t,s),this._addLiteralValuesForArgument(a,n,t,i,s))}}_addLiteralValuesForArgument(e,t,n,i,r){e.signatures.forEach((e=>{if(!e.activeParam)return;const s=e.type,o=s.details.parameters.indexOf(e.activeParam);if(o<0)return;const a=s.details.parameters[o].type;this._addLiteralValuesForTargetType(a,t,n,i,r)}))}_addLiteralValuesForTargetType(e,t,n,i,r){const s=this._getQuoteValueFromPriorText(t);this._getSubTypesWithLiteralValues(e).forEach((e=>{if(Zs.isBuiltIn(e,"str")){const t=Rl(e,s.quoteCharacter);void 0===s.stringValue?this._addNameToCompletions(t,ot.CompletionItemKind.Constant,n,r,{sortText:this._makeSortText(Bl.LiteralValue,e.literalValue)}):this._addStringLiteralToCompletions(t.substr(1,t.length-2),s.stringValue,i,s.quoteCharacter,r)}}))}_getDictExpressionStringKeys(e,t){const n=function(e){if(15===e.nodeType)return e;let t=e;for(;t&&15!==t.nodeType&&45!==t.nodeType;)if(t=t.parent,!t)return;return t}(e);return n?n.entries.flatMap((e=>17!==e.nodeType||(null==t?void 0:t.has(e.keyExpression.id))?[]:48===e.keyExpression.nodeType?[e.keyExpression.strings.map((e=>e.value)).join("")]:[])):[]}_getSubTypesWithLiteralValues(e){const t=[];return Jo(e,(e=>{vo(e)&&ra(e)&&t.push(e)})),t}_getIndexerKeyType(e){var t;if((Zs.isBuiltIn(e,"dict")||Zs.isBuiltIn(e,"Mapping"))&&2===(null===(t=e.typeArguments)||void 0===t?void 0:t.length))return e.typeArguments[0];const n=_a(e,"__getitem__");if(null==n?void 0:n.symbol.hasDeclarations()){const e=n.symbol.getDeclarations()[0];if(jn(e)&&e.isMethod){const t=this._evaluator.getTypeForDeclaration(e);if(t&&Eo(t)&&2===t.details.parameters.length)return t.details.parameters[1].type}}}_getIndexerKeys(e,t){var n,i,r,s,o,a,l,c,u;if(38!==e.baseExpression.nodeType)return[];const p=this._evaluator.getType(e.baseExpression);if(!p||!vo(p))return[];const d=this._getIndexerKeyType(p);if(d){const e=[];if(this._getSubTypesWithLiteralValues(d).forEach((t=>{(Zs.isBuiltIn(t,"str")||Zs.isBuiltIn(t,"int")||Zs.isBuiltIn(t,"bool")||Zs.isBuiltIn(t,"bytes")||Zs.isEnumClass(t))&&e.push(Rl(t,this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter))})),e.length>0)return e}const h=null!==(n=this._evaluator.getDeclarationsForNameNode(e.baseExpression))&&void 0!==n?n:[],m=h.length>0?h[0]:void 0;if(!m||1!==m.type&&2!==m.type)return[];if(m.path!==this._filePath)return[];let f=e.baseExpression;if(m.node){const e=Ar(m.node);(null===(i=Gr(f))||void 0===i?void 0:i.filePath)===(null===(r=Gr(e))||void 0===r?void 0:r.filePath)&&(f=e)}const g=Ml.collectFromNode(e.baseExpression,this._evaluator,this._cancellationToken,f),y=new Set;for(const e of g){const n=54===(null===(s=e.node.parent)||void 0===s?void 0:s.nodeType)?e.node.parent:e.node;if(3===(null===(o=n.parent)||void 0===o?void 0:o.nodeType)||4===(null===(a=n.parent)||void 0===a?void 0:a.nodeType)){if(15===n.parent.rightExpression.nodeType){const e=n.parent.rightExpression;for(const t of e.entries.filter((e=>17===e.nodeType))){const e=this._parseResults.text.substr(t.keyExpression.start,t.keyExpression.length).trim();e.length>0&&y.add(e)}}if(9===n.parent.rightExpression.nodeType){const e=n.parent.rightExpression,t=this._evaluator.getType(e.leftExpression);if(!t||!_o(t)||!Zs.isBuiltIn(t,"dict"))continue;for(const t of e.arguments){const e=null!==(c=null===(l=t.name)||void 0===l?void 0:l.value.trim())&&void 0!==c?c:"",n=this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter;e.length>0&&y.add(`${n}${e}${n}`)}}}if(24===(null===(u=n.parent)||void 0===u?void 0:u.nodeType)&&1===n.parent.items.length&&0!==n.parent.items[0].valueExpression.nodeType&&!dt.containsRange(n.parent,t)){const e=n.parent.items[0],t=this._parseResults.text.substr(e.valueExpression.start,e.valueExpression.length).trim();t.length>0&&y.add(t)}}return[...y]}_getLiteralCompletions(e,t,n,i){var r,s,o;let a=e.parent;if(!a)return;const l=new $l;if(yr(a)){const o=this._evaluator.getExpectedType(a);if(o&&sa(o.type))return this._addLiteralValuesForTargetType(o.type,n,t,i,l),{completionMap:l};if(49===e.nodeType&&(null===(r=e.parent)||void 0===r?void 0:r.parent)){const t=e.parent.parent;let r;if(17===t.nodeType&&t.keyExpression===e.parent&&15===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)?r=t.parent:45===(null==t?void 0:t.nodeType)&&(r=t),r&&this._addTypedDictKeys(r,e,n,i,l))return{completionMap:l}}}if(1!==a.nodeType){if(48!==a.nodeType||a.strings.length>1)return;if(a=a.parent,!a)return}if(1===a.nodeType&&24===(null===(o=a.parent)||void 0===o?void 0:o.nodeType)){if(!this._tryAddTypedDictStringLiteral(a.parent,49===e.nodeType?n:"",i,l)){const r=this._getIndexerKeys(a.parent,e),s=this._getQuoteValueFromPriorText(n);for(const n of r){const r=/^["|'].*["|']$/.test(n);if(49!==e.nodeType||r)if(r){const e=n.substr(1,n.length-2);this._addStringLiteralToCompletions(e,s.stringValue,i,s.quoteCharacter,l,Wl)}else this._addNameToCompletions(n,ot.CompletionItemKind.Constant,t,l,{sortText:this._makeSortText(Bl.LiteralValue,n),itemDetail:Wl})}if(0===l.size)return}}else{w(49===e.nodeType);const r=xt(this._position,this._parseResults.tokenizerOutput.lines),s=a.start{vo(e)&&Zs.isTypedDictClass(e)&&a.push(e)})),0===a.length)return!1;const l=this._getDictExpressionStringKeys(e,t?new Set([null===(s=t.parent)||void 0===s?void 0:s.id]):void 0);a=this._tryNarrowTypedDicts(a,l);const c=this._getQuoteValueFromPriorText(n),u=new Set(l);return a.forEach((e=>{gl(this._evaluator,e,!0).forEach(((e,t)=>{u.has(t)||r.has(t)||(u.add(t),this._addStringLiteralToCompletions(t,c?c.stringValue:void 0,i,c?c.quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter,r))}))})),!0}_tryNarrowTypedDicts(e,t){const n=e.flatMap((e=>{const n=gl(this._evaluator,e,!0);for(let e=0;en)return{quoteCharacter:"'",stringValue:e.substr(t+1)};if(n>t)return{quoteCharacter:'"',stringValue:e.substr(n+1)}}return{stringValue:void 0,quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter}}_tryAddTypedDictStringLiteral(e,t,n,i){if(!e)return!1;const r=this._evaluator.getType(e.baseExpression);if(!r||!vo(r))return!1;if(!Zs.isTypedDictClass(r))return!1;const s=gl(this._evaluator,r,!0),o=t?this._getQuoteValueFromPriorText(t):void 0;return s.forEach(((e,t)=>{this._addStringLiteralToCompletions(t,o?o.stringValue:void 0,n,o?o.quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter,i)})),!0}_addStringLiteralToCompletions(e,t,n,i,r,s){if(N(t||"",e)){const o=`${i}${e}${i}`;if(r.has(o))return;const a=ot.CompletionItem.create(o);a.kind=ot.CompletionItemKind.Constant,a.sortText=this._makeSortText(Bl.LiteralValue,o);let l=this._position.character;void 0!==t&&(l-=t.length+1);let c=this._position.character;void 0!==n&&n.startsWith(i)&&c++;const u={start:{line:this._position.line,character:l},end:{line:this._position.line,character:c}};a.textEdit=ot.TextEdit.replace(u,o),a.detail=s,r.set(a)}}_addAutoImportCompletions(e,t,n,i){var r,s,o;if(!i.completionMap||!this._configOptions.autoImportCompletions||!this._options.autoImport)return;const a=this._autoImportMaps.getModuleSymbolsMap(),l=new Hl(this._execEnv,this._importResolver,this._parseResults,this._position,i.completionMap,a,{libraryMap:this._autoImportMaps.libraryMap,lazyEdit:n}),c=[],u=null===(r=this._autoImportMaps.nameMap)||void 0===r?void 0:r.get(e);u&&e.length>1&&!i.completionMap.has(e)&&c.push(...l.getAutoImportCandidatesForAbbr(e,u,this._cancellationToken)),c.push(...l.getAutoImportCandidates(e,t,void 0,this._cancellationToken));const p=l.getPerfInfo(),d=new Pn;for(const t of c)t.symbol?this._addSymbol(t.name,t.symbol,e,i.completionMap,{autoImportSource:t.source,autoImportAlias:t.alias,edits:{textEdit:this._createReplaceEdits(e,void 0,t.insertionText),additionalTextEdits:t.edits}}):this._addNameToCompletions(null!==(s=t.alias)&&void 0!==s?s:t.name,null!==(o=t.kind)&&void 0!==o?o:ot.CompletionItemKind.Module,e,i.completionMap,{autoImportText:this._getAutoImportText(t.name,t.source,t.alias),edits:{textEdit:this._createReplaceEdits(e,void 0,t.insertionText),additionalTextEdits:t.edits}});i.autoImportInfo={indexUsed:p.indexUsed,totalTimeInMS:p.totalInMs,moduleTimeInMS:p.moduleTimeInMS,indexTimeInMS:p.indexTimeInMS,importAliasTimeInMS:p.importAliasTimeInMS,itemCount:c.length,symbolCount:p.symbolCount,indexCount:p.indexCount,importAliasCount:p.importAliasCount,additionTimeInMS:d.getDurationInMilliseconds()}}_getImportFromCompletions(e,t){if(e.isWildcardImport)return;const n=Rt(e.module);if(!n)return;const i=new $l,r=n.resolvedPaths.length>0?n.resolvedPaths[n.resolvedPaths.length-1]:"",s=this._importLookup(r);return s&&this._addSymbolsForSymbolTable(s.symbolTable,((t,n)=>t.getDeclarations().some((e=>!(0===e.type)))&&!e.imports.find((e=>e.name.value===n))),t,!0,void 0,i),n.implicitImports.forEach((n=>{e.imports.find((e=>e.name.value===n.name))||this._addNameToCompletions(n.name,ot.CompletionItemKind.Module,t,i)})),{completionMap:i}}_findMatchingKeywords(e,t){return e.filter((e=>!t||N(t,e)))}_addNamedParameters(e,t,n){const i=new Map;e.signatures.forEach((e=>{this._addNamedParametersToMap(e.type,i)})),e.callNode.arguments.forEach((e=>{e.name&&i.delete(e.name.value)})),i.forEach((e=>{if(N(t,e)){const t=e+"=";if(n.has(t))return;const i=ot.CompletionItem.create(t);i.kind=ot.CompletionItemKind.Variable;const r={workspacePath:this._workspacePath,filePath:this._filePath,position:this._position};i.data=r,i.sortText=this._makeSortText(Bl.NamedParameter,e),n.set(i)}}))}_addNamedParametersToMap(e,t){e.details.parameters.forEach((e=>{e.name&&!e.isNameSynthesized&&(Yt(e.name)||t.set(e.name,e.name))}))}_addSymbols(e,t,n){let i=e;for(;i;){let e=zs(i);if(e){for(;e;)this._addSymbolsForSymbolTable(e.symbolTable,(()=>!0),t,!1,void 0,n),e=e.parent;if(10===i.nodeType){const e=this._evaluator.getTypeOfClass(i);e&&_o(e.classType)&&e.classType.details.mro.forEach(((e,i)=>{_o(e)&&this._addSymbolsForSymbolTable(e.details.fields,(e=>!!e.isClassMember()&&e.getDeclarations().some((e=>1===e.type))),t,!1,void 0,n)}))}break}i=i.parent}}_addSymbolsForSymbolTable(e,t,n,i,r,s){e.forEach(((e,o)=>{(!e.isExternallyHidden()||e.getDeclarations().some((e=>{return t=e,n=this._filePath,Gn(t)?(null===(i=Gr(t.node))||void 0===i?void 0:i.filePath)===n:t.path===n;var t,n,i})))&&t(e,o)&&(s.has(o)||this._addSymbol(o,e,n,s,{boundObjectOrClass:r,funcParensDisabled:i}))}))}_addSymbol(e,t,n,i,r){var s,o,a;if(t.isPrivatePyTypedImport())return;let l=qo(t);if(!l){const e=t.getDeclarations();e.length>0&&(l=e[e.length-1])}if(l){let c=ot.CompletionItemKind.Variable;if(l=this._evaluator.resolveAliasDeclaration(l,!0),l&&(c=this._convertDeclarationTypeToItemKind(l),1===l.type&&r.boundObjectOrClass&&_o(r.boundObjectOrClass)&&Zs.isEnumClass(r.boundObjectOrClass)&&3===(null===(s=l.node.parent)||void 0===s?void 0:s.nodeType)&&(c=ot.CompletionItemKind.EnumMember),this._itemToResolve)){const n=this._itemToResolve.data;if(n.symbolLabel===e&&!n.autoImportText){const n=this._evaluator.getEffectiveTypeOfSymbol(t);if(n){let i,s,a;switch(l.type){case 0:case 1:case 2:{let t=!1;if(n&&Ks.isInstantiable(n)){const i=Do(n);i&&i.name===e&&(t=!0)}i=e+": "+this._evaluator.printType(n,t);break}case 3:{const t=r.boundObjectOrClass&&(Eo(n)||ko(n))?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;if(t)if(ua(t)&&r.boundObjectOrClass&&vo(r.boundObjectOrClass)){const n=this._evaluator.getGetterTypeFromProperty(t,!0)||Ys.create();i=e+": "+this._evaluator.printType(n,!1)+" (property)",s=r.boundObjectOrClass.details.fullName+"."+e+" (property)"}else ko(t)?(i=Ol(t,this._evaluator,35),s=zl(t.overloads[0])):(i=e+": "+this._evaluator.printType(t,!1),Eo(t)&&(s=zl(t)));break}case 4:case 5:i="class "+e+"()";break;case 6:if(i=e,l.path){const e=this._importLookup(l.path);e&&(a=e.docString)}break;default:i=e}if(1===l.type&&l.typeAliasName&&l.docString)a=l.docString;else if(To(n))a=Il(n,l,this._sourceMapper);else if(_o(n))a=Sl(n,l,this._sourceMapper);else if(Eo(n)){const e=r.boundObjectOrClass?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;e&&Eo(e)&&(a=Ll(e,this._sourceMapper,this._evaluator))}else if(ko(n)){const e=r.boundObjectOrClass?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;e&&ko(e)&&(a=Ul(e,this._sourceMapper,this._evaluator).find((e=>e)))}else 3===(null==l?void 0:l.type)?a=bl(l,this._sourceMapper,this._evaluator):1===(null==l?void 0:l.type)&&(a=Cl(null!==(o=t.getDeclarations().find((e=>1===e.type&&!!e.docString)))&&void 0!==o?o:l,this._sourceMapper));if(!s&&!a)return;if(this._options.format===ot.MarkupKind.Markdown){let e="";s&&(e+="```python\n"+s+"\n```\n"),s&&a&&(e+="---\n"),a&&(e+=ds(a)),e=e.trimEnd(),this._itemToResolve.documentation={kind:ot.MarkupKind.Markdown,value:e}}else if(this._options.format===ot.MarkupKind.PlainText){let e="";s&&(e+=s+"\n"),s&&a&&(e+="\n"),a&&(e+=hs(a)),e=e.trimEnd(),this._itemToResolve.documentation={kind:ot.MarkupKind.PlainText,value:e}}else E(`Unsupported markup type: ${this._options.format}`)}}}const u=r.autoImportSource?this._getAutoImportText(e,r.autoImportSource,r.autoImportAlias):void 0;this._addNameToCompletions(null!==(a=r.autoImportAlias)&&void 0!==a?a:e,c,n,i,{autoImportText:u,funcParensDisabled:r.funcParensDisabled,edits:r.edits})}else if(t.getSynthesizedType()){const t=ot.CompletionItemKind.Variable;this._addNameToCompletions(e,t,n,i,{funcParensDisabled:r.funcParensDisabled,edits:r.edits})}}_getAutoImportText(e,t,n){const i=function(e,t,n){let i;return i=t?`from ${t} import ${e}`:`import ${e}`,n&&(i=`${i} as ${n}`),i}(e,t,n);return this._options.format===ot.MarkupKind.Markdown?`\`\`\`\n${i}\n\`\`\``:this._options.format===ot.MarkupKind.PlainText?i:void E(`Unsupported markup type: ${this._options.format}`)}_addNameToCompletions(e,t,n,i,r){var s,o,a;if(!(null==r?void 0:r.autoImportText)&&!N(n,e))return;if(i.has(e,$l.matchKindAndImportText,t,null==r?void 0:r.autoImportText))return;const l=ot.CompletionItem.create(e);l.kind=t;const c={workspacePath:this._workspacePath,filePath:this._filePath,position:this._position};if((null==r?void 0:r.funcParensDisabled)&&(c.funcParensDisabled=!0),l.data=c,(null==r?void 0:r.sortText)||(null==r?void 0:r.itemDetail)?(l.sortText=r.sortText,l.detail=r.itemDetail):(null==r?void 0:r.autoImportText)?(l.sortText=this._makeSortText(Bl.AutoImport,e,r.autoImportText),c.autoImportText=r.autoImportText,l.detail="Auto-import"):t===ot.CompletionItemKind.EnumMember?l.sortText=this._makeSortText(Bl.EnumMember,e):Qt(e)?l.sortText=this._makeSortText(Bl.DunderSymbol,e):""===n&&Yt(e)?l.sortText=this._makeSortText(Bl.PrivateSymbol,e):l.sortText=this._makeSortText(Bl.NormalSymbol,e),c.symbolLabel=e,this._options.format===ot.MarkupKind.Markdown){let e="";(null==r?void 0:r.autoImportText)&&(e+=r.autoImportText,(r.typeDetail||r.documentation)&&(e+="\n\n")),(null==r?void 0:r.typeDetail)&&(e+="```python\n"+r.typeDetail+"\n```\n"),(null==r?void 0:r.documentation)&&(e+="---\n",e+=ds(r.documentation)),e=e.trimEnd(),e&&(l.documentation={kind:ot.MarkupKind.Markdown,value:e})}else if(this._options.format===ot.MarkupKind.PlainText){let e="";(null==r?void 0:r.autoImportText)&&(e+=r.autoImportText,(r.typeDetail||r.documentation)&&(e+="\n\n")),(null==r?void 0:r.typeDetail)&&(e+=r.typeDetail+"\n"),(null==r?void 0:r.documentation)&&(e+="\n"+hs(r.documentation)),e=e.trimEnd(),e&&(l.documentation={kind:ot.MarkupKind.PlainText,value:e})}else E(`Unsupported markup type: ${this._options.format}`);(null===(s=null==r?void 0:r.edits)||void 0===s?void 0:s.format)&&(l.insertTextFormat=r.edits.format),(null===(o=null==r?void 0:r.edits)||void 0===o?void 0:o.textEdit)&&(l.textEdit=r.edits.textEdit),(null===(a=null==r?void 0:r.edits)||void 0===a?void 0:a.additionalTextEdits)&&(l.additionalTextEdits=r.edits.additionalTextEdits.map((e=>({range:{start:{line:e.range.start.line,character:e.range.start.character},end:{line:e.range.end.line,character:e.range.end.character}},newText:e.replacementText}))),this._itemToResolve)&&this._itemToResolve.data.autoImportText===c.autoImportText&&(this._itemToResolve.additionalTextEdits=l.additionalTextEdits),i.set(l)}_getRecentListIndex(e,t){return jl._mostRecentCompletions.findIndex((n=>n.label===e&&n.autoImportText===t))}_makeSortText(e,t,n=""){const i=this._getRecentListIndex(t,n);return i>=0&&(e===Bl.AutoImport?e=Bl.RecentAutoImport:e===Bl.ImportModuleName?e=Bl.RecentImportModuleName:e!==Bl.Keyword&&e!==Bl.NormalSymbol&&e!==Bl.PrivateSymbol&&e!==Bl.DunderSymbol||(e=Bl.RecentKeywordOrSymbol)),this._formatInteger(e,2)+"."+this._formatInteger(i,4)+"."+t}_formatInteger(e,t){const n="0".charCodeAt(0);let i="";for(let r=0;re.value)),importedSymbols:[]},n=this._importResolver.getCompletionSuggestions(this._filePath,this._execEnv,t),i=new $l;if(!e.hasTrailingDot&&e.parent&&22===e.parent.nodeType&&e.parent.missingImportKeyword){const e="import",t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.Keyword,e),i.set(t)}return n.forEach((e=>{if(i.has(e))return;const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Module,t.sortText=this._makeSortText(Bl.ImportModuleName,e),i.set(t)})),{completionMap:i}}_isPossiblePropertyDeclaration(e){return e.isMethod&&e.node.decorators.length>0}}function zl(e){const t=e.details.parameters.filter(((e,t)=>!(e.hasDefault||0===t&&"self"===e.name)));return e.details.fullName+"("+t.map((e=>1===e.category?"*"+e.name:2===e.category?"**"+e.name:e.name)).join(", ")+")"}jl._mostRecentCompletions=[];class $l{constructor(){this._completions=new Map}get size(){return this._completions.size}set(e){const t=this._completions.get(e.label);t?Array.isArray(t)?t.push(e):this._completions.set(e.label,[t,e]):this._completions.set(e.label,e)}get(e){return this._completions.get(e)}has(e,t,n,i){const r=this._completions.get(e);return!!r&&(!t||t(r,n,i))}clear(){this._completions.clear()}delete(e){return this._completions.delete(e)}toArray(){var e;const t=[];return null===(e=this._completions)||void 0===e||e.forEach((e=>{Array.isArray(e)?e.forEach((e=>{t.push(e)})):t.push(e)})),t}static matchKindAndImportText(e,t,n){var i;return!!e&&(Array.isArray(e)?!!e.find((e=>e.kind===t&&e.data.autoImport===n)):e.kind===t&&(null===(i=e.data)||void 0===i?void 0:i.autoImport)===n)}static labelOnlyIgnoringAutoImports(e,t,n){var i;if(!e)return!1;if(Array.isArray(e)){if(e.find((e=>{var t;return!(null===(t=e.data)||void 0===t?void 0:t.autoImport)})))return!0}else if(!(null===(i=e.data)||void 0===i?void 0:i.autoImport))return!0;return!1}}class Hl{constructor(e,t,n,i,r,s,o){this._execEnvironment=e,this._importResolver=t,this._parseResults=n,this._invocationPosition=i,this._excludes=r,this._moduleSymbolMap=s,this._options=o,this._stopWatch=new Pn,this._perfInfo={indexUsed:!1,totalInMs:0,moduleTimeInMS:0,indexTimeInMS:0,importAliasTimeInMS:0,symbolCount:0,indexCount:0,importAliasCount:0},this._importStatements=tn(this._parseResults.parseTree,!0),this._perfInfo.indexUsed=!!this._options.libraryMap}getAutoImportCandidatesForAbbr(e,t,n){const i=this._getCandidates(t.importName,1,e,n).get(t.importName);return i?i.filter((e=>e.source===t.importFrom)):[]}getAutoImportCandidates(e,t,n,i){const r=[];return this._getCandidates(e,t,n,i).forEach((e=>r.push(...e))),r}getPerfInfo(){return this._perfInfo.totalInMs=this._stopWatch.getDurationInMilliseconds(),this._perfInfo}_getCandidates(e,t,n,i){const r=new Map,s=new Map;return this._addImportsFromModuleMap(e,t,n,s,r,i),this._addImportsFromLibraryMap(e,t,n,s,r,i),this._addImportsFromImportAliasMap(s,n,r,i),r}_addImportsFromLibraryMap(e,t,n,i,r,s){var o;const a=this._stopWatch.getDurationInMilliseconds();null===(o=this._options.libraryMap)||void 0===o||o.forEach(((o,a)=>{if(o.privateOrProtected)return;if(this._moduleSymbolMap.has(a))return;const l=this._isStubFileOrHasInit(this._options.libraryMap,a);this._processModuleSymbolTable(Gl(o,!0),a,e,t,l,n,i,r,s)})),this._perfInfo.indexTimeInMS=this._stopWatch.getDurationInMilliseconds()-a}_addImportsFromModuleMap(e,t,n,i,r,s){const o=this._stopWatch.getDurationInMilliseconds();this._moduleSymbolMap.forEach(((o,a)=>{const l=this._isStubFileOrHasInit(this._moduleSymbolMap,a);this._processModuleSymbolTable(o,a,e,t,l,n,i,r,s)})),this._perfInfo.moduleTimeInMS=this._stopWatch.getDurationInMilliseconds()-o}_isStubFileOrHasInit(e,t){const n=te($(t),"__init__.py"),i=n+"i";return{isStub:t.endsWith(".pyi"),hasInit:e.has(n)||e.has(i)}}_processModuleSymbolTable(e,t,n,i,r,s,o,a,l){ct(l);const[c,u,p]=this._getImportPartsForSymbols(t);if(!c)return;const d=B(c,".");if(e.forEach(((e,l,h)=>{var m;if(this._perfIndexCount(e,h),!this._shouldIncludeVariable(e,l,r.isStub,h))return;if(!this._isSimilar(n,l,i))return;if(this._containsName(l,c,a))return;if(e.importAlias)return void this._addToImportAliasMap(e.importAlias,{importParts:{symbolName:l,importName:l,importFrom:c,filePath:t,dotCount:d,moduleNameAndType:p},importGroup:u,symbol:e.symbol,kind:e.importAlias.kind,itemKind:e.importAlias.itemKind},o);const f=this._getTextEditsForAutoImportByFilePath(c,l,s,l,u,t);this._addResult(a,{name:l,alias:s,symbol:e.symbol,source:c,kind:null!==(m=e.itemKind)&&void 0!==m?m:Kl(e.kind),insertionText:f.insertionText,edits:f.edits})})),!r.isStub&&!r.hasInit)return;const h=this._getImportParts(t);h&&this._isSimilar(n,h.importName,i)&&(this._containsName(h.importName,h.importFrom,a)||this._addToImportAliasMap({modulePath:t,originalName:h.importName,kind:ot.SymbolKind.Module,itemKind:ot.CompletionItemKind.Module},{importParts:h,importGroup:u,kind:ot.SymbolKind.Module,itemKind:ot.CompletionItemKind.Module},o))}_shouldIncludeVariable(e,t,n,i){var r;return!(!n&&e.kind===ot.SymbolKind.Variable)||!(!this._options.allowVariableInAll||i||!(null===(r=e.symbol)||void 0===r?void 0:r.isInDunderAll()))||function(e){return!Yt(e)&&(Zt(e)||Xt(e))}(t)}_addImportsFromImportAliasMap(e,t,n,i){ct(i);const r=this._stopWatch.getDurationInMilliseconds();e.forEach((e=>{this._perfInfo.importAliasCount+=e.size,e.forEach((e=>{var i,r;if(t){if(this._importStatements.mapByFilePath.has(e.importParts.filePath))return;if(e.importParts.importFrom){const t=this._importStatements.orderedImports.find((t=>t.moduleName===e.importParts.importFrom));if(t&&22===t.node.nodeType&&t.node.imports.some((t=>t.name.value===e.importParts.symbolName)))return}}if(this._containsName(e.importParts.importName,e.importParts.importFrom,n))return;const s=this._getTextEditsForAutoImportByFilePath(null!==(i=e.importParts.importFrom)&&void 0!==i?i:e.importParts.importName,e.importParts.symbolName,t,e.importParts.importName,e.importGroup,e.importParts.filePath);this._addResult(n,{name:e.importParts.importName,alias:t,symbol:e.symbol,kind:null!==(r=e.itemKind)&&void 0!==r?r:Kl(e.kind),source:e.importParts.importFrom,insertionText:s.insertionText,edits:s.edits})}))})),this._perfInfo.importAliasTimeInMS=this._stopWatch.getDurationInMilliseconds()-r}_addToImportAliasMap(e,t,n){if(!n.has(e.modulePath)){const i=new Map;return i.set(e.originalName,t),void n.set(e.modulePath,i)}const i=n.get(e.modulePath);if(!i.has(e.originalName))return void i.set(e.originalName,t);const r=i.get(e.originalName);this._compareImportAliasData(r,t)<=0||i.set(e.originalName,t)}_compareImportAliasData(e,t){const n=e.importGroup-t.importGroup;if(0!==n)return n;const i=e.importParts.dotCount-t.importParts.dotCount;return 0!==i?i:e.symbol&&!t.symbol?-1:!e.symbol&&t.symbol?1:U()(e.importParts.importName,t.importParts.importName)}_getImportPartsForSymbols(e){const t=this._importStatements.mapByFilePath.get(e);if(t)return[t.moduleName,en(t),{importType:2,isLocalTypingsFile:!1,moduleName:t.moduleName}];{const t=this._getModuleNameAndTypeFromFilePath(e);return[t.moduleName,cn(t),t]}}_getImportParts(e){return function(t){const n=t.moduleName;if(!n)return;const i=n.lastIndexOf("."),r=i>0?n.substring(i+1):void 0,s=i>0?n.substring(0,i):void 0;return{symbolName:r,importName:null!=r?r:n,importFrom:s,filePath:e,dotCount:B(n,"."),moduleNameAndType:t}}("__init__"===he(de(e))?this._getModuleNameAndTypeFromFilePath($(e)):this._getModuleNameAndTypeFromFilePath(e))}_isSimilar(e,t,n){if(1===n)return e===t;if(e.length<=0||t.length<=0)return!1;if(!this._options.patternMatcher){const n="_"!==e[0]&&"_"===t[0]&&t.length>1?1:0;return e[0].toLocaleLowerCase()===t[n].toLocaleLowerCase()&&N(e,t)}return this._options.patternMatcher(e,t)}_shouldExclude(e){return this._excludes.has(e,$l.labelOnlyIgnoringAutoImports)}_containsName(e,t,n){if(this._shouldExclude(e))return!0;const i=n.get(e);return!!(null==i?void 0:i.some((e=>e.source===t)))}_getModuleNameAndTypeFromFilePath(e){return this._importResolver.getModuleNameForImport(e,this._execEnvironment)}_getTextEditsForAutoImportByFilePath(e,t,n,i,r,s){var o,a,l,c,u,p;const d=this._importStatements.mapByFilePath.get(s);if(d){if(20===d.node.nodeType){const e=null===(a=null===(o=d.subnode)||void 0===o?void 0:o.alias)||void 0===a?void 0:a.value;if(t)return{insertionText:`${null!=e?e:d.moduleName}.${t}`,edits:[]};if(e)return{insertionText:`${e}`,edits:[]}}if(t&&22===d.node.nodeType&&!d.node.isWildcardImport){const r=d.node.imports.find((e=>e.name.value===t));if(r){const e=null===(l=r.alias)||void 0===l?void 0:l.value;return{insertionText:`${null!=e?e:t}`,edits:[]}}if(e===d.moduleName)return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:rn({name:t,alias:n},d,this._parseResults)}}}else if(t){const r=this._importStatements.orderedImports.find((t=>t.moduleName===e));if(r&&22===r.node.nodeType&&!r.node.isWildcardImport){const e=r.node.imports.find((e=>e.name.value===t));if(!e)return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:rn({name:t,alias:n},r,this._parseResults)};{const t=null===(c=e.alias)||void 0===c?void 0:c.value;if(t)return{insertionText:`${t}`,edits:[]}}}const o=null===(u=this._importStatements.implicitImports)||void 0===u?void 0:u.get(s);if(o){const e=null===(p=o.alias)||void 0===p?void 0:p.value;return{insertionText:`${null!=e?e:o.name.value}.${t}`,edits:[]}}}return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:an({name:t,alias:n},this._importStatements,e,r,this._parseResults,this._invocationPosition)}}_perfIndexCount(e,t){e.symbol?this._perfInfo.symbolCount++:t&&this._perfInfo.indexCount++}_addResult(e,t){let n=e.get(t.name);n||(n=[],e.set(t.name,n)),n.push(t)}}function Gl(e,t){return{forEach(n){e.symbols.forEach((e=>{e.externallyVisible&&n({importAlias:e.alias,kind:e.kind,itemKind:e.itemKind},e.name,t)}))}}}function Kl(e){switch(e){case ot.SymbolKind.File:return ot.CompletionItemKind.File;case ot.SymbolKind.Module:case ot.SymbolKind.Namespace:return ot.CompletionItemKind.Module;case ot.SymbolKind.Package:return ot.CompletionItemKind.Folder;case ot.SymbolKind.Class:return ot.CompletionItemKind.Class;case ot.SymbolKind.Method:return ot.CompletionItemKind.Method;case ot.SymbolKind.Property:return ot.CompletionItemKind.Property;case ot.SymbolKind.Field:return ot.CompletionItemKind.Field;case ot.SymbolKind.Constructor:return ot.CompletionItemKind.Constructor;case ot.SymbolKind.Enum:return ot.CompletionItemKind.Enum;case ot.SymbolKind.Interface:return ot.CompletionItemKind.Interface;case ot.SymbolKind.Function:return ot.CompletionItemKind.Function;case ot.SymbolKind.Variable:case ot.SymbolKind.Array:return ot.CompletionItemKind.Variable;case ot.SymbolKind.String:return ot.CompletionItemKind.Constant;case ot.SymbolKind.Number:case ot.SymbolKind.Boolean:return ot.CompletionItemKind.Value;case ot.SymbolKind.Constant:case ot.SymbolKind.Null:return ot.CompletionItemKind.Constant;case ot.SymbolKind.Object:case ot.SymbolKind.Key:return ot.CompletionItemKind.Value;case ot.SymbolKind.EnumMember:return ot.CompletionItemKind.EnumMember;case ot.SymbolKind.Struct:return ot.CompletionItemKind.Struct;case ot.SymbolKind.Event:return ot.CompletionItemKind.Event;case ot.SymbolKind.Operator:return ot.CompletionItemKind.Operator;case ot.SymbolKind.TypeParameter:return ot.CompletionItemKind.TypeParameter;default:return}}class Jl{static getCallForDeclaration(e,t,n,i){if(ct(i),3===t.type||4===t.type)return{name:e,kind:Zl(t,n),uri:t.path,range:t.range,selectionRange:t.range}}static getIncomingCallsForDeclaration(e,t,n,i,r,s){ct(s);const o=new Ql(e,t,n,i,r,s).findCalls();return o.length>0?o:void 0}static getOutgoingCallsForDeclaration(e,t,n,i){let r;if(ct(i),3===e.type)r=e.node;else if(4===e.type){const t=n.getTypeForDeclaration(e);if(t&&_o(t)){const e=va(t,"__init__",14);if(e){const t=n.getTypeOfMember(e);if(t&&Eo(t)){const t=e.symbol.getDeclarations();if(t&&t.length>0){const e=t[0];3===e.type&&(r=e.node)}}}}}if(!r)return;const s=new Yl(r,t,n,i).findCalls();return s.length>0?s:void 0}static getTargetDeclaration(e,t){let n=e[0];for(const i of e)if((ns(i)||!ns(n))&&(3===i.type||4===i.type)&&(n=i,i.node===t))break;return n}}class Yl extends _r{constructor(e,t,n,i){super(),this._parseRoot=e,this._parseResults=t,this._evaluator=n,this._cancellationToken=i,this._outgoingCalls=[]}findCalls(){return this.walk(this._parseRoot),this._outgoingCalls}visitCall(e){let t;if(ct(this._cancellationToken),38===e.leftExpression.nodeType?t=e.leftExpression:35===e.leftExpression.nodeType&&(t=e.leftExpression.memberName),t){const e=this._evaluator.getDeclarationsForNameNode(t);e&&e.forEach((e=>{this._addOutgoingCallForDeclaration(t,e)}))}return!0}visitMemberAccess(e){ct(this._cancellationToken);const t=this._evaluator.getType(e.leftExpression);return t&&Jo(t,(t=>{let n=t;if(n=this._evaluator.makeTopLevelTypeVarsConcrete(n),!vo(n))return;const i=_a(n,e.memberName.value);if(!i)return;const r=this._evaluator.getTypeOfMember(i),s=i.symbol.getDeclarations();r&&vo(r)&&Zs.isPropertyClass(r)&&s.forEach((t=>{this._addOutgoingCallForDeclaration(e.memberName,t)}))})),!0}_addOutgoingCallForDeclaration(e,t){const n=this._evaluator.resolveAliasDeclaration(t,!0);if(!n)return;if(3!==n.type&&4!==n.type)return;const i={name:e.value,kind:Zl(n,this._evaluator),uri:n.path,range:n.range,selectionRange:n.range};let r=this._outgoingCalls.find((e=>e.to.uri===i.uri&&Tt(e.to.range,i.range)));r||(r={to:i,fromRanges:[]},this._outgoingCalls.push(r));const s=St(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);r.fromRanges.push(s)}}class Ql extends _r{constructor(e,t,n,i,r,s){super(),this._filePath=e,this._symbolName=t,this._declaration=n,this._parseResults=i,this._evaluator=r,this._cancellationToken=s,this._incomingCalls=[]}findCalls(){return this.walk(this._parseResults.parseTree),this._incomingCalls}visitCall(e){let t;if(ct(this._cancellationToken),38===e.leftExpression.nodeType?t=e.leftExpression:35===e.leftExpression.nodeType&&(t=e.leftExpression.memberName),t&&t.value===this._symbolName){const e=this._evaluator.getDeclarationsForNameNode(t);e&&e.map((e=>this._evaluator.resolveAliasDeclaration(e,!0))).filter((e=>void 0!==e)).some((e=>is(e,this._declaration)))&&this._addIncomingCallForDeclaration(t)}return!0}visitMemberAccess(e){if(ct(this._cancellationToken),e.memberName.value===this._symbolName){const t=this._evaluator.getType(e.leftExpression);t&&Jo(t,(t=>{let n=t;if(n=this._evaluator.makeTopLevelTypeVarsConcrete(n),!vo(n))return;const i=_a(n,e.memberName.value);if(!i)return;const r=this._evaluator.getTypeOfMember(i),s=i.symbol.getDeclarations();r&&s.some((e=>is(e,this._declaration)))&&this._addIncomingCallForDeclaration(e.memberName)}))}return!0}_addIncomingCallForDeclaration(e){const t=Rr(e);if(!t)return;let n;if(36===t.nodeType){const e=St(0,0,this._parseResults.tokenizerOutput.lines),t=de(this._filePath);n={name:`(module) ${t}`,kind:ot.SymbolKind.Module,uri:this._filePath,range:e,selectionRange:e}}else if(30===t.nodeType){const e=St(t.start,t.start+t.length,this._parseResults.tokenizerOutput.lines);n={name:"(lambda)",kind:ot.SymbolKind.Function,uri:this._filePath,range:e,selectionRange:e}}else{const e=St(t.name.start,t.name.start+t.name.length,this._parseResults.tokenizerOutput.lines);n={name:t.name.value,kind:ot.SymbolKind.Function,uri:this._filePath,range:e,selectionRange:e}}let i=this._incomingCalls.find((e=>e.from.uri===n.uri&&Tt(e.from.range,n.range)));i||(i={from:n,fromRanges:[]},this._incomingCalls.push(i));const r=St(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);i.fromRanges.push(r)}}function Zl(e,t){let n;switch(e.type){case 4:case 5:n=ot.SymbolKind.Class;break;case 3:if(e.isMethod){const i=t.getTypeForDeclaration(e);n=i&&ua(i)?ot.SymbolKind.Property:ot.SymbolKind.Method}else n=ot.SymbolKind.Function;break;default:n=ot.SymbolKind.Function}return n}class Xl{constructor(e,t,n,i,r){this.requiresGlobalSearch=e,this.nodeAtOffset=t,this.symbolName=n,this.declarations=i,this._reporter=r,this._locations=[]}get locations(){return this._locations}addLocations(...e){0!==e.length&&(this._reporter&&this._reporter(e),this._locations.push(...e))}}class ec{constructor(e,t,n,i,r,s){this._parseResults=e,this._filePath=t,this._referencesResult=n,this._includeDeclaration=i,this._evaluator=r,this._cancellationToken=s}findReferences(e=this._parseResults.parseTree){const t=new Ml(this._referencesResult.symbolName,this._referencesResult.declarations,this._evaluator,this._cancellationToken,e,!0),n=[];for(const e of t.collect())(this._includeDeclaration||e.node!==this._referencesResult.nodeAtOffset)&&n.push({path:this._filePath,range:{start:It(e.range.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(e.range),this._parseResults.tokenizerOutput.lines)}});return n}}class tc{static getDeclarationForNode(e,t,n,i,r,s){ct(s);const o=Ml.getDeclarationsForNode(n,i,!1,s,e);if(0===o.length)return;const a=o.some((e=>{var n,i;if(e.path!==t)return!0;const r=Ar(e.node);return 36===r.nodeType||10===r.nodeType||35===(null===(i=null===(n=e.node)||void 0===n?void 0:n.parent)||void 0===i?void 0:i.nodeType)&&e.node===e.node.parent.memberName}));return new Xl(a,n,n.value,o,r)}static getDeclarationForPosition(e,t,n,i,r,s,o){ct(o);const a=xt(i,t.tokenizerOutput.lines);if(void 0===a)return;const l=Tr(t.parseTree,a);return void 0!==l&&38===l.nodeType?this.getDeclarationForNode(e,n,l,r,s,o):void 0}static addReferences(e,t,n,i,r,s){const o=new ec(e,t,n,i,r,s);n.addLocations(...o.findReferences())}}var nc,ic,rc,sc,oc,ac,lc,cc,uc,pc,dc,hc,mc,fc;!function(e){e[e.File=0]="File",e[e.Folder=1]="Folder",e[e.Symbol=2]="Symbol"}(nc||(nc={}));class gc{constructor(e,t,n,i,r,s,o,a,l){if(this._fs=e,this._evaluator=t,this._moduleFilePath=n,this._moduleNameAndType=r,this._newModuleNameAndType=s,this._type=o,this._declarations=a,this._token=l,this._results=new Map,this._aliasIntroduced=new Set,this._newModuleFilePath=ee(i),this._moduleNames=this._moduleName.split("."),this._newModuleNames=this._newModuleName.split("."),this._moduleNames.length!==this._newModuleNames.length)return void(this._onlyNameChanged=!1);let c=0;for(c=0;ce.realCasePath(t)));return 3===i.length&&".."===i[1]&&".."!==i[2]?"Renamed":"Moved"}(e.fileSystem,i,r))return;let o=te(i,"__init__.pyi");if(!e.fileSystem.existsSync(o)&&(o=te(i,"__init__.py"),!e.fileSystem.existsSync(o)))return;return this._create(e,t,n,o,te(r,de(o)),nc.Folder,s)}}}static createForSymbol(e,t,n,i,r,s,o){if(!e.fileSystem.existsSync(i))return;const a=s.filter((e=>zn(e)||jn(e)||Hn(e)));return 0!==a.length?this._create(e,t,n,i,r,nc.Symbol,a,o):void 0}static _create(e,t,n,i,r,s,o,a){const l=t.findExecEnvironment(i),c=e.getModuleNameForImport(i,l);if(!c.moduleName)return;const u=e.getModuleNameForImport(r,l);if(!u.moduleName)return;a=ot.CancellationToken.is(o)?o:a;const p=ot.CancellationToken.is(o)?[]:o;return 0===p.length&&(p.push(cs(i)),el(i)&&(e.resolveImport(i,l,vn(c.moduleName)),e.getSourceFilesFromStub(i,l,!1).forEach((e=>p.push(cs(e)))))),new gc(e.fileSystem,n,i,r,c,u,s,p,a)}renameReferences(e,t){switch(this._type){case nc.Folder:return this._renameFolderReferences(e,t);case nc.File:return this._renameModuleReferences(e,t);case nc.Symbol:return this._updateSymbolReferences(e,t);default:return k(this._type,`${this._type} is unknown`)}}_updateSymbolReferences(e,t){var n,i,r,s;const o=new Ml(null!==(n=as(this._declarations[0]))&&void 0!==n?n:"",this._declarations,this._evaluator,this._token,t.parseTree,!0),a=tn(t.parseTree,!0),l=a.orderedImports.find((e=>e.moduleName===this._newModuleName)),c=new Set,u=new Map;for(const n of o.collect()){const o=n.node;if(49===o.nodeType)continue;if(Qr(o)){const n=null===(i=o.parent)||void 0===i?void 0:i.parent,s=this._getNewModuleName(e,n.module.leadingDots>0,!1);if(1===n.imports.length)this._addResultWithTextRange(e,n.module,t,s);else{const i=o.parent;this._addFromImportNameDeletion(e,t,c,n.imports,i);const l={name:i.name.value,alias:null===(r=i.alias)||void 0===r?void 0:r.value};this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,n,t,c,a,s,[l]))}continue}const l=ts(o);if(l===o||35!==l.nodeType)continue;const p=35===l.leftExpression.nodeType?l.leftExpression.memberName:38===l.leftExpression.nodeType?l.leftExpression:void 0;if(!p)continue;const d=null===(s=this._evaluator.getDeclarationsForNameNode(p))||void 0===s?void 0:s.filter((e=>Gn(e)&&(21===e.node.nodeType||23===e.node.nodeType)));d&&0!==d.length&&h(u,d[0].node,(()=>[])).push(l)}for(const[n,i]of u){let r;if(this._canReplaceImportName(t,n,i)){const i=this._getReferenceModuleName(a,l);if(21===n.nodeType)i?(r=i,this._addImportNameDeletion(e,t,c,n.parent.list,n)):(r=n.alias?n.alias.value:this._newModuleName,this._addResultWithTextRange(e,n.module,t,this._newModuleName));else if(i)r=i,this._addFromImportNameDeletion(e,t,c,n.parent.imports,n);else{const i=n.parent,s=this._getNewModuleName(e,i.module.leadingDots>0,!0);r=n.alias?n.alias.value:this._newLastModuleName,this._addResultWithTextRange(e,i.module,t,s),this._addResultWithTextRange(e,n.name,t,this._newLastModuleName)}}else{const n=this._getReferenceModuleName(a,l);n?r=n:(r=this._newModuleName,this._addResultEdits(an([],a,this._newModuleName,cn(this._newModuleNameAndType),t,It(t.parseTree.length,t.tokenizerOutput.lines)).map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})))))}for(const n of i)this._addResultWithTextRange(e,n.leftExpression,t,r)}}_getReferenceModuleName(e,t){var n,i;if(t&&20===t.node.nodeType)return(null===(n=t.subnode)||void 0===n?void 0:n.alias)?t.subnode.alias.value:this._newModuleName;if(null===(i=e.implicitImports)||void 0===i?void 0:i.has(this._newModuleFilePath)){const t=e.implicitImports.get(this._newModuleFilePath);return t.alias?t.alias.value:t.name.value}}_canReplaceImportName(e,t,n){var i;const r=null!==(i=t.alias)&&void 0!==i?i:21===t.nodeType?t.module.nameParts[t.module.nameParts.length-1]:t.name,s=Ml.getDeclarationsForNode(r,this._evaluator,!1,this._token);if(0===s.length)return!1;const o=new Ml(r.value,s,this._evaluator,this._token,e.parseTree,!0);for(const e of o.collect())if(!(Kr(e.node)||Jr(e.node)||Yr(e.node)||Qr(e.node)||Zr(e.node)||n.some((t=>dt.containsRange(t,e.node)))))return!1;return!0}_renameFolderReferences(e,t){const n=new Ml(this.lastModuleName,this._declarations,this._evaluator,this._token,t.parseTree,!0);for(const i of n.collect())this._addResultWithTextRange(e,i.range,t,this._newLastModuleName)}_renameModuleReferences(e,t){const n=new Ml(this.lastModuleName,this._declarations,this._evaluator,this._token,t.parseTree,!0),i=new Set,r=n.collect();this._updateModuleReferences(e,t,i,r),this._updateRelativeModuleNamePath(e,t,i,r)}_updateRelativeModuleNamePath(e,t,n,i){if(e!==this._moduleFilePath)return;let r;for(const s of this._getNewRelativeModuleNamesForFileMoved(e,yc.collect(t.parseTree).filter((e=>!i.some((t=>dt.containsRange(e.parent,t.node))))))){if(this._addResultWithTextRange(e,s.moduleName,t,s.newModuleName),!s.itemsToMove)continue;const i=s.moduleName.parent;for(const r of s.itemsToMove)this._addFromImportNameDeletion(e,t,n,i.imports,r);r=null!=r?r:tn(t.parseTree,!1),this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,i,t,n,r,un(this._fs,this._newModuleFilePath,this._newModuleFilePath,!1,!0),s.itemsToMove.map((e=>{var t;return{name:e.name.value,alias:null===(t=e.alias)||void 0===t?void 0:t.value}}))))}}_updateModuleReferences(e,t,n,i){var r,s,o,a,l;let c;for(const u of i){const p=u.node;if(49===p.nodeType){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(Kr(p)){if(!Xr(p))continue;const n=es(p,37);if(1===n.nameParts.length&&21===(null===(r=n.parent)||void 0===r?void 0:r.nodeType)&&!n.parent.alias&&this._newModuleNames.length>1){this._aliasIntroduced.add(n.parent),this._addResultWithTextRange(e,n,t,`${this._newModuleName} as ${this._newLastModuleName}`);continue}this._addResultWithTextRange(e,n,t,this._newModuleName);continue}if(Jr(p)){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(Yr(p)){if(!Xr(p))continue;const r=es(p,37),s=r.parent,o=[],a=[];for(const e of s.imports)this._isExportedSymbol(e.name)?o.push(e):a.push(e);if(0===a.length){this._addResultWithTextRange(e,r,t,this._getNewModuleName(e,r.leadingDots>0,!1));continue}if(0===o.length)continue;if(s.module.leadingDots>0)for(const n of this._getNewRelativeModuleNamesForFileMoved(e,[s.module]))this._addResultWithTextRange(e,n.moduleName,t,n.newModuleName);for(const i of o)this._addFromImportNameDeletion(e,t,n,s.imports,i);c=null!=c?c:tn(t.parseTree,!1),this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,s,t,n,c,this._newModuleName,o.map((e=>{var t;return{name:i.findIndex((t=>t.node===e.name))>=0?this._newLastModuleName:e.name.value,alias:i.findIndex((t=>t.node===e.alias))>=0?this._newLastModuleName:null===(t=e.alias)||void 0===t?void 0:t.value}}))));continue}if(Qr(p)){if(n.has(p.id))continue;const i=null===(s=p.parent)||void 0===s?void 0:s.parent,r=this._getNewModuleName(e,i.module.leadingDots>0,!0);if(this._isExportedSymbol(p)){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(1===i.imports.length)this._addResultWithTextRange(e,i.module,t,r),this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);else{const s=p.parent;if(i.module.leadingDots>0)for(const n of this._getNewRelativeModuleNamesForFileMoved(e,[i.module]))this._addResultWithTextRange(e,n.moduleName,t,n.newModuleName);this._addFromImportNameDeletion(e,t,n,i.imports,s),c=null!=c?c:tn(t.parseTree,!1);const l={name:this._newLastModuleName,alias:(null===(o=s.alias)||void 0===o?void 0:o.value)===this.lastModuleName?this._newLastModuleName:null===(a=s.alias)||void 0===a?void 0:a.value};this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,i,t,n,c,r,[l]))}continue}if(Zr(p)){if(n.has(p.id))continue;this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}const d=Ml.getDeclarationsForNode(p,this._evaluator,!1,this._token).filter((e=>Gn(e)));if(this._onlyNameChanged)this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);else if(null==d?void 0:d.some((e=>!(e.usesLocalName||e.node&&21!==e.node.nodeType||this._aliasIntroduced.has(e.node))))){const n=ts(p);if(35!==(null===(l=n.parent)||void 0===l?void 0:l.nodeType)){this._addResultWithTextRange(e,n,t,this._newModuleName);continue}const i=this._evaluator.getDeclarationsForNameNode(n.parent.memberName);if(!i||0===i.length)continue;this._addResultWithTextRange(e,n,t,this._newModuleName)}else u.node.value===this._newLastModuleName||this._addResultWithTextRange(e,u.range,t,this._newLastModuleName)}}_getNewRelativeModuleNamesForFileMoved(e,t){if(e!==this._moduleFilePath)return[];const n="__init__"===he(de(e)),i=$(e),r=[];for(const e of t){if(0===e.leadingDots)continue;const t=this._getNewModuleNameInfoForFileMoved(e,n,i);if(!t)continue;const s=un(this._fs,t.src,t.dest,!1,!0);r.push({moduleName:e,newModuleName:s,itemsToMove:t.itemsToMove})}return r}_getNewModuleNameInfoForFileMoved(e,t,n){const i=Rt(e);if(!i)return;let r=i.resolvedPaths[i.resolvedPaths.length-1];if(!r){if(0!==e.nameParts.length)return;{const t=pn(n,e.leadingDots);if(!t)return;r=te(t,"__init__.py")}}if(this._moduleFilePath!==r||!t)return{src:this._newModuleFilePath,dest:r};const s=[],o=[];for(const t of e.parent.imports)this._isExportedSymbol(t.name)?s.push(t):o.push(t);return 0===o.length?{src:this._newModuleFilePath,dest:this._newModuleFilePath}:0===s.length?{src:this._newModuleFilePath,dest:this._moduleFilePath}:{src:this._newModuleFilePath,dest:this._moduleFilePath,itemsToMove:[...s]}}_isExportedSymbol(e){const t=this._evaluator.getDeclarationsForNameNode(e);return!!t&&!t.some((e=>Gn(e)&&e.submoduleFallback))}_getNewModuleName(e,t,n){const i=e===this._moduleFilePath?this._newModuleFilePath:e,r=t?un(this._fs,i,this._newModuleFilePath,n,!0):this._newModuleName;if(n&&r.endsWith(this._newLastModuleName)){const e=r===this._newLastModuleName?0:r.length>this._newLastModuleName.length+1&&"."!==r[r.length-this._newLastModuleName.length-2]?1:0,t=r.length-this._newLastModuleName.length-e,n=r.substr(0,t);return n.length>0?n:"."}return r}getEdits(){const e=[];return this._results.forEach((t=>e.push(...t))),e}get lastModuleName(){return this._moduleNames[this._moduleNames.length-1]}get _moduleName(){return this._moduleNameAndType.moduleName}get _newLastModuleName(){return this._newModuleNames[this._newModuleNames.length-1]}get _newModuleName(){return this._newModuleNameAndType.moduleName}_addImportNameDeletion(e,t,n,i,r){this._addImportNameDeletionInternal(e,t,n,i,r,20),n.add(r.module.id),r.module.nameParts.forEach((e=>n.add(e.id))),r.alias&&n.add(r.alias.id)}_addFromImportNameDeletion(e,t,n,i,r){this._addImportNameDeletionInternal(e,t,n,i,r,22),n.add(r.name.id),r.alias&&n.add(r.alias.id)}_addImportNameDeletionInternal(e,t,n,i,r,s){const o=function(e,t){let n;if(1===e.length&&0===t)n=e[0];else if(t===e.length-1){const i=dt.getEnd(e[t-1]);n={start:i,length:dt.getEnd(e[t])-i}}else{const i=e[t].start;n={start:i,length:e[t+1].start-i}}return n}(i,i.findIndex((e=>e===r)));this._addResultWithTextRange(e,o,t,""),n.add(r.id);let a=0;for(a=i.length-1;a>=0&&n.has(i[a].id);a--);if(-1===a){const n=es(r,s);n&&this._addResultWithRange(e,function(e,t){const n=wt(e,t.lines),i=function(e,t,n){const i=n.tokens.getItemAtPosition(t);if(i<0)return;let r=i;for(;r=0&&athis._addResultWithRange(e.filePath,e.range,e.replacementText)))}_getDeletionsForSpan(e,t){var n;return r(e)&&(e=null!==(n=this._results.get(e))&&void 0!==n?n:[]),e.filter((e=>""===e.replacementText&&yt(e.range,t)))}_removeEdits(e,t){var n;r(e)&&(e=null!==(n=this._results.get(e))&&void 0!==n?n:[]),m(e,(e=>t.findIndex((t=>t===e))>=0))}_addResultWithRange(e,t,n){const i=h(this._results,e,(()=>[]));if(""===n){const e=this._getDeletionsForSpan(i,t);e.length>0&&(this._removeEdits(i,e),bt(t,e.map((e=>e.range))))}i.some((e=>Tt(e.range,t)&&e.replacementText===n))||i.push({filePath:e,range:t,replacementText:n})}_getTextEditsForNewOrExistingFromImport(e,t,n,i,r,s,o){const a=r.orderedImports.find((e=>e.moduleName===s));if(a&&22===a.node.nodeType&&!a.node.isWildcardImport){const r=rn(o,a,n);if(a.node!==t)return r.map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})));if(this._onlyNameChanged&&1===o.length&&1===r.length){const s=this._getDeletionsForSpan(e,r[0].range);if(0===s.length)return[{filePath:e,range:r[0].range,replacementText:r[0].replacementText}];{const r=o[0].alias===this._newLastModuleName?this.lastModuleName:o[0].alias,a=t.imports.find((e=>{var t;return e.name.value===this.lastModuleName&&(null===(t=e.alias)||void 0===t?void 0:t.value)===r}));if(a)return this._removeEdits(e,s),a.alias&&i.delete(a.alias.id),[{filePath:e,range:wt(a.name,n.tokenizerOutput.lines),replacementText:this._newLastModuleName}]}}}return an(o,r,s,cn(this._newModuleNameAndType),n,It(n.parseTree.length,n.tokenizerOutput.lines)).map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})))}}class yc extends _r{constructor(){super(...arguments),this._result=[]}walk(e){yr(e)||super.walk(e)}visitModuleName(e){return this._result.push(e),!1}static collect(e){const t=new yc;return t.walk(e),t._result}}class _c{constructor(){this._paths=[]}appendPath(e){this._paths.push(e)}getPaths(){return this._paths}normalizeOrder(){let e=0;this._paths.forEach(((t,n)=>{te?i=r:n=r+1}let r=n-1;return{line:r,character:e-t[r]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],i=e.line+1n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function Sc(e){const t=Ic(e.range);return t!==e.range?{newText:e.newText,range:t}:e}!function(e){e.create=function(e,t,n,i){return new vc(e,t,n,i)},e.update=function(e,t,n){if(e instanceof vc)return e.update(t,n),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},e.applyEdits=function(e,t){let n=e.getText(),i=Tc(t.map(Sc),((e,t)=>{let n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),r=0;const s=[];for(const t of i){let i=e.offsetAt(t.range.start);if(ir&&s.push(n.substring(r,i)),t.newText.length&&s.push(t.newText),r=e.offsetAt(t.range.end)}return s.push(n.substr(r)),s.join("")}}(ic||(ic={})),function(e){e.Darwin="Darwin",e.Windows="Windows",e.Linux="Linux"}(rc||(rc={}));class xc{constructor(e,t,n,i){this.extraPaths=[],this.root=e||void 0,this.pythonVersion=t||Ae,this.pythonPlatform=n,this.extraPaths=[...null!=i?i:[]]}}function Cc(e=!1){const t=[$o.strictListInference,$o.strictSetInference,$o.strictDictionaryInference,$o.strictParameterNoneValue];return e&&t.push($o.enableTypeIgnoreComments),t}function wc(){return[$o.reportGeneralTypeIssues,$o.reportPropertyTypeMismatch,$o.reportFunctionMemberAccess,$o.reportMissingImports,$o.reportMissingModuleSource,$o.reportMissingTypeStubs,$o.reportImportCycles,$o.reportUnusedImport,$o.reportUnusedClass,$o.reportUnusedFunction,$o.reportUnusedVariable,$o.reportDuplicateImport,$o.reportWildcardImportFromLibrary,$o.reportOptionalSubscript,$o.reportOptionalMemberAccess,$o.reportOptionalCall,$o.reportOptionalIterable,$o.reportOptionalContextManager,$o.reportOptionalOperand,$o.reportTypedDictNotRequiredAccess,$o.reportUntypedFunctionDecorator,$o.reportUntypedClassDecorator,$o.reportUntypedBaseClass,$o.reportUntypedNamedTuple,$o.reportPrivateUsage,$o.reportPrivateImportUsage,$o.reportConstantRedefinition,$o.reportIncompatibleMethodOverride,$o.reportIncompatibleVariableOverride,$o.reportInconsistentConstructor,$o.reportOverlappingOverload,$o.reportMissingSuperCall,$o.reportUninitializedInstanceVariable,$o.reportInvalidStringEscapeSequence,$o.reportUnknownParameterType,$o.reportUnknownArgumentType,$o.reportUnknownLambdaType,$o.reportUnknownVariableType,$o.reportUnknownMemberType,$o.reportMissingParameterType,$o.reportMissingTypeArgument,$o.reportInvalidTypeVarUse,$o.reportCallInDefaultInitializer,$o.reportUnnecessaryIsInstance,$o.reportUnnecessaryCast,$o.reportUnnecessaryComparison,$o.reportAssertAlwaysTrue,$o.reportSelfClsParameterName,$o.reportImplicitStringConcatenation,$o.reportUndefinedVariable,$o.reportUnboundVariable,$o.reportInvalidStubStatement,$o.reportIncompleteStub,$o.reportUnsupportedDunderAll,$o.reportUnusedCallResult,$o.reportUnusedCoroutine,$o.reportUnnecessaryTypeIgnoreComment,$o.reportMatchNotExhaustive,$o.reportMicrobitVersionApiUnsupported]}class Ec{constructor(e,t){this.include=[],this.exclude=[],this.ignore=[],this.strict=[],this.autoImportCompletions=!0,this.indexing=!1,this.logTypeEvaluationTime=!1,this.typeEvaluationTimeThreshold=50,this.initializedFromJson=!1,this.analyzeUnannotatedFunctions=!0,this.executionEnvironments=[],this.projectRoot=e,this.typeCheckingMode=t,this.diagnosticRuleSet=Ec.getDiagnosticRuleSet(t)}static getDiagnosticRuleSet(e){return"strict"===e?{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!1,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!0,strictSetInference:!0,strictDictionaryInference:!0,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"error",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"error",reportImportCycles:"error",reportUnusedImport:"error",reportUnusedClass:"error",reportUnusedFunction:"error",reportUnusedVariable:"error",reportDuplicateImport:"error",reportWildcardImportFromLibrary:"error",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"error",reportUntypedClassDecorator:"error",reportUntypedBaseClass:"error",reportUntypedNamedTuple:"error",reportPrivateUsage:"error",reportPrivateImportUsage:"error",reportConstantRedefinition:"error",reportIncompatibleMethodOverride:"error",reportIncompatibleVariableOverride:"error",reportInconsistentConstructor:"error",reportOverlappingOverload:"error",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"error",reportUnknownParameterType:"error",reportUnknownArgumentType:"error",reportUnknownLambdaType:"error",reportUnknownVariableType:"error",reportUnknownMemberType:"error",reportMissingParameterType:"error",reportMissingTypeArgument:"error",reportInvalidTypeVarUse:"error",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"error",reportUnnecessaryCast:"error",reportUnnecessaryComparison:"error",reportAssertAlwaysTrue:"error",reportSelfClsParameterName:"error",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"error",reportIncompleteStub:"error",reportUnsupportedDunderAll:"error",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"error",reportMicrobitVersionApiUnsupported:"warning"}:"off"===e?{printUnknownAsAny:!0,omitTypeArgsIfAny:!0,omitUnannotatedParamType:!0,omitConditionalConstraint:!0,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"none",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"warning",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"none",reportOptionalSubscript:"none",reportOptionalMemberAccess:"none",reportOptionalCall:"none",reportOptionalIterable:"none",reportOptionalContextManager:"none",reportOptionalOperand:"none",reportTypedDictNotRequiredAccess:"none",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"none",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"none",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"none",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"none",reportSelfClsParameterName:"none",reportImplicitStringConcatenation:"none",reportUnboundVariable:"none",reportUndefinedVariable:"warning",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"none",reportUnusedCallResult:"none",reportUnusedCoroutine:"none",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none",reportMicrobitVersionApiUnsupported:"none"}:{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!0,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"warning",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"error",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"warning",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"warning",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"warning",reportSelfClsParameterName:"warning",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"warning",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none",reportMicrobitVersionApiUnsupported:"warning"}}getDefaultExecEnvironment(){return new xc(this.projectRoot,this.defaultPythonVersion,this.defaultPythonPlatform,this.defaultExtraPaths)}findExecEnvironment(e){var t;return null!==(t=this.executionEnvironments.find((t=>{const n=le(me(te(this.projectRoot,t.root)));return e.startsWith(n)})))&&void 0!==t?t:this.getDefaultExecEnvironment()}getExecutionEnvironments(){return this.executionEnvironments.length>0?this.executionEnvironments:[this.getDefaultExecEnvironment()]}initializeFromJson(e,t,n,i,r,s=!1){let o;this.initializedFromJson=!0,s||(this.include=[],void 0===e.include)||(Array.isArray(e.include)?e.include.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "include" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "include" array because it is not relative.`):this.include.push(be(this.projectRoot,e))})):n.error('Config "include" entry must must contain an array.')),this.exclude=[],void 0!==e.exclude&&(Array.isArray(e.exclude)?e.exclude.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "exclude" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "exclude" array because it is not relative.`):this.exclude.push(be(this.projectRoot,e))})):n.error('Config "exclude" entry must contain an array.')),this.ignore=[],void 0!==e.ignore&&(Array.isArray(e.ignore)?e.ignore.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "ignore" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "ignore" array because it is not relative.`):this.ignore.push(be(this.projectRoot,e))})):n.error('Config "ignore" entry must contain an array.')),this.strict=[],void 0!==e.strict&&(Array.isArray(e.strict)?e.strict.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "strict" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "strict" array because it is not relative.`):this.strict.push(be(this.projectRoot,e))})):n.error('Config "strict" entry must contain an array.')),void 0!==e.typeCheckingMode&&("off"===e.typeCheckingMode||"basic"===e.typeCheckingMode||"strict"===e.typeCheckingMode?o=e.typeCheckingMode:n.error('Config "typeCheckingMode" entry must contain "off", "basic", or "strict".')),void 0!==e.useLibraryCodeForTypes&&("boolean"==typeof e.useLibraryCodeForTypes?this.useLibraryCodeForTypes=e.useLibraryCodeForTypes:n.error('Config "useLibraryCodeForTypes" entry must be true or false.')),this.typeCheckingMode=o||t;const a=Ec.getDiagnosticRuleSet(this.typeCheckingMode);if(this.diagnosticRuleSet={...a},this.applyDiagnosticOverrides(r),Cc(!0).forEach((t=>{this.diagnosticRuleSet[t]=this._convertBoolean(e[t],t,this.diagnosticRuleSet[t])})),wc().forEach((t=>{this.diagnosticRuleSet[t]=this._convertDiagnosticLevel(e[t],t,this.diagnosticRuleSet[t])})),this.venvPath=void 0,void 0!==e.venvPath&&("string"!=typeof e.venvPath?n.error('Config "venvPath" field must contain a string.'):this.venvPath=me(te(this.projectRoot,e.venvPath))),this.venv=void 0,void 0!==e.venv&&("string"!=typeof e.venv?n.error('Config "venv" field must contain a string.'):this.venv=e.venv),void 0!==e.extraPaths&&(this.defaultExtraPaths=[],Array.isArray(e.extraPaths)?e.extraPaths.forEach(((e,t)=>{"string"!=typeof e?n.error(`Config "extraPaths" field ${t} must be a string.`):this.defaultExtraPaths.push(me(te(this.projectRoot,e)))})):n.error('Config "extraPaths" field must contain an array.')),void 0!==e.pythonVersion)if("string"==typeof e.pythonVersion){const t=Re(e.pythonVersion);t?this.defaultPythonVersion=t:n.error('Config "pythonVersion" field contains unsupported version.')}else n.error('Config "pythonVersion" field must contain a string.');this.ensureDefaultPythonVersion(i,n),void 0!==e.pythonPlatform&&("string"!=typeof e.pythonPlatform?n.error('Config "pythonPlatform" field must contain a string.'):this.defaultPythonPlatform=e.pythonPlatform),this.ensureDefaultPythonPlatform(i,n),this.typeshedPath=void 0,void 0!==e.typeshedPath&&("string"!=typeof e.typeshedPath?n.error('Config "typeshedPath" field must contain a string.'):this.typeshedPath=e.typeshedPath?me(te(this.projectRoot,e.typeshedPath)):""),this.stubPath=void 0,void 0!==e.typingsPath&&("string"!=typeof e.typingsPath?n.error('Config "typingsPath" field must contain a string.'):(n.error('Config "typingsPath" is now deprecated. Please, use stubPath instead.'),this.stubPath=me(te(this.projectRoot,e.typingsPath)))),void 0!==e.stubPath&&("string"!=typeof e.stubPath?n.error('Config "stubPath" field must contain a string.'):this.stubPath=me(te(this.projectRoot,e.stubPath))),void 0!==e.verboseOutput&&("boolean"!=typeof e.verboseOutput?n.error('Config "verboseOutput" field must be true or false.'):this.verboseOutput=e.verboseOutput),void 0!==e.useLibraryCodeForTypes&&("boolean"!=typeof e.useLibraryCodeForTypes?n.error('Config "useLibraryCodeForTypes" field must be true or false.'):this.useLibraryCodeForTypes=e.useLibraryCodeForTypes),this.executionEnvironments=[],void 0!==e.executionEnvironments&&(Array.isArray(e.executionEnvironments)?e.executionEnvironments.forEach(((e,t)=>{const i=this._initExecutionEnvironmentFromJson(e,t,n);i&&this.executionEnvironments.push(i)})):n.error('Config "executionEnvironments" field must contain an array.')),void 0!==e.autoImportCompletions&&("boolean"!=typeof e.autoImportCompletions?n.error('Config "autoImportCompletions" field must be true or false.'):this.autoImportCompletions=e.autoImportCompletions),void 0!==e.indexing&&("boolean"!=typeof e.indexing?n.error('Config "indexing" field must be true or false.'):this.indexing=e.indexing),void 0!==e.logTypeEvaluationTime&&("boolean"!=typeof e.logTypeEvaluationTime?n.error('Config "logTypeEvaluationTime" field must be true or false.'):this.logTypeEvaluationTime=e.logTypeEvaluationTime),void 0!==e.typeEvaluationTimeThreshold&&("number"!=typeof e.typeEvaluationTimeThreshold?n.error('Config "typeEvaluationTimeThreshold" field must be a number.'):this.typeEvaluationTimeThreshold=e.typeEvaluationTimeThreshold)}ensureDefaultPythonPlatform(e,t){void 0===this.defaultPythonPlatform&&(this.defaultPythonPlatform=e.getPythonPlatform(),void 0!==this.defaultPythonPlatform&&t.info(`Assuming Python platform ${this.defaultPythonPlatform}`))}ensureDefaultPythonVersion(e,t){if(void 0!==this.defaultPythonVersion)return;const n=[];this.defaultPythonVersion=e.getPythonVersion(this.pythonPath,n),void 0!==this.defaultPythonVersion&&t.info(`Assuming Python version ${Pe(this.defaultPythonVersion)}`);for(const e of n)t.info(e)}ensureDefaultExtraPaths(e,t,n){const i=[];if(t){const t=ee(this.projectRoot,"src");e.existsSync(t)&&!e.existsSync(ee(t,"__init__.py"))&&i.push(t)}if(n&&n.length>0)for(const t of n){const n=ee(this.projectRoot,t);i.push(n),fe(e,n)&&i.push(...yn(e,n))}i.length>0&&(this.defaultExtraPaths=i)}applyDiagnosticOverrides(e){if(e)for(const t of wc()){const n=e[t];void 0!==n&&(this.diagnosticRuleSet[t]=n)}}_convertBoolean(e,t,n){return void 0===e?n:"boolean"==typeof e?!!e:(console.log(`Config "${t}" entry must be true or false.`),n)}_convertDiagnosticLevel(e,t,n){return void 0===e?n:"boolean"==typeof e?e?"error":"none":"string"!=typeof e||"error"!==e&&"warning"!==e&&"information"!==e&&"none"!==e?(console.log(`Config "${t}" entry must be true, false, "error", "warning", "information" or "none".`),n):e}_initExecutionEnvironmentFromJson(e,t,n){try{const i=new xc(this.projectRoot,this.defaultPythonVersion,this.defaultPythonPlatform,this.defaultExtraPaths);if(e.root&&"string"==typeof e.root?i.root=me(te(this.projectRoot,e.root)):n.error(`Config executionEnvironments index ${t}: missing root value.`),e.extraPaths&&(Array.isArray(e.extraPaths)?e.extraPaths.forEach(((e,r)=>{"string"!=typeof e?n.error(`Config executionEnvironments index ${t}: extraPaths field ${r} must be a string.`):i.extraPaths.push(me(te(this.projectRoot,e)))})):n.error(`Config executionEnvironments index ${t}: extraPaths field must contain an array.`)),e.pythonVersion)if("string"==typeof e.pythonVersion){const r=Re(e.pythonVersion);r?i.pythonVersion=r:n.warn(`Config executionEnvironments index ${t} contains unsupported pythonVersion.`)}else n.error(`Config executionEnvironments index ${t} pythonVersion must be a string.`);return e.pythonPlatform&&("string"==typeof e.pythonPlatform?i.pythonPlatform=e.pythonPlatform:n.error(`Config executionEnvironments index ${t} pythonPlatform must be a string.`)),i}catch{n.error(`Config executionEnvironments index ${t} is not accessible.`)}}}class kc{constructor(e){this._diagnosticList=e||[],this._diagnosticMap=new Map}fetchAndClear(){const e=this._diagnosticList;return this._diagnosticList=[],this._diagnosticMap.clear(),e}addError(e,t){return this.addDiagnostic(new nl(0,e,t))}addWarning(e,t){return this.addDiagnostic(new nl(1,e,t))}addInformation(e,t){return this.addDiagnostic(new nl(2,e,t))}addUnusedCode(e,t,n){const i=new nl(3,e,t);return n&&i.addAction(n),this.addDiagnostic(i)}addDeprecated(e,t,n){const i=new nl(4,e,t);return n&&i.addAction(n),this.addDiagnostic(i)}addDiagnostic(e){const t=`${e.range.start.line},${e.range.start.character}-${e.range.end.line}-${e.range.end.character}:${M(e.message)}}`;return this._diagnosticMap.has(t)||(this._diagnosticList.push(e),this._diagnosticMap.set(t,e)),e}addDiagnostics(e){this._diagnosticList.push(...e)}getErrors(){return this._diagnosticList.filter((e=>0===e.category))}getWarnings(){return this._diagnosticList.filter((e=>1===e.category))}getInformation(){return this._diagnosticList.filter((e=>2===e.category))}getUnusedCode(){return this._diagnosticList.filter((e=>3===e.category))}getDeprecated(){return this._diagnosticList.filter((e=>4===e.category))}}class Dc extends kc{constructor(e,t){super(t),this._lines=e}addDiagnosticWithTextRange(e,t,n){const i=St(n.start,n.start+n.length,this._lines);switch(e){case"error":return this.addError(t,i);case"warning":return this.addWarning(t,i);case"information":return this.addInformation(t,i);default:throw new Error(`${e} is not expected value`)}}addUnusedCodeWithTextRange(e,t,n){return this.addUnusedCode(e,St(t.start,t.start+t.length,this._lines),n)}addDeprecatedWithTextRange(e,t,n){return this.addDeprecated(e,St(t.start,t.start+t.length,this._lines),n)}}class Ac{constructor(e){this._items=e}get start(){return this._items.length>0?this._items[0].start:0}get end(){const e=this._items[this._items.length-1];return this._items.length>0?e.start+e.length:0}get length(){return this.end-this.start}get count(){return this._items.length}contains(e){return e>=this.start&&e=this._items.length)throw new Error("index is out of range");return this._items[e]}getItemAtPosition(e){if(0===this.count)return-1;if(ethis.end)return-1;let t=0,n=this.count-1;for(;t=r.start&&(i>=this.count-1||ethis.end)return-1;let t=0,n=this.count-1;for(;t<=n;){const i=Math.floor(t+(n-t)/2),r=this._items[i];if(dt.contains(r,e))return i;if(ic===el(e.path);return l.find(u)?l.filter(u):l}static getTypeDefinitionsForPosition(e,t,n,i,r,s){var o;ct(s);const a=xt(n,t.tokenizerOutput.lines);if(void 0===a)return;const l=Tr(t.parseTree,a);if(void 0===l)return;const c=[];if(38===l.nodeType){const t=i.getType(l);if(t){let n=[];Jo(t,(t=>{7===(null==t?void 0:t.category)&&n.push(...e.findClassDeclarationsByType(r,t))})),0===n.length&&(n=null!==(o=i.getDeclarationsForNameNode(l))&&void 0!==o?o:[]),Pc._resolveDeclarations(n,i,c,e)}}return 0!==c.length?c:void 0}static _resolveDeclarations(e,t,n,i){e&&e.forEach((e=>{let r=t.resolveAliasDeclaration(e,!0,!0);if(r&&r.path){if(6===r.type&&r.isUnresolved)return;if(6===r.type&&r.symbolName&&r.submoduleFallback&&r.submoduleFallback.path&&(r=r.submoduleFallback),this._addIfUnique(n,{path:r.path,range:r.range}),jn(r)){const e=t.getTypeForDeclaration(r);if(e&&ko(e))for(const t of e.overloads.map((e=>e.details.declaration)).filter(a))this._addIfUnique(n,{path:t.path,range:t.range})}if(el(r.path))if(6===r.type)i.findModules(r.path).map((e=>{var t;return null===(t=qt(e))||void 0===t?void 0:t.filePath})).filter(a).forEach((e=>this._addIfUnique(n,this._createModuleEntry(e))));else{const e=i.findDeclarations(r);for(const t of e)t&&t.path&&this._addIfUnique(n,{path:t.path,range:t.range})}}}))}static _createModuleEntry(e){return{path:e,range:{start:{line:0,character:0},end:{line:0,character:0}}}}static _addIfUnique(e,t){for(const n of e)if(n.path===t.path&&Tt(n.range,t.range))return;e.push(t)}}function Rc(e,t,n,i){let r=t;const s=[];let o,a,l=!1,c=!1;for(;;){if(6!==r.type||!r.symbolName)return{declaration:r,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};if(!n&&r.usesLocalName)return{declaration:r,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};let u;r.path&&r.loadSymbolsFromPath&&(u=e(r.path));const p=u?u.symbolTable.get(r.symbolName):void 0;if(!p)return r.submoduleFallback?Rc(e,r.submoduleFallback,n,i):r.isNativeLib?{declaration:void 0,isPrivate:l}:void 0;if(p.isPrivateMember()&&(l=!0),p.isExternallyHidden()&&!i)return;let d=p.getTypedDeclarations();if(0===d.length&&(d=p.getDeclarations(),0===d.length))return;const h=d.filter((e=>!s.includes(e)));if(r=h.length>0?h[h.length-1]:d[d.length-1],c&&(o=null!=o?o:null==r?void 0:r.moduleName),p.isPrivatePyTypedImport()&&(c=!0),c&&(a=null!=a?a:null==r?void 0:r.moduleName),s.find((e=>e===r)))return r.path===t.path&&6===r.type&&r.submoduleFallback?Rc(e,r.submoduleFallback,n,i):{declaration:t,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};s.push(r)}}class Fc{static getSymbolsForDocument(e,t,n,i,r,s){var o;const a=[];return t||n?(Mc(null!==(o=null==t?void 0:t.symbols)&&void 0!==o?o:Fc.indexSymbols(e,n,{indexingForAutoImportMode:!1},s),i,r,"",a,s),a):a}static addHierarchicalSymbolsForDocument(e,t,n,i,r){var s;(t||n)&&Oc(null!==(s=null==t?void 0:t.symbols)&&void 0!==s?s:Fc.indexSymbols(e,n,{indexingForAutoImportMode:!1},r),i,r)}static indexSymbols(e,t,n,i){const r=[];return Lc(e,t,t.parseTree,n,r,i),r}}function Nc(e,t,n){let i;switch(t.type){case 4:case 5:i=ot.SymbolKind.Class;break;case 3:if(t.isMethod){const e=null==n?void 0:n.getTypeForDeclaration(t);i=e&&ua(e)?ot.SymbolKind.Property:ot.SymbolKind.Method}else i=ot.SymbolKind.Function;break;case 6:i=ot.SymbolKind.Module;break;case 2:if("self"===e||"cls"===e||"_"===e)return;i=ot.SymbolKind.Variable;break;case 1:if("_"===e)return;i=t.isConstant||t.isFinal?ot.SymbolKind.Constant:ot.SymbolKind.Variable;break;default:i=ot.SymbolKind.Variable}return i}function Mc(e,t,n,i,r,s){if(ct(s),e)for(const a of e)if(!a.alias){if(N(n,a.name)){const e={uri:x.file(t).toString(),range:a.selectionRange},n={name:a.name,kind:a.kind,location:e};i.length&&(n.containerName=i),r.push(n)}Mc(a.children,t,n,o(i,a.name),r,s)}function o(e,t){return e.length>0?`${e}.${t}`:t}}function Oc(e,t,n){if(ct(n),e)for(const i of e){if(i.alias)continue;const e=[];Oc(i.children,e,n);const r={name:i.name,kind:i.kind,range:i.range,selectionRange:i.selectionRange,children:e};t.push(r)}}function Lc(e,t,n,i,r,s){ct(s);const o=Ft(n);o&&o.symbolTable.forEach(((n,o)=>{if(n.isIgnoredForProtocolMatch())return;if(i.indexingForAutoImportMode&&!e.isStubFile&&!e.isInPyTypedPackage&&!n.isInDunderAll())return;let a=qo(n);if(!a&&n.hasDeclarations()&&(a=n.getDeclarations()[0]),a){if(6===a.type){if(!i.indexingForAutoImportMode)return;if(!a.loadSymbolsFromPath||a.path.length<=0)return}!function(e,t,n,i,r,s,o,a){if(i.indexingForAutoImportMode&&!r)return;const l=Nc(s,n);if(void 0===l)return;const c=n.range;let u=c;const p=[];let d;if(4!==n.type&&3!==n.type||(i.indexingForAutoImportMode||Lc(e,t,n.node,i,p,a),u=St(n.node.start,n.node.start+n.node.length,t.tokenizerOutput.lines)),6===n.type&&(d=function(e,t){var n;if(!t.symbolName)return;const i=Rc(e,t,!0,!1);if(!i||!i.declaration)return;if(i.isPrivate)return;const r=as(i.declaration);if(!r||i.declaration.path.length<=0)return;const s=null!==(n=Nc(r,i.declaration))&&void 0!==n?n:ot.SymbolKind.Module;return{originalName:r,modulePath:i.declaration.path,kind:s,itemKind:Kl(s)}}(qt(t.parseTree).importLookup,n),!d))return;const h={name:s,externallyVisible:r,kind:l,itemKind:Kl(l),alias:d,range:i.indexingForAutoImportMode?void 0:u,selectionRange:i.indexingForAutoImportMode?void 0:c,children:i.indexingForAutoImportMode?void 0:p};o.push(h)}(e,t,a,i,!n.isExternallyHidden(),o,r,s)}}))}function Uc(e,t,n,i){const r={name:n.name,kind:n.kind,location:ot.Location.create(t,n.range)};if(n.tags&&(r.tags=n.tags),i&&(r.containerName=i.name),e.push(r),n.children)for(const i of n.children)Uc(e,t,i,n)}class Vc{constructor(e,t){this._parseResults=e,this._cancellationToken=t}sort(){ct(this._cancellationToken);const e=[],t=tn(this._parseResults.parseTree),n=t.orderedImports.map((e=>e)).sort(((e,t)=>function(e,t){const n=en(e),i=en(t);return ni?1:e.moduleNamee.followsNonImportStatement));t<0&&(t=e.length);const n=e[t-1].node;return{start:It(e[0].node.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(n),this._parseResults.tokenizerOutput.lines)}}_addSecondaryReplacementRanges(e,t){let n=e.findIndex((e=>e.followsNonImportStatement));if(!(n<0))for(;;){let i=e.findIndex(((e,t)=>t>n&&e.followsNonImportStatement));if(i<0&&(i=e.length),t.push({range:{start:It(e[n].node.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(e[i-1].node),this._parseResults.tokenizerOutput.lines)},replacementText:""}),n=i,n>=e.length)break}}_generateSortedImportText(e){let t="",n=en(e[0]);for(const i of e){const r=en(i);let s;n!==r&&(t+=this._parseResults.tokenizerOutput.predominantEndOfLineSequence,n=r),s=20===i.node.nodeType?this._formatImportNode(i.subnode,i.moduleName):this._formatImportFromNode(i.node,i.moduleName),i!==e[e.length-1]&&(s+=this._parseResults.tokenizerOutput.predominantEndOfLineSequence),t+=s}return t}_formatImportNode(e,t){let n=`import ${t}`;return e.alias&&(n+=` as ${e.alias.value}`),n}_formatImportFromNode(e,t){const n=e.imports.sort(((e,t)=>this._compareSymbols(e,t))).map((e=>{let t=e.name.value;return e.alias&&(t+=` as ${e.alias.value}`),t}));let i=`from ${t} import `;if(e.isWildcardImport)return i+"*";const r=n.join(", ");if(i.length+r.length<=88)return i+r;i+="("+this._parseResults.tokenizerOutput.predominantEndOfLineSequence;for(const e of n)i+=this._parseResults.tokenizerOutput.predominantTabSequence+e+","+this._parseResults.tokenizerOutput.predominantEndOfLineSequence;return i+=")",i}_compareSymbols(e,t){return e.name.value13===e||10===e||92===e)))return{value:t,unescapeErrors:[],nonAsciiInBytes:s&&r.some((e=>e>=128)),formatStringSegments:[]};let o=0,a={offset:0,length:0,valueParts:[],isExpression:!1,hasFormatSpecifier:!1},l=0;const c={valueParts:[],unescapeErrors:[],nonAsciiInBytes:!1,formatStringSegments:[]},u=()=>{n||c.unescapeErrors.push({offset:l-1,length:2,errorType:0})},p=(e=0)=>l+e>=r.length?3:r[l+e],d=e=>{let t=!1,n=0,i="";for(let i=0;i{const t=String.fromCharCode(e);c.valueParts.push(t),a.valueParts.push(t)};for(;;){let e=p();if(3===e)return i&&(a.isExpression&&c.unescapeErrors.push({offset:a.offset,length:l-a.offset,errorType:3}),l!==a.offset&&(a.length=l-a.offset,c.formatStringSegments.push(a))),f=c,{...f,value:f.valueParts.join(""),formatStringSegments:f.formatStringSegments.map((e=>({...e,value:e.valueParts.join("")})))};if(92===e){if(i&&a.isExpression&&!a.hasFormatSpecifier&&c.unescapeErrors.push({offset:l,length:1,errorType:1}),l++,n){h(e);continue}e=p();let t="";if(13===e||10===e)13===e&&10===p(1)&&(n&&(t+=String.fromCharCode(e)),l++,e=p()),n&&(t="\\"+t+String.fromCharCode(e)),l++;else if(n)t="\\"+String.fromCharCode(e),l++;else switch(e){case 92:case 39:case 34:t=String.fromCharCode(e),l++;break;case 97:t="",l++;break;case 98:t="\b",l++;break;case 102:t="\f",l++;break;case 110:t="\n",l++;break;case 114:t="\r",l++;break;case 116:t="\t",l++;break;case 118:t="\v",l++;break;case 120:t=d(2);break;case 78:{let n=!1,i=1;if(123!==p(i))n=!0;else for(i++;;){const e=p(i);if(125===e)break;if(!Bc(e)&&45!==e&&32!==(m=e)&&9!==m){n=!0;break}i++}n?(u(),t="\\"+String.fromCharCode(e),l++):(t="-",l+=1+i);break}case 117:t=d(4);break;case 85:t=d(8);break;default:if(Wc(e)){let n=e-48;l++,e=p(),Wc(e)&&(n=8*n+e-48,l++,e=p(),Wc(e)&&(n=8*n+e-48,l++)),t=String.fromCharCode(n)}else t="\\",u()}c.valueParts.push(t),a.valueParts.push(t)}else if(10===e||13===e)13===e&&10===p(1)&&(h(e),l++,e=p()),h(e),l++;else if(i&&123===e)a.isExpression||123!==p(1)?(0===o?(a.length=l-a.offset,a.length>0&&c.formatStringSegments.push(a),l++,a={offset:l,length:0,valueParts:[],isExpression:!0,hasFormatSpecifier:!1}):(h(e),l++),o++):(h(e),l+=2);else if(i&&125===e)a.isExpression||125!==p(1)?0===o?(c.unescapeErrors.push({offset:l,length:1,errorType:2}),l++):(o--,0===o?(a.length=l-a.offset,c.formatStringSegments.push(a),l++,a={offset:l,length:0,valueParts:[],isExpression:!1,hasFormatSpecifier:!1}):(h(e),l++)):(h(e),l+=2);else if(!a.isExpression||39!==e&&34!==e)a.isExpression&&58===e&&(a.hasFormatSpecifier=!0),s&&e>=128&&(c.nonAsciiInBytes=!0),h(e),l++;else{const t=e;h(e);const n=p(1)===t&&p(2)===t;for(n&&(l+=2,h(e),h(e),c.valueParts.push(String.fromCharCode(e)),c.valueParts.push(String.fromCharCode(e)));;){l++;let e=p();if(3===e)break;if(92!==e){if((10===e||13===e)&&!n)break;if(e===t){if(!n){l++,h(e);break}if(p(1)===t&&p(2)===t){l+=3,h(e),h(e),h(e);break}}h(e)}else h(e),l++,e=p(),h(e)}}}var m,f}function Bc(e){return e>=48&&e<=57||e>=97&&e<=122||e>=65&&e<=90}function Wc(e){return e>=48&&e<=55}function jc(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function zc(e){return e>=48&&e<=57?e-48:e>=97&&e<=102?e-97+10:e>=65&&e<=70?e-65+10:0}class $c{constructor(e){this._text=e,this._position=0,this._currentChar=e.length>0?e.charCodeAt(0):0,this._isEndOfStream=0===e.length}getText(){return this._text}get position(){return this._position}set position(e){this._position=e,this._checkBounds()}get currentChar(){return this._currentChar}getCurrentChar(){return this._currentChar}get nextChar(){return this.position+1=0?this._text.charCodeAt(this.position-1):0}isEndOfStream(){return this._isEndOfStream}lookAhead(e){const t=this._position+e;return t<0||t>=this._text.length?0:this._text.charCodeAt(t)}advance(e){this.position+=e}moveNext(){return this._position=this._text.length,this._isEndOfStream&&(this._position=this._text.length),this._currentChar=this._isEndOfStream?0:this._text.charCodeAt(this._position)}}!function(e){e.create=function(e,t,n,i=0){return{type:i,start:e,length:t,value:n}}}(oc||(oc={})),function(e){e.create=function(e,t,n,i){return{start:t,length:n,type:e,comments:i}}}(ac||(ac={})),function(e){e.create=function(e,t,n,i,r){return{start:e,length:t,type:3,isIndentAmbiguous:i,comments:r,indentAmount:n}}}(lc||(lc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:4,comments:s,indentAmount:n,matchesIndent:i,isDedentAmbiguous:r}}}(cc||(cc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:2,comments:i,newLineType:n}}}(uc||(uc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:8,comments:i,keywordType:n}}}(pc||(pc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:5,flags:n,escapedValue:i,prefixLength:r,quoteMarkLength:4&n?3:1,comments:s}}}(dc||(dc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:6,isInteger:i,isImaginary:r,value:n,comments:s}}}(hc||(hc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:9,operatorType:n,comments:i}}}(mc||(mc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:7,value:n.normalize("NFKC"),comments:i}}}(fc||(fc={}));const Hc=new Map([["and",0],["as",1],["assert",2],["async",3],["await",4],["break",5],["case",6],["class",7],["continue",8],["__debug__",9],["def",10],["del",11],["elif",12],["else",13],["except",14],["finally",16],["for",17],["from",18],["global",19],["if",20],["import",21],["in",22],["is",23],["lambda",24],["match",25],["nonlocal",27],["not",28],["or",29],["pass",30],["raise",31],["return",32],["try",34],["while",35],["with",36],["yield",37],["False",15],["None",26],["True",33]]),Gc={0:3,1:4,2:4,3:2,4:4,5:1,6:2,7:4,8:2,9:4,10:2,11:4,12:10,13:2,14:4,15:10,16:10,17:2,18:4,19:26,20:10,21:10,22:2,23:4,24:2,25:4,26:2,27:4,28:10,29:2,30:4,31:2,32:4,33:2,34:4,36:2,37:2,38:1,39:2,40:2,41:2,42:2};class Kc{constructor(){this._cs=new $c(""),this._tokens=[],this._prevLineStart=0,this._parenDepth=0,this._lineRanges=[],this._indentAmounts=[],this._typeIgnoreLines=new Map,this._crCount=0,this._crLfCount=0,this._lfCount=0,this._indentCount=0,this._indentTabCount=0,this._indentSpacesTotal=0,this._singleQuoteCount=0,this._doubleQuoteCount=0,this._ipythonMode=!1}tokenize(e,t,n,i=0,r=!1){if(void 0===t)t=0;else if(t<0||t>e.length)throw new Error("Invalid range start");if(void 0===n)n=e.length;else{if(n<0||t+n>e.length)throw new Error("Invalid range length");t+n=s)););0!==this._tokens.length&&2===this._tokens[this._tokens.length-1].type||this._tokens.push(uc.create(this._cs.position,0,3,this._getComments())),this._setIndent(0,0,!1,!1),this._tokens.push(ac.create(1,this._cs.position,0,this._getComments())),this._addLineRange();let o="\n";this._crCount>this._crLfCount&&this._crCount>this._lfCount?o="\r":this._crLfCount>this._crCount&&this._crLfCount>this._lfCount&&(o="\r\n");let a=" ";if(this._indentTabCount>this._indentCount/2)a="\t";else if(this._indentCount>0){let e=Math.round(this._indentSpacesTotal/this._indentCount);e<1?e=1:e>8&&(e=8),a="";for(let t=0;t=this._doubleQuoteCount?"'":'"'}}static getOperatorInfo(e){return Gc[e]}static isOperatorAssignment(e){return void 0!==e&&void 0!==Gc[e]&&0!=(4&Gc[e])}static isOperatorComparison(e){return void 0!==e&&void 0!==Gc[e]&&0!=(8&Gc[e])}_addNextToken(){this._cs.skipWhitespace(),this._cs.isEndOfStream()||this._handleCharacter()||this._cs.moveNext()}_handleCharacter(){const e=this._getStringPrefixLength();if(e>=0){let t="";e>0&&(t=this._cs.getText().substr(this._cs.position,e),this._cs.advance(e));const n=this._getQuoteTypeFlags(t);if(0!==n)return this._handleString(n,e),!0}if(35===this._cs.currentChar)return this._handleComment(),!0;if(this._ipythonMode&&this._isIPythonMagics())return this._handleIPythonMagics(37===this._cs.currentChar?1:2),!0;switch(this._cs.currentChar){case 65279:return 0!==this._cs.position&&this._handleInvalid();case 13:{const e=10===this._cs.nextChar?2:1,t=2===e?2:0;return this._handleNewLine(e,t),!0}case 10:return this._handleNewLine(1,1),!0;case 92:return 13===this._cs.nextChar?(10===this._cs.lookAhead(2)?this._cs.advance(3):this._cs.advance(2),this._addLineRange(),!0):10===this._cs.nextChar?(this._cs.advance(2),this._addLineRange(),!0):this._handleInvalid();case 40:this._parenDepth++,this._tokens.push(ac.create(13,this._cs.position,1,this._getComments()));break;case 41:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(14,this._cs.position,1,this._getComments()));break;case 91:this._parenDepth++,this._tokens.push(ac.create(15,this._cs.position,1,this._getComments()));break;case 93:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(16,this._cs.position,1,this._getComments()));break;case 123:this._parenDepth++,this._tokens.push(ac.create(17,this._cs.position,1,this._getComments()));break;case 125:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(18,this._cs.position,1,this._getComments()));break;case 44:this._tokens.push(ac.create(12,this._cs.position,1,this._getComments()));break;case 96:this._tokens.push(ac.create(22,this._cs.position,1,this._getComments()));break;case 59:this._tokens.push(ac.create(11,this._cs.position,1,this._getComments()));break;case 58:if(61===this._cs.nextChar){this._tokens.push(mc.create(this._cs.position,2,35,this._getComments())),this._cs.advance(1);break}this._tokens.push(ac.create(10,this._cs.position,1,this._getComments()));break;default:if(this._isPossibleNumber()&&this._tryNumber())return!0;if(46===this._cs.currentChar){if(46===this._cs.nextChar&&46===this._cs.lookAhead(2))return this._tokens.push(ac.create(19,this._cs.position,3,this._getComments())),this._cs.advance(3),!0;this._tokens.push(ac.create(20,this._cs.position,1,this._getComments()));break}return!(!this._tryIdentifier()&&!this._tryOperator())||this._handleInvalid()}return!1}_addLineRange(){const e=this._cs.position-this._prevLineStart;e>0&&this._lineRanges.push({start:this._prevLineStart,length:e}),this._prevLineStart=this._cs.position}_handleNewLine(e,t){0===this._parenDepth&&3!==t&&(0!==this._tokens.length&&2===this._tokens[this._tokens.length-1].type||this._tokens.push(uc.create(this._cs.position,e,t,this._getComments()))),0===t?this._crCount++:2===t?this._crLfCount++:this._lfCount++,this._cs.advance(e),this._addLineRange(),this._readIndentationAfterNewLine()}_readIndentationAfterNewLine(){let e=0,t=0,n=!1,i=!1;for(;!this._cs.isEndOfStream();)switch(this._cs.currentChar){case 32:e++,t++,i=!0,this._cs.moveNext();break;case 9:e++,t+=8-t%8,n=!0,this._cs.moveNext();break;case 12:e=0,t=0,n=!1,i=!1,this._cs.moveNext();break;default:return void this._setIndent(e,t,i,n);case 35:case 10:case 13:return}}_setIndent(e,t,n,i){if(!(this._parenDepth>0))if(0===this._indentAmounts.length)t>0&&(this._indentCount++,i&&this._indentTabCount++,this._indentSpacesTotal+=t,this._indentAmounts.push({tab1Spaces:e,tab8Spaces:t,isSpacePresent:n,isTabPresent:i}),this._tokens.push(lc.create(this._cs.position,0,t,!1,this._getComments())));else{const r=this._indentAmounts[this._indentAmounts.length-1];if(r.tab8Spaces=e;this._indentCount++,i&&this._indentTabCount++,this._indentSpacesTotal+=t-this._indentAmounts[this._indentAmounts.length-1].tab8Spaces,this._indentAmounts.push({tab1Spaces:e,tab8Spaces:t,isSpacePresent:n,isTabPresent:i}),this._tokens.push(lc.create(this._cs.position,0,t,s,this._getComments()))}else if(r.tab8Spaces===t)(r.isSpacePresent&&i||r.isTabPresent&&n)&&this._tokens.push(lc.create(this._cs.position,0,t,!0,this._getComments()));else{let e=r.isSpacePresent&&i||r.isTabPresent&&n;const s=[];for(;this._indentAmounts.length>0&&this._indentAmounts[this._indentAmounts.length-1].tab8Spaces>t;)s.push(this._indentAmounts.length>1?this._indentAmounts[this._indentAmounts.length-2].tab8Spaces:0),this._indentAmounts.pop();s.forEach(((n,i)=>{const r=i{for(;;)if(qe(this._cs.currentChar))this._cs.moveNext();else{if(!qe(this._cs.currentChar,this._cs.nextChar))break;this._cs.moveNext(),this._cs.moveNext()}},t=this._cs.position;if(Ve(this._cs.currentChar)?(this._cs.moveNext(),e()):Ve(this._cs.currentChar,this._cs.nextChar)&&(this._cs.moveNext(),this._cs.moveNext(),e()),this._cs.position>t){const e=this._cs.getText().substr(t,this._cs.position-t);return Hc.has(e)?this._tokens.push(pc.create(t,this._cs.position-t,Hc.get(e),this._getComments())):this._tokens.push(fc.create(t,this._cs.position-t,e,this._getComments())),!0}return!1}_isPossibleNumber(){return!!Be(this._cs.currentChar)||!(46!==this._cs.currentChar||!Be(this._cs.nextChar))}_tryNumber(){const e=this._cs.position;if(48===this._cs.currentChar){let t=0,n=0;if((120===this._cs.nextChar||88===this._cs.nextChar)&&We(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;We(this._cs.currentChar);)this._cs.moveNext();t=16}if((98===this._cs.nextChar||66===this._cs.nextChar)&&ze(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;ze(this._cs.currentChar);)this._cs.moveNext();t=2}if((111===this._cs.nextChar||79===this._cs.nextChar)&&je(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;je(this._cs.currentChar);)this._cs.moveNext();t=8}if(t>0){const i=this._cs.getText().substr(e,this._cs.position-e),r=i.replace(/_/g,"");let s=parseInt(r.substr(n),t);if(!isNaN(s)){const t=BigInt(r);return isFinite(s)&&BigInt(s)===t||(s=t),this._tokens.push(hc.create(e,i.length,s,!0,!1,this._getComments())),!0}}}let t=!1,n=!1;if(this._cs.currentChar>=49&&this._cs.currentChar<=57){for(;Be(this._cs.currentChar);)n=!0,this._cs.moveNext();t=46!==this._cs.currentChar&&101!==this._cs.currentChar&&69!==this._cs.currentChar}if(48===this._cs.currentChar){for(n=!0;48===this._cs.currentChar||95===this._cs.currentChar;)this._cs.moveNext();t=46!==this._cs.currentChar&&101!==this._cs.currentChar&&69!==this._cs.currentChar}if(t){let t=this._cs.getText().substr(e,this._cs.position-e);const n=t.replace(/_/g,"");let i=parseInt(n,10);if(!isNaN(i)){let r=!1;const s=BigInt(n);return isFinite(i)&&BigInt(i)===s||(i=s),106!==this._cs.currentChar&&74!==this._cs.currentChar||(r=!0,t+=String.fromCharCode(this._cs.currentChar),this._cs.moveNext()),this._tokens.push(hc.create(e,t.length,i,!0,r,this._getComments())),!0}}if(this._cs.position=e,(n||46===this._cs.currentChar&&this._cs.nextChar>=48&&this._cs.nextChar<=57)&&this._skipFloatingPointCandidate()){let t=this._cs.getText().substr(e,this._cs.position-e);const n=parseFloat(t);if(!isNaN(n)){let i=!1;return 106!==this._cs.currentChar&&74!==this._cs.currentChar||(i=!0,t+=String.fromCharCode(this._cs.currentChar),this._cs.moveNext()),this._tokens.push(hc.create(e,this._cs.position-e,n,!1,i,this._getComments())),!0}}return this._cs.position=e,!1}_tryOperator(){let e=0;const t=this._cs.nextChar;let n;switch(this._cs.currentChar){case 43:e=61===t?2:1,n=2===e?1:0;break;case 38:e=61===t?2:1,n=2===e?4:3;break;case 124:e=61===t?2:1,n=2===e?7:6;break;case 94:e=61===t?2:1,n=2===e?9:8;break;case 61:e=61===t?2:1,n=2===e?12:2;break;case 33:if(61!==t)return!1;e=2,n=28;break;case 37:e=61===t?2:1,n=2===e?25:24;break;case 126:e=1,n=5;break;case 45:if(62===t)return this._tokens.push(ac.create(21,this._cs.position,2,this._getComments())),this._cs.advance(2),!0;e=61===t?2:1,n=2===e?34:33;break;case 42:42===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?30:29):(e=61===t?2:1,n=2===e?27:26);break;case 47:47===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?14:13):(e=61===t?2:1,n=2===e?11:10);break;case 60:60===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?18:17):62===t?(e=2,n=19):(e=61===t?2:1,n=2===e?21:20);break;case 62:62===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?32:31):(e=61===t?2:1,n=2===e?16:15);break;case 64:e=61===t?2:1,n=2===e?23:22;break;default:return!1}return this._tokens.push(mc.create(this._cs.position,e,n,this._getComments())),this._cs.advance(e),e>0}_handleInvalid(){const e=this._cs.position;for(;10!==this._cs.currentChar&&13!==this._cs.currentChar&&!this._cs.isAtWhiteSpace()&&!this._cs.isEndOfStream();)(t=this._cs.currentChar)0&&(this._tokens.push(ac.create(0,e,n,this._getComments())),!0)}_getComments(){const e=this._comments;return this._comments=void 0,e}_isIPythonMagics(){const e=this._tokens.length>0?this._tokens[this._tokens.length-1]:void 0;return!(void 0!==e&&2!==e.type&&3!==e.type||37!==this._cs.currentChar&&33!==this._cs.currentChar)}_handleIPythonMagics(e){const t=this._cs.position+1;let n=t;do{this._cs.skipToEol();const e=this._cs.position-n;if(!this._cs.getText().substr(n,e).match(/\\\s*$/))break;n=this._cs.position+1}while(!this._cs.isEndOfStream());const i=this._cs.position-t,r=this._cs.getText().substr(t,i),s=oc.create(t,i,r,e);this._addComments(s)}_handleComment(){const e=this._cs.position+1;this._cs.skipToEol();const t=this._cs.position-e,n=this._cs.getText().substr(e,t),i=oc.create(e,t,n),r=n.match(/^\s*type:\s*ignore(\s|\[|$)/);if(r){const t={start:e,length:r[0].length};r[0].endsWith("[")&&t.length--,this._tokens.findIndex((e=>2!==e.type&&e&&3!==e.type))<0?this._typeIgnoreAll=t:this._typeIgnoreLines.set(this._lineRanges.length,t)}this._addComments(i)}_addComments(e){this._comments?this._comments.push(e):this._comments=[e]}_getStringPrefixLength(){if(39===this._cs.currentChar||34===this._cs.currentChar)return 0;if(39===this._cs.nextChar||34===this._cs.nextChar)switch(this._cs.currentChar){case 102:case 70:case 114:case 82:case 98:case 66:case 117:case 85:return 1}if(39===this._cs.lookAhead(2)||34===this._cs.lookAhead(2))switch(this._cs.getText().substr(this._cs.position,2).toLowerCase()){case"rf":case"fr":case"ur":case"ru":case"br":case"rb":return 2}return-1}_getQuoteTypeFlags(e){let t=0;e=e.toLowerCase();for(let n=0;n32768&&(i=i.slice(0,32768),e|=131072),{escapedValue:String.fromCharCode.apply(void 0,i),flags:e}}_skipFloatingPointCandidate(){const e=this._cs.position;return this._skipFractionalNumber(),this._cs.position>e&&(101!==this._cs.currentChar&&69!==this._cs.currentChar||(this._cs.moveNext(),this._skipDecimalNumber(!0))),this._cs.position>e}_skipFractionalNumber(){this._skipDecimalNumber(!1),46===this._cs.currentChar&&this._cs.moveNext(),this._skipDecimalNumber(!1)}_skipDecimalNumber(e){for(!e||45!==this._cs.currentChar&&43!==this._cs.currentChar||this._cs.moveNext();Be(this._cs.currentChar);)this._cs.moveNext()}}class Jc{constructor(){this.isStubFile=!1,this.pythonVersion=Ae,this.reportInvalidStringEscapeSequence=!1,this.skipFunctionAndClassBody=!1,this.ipythonMode=!1}}const Yc=256;class Qc{constructor(){this._tokenIndex=0,this._areErrorsSuppressed=!1,this._parseOptions=new Jc,this._diagSink=new kc,this._isInLoop=!1,this._isInFunction=!1,this._isInFinally=!1,this._isParsingTypeAnnotation=!1,this._isParsingIndexTrailer=!1,this._futureImportMap=new Map,this._importedModules=[],this._containsWildcardImport=!1,this._assignmentExpressionsAllowed=!0,this._typingImportAliases=[],this._typingSymbolAliases=new Map}parseSourceFile(e,t,n){Fn.tokenizeFileTime.timeOperation((()=>{this._startNewParse(e,0,e.length,t,n)}));const i=Yn.create({start:0,length:e.length});return Fn.parseFileTime.timeOperation((()=>{for(;!this._atEof();)if(!this._consumeTokenIfType(2)){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseStatement();t?(t.parent=i,i.statements.push(t)):this._consumeTokensUntilType([2])}})),w(void 0!==this._tokenizerOutput),{text:e,parseTree:i,importedModules:this._importedModules,futureImports:this._futureImportMap,tokenizerOutput:this._tokenizerOutput,containsWildcardImport:this._containsWildcardImport,typingSymbolAliases:this._typingSymbolAliases}}parseTextExpression(e,t,n,i,r=0,s=0,o){const a=new kc;let l;if(this._startNewParse(e,t,n,i,a,s),o&&(this._typingSymbolAliases=new Map(o)),1===r)l=this._parseTypeAnnotation();else if(2===r)l=this._parseFunctionTypeAnnotation();else{const e=this._parseTestOrStarExpressionList(!1,!0);e.parseError?l=e.parseError:(0===e.list.length&&this._addError(ml.Diagnostic.expectedExpr(),this._peekToken()),l=this._makeExpressionOrTuple(e,!1))}return 2===this._peekTokenType()&&this._getNextToken(),this._atEof()||this._addError(ml.Diagnostic.unexpectedExprToken(),this._peekToken()),{parseTree:l,lines:this._tokenizerOutput.lines,diagnostics:a.fetchAndClear()}}_startNewParse(e,t,n,i,r,s=0){this._fileContents=e,this._parseOptions=i,this._diagSink=r;const o=new Kc;this._tokenizerOutput=o.tokenize(e,t,n,s,this._parseOptions.ipythonMode),this._tokenIndex=0}_parseStatement(){switch(this._consumeTokenIfType(4)&&this._addError(ml.Diagnostic.unexpectedUnindent(),this._peekToken()),this._peekKeywordType()){case 20:return this._parseIfStatement();case 35:return this._parseWhileStatement();case 17:return this._parseForStatement();case 34:return this._parseTryStatement();case 36:return this._parseWithStatement();case 10:return this._parseFunctionDef();case 7:return this._parseClassDef();case 3:return this._parseAsyncStatement();case 25:{const e=this._peekToken(1);let t=!1;if(10===e.type||11===e.type||12===e.type||20===e.type||2===e.type||1===e.type)t=!0;else if(9===e.type){const n=e;26!==n.operatorType&&33!==n.operatorType&&(t=!0)}if(!t){const e=this._parseMatchStatement();if(e)return e}}}return 22===this._peekOperatorType()?this._parseDecorated():this._parseSimpleStatement()}_parseAsyncStatement(){const e=this._getKeywordToken(3);switch(this._peekKeywordType()){case 10:return this._parseFunctionDef(e);case 36:return this._parseWithStatement(e);case 17:return this._parseForStatement(e)}this._addError(ml.Diagnostic.unexpectedAsyncToken(),e)}_parseMatchStatement(){let e=!1;if(this._suppressErrors((()=>{const t=this._tokenIndex;this._getKeywordToken(25);const n=this._parseTestOrStarListAsExpression(!0,!0,12,ml.Diagnostic.expectedReturnExpr());e=0!==n.nodeType&&10===this._peekToken().type,this._tokenIndex=t})),!e)return;const t=this._getKeywordToken(25),n=this._parseTestOrStarListAsExpression(!0,!0,12,ml.Diagnostic.expectedReturnExpr()),i=sr.create(t,n),r=this._peekToken();if(this._consumeTokenIfType(10))if(this._consumeTokenIfType(2)){const e=this._peekToken();if(this._consumeTokenIfType(3)){const t=e;t.isIndentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t)}else this._addError(ml.Diagnostic.expectedIndentedBlock(),this._peekToken());for(;;){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseCaseStatement();t?(t.parent=i,i.cases.push(t)):this._consumeTokensUntilType([2,10])&&this._getNextToken();const n=this._peekToken();if(this._consumeTokenIfType(4)){n.matchesIndent||this._addError(ml.Diagnostic.inconsistentIndent(),n),n.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),n);break}if(1===this._peekTokenType())break}i.cases.length>0?Jn(i,i.cases[i.cases.length-1]):this._addError(ml.Diagnostic.zeroCaseStatementsFound(),t)}else this._addError(ml.Diagnostic.expectedNewline(),r);else this._addError(ml.Diagnostic.expectedColon(),r),this._consumeTokensUntilType([2,10])&&this._getNextToken();this._getLanguageVersion()this._isPatternIrrefutable(e)))}_getPatternTargetNames(e,t){switch(e.nodeType){case 65:e.entries.forEach((e=>{this._getPatternTargetNames(e,t)}));break;case 68:e.arguments.forEach((e=>{this._getPatternTargetNames(e.pattern,t)}));break;case 66:e.target&&t.set(e.target.value,!0),e.orPatterns.forEach((e=>{this._getPatternTargetNames(e,t)}));break;case 69:e.isWildcard||t.set(e.target.value,!0);break;case 70:e.entries.forEach((e=>{72===e.nodeType?t.set(e.target.value,!0):(this._getPatternTargetNames(e.keyPattern,t),this._getPatternTargetNames(e.valuePattern,t))}))}}_parsePatternSequence(){const e=this._parseExpressionListGeneric((()=>this._parsePatternAs())),t=e.list.filter((e=>1===e.orPatterns.length&&69===e.orPatterns[0].nodeType&&e.orPatterns[0].isStar));t.length>1&&this._addError(ml.Diagnostic.duplicateStarPattern(),t[1].orPatterns[0]);const n=new Map;return e.list.forEach((e=>{e.orPatterns.forEach((e=>{69!==e.nodeType||e.isStar||e.isWildcard||(n.has(e.target.value)?this._addError(ml.Diagnostic.duplicateCapturePatternTarget().format({name:e.target.value}),e):n.set(e.target.value,e))}))})),e}_parsePatternAs(){const e=[];for(;;){const t=this._parsePatternAtom();if(e.push(t),!this._consumeTokenIfOperator(6))break}let t;if(e.length>1&&e.forEach((e=>{69===e.nodeType&&e.isStar&&this._addError(ml.Diagnostic.starPatternInOrPattern(),e)})),this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?t=Ri.create(e):this._addError(ml.Diagnostic.expectedNameAfterAs(),this._peekToken())}t&&1===e.length&&69===e[0].nodeType&&e[0].isStar&&this._addError(ml.Diagnostic.starPatternInAsPattern(),e[0]),e.forEach(((t,n)=>{n{this._getPatternTargetNames(e,n)})),e.forEach((e=>{const t=new Map;if(this._getPatternTargetNames(e,t),t.size!t.has(e))),r=new il;r.addMessage(ml.DiagnosticAddendum.orPatternMissingName().format({name:i.map((e=>`"${e}"`)).join(", ")})),this._addError(ml.Diagnostic.orPatternMissingName()+r.getString(),e)}})),lr.create(e,t)}_parsePatternAtom(){const e=this._parsePatternLiteral();if(e)return e;const t=this._parsePatternCaptureOrValue();if(t){const e=this._peekToken();if(0===t.nodeType||!this._consumeTokenIfType(13))return t;const n=this._parseClassPatternArgList(),i=69===t.nodeType?t.target:t.expression,r=ur.create(i,n);return this._consumeTokenIfType(14)||(this._addError(ml.Diagnostic.expectedCloseParen(),e),this._consumeTokensUntilType([2]),Jn(r,this._peekToken())),r}const n=this._peekToken();if(26===this._peekOperatorType()){const e=this._getNextToken(),t=this._getTokenIfIdentifier();return t?dr.create(Ri.create(t),e):(this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(e,2))}if(13===n.type||15===n.type){const e=this._getNextToken(),t=this._parsePatternSequence();let i;if(t.parseError)i=t.parseError;else if(1!==t.list.length||t.trailingComma||13!==e.type)i=ar.create(e,t.list);else{const r=t.list[0].orPatterns[0];i=69===r.nodeType&&r.isStar?ar.create(e,t.list):t.list[0],Jn(i,n)}const r=this._peekToken();return this._consumeTokenIfType(13===n.type?14:16)?Jn(i,r):(this._addError(13===n.type?ml.Diagnostic.expectedCloseParen():ml.Diagnostic.expectedCloseBracket(),n),this._consumeTokensUntilType([10,13===n.type?14:16])),i}if(17===n.type){const e=this._getNextToken(),t=this._parsePatternMapping(e),i=this._peekToken();return this._consumeTokenIfType(18)?Jn(t,i):(this._addError(ml.Diagnostic.expectedCloseBrace(),n),this._consumeTokensUntilType([10,18])),t}return this._handleExpressionParseError(11,ml.Diagnostic.expectedPatternExpr())}_parseClassPatternArgList(){const e=[];let t=!1;for(;;){const n=this._peekTokenType();if(14===n||2===n||1===n)break;const i=this._parseClassPatternArgument();if(i.name?t=!0:t&&!i.name&&this._addError(ml.Diagnostic.positionArgAfterNamedArg(),i),e.push(i),!this._consumeTokenIfType(12))break}return e}_parseClassPatternArgument(){const e=this._peekToken(),t=this._peekToken(1);let n;7!==e.type&&8!==e.type||9!==t.type||2!==t.operatorType||(this._getNextToken(),n=Ri.create(e),this._getNextToken());const i=this._parsePatternAs();return pr.create(i,n)}_parsePatternLiteral(){const e=this._peekToken(),t=this._peekOperatorType();if(6===e.type||33===t)return this._parsePatternLiteralNumber();if(5===e.type){const e=this._parseAtom();return w(48===e.nodeType),e.strings.forEach((e=>{64&e.token.flags&&this._addError(ml.Diagnostic.formatStringInPattern(),e)})),cr.create(e)}if(8===e.type){const t=e;if(15===t.keywordType||33===t.keywordType||26===t.keywordType)return cr.create(this._parseAtom())}}_parsePatternLiteralNumber(){const e=this._parseArithmeticExpression();let t,n;return 7===e.nodeType?33!==e.operator&&0!==e.operator||(t=e.leftExpression,n=e.rightExpression):t=e,t&&(55===t.nodeType&&33===t.operator&&(t=t.expression),(40!==t.nodeType||void 0!==n&&t.isImaginary)&&(this._addError(ml.Diagnostic.expectedComplexNumberLiteral(),e),n=void 0)),n&&(55===n.nodeType&&33===n.operator&&(n=n.expression),40===n.nodeType&&n.isImaginary||this._addError(ml.Diagnostic.expectedComplexNumberLiteral(),e)),cr.create(e)}_parsePatternMapping(e){const t=this._parseExpressionListGeneric((()=>this._parsePatternMappingItem()));if(t.list.length>0){const n=t.list.filter((e=>72===e.nodeType));return n.length>1&&this._addError(ml.Diagnostic.duplicateStarStarPattern(),n[1]),hr.create(e,t.list)}return t.parseError||di.create(this._peekToken(),11)}_parsePatternMappingItem(){let e;const t=this._peekToken();if(this._consumeTokenIfOperator(29)){const e=this._getTokenIfIdentifier();if(!e)return this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(this._peekToken(),11);const n=Ri.create(e);return"_"===e.value&&this._addError(ml.Diagnostic.starStarWildcardNotAllowed(),n),fr.create(t,n)}const n=this._parsePatternLiteral();if(n)e=n;else{const t=this._parsePatternCaptureOrValue();t&&(73===t.nodeType?e=t:(this._addError(ml.Diagnostic.expectedPatternValue(),t),e=di.create(this._peekToken(),11)))}let i;return e||(this._addError(ml.Diagnostic.expectedPatternExpr(),this._peekToken()),e=di.create(this._peekToken(),11)),this._consumeTokenIfType(10)?i=this._parsePatternAs():(this._addError(ml.Diagnostic.expectedColon(),this._peekToken()),i=di.create(this._peekToken(),11)),mr.create(e,i)}_parsePatternCaptureOrValue(){const e=this._peekToken();if(7===e.type||8===e.type){let e;for(;;){const t=this._getTokenIfIdentifier();if(!t){this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken());break}{const n=Ri.create(t);e=e?Ai.create(e,n):n}if(!this._consumeTokenIfType(20))break}return e?35===e.nodeType?gr.create(e):dr.create(e):(this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(this._peekToken(),11))}}_parseIfStatement(e=20){const t=this._getKeywordToken(e),n=this._parseTestExpression(!0),i=this._parseSuite(this._isInFunction),r=Zn.create(t,n,i);return this._consumeTokenIfKeyword(13)?(r.elseSuite=this._parseSuite(this._isInFunction),r.elseSuite.parent=r,Jn(r,r.elseSuite)):12===this._peekKeywordType()&&(r.elseSuite=this._parseIfStatement(12),r.elseSuite.parent=r,Jn(r,r.elseSuite)),r}_parseLoopSuite(){const e=this._isInLoop,t=this._isInFinally;this._isInLoop=!0,this._isInFinally=!1;const n=this._parseSuite(this._isInFunction);return this._isInLoop=e,this._isInFinally=t,n}_parseSuite(e=!1,t=!1,n){const i=this._peekToken(),r=Qn.create(i);if(!this._consumeTokenIfType(10)&&(9===i.type?2===this._peekOperatorType()&&this._addError(ml.Diagnostic.expectedEqualityOperator(),i):this._addError(ml.Diagnostic.expectedColon(),i),this._consumeTokensUntilType([2,10])))if(10===this._peekTokenType())this._getNextToken();else if(3!==this._peekToken(1).type)return this._getNextToken(),r;if(t){if(this._consumeTokenIfType(2)){let e=0;for(;;){const t=this._getNextToken();if(3===t.type&&e++,4===t.type&&(t.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t),e--,0===e))break;if(1===t.type)break}}else this._parseSimpleStatement();return this._tokenIndex>0&&Jn(r,this._tokenizerOutput.tokens.getItemAt(this._tokenIndex-1)),r}n&&n();const s=this._isInFunction;if(this._isInFunction=e,this._consumeTokenIfType(2)){n&&n();const e=this._peekToken();if(this._consumeTokenIfType(3)){const t=e;t.isIndentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t)}else this._addError(ml.Diagnostic.expectedIndentedBlock(),this._peekToken());for(;;){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseStatement();t?(t.parent=r,r.statements.push(t)):this._consumeTokensUntilType([2]);const n=this._peekToken();if(this._consumeTokenIfType(4)){n.matchesIndent||this._addError(ml.Diagnostic.inconsistentIndent(),n),n.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),n);break}if(1===this._peekTokenType())break}}else{const e=this._parseSimpleStatement();r.statements.push(e),e.parent=r}return r.statements.length>0&&Jn(r,r.statements[r.statements.length-1]),this._isInFunction=s,r}_parseForStatement(e){const t=this._getKeywordToken(17),n=this._parseExpressionListAsPossibleTuple(2,ml.Diagnostic.expectedExpr(),t);let i,r,s;if(this._consumeTokenIfKeyword(22)){if(i=this._parseTestOrStarListAsExpression(!1,!0,2,ml.Diagnostic.expectedInExpr()),r=this._parseLoopSuite(),this._getLanguageVersion(){56!==t.nodeType||e||(this._addError(ml.Diagnostic.unpackOperatorNotAllowed(),t),e=!0)}))}this._consumeTokenIfKeyword(13)&&(s=this._parseSuite(this._isInFunction))}else i=this._handleExpressionParseError(0,ml.Diagnostic.expectedIn()),r=Qn.create(this._peekToken());const o=ei.create(t,n,i,r);return o.elseSuite=s,s&&(Jn(o,s),s.parent=o),e&&(o.isAsync=!0,o.asyncToken=e,Jn(o,e)),o}_tryParseListComprehension(e){const t=this._tryParseCompForStatement();if(!t)return;56===e.nodeType?this._addError(ml.Diagnostic.unpackIllegalInComprehension(),e):16===e.nodeType&&this._addError(ml.Diagnostic.dictExpandIllegalInComprehension(),e);const n=Ci.create(e),i=[t];for(;;){const e=this._tryParseCompForStatement()||this._tryParseCompIfStatement();if(!e)break;e.parent=n,i.push(e)}return n.forIfNodes=i,i.length>0&&(i.forEach((e=>{e.parent=n})),Jn(n,i[i.length-1])),n}_tryParseCompForStatement(){const e=this._peekKeywordType();if(3===e){const e=this._peekToken(1);if(8!==e.type||17!==e.keywordType)return}else if(17!==e)return;let t;3===this._peekKeywordType()&&(t=this._getKeywordToken(3));const n=this._getKeywordToken(17),i=this._parseExpressionListAsPossibleTuple(2,ml.Diagnostic.expectedExpr(),n);let r;this._consumeTokenIfKeyword(22)?this._disallowAssignmentExpression((()=>{r=this._parseOrTest()})):r=this._handleExpressionParseError(0,ml.Diagnostic.expectedIn());const s=ti.create(t||n,i,r);return t&&(s.isAsync=!0,s.asyncToken=t),s}_tryParseCompIfStatement(){if(20!==this._peekKeywordType())return;const e=this._getKeywordToken(20),t=this._tryParseLambdaExpression()||this._parseAssignmentExpression(!0);return ni.create(e,t)}_parseWhileStatement(){const e=this._getKeywordToken(35),t=Xn.create(e,this._parseTestExpression(!0),this._parseLoopSuite());return this._consumeTokenIfKeyword(13)&&(t.elseSuite=this._parseSuite(this._isInFunction),t.elseSuite.parent=t,Jn(t,t.elseSuite)),t}_parseTryStatement(){const e=this._getKeywordToken(34),t=this._parseSuite(this._isInFunction),n=ii.create(e,t);let i=!1;for(;;){const e=this._peekToken();if(!this._consumeTokenIfKeyword(14))break;const t=this._peekToken();let r,s,o=!1;if(this._consumeTokenIfOperator(26)&&(this._getLanguageVersion()0&&(Jn(n,n.exceptClauses[n.exceptClauses.length-1]),this._consumeTokenIfKeyword(13)&&(n.elseSuite=this._parseSuite(this._isInFunction),n.elseSuite.parent=n,Jn(n,n.elseSuite))),this._consumeTokenIfKeyword(16)&&(n.finallySuite=this._parseSuite(this._isInFunction),n.finallySuite.parent=n,Jn(n,n.finallySuite)),n.finallySuite||0!==n.exceptClauses.length||this._addError(ml.Diagnostic.tryWithoutExcept(),e),n}_parseFunctionDef(e,t){const n=this._getKeywordToken(10),i=this._getTokenIfIdentifier();if(!i)return this._addError(ml.Diagnostic.expectedFunctionName(),n),di.create(n,10,void 0,t);const r=this._peekToken();if(!this._consumeTokenIfType(13))return this._addError(ml.Diagnostic.expectedOpenParen(),this._peekToken()),di.create(i,10,Ri.create(i),t);const s=this._parseVarArgsList(14,!0);let o,a;this._consumeTokenIfType(14)||(this._addError(ml.Diagnostic.expectedCloseParen(),r),this._consumeTokensUntilType([10])),this._consumeTokenIfType(21)&&(o=this._parseTypeAnnotation());const l=this._parseSuite(!0,this._parseOptions.skipFunctionAndClassBody,(()=>{a||(a=this._getTypeAnnotationCommentText())})),c=si.create(n,Ri.create(i),l);return e&&(c.isAsync=!0,Jn(c,e)),c.parameters=s,s.forEach((e=>{e.parent=c})),t&&(c.decorators=t,t.forEach((e=>{e.parent=c})),t.length>0&&Jn(c,t[0])),o&&(c.returnTypeAnnotation=o,c.returnTypeAnnotation.parent=c,Jn(c,o)),a&&this._parseFunctionTypeAnnotationComment(a,c),c}_parseVarArgsList(e,t){const n=new Map,i=[];let r=!1,s=!1,o=!1,a=!1,l=!1,c=!1;for(;this._peekTokenType()!==e;){const u=this._parseParameter(t);if(!u){this._consumeTokensUntilType([e]);break}if(u.name){const e=u.name.value;n.has(e)?this._addError(ml.Diagnostic.duplicateParam().format({name:e}),u.name):n.set(e,e)}else 0===u.category&&0===i.length&&this._addError(ml.Diagnostic.positionOnlyFirstParam(),u);0===u.category&&(u.name?u.defaultValue?r=!0:!r||o||l||s||(this._addError(ml.Diagnostic.nonDefaultAfterDefault(),u),s=!0):(a?this._addError(ml.Diagnostic.duplicatePositionOnly(),u):o?this._addError(ml.Diagnostic.positionOnlyAfterKeywordOnly(),u):l&&this._addError(ml.Diagnostic.positionOnlyAfterArgs(),u),a=!0)),i.push(u),1===u.category&&(u.name?((o||l)&&this._addError(ml.Diagnostic.duplicateArgsParam(),u),l=!0):(o?this._addError(ml.Diagnostic.duplicateKeywordOnly(),u):l&&this._addError(ml.Diagnostic.keywordOnlyAfterArgs(),u),o=!0)),2===u.category?(c&&this._addError(ml.Diagnostic.duplicateKwargsParam(),u),c=!0):c&&this._addError(ml.Diagnostic.paramAfterKwargsParam(),u);const p=this._consumeTokenIfType(12);if(t&&!u.typeAnnotation){const e=this._parseVariableTypeAnnotationComment();e&&(u.typeAnnotationComment=e,u.typeAnnotationComment.parent=u,Jn(u,u.typeAnnotationComment))}if(!p)break}if(i.length>0){const e=i[i.length-1];1!==e.category||e.name||this._addError(ml.Diagnostic.expectedNamedParameter(),e)}return i}_parseParameter(e){let t=0,n=0;const i=this._peekToken();this._consumeTokenIfOperator(26)?t=1:this._consumeTokenIfOperator(29)?t=2:this._consumeTokenIfOperator(10)&&(this._getLanguageVersion()0&&this._addError(ml.Diagnostic.defaultValueNotAllowed(),o.defaultValue)),o}_parseWithStatement(e){const t=this._getKeywordToken(36);let n=[];const i=this._peekToken();let r=!1;if(13===i.type){const e=this._tokenIndex;this._suppressErrors((()=>{for(this._getNextToken();n.push(this._parseWithItem()),this._consumeTokenIfType(12)&&14!==this._peekToken().type;);14===this._peekToken().type&&10===this._peekToken(1).type&&(r=1!==n.length||void 0!==n[0].target),this._tokenIndex=e,n=[]}))}for(r&&(this._consumeTokenIfType(13),this._getLanguageVersion(){e.parent=o})),o}_parseWithItem(){const e=this._parseTestExpression(!0),t=ci.create(e);return this._consumeTokenIfKeyword(1)&&(t.target=this._parseExpression(!1),t.target.parent=t,Jn(t,t.target)),t}_parseDecorated(){const e=[];for(;22===this._peekOperatorType();)e.push(this._parseDecorator());const t=this._peekToken();if(8===t.type)if(3===t.keywordType){if(this._getNextToken(),10===this._peekKeywordType())return this._parseFunctionDef(t,e);this._addError(ml.Diagnostic.expectedFunctionAfterAsync(),this._peekToken())}else{if(10===t.keywordType)return this._parseFunctionDef(void 0,e);if(7===t.keywordType)return this._parseClassDef(e)}return this._addError(ml.Diagnostic.expectedAfterDecorator(),this._peekToken()),ai.createDummyForDecorators(e)}_parseDecorator(){const e=this._getNextToken();w(22===e.operatorType);const t=this._parseTestExpression(!0);if(this._getLanguageVersion(){e.parent=o})),e&&(o.decorators=e,e.length>0&&(e.forEach((e=>{e.parent=o})),Jn(o,e[0]))),o}_parsePassStatement(){return Hi.create(this._getKeywordToken(30))}_parseBreakStatement(){const e=this._getKeywordToken(5);return this._isInLoop||this._addError(ml.Diagnostic.breakOutsideLoop(),e),tr.create(e)}_parseContinueStatement(){const e=this._getKeywordToken(8);return this._isInLoop?this._isInFinally&&this._addError(ml.Diagnostic.continueInFinally(),e):this._addError(ml.Diagnostic.continueOutsideLoop(),e),nr.create(e)}_parseReturnStatement(){const e=this._getKeywordToken(32),t=ir.create(e);if(this._isInFunction||this._addError(ml.Diagnostic.returnOutsideFunction(),e),!this._isNextTokenNeverExpression()){const e=this._parseTestOrStarListAsExpression(!0,!0,2,ml.Diagnostic.expectedReturnExpr());this._reportConditionalErrorForStarTupleElement(e),t.returnExpression=e,t.returnExpression.parent=t,Jn(t,e)}return t}_parseFromStatement(){const e=this._getKeywordToken(18),t=this._parseDottedModuleName(!0),n=Yi.create(e,t),i=0===t.leadingDots&&1===t.nameParts.length&&"__future__"===t.nameParts[0].value,r=this._peekToken();if(this._consumeTokenIfKeyword(21)){Jn(n,r);const e=this._peekToken();if(this._consumeTokenIfOperator(26))Jn(n,e),n.isWildcardImport=!0,n.wildcardToken=e,this._containsWildcardImport=!0;else{const e=this._peekToken(),t=this._consumeTokenIfType(13);let r;for(;;){const e=this._getTokenIfIdentifier();if(!e)break;r=void 0;const t=Qi.create(Ri.create(e));if(this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?(t.alias=Ri.create(e),t.alias.parent=t,Jn(t,e)):this._addError(ml.Diagnostic.expectedImportAlias(),this._peekToken())}n.imports.push(t),t.parent=n,Jn(n,t),i&&this._futureImportMap.set(e.value,!0);const s=this._peekToken();if(!this._consumeTokenIfType(12))break;r=s}if(0===n.imports.length&&this._addError(ml.Diagnostic.expectedImportSymbols(),this._peekToken()),t){n.usesParens=!0;const t=this._peekToken();this._consumeTokenIfType(14)?Jn(n,t):this._addError(ml.Diagnostic.expectedCloseParen(),e)}else r&&this._addError(ml.Diagnostic.trailingCommaInFromImport(),r)}}else this._addError(ml.Diagnostic.expectedImport(),this._peekToken()),t.hasTrailingDot||(n.missingImportKeyword=!0);this._importedModules.push({nameNode:n.module,leadingDots:n.module.leadingDots,nameParts:n.module.nameParts.map((e=>e.value)),importedSymbols:n.imports.map((e=>e.name.value))});let s=!1;if(1===n.module.nameParts.length){const e=n.module.nameParts[0].value;"typing"!==e&&"typing_extensions"!==e||(s=!0)}if(s){const e=["Literal","TypeAlias","Annotated"];n.isWildcardImport?e.forEach((e=>{this._typingSymbolAliases.set(e,e)})):n.imports.forEach((t=>{var n;e.some((e=>e===t.name.value))&&this._typingSymbolAliases.set((null===(n=t.alias)||void 0===n?void 0:n.value)||t.name.value,t.name.value)}))}return n}_parseImportStatement(){var e;const t=this._getKeywordToken(21),n=Gi.create(t);for(;;){const t=this._parseDottedModuleName(),i=Ji.create(t);if(this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?(i.alias=Ri.create(e),i.alias.parent=i,Jn(i,i.alias)):this._addError(ml.Diagnostic.expectedImportAlias(),this._peekToken())}if(i.module.leadingDots>0&&this._addError(ml.Diagnostic.relativeImportNotAllowed(),i.module),n.list.push(i),i.parent=n,this._importedModules.push({nameNode:i.module,leadingDots:i.module.leadingDots,nameParts:i.module.nameParts.map((e=>e.value)),importedSymbols:void 0}),1===t.nameParts.length){const n=t.nameParts[0].value;"typing"!==n&&"typing_extensions"!==n||this._typingImportAliases.push((null===(e=i.alias)||void 0===e?void 0:e.value)||n)}if(!this._consumeTokenIfType(12))break}return n.list.length>0&&Jn(n,n.list[n.list.length-1]),n}_parseDottedModuleName(e=!1){var t;const n=Ki.create(this._peekToken());for(;;){const e=null!==(t=this._getTokenIfType(19))&&void 0!==t?t:this._getTokenIfType(20);if(!e)break;19===e.type?n.leadingDots+=3:n.leadingDots++,Jn(n,e)}for(;;){const t=this._getTokenIfIdentifier();if(!t){(!e||0===n.leadingDots||n.nameParts.length>0)&&(this._addError(ml.Diagnostic.expectedModuleName(),this._peekToken()),n.hasTrailingDot=!0);break}const i=Ri.create(t);n.nameParts.push(i),i.parent=n,Jn(n,i);const r=this._peekToken();if(!this._consumeTokenIfType(20))break;Jn(n,r)}return n}_parseGlobalStatement(){const e=this._getKeywordToken(19),t=Zi.create(e);return t.nameList=this._parseNameList(),t.nameList.length>0&&(t.nameList.forEach((e=>{e.parent=t})),Jn(t,t.nameList[t.nameList.length-1])),t}_parseNonlocalStatement(){const e=this._getKeywordToken(27),t=Xi.create(e);return t.nameList=this._parseNameList(),t.nameList.length>0&&(t.nameList.forEach((e=>{e.parent=t})),Jn(t,t.nameList[t.nameList.length-1])),t}_parseNameList(){const e=[];for(;;){const t=this._getTokenIfIdentifier();if(!t){this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken());break}if(e.push(Ri.create(t)),!this._consumeTokenIfType(12))break}return e}_parseRaiseStatement(){const e=this._getKeywordToken(31),t=rr.create(e);return this._isNextTokenNeverExpression()||(t.typeExpression=this._parseTestExpression(!0),t.typeExpression.parent=t,Jn(t,t.typeExpression),this._consumeTokenIfKeyword(18)?(t.valueExpression=this._parseTestExpression(!0),t.valueExpression.parent=t,Jn(t,t.valueExpression)):this._consumeTokenIfType(12)&&(t.valueExpression=this._parseTestExpression(!0),t.valueExpression.parent=t,Jn(t,t.valueExpression),this._consumeTokenIfType(12)&&(t.tracebackExpression=this._parseTestExpression(!0),t.tracebackExpression.parent=t,Jn(t,t.tracebackExpression)))),t}_parseAssertStatement(){const e=this._getKeywordToken(2),t=this._parseTestExpression(!0),n=er.create(e,t);if(this._consumeTokenIfType(12)){const e=this._parseTestExpression(!0);n.exceptionExpression=e,n.exceptionExpression.parent=n,Jn(n,e)}return n}_parseDelStatement(){const e=this._getKeywordToken(11),t=this._parseExpressionList(!0);t.parseError||0!==t.list.length||this._addError(ml.Diagnostic.expectedDelExpr(),this._peekToken());const n=$i.create(e);return n.expressions=t.list,n.expressions.length>0&&(n.expressions.forEach((e=>{e.parent=n})),Jn(n,n.expressions[n.expressions.length-1])),n}_parseYieldExpression(){const e=this._getKeywordToken(37),t=this._peekToken();if(this._consumeTokenIfKeyword(18))return this._getLanguageVersion()0?e.list[0]:this._peekToken(-1),i=Si.create(n,t);return i.expressions=e.list,e.list.length>0&&(e.list.forEach((e=>{e.parent=i})),Jn(i,e.list[e.list.length-1])),i}_parseExpressionListAsPossibleTuple(e,t,n){if(this._isNextTokenNeverExpression())return this._addError(t,n),di.create(n,e);const i=this._parseExpressionList(!0);return i.parseError?i.parseError:this._makeExpressionOrTuple(i,!1)}_parseTestListAsExpression(e,t){if(this._isNextTokenNeverExpression())return this._handleExpressionParseError(e,t);const n=this._parseTestExpressionList();return n.parseError?n.parseError:this._makeExpressionOrTuple(n,!1)}_parseTestOrStarListAsExpression(e,t,n,i){if(this._isNextTokenNeverExpression())return this._handleExpressionParseError(n,i);const r=this._parseTestOrStarExpressionList(e,t);return r.parseError?r.parseError:this._makeExpressionOrTuple(r,!1)}_parseExpressionList(e){return this._parseExpressionListGeneric((()=>this._parseExpression(e)))}_parseTestExpressionList(){return this._parseExpressionListGeneric((()=>this._parseTestExpression(!1)))}_parseTestOrStarExpressionList(e,t){const n=this._parseExpressionListGeneric((()=>this._parseTestOrStarExpression(e)));if(!t&&!n.parseError){let e=!1;for(const t of n.list)if(56===t.nodeType){if(e){this._addError(ml.Diagnostic.duplicateUnpack(),t);break}e=!0}}return n}_parseExpression(e){const t=this._peekToken();return e&&this._consumeTokenIfOperator(26)?Ii.create(t,this._parseExpression(!1)):this._parseBitwiseOrExpression()}_parseTestOrStarExpression(e){return 26===this._peekOperatorType()?this._parseExpression(!0):this._parseTestExpression(e)}_parseTestExpression(e){if(24===this._peekKeywordType())return this._parseLambdaExpression();const t=e?this._parseAssignmentExpression():this._parseOrTest();if(0===t.nodeType)return t;if(!this._consumeTokenIfKeyword(20))return t;const n=this._parseOrTest();if(0===n.nodeType)return n;if(!this._consumeTokenIfKeyword(13))return this._handleExpressionParseError(1,ml.Diagnostic.expectedElse());const i=this._parseTestExpression(!0);return 0===i.nodeType?i:bi.create(t,n,i)}_parseAssignmentExpression(e=!1){const t=this._parseOrTest();if(0===t.nodeType)return t;if(38!==t.nodeType)return t;const n=this._peekToken();if(!this._consumeTokenIfOperator(35))return t;(!this._assignmentExpressionsAllowed||this._isParsingTypeAnnotation||e)&&this._addError(ml.Diagnostic.walrusNotAllowed(),n),this._getLanguageVersion()e===t))}return!1}_parseAtomExpression(){let e;4!==this._peekKeywordType()||this._isParsingTypeAnnotation||(e=this._getKeywordToken(4),this._getLanguageVersion()1||i.trailingComma)&&i.args.forEach((e=>{32===e.valueExpression.nodeType&&(e.valueExpression.isParenthesized||this._addError(ml.Diagnostic.generatorNotParenthesized(),e.valueExpression))}));const s=this._peekToken();let o=!1;if(this._consumeTokenIfType(14)?(Jn(r,s),o=!0):(this._addError(ml.Diagnostic.expectedCloseParen(),e),this._consumeTokensUntilType([2]),Jn(r,this._peekToken())),this._isParsingTypeAnnotation=n,this._isParsingTypeAnnotation){const e=new il;38===t.nodeType&&"type"===t.value&&(e.addMessage(ml.DiagnosticAddendum.useTypeInstead()),this._addError(ml.Diagnostic.typeCallNotAllowed()+e.getString(),r))}if(t=r,void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),!o)break}else if(this._consumeTokenIfType(15)){const n=this._isParsingIndexTrailer,i=this._isParsingTypeAnnotation;(this._isTypingAnnotation(t,"Literal")||this._isTypingAnnotation(t,"Annotated"))&&(this._isParsingTypeAnnotation=!1),this._isParsingIndexTrailer=!0;const r=this._parseSubscriptList();this._isParsingTypeAnnotation=i,this._isParsingIndexTrailer=n;const s=this._peekToken(),o=wi.create(t,r.list,r.trailingComma,s);Jn(o,o),this._consumeTokenIfType(16)||this._handleExpressionParseError(6,ml.Diagnostic.expectedCloseBracket(),e,o),t=o,void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t))}else{if(!this._consumeTokenIfType(20))break;{const n=this._getTokenIfIdentifier();if(!n)return this._handleExpressionParseError(7,ml.Diagnostic.expectedMemberName(),e,t);t=Ai.create(t,Ri.create(n)),void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t))}}}return e?Ti.create(e,t):t}_parseSubscriptList(){const e=[];let t=!1,n=!1;for(;;){const i=this._peekToken();if(10!==i.type&&this._isNextTokenNeverExpression())break;let r=0;this._consumeTokenIfOperator(26)?r=1:this._consumeTokenIfOperator(29)&&(r=2);const s=this._tokenIndex;let o,a=this._parsePossibleSlice();if(0===r)if(this._consumeTokenIfOperator(2)){const e=a;a=this._parsePossibleSlice(),38===e.nodeType?o=e.token:this._addError(ml.Diagnostic.expectedParamName(),e)}else 38===a.nodeType&&35===this._peekOperatorType()&&(this._tokenIndex=s,a=this._parseTestExpression(!0),!this._parseOptions.isStubFile&&this._getLanguageVersion()=De.V3_11;2!==r&&e||this._addError(ml.Diagnostic.unpackedSubscriptIllegal(),l)}if(!this._consumeTokenIfType(12)){n=!1;break}n=!0}if(0===e.length){const t=this._handleExpressionParseError(3,ml.Diagnostic.expectedSliceIndex(),void 0,void 0,[16]);e.push(zi.create(this._peekToken(),t,0))}return{list:e,trailingComma:n}}_parsePossibleSlice(){const e=this._peekToken(),t=[void 0,void 0,void 0];let n=0,i=!1;for(;;){const e=this._peekTokenType();if(16===e||12===e)break;if(10!==e&&(t[n]=this._parseTestExpression(!1)),n++,n>=3||!this._consumeTokenIfType(10))break;i=!0}if(!i)return t[0]?t[0]:di.create(this._peekToken(),3);const r=Ei.create(e);r.startValue=t[0],r.startValue&&(r.startValue.parent=r),r.endValue=t[1],r.endValue&&(r.endValue.parent=r),r.stepValue=t[2],r.stepValue&&(r.stepValue.parent=r);const s=t[2]||t[1]||t[0];return s&&Jn(r,s),r}_parseArgList(){const e=[];let t=!1,n=!1;for(;;){const i=this._peekTokenType();if(14===i||2===i||1===i)break;n=!1;const r=this._parseArgument();if(r.name?t=!0:t&&0===r.argumentCategory&&this._addError(ml.Diagnostic.positionArgAfterNamedArg(),r),e.push(r),!this._consumeTokenIfType(12))break;n=!0}return{args:e,trailingComma:n}}_parseArgument(){const e=this._peekToken();let t=0;this._consumeTokenIfOperator(26)?t=1:this._consumeTokenIfOperator(29)&&(t=2);let n,i=this._parseTestExpression(!0);if(0===t)if(this._consumeTokenIfOperator(2)){const e=i;i=this._parseTestExpression(!1),38===e.nodeType?n=e.token:this._addError(ml.Diagnostic.expectedParamName(),e)}else{const e=this._tryParseListComprehension(i);e&&(i=e)}const r=zi.create(e,i,t);return n&&(r.name=Ri.create(n),r.name.parent=r),r}_parseAtom(){const e=this._peekToken();if(19===e.type)return Ni.create(this._getNextToken());if(6===e.type)return Mi.create(this._getNextToken());if(7===e.type)return Ri.create(this._getNextToken());if(5===e.type)return this._parseStringList();if(22===e.type){this._getNextToken(),this._addError(ml.Diagnostic.backticksIllegal(),e);const t=this._parseTestListAsExpression(2,ml.Diagnostic.expectedExpr());return this._consumeTokenIfType(22),t}if(13===e.type){const e=this._parseTupleAtom();if(52===e.nodeType&&this._isParsingTypeAnnotation&&!this._isParsingIndexTrailer){const t=new il;t.addMessage(ml.DiagnosticAddendum.useTupleInstead()),this._addError(ml.Diagnostic.tupleInAnnotation()+t.getString(),e)}return 7===e.nodeType&&(e.parenthesized=!0),48===e.nodeType&&(e.isParenthesized=!0),32===e.nodeType&&(e.isParenthesized=!0),e}if(15===e.type){const e=this._parseListAtom();if(this._isParsingTypeAnnotation&&!this._isParsingIndexTrailer){const t=new il;t.addMessage(ml.DiagnosticAddendum.useListInstead()),this._addError(ml.Diagnostic.listInAnnotation()+t.getString(),e)}return e}if(17===e.type){const e=this._parseDictionaryOrSetAtom();if(this._isParsingTypeAnnotation){const t=new il;t.addMessage(ml.DiagnosticAddendum.useDictInstead()),this._addError(ml.Diagnostic.dictInAnnotation()+t.getString(),e)}return e}if(8===e.type){const t=e;if(15===t.keywordType||33===t.keywordType||9===t.keywordType||26===t.keywordType)return Fi.create(this._getNextToken());const n=this._getTokenIfIdentifier();if(n)return Ri.create(n)}return this._handleExpressionParseError(2,ml.Diagnostic.expectedExpr())}_handleExpressionParseError(e,t,n,i,r){this._addError(t,null!=n?n:this._peekToken());const s=di.create(this._peekToken(),e,i),o=[2];return r&&o.push(...r),this._consumeTokensUntilType(o),s}_parseLambdaExpression(e=!0){const t=this._getKeywordToken(24),n=this._parseVarArgsList(10,!1);let i;this._consumeTokenIfType(10)||this._addError(ml.Diagnostic.expectedColon(),this._peekToken()),i=e?this._parseTestExpression(!1):this._tryParseLambdaExpression(!1)||this._parseOrTest();const r=Pi.create(t,i);return r.parameters=n,n.forEach((e=>{e.parent=r})),r}_tryParseLambdaExpression(e=!0){if(24===this._peekKeywordType())return this._parseLambdaExpression(e)}_parseTupleAtom(){var e;const t=this._getNextToken();w(13===t.type);const n=this._tryParseYieldExpression();if(n)return 14!==this._peekTokenType()?this._handleExpressionParseError(8,ml.Diagnostic.expectedCloseParen(),t,n):(Jn(n,this._getNextToken()),n);const i=this._parseTestListWithComprehension(),r=this._makeExpressionOrTuple(i,!0),s=1===i.list.length&&!i.trailingComma;if(s||Jn(r,t),14!==this._peekTokenType())return this._handleExpressionParseError(8,ml.Diagnostic.expectedCloseParen(),t,null!==(e=i.parseError)&&void 0!==e?e:r);{const e=this._getNextToken();s||Jn(r,e)}return r}_parseListAtom(){var e;const t=this._getNextToken();w(15===t.type);const n=this._parseTestListWithComprehension(),i=this._peekToken();return this._consumeTokenIfType(16)?r():this._handleExpressionParseError(9,ml.Diagnostic.expectedCloseBracket(),t,null!==(e=n.parseError)&&void 0!==e?e:r());function r(){const e=ji.create(t);return i&&Jn(e,i),n.list.length>0&&(n.list.forEach((t=>{t.parent=e})),Jn(e,n.list[n.list.length-1])),e.entries=n.list,e}}_parseTestListWithComprehension(){let e=!1;return this._parseExpressionListGeneric((()=>{let t=this._parseTestOrStarExpression(!0);const n=this._tryParseListComprehension(t);return n&&(t=n,e=!0),t}),(()=>this._isNextTokenNeverExpression()),(()=>e))}_parseDictionaryOrSetAtom(){const e=this._getNextToken();w(17===e.type);const t=[],n=[];let i,r=!1,s=!1,o=!1,a=!0;for(;18!==this._peekTokenType();){let e,l,c;i=void 0;const u=this._peekToken();if(this._consumeTokenIfOperator(29)?e=this._parseExpression(!1):(l=this._parseTestOrStarExpression(!0),this._consumeTokenIfType(10)&&(c=this._parseTestExpression(!1))),l&&c)if(56===l.nodeType&&this._addError(ml.Diagnostic.unpackInDict(),l),s)this._addError(ml.Diagnostic.keyValueInSet(),c);else{const e=qi.create(l,c);let n=e;const i=this._tryParseListComprehension(e);i&&(n=i,o=!0,a||this._addError(ml.Diagnostic.comprehensionInDict(),n)),t.push(n),r=!0}else if(e)if(s)this._addError(ml.Diagnostic.unpackInSet(),e);else{const n=Bi.create(e);Jn(n,u);let i=n;const s=this._tryParseListComprehension(n);s&&(i=s,o=!0,a||this._addError(ml.Diagnostic.comprehensionInDict(),e)),t.push(i),r=!0}else if(w(void 0!==l),l)if(r){const e=di.create(this._peekToken(),13),n=qi.create(l,e);t.push(n),this._addError(ml.Diagnostic.dictKeyValuePairs(),l)}else{const e=this._tryParseListComprehension(l);e&&(l=e,o=!0,a||this._addError(ml.Diagnostic.comprehensionInSet(),l)),n.push(l),s=!0}if(o)break;if(12!==this._peekTokenType())break;i=this._getNextToken(),a=!1}let l=this._peekToken();if(this._consumeTokenIfType(18)||(this._addError(ml.Diagnostic.expectedCloseBrace(),e),l=void 0),s){const t=Wi.create(e);return l&&Jn(t,l),n.length>0&&Jn(t,n[n.length-1]),n.forEach((e=>{e.parent=t})),t.entries=n,t}const c=Vi.create(e);return i&&(c.trailingCommaToken=i,Jn(c,i)),l&&Jn(c,l),t.length>0&&(t.forEach((e=>{e.parent=c})),Jn(c,t[t.length-1])),c.entries=t,c}_parseExpressionListGeneric(e,t=(()=>this._isNextTokenNeverExpression()),n=(()=>!1)){let i=!1;const r=[];let s;for(;!t();){const t=e();if(0===t.nodeType){s=t;break}if(r.push(t),n())break;if(!this._consumeTokenIfType(12)){i=!1;break}i=!0}return{trailingComma:i,list:r,parseError:s}}_parseExpressionStatement(){let e,t=this._parseTestOrStarListAsExpression(!1,!1,2,ml.Diagnostic.expectedExpr());if(0===t.nodeType)return t;if(this._consumeTokenIfType(10)){if(e=this._parseTypeAnnotation(),t=yi.create(t,e),!this._parseOptions.isStubFile&&this._getLanguageVersion()0)}_getTypeAnnotationCommentText(){if(0===this._tokenIndex)return;const e=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex-1),t=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex);if(e.start+e.length===t.start)return;const n=this._fileContents.substring(e.start+e.length,t.start).match(/^(\s*#\s*type:\s*)([^\r\n]*)/);if(!n)return;const i=n[2];if(i.trim().match(/^ignore(\s|\[|$)/))return;const r=e.start+e.length+n[1].length;return dc.create(r,i.length,0,i,0,void 0)}_parseVariableTypeAnnotationComment(){const e=this._getTypeAnnotationCommentText();if(!e)return;const t=this._makeStringNode(e),n=Ui.create([t]),i=(new Qc).parseTextExpression(this._fileContents,e.start,e.length,this._parseOptions,1,void 0,this._typingSymbolAliases);return i.diagnostics.forEach((e=>{this._addError(e.message,n)})),i.parseTree?i.parseTree:void 0}_parseFunctionTypeAnnotationComment(e,t){const n=this._makeStringNode(e),i=Ui.create([n]),r=(new Qc).parseTextExpression(this._fileContents,e.start,e.length,this._parseOptions,2,void 0,this._typingSymbolAliases);if(r.diagnostics.forEach((e=>{this._addError(e.message,i)})),!r.parseTree||62!==r.parseTree.nodeType)return;const s=r.parseTree;t.functionAnnotationComment=s,s.parent=t,Jn(t,s)}_parseFormatStringSegment(e,t,n,i){w(t.isExpression);const r=(new Qc).parseTextExpression(this._fileContents,e.start+e.prefixLength+e.quoteMarkLength+t.offset+n,i,this._parseOptions,0,1,this._typingSymbolAliases);return r.diagnostics.forEach((t=>{const n=(t.range?xt(t.range.start,r.lines):e.start)||e.start,i={start:n,length:((t.range?(xt(t.range.end,r.lines)||0)+1:e.start+e.length)||e.start+e.length)-n};this._addError(t.message,i)})),r.parseTree}_parseFormatString(e){const t=qc(e);this._reportStringTokenErrors(e,t);const n=[];for(const i of t.formatStringSegments)if(i.isExpression){const t=this._getFormatStringExpressionLength(i.value.trimEnd()),r=this._parseFormatStringSegment(e,i,0,t);r&&n.push(r);const s=i.value.substr(t);let o=0,a=0;for(let r=0;r0&&(o--,0===o)){const s=this._getFormatStringExpressionLength(i.value.substr(t+a,r-a)),o=this._parseFormatStringSegment(e,i,t+a,s);o&&n.push(o)}}return Li.create(e,t.value,t.unescapeErrors.length>0,n)}_getFormatStringExpressionLength(e){let t=0;const n=[];let i,r=0,s=0,o=0;for(;t0||r>0||s>0||o>0,c=n.length>0;if("="===a)i=t;else{if(":"===a){if(!l)break}else if("!"===a){if(!l&&(t===e.length-1||"="!==e[t+1]))break}else if("'"===a||'"'===a){let i=a;t+20&&n[n.length-1]===i?n.pop():0===n.length&&n.push(i)}else"("===a?c||s++:")"===a?!c&&s>0&&s--:"{"===a?c||r++:"}"===a?!c&&r>0&&r--:"["===a?c||o++:"]"===a&&!c&&o>0&&o--;" "!==a&&(i=void 0)}t++}return this._parseOptions.pythonVersion>=De.V3_8&&void 0!==i&&(t=i),t}_createBinaryOperationNode(e,t,n,i){return void 0!==e.maxChildDepth&&e.maxChildDepth>=Yc&&(e=di.create(e,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),e)),void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),mi.create(e,t,n,i)}_createUnaryOperationNode(e,t,n){return void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),hi.create(e,t,n)}_parseStringList(){const e=[];for(;5===this._peekTokenType();){const t=this._getNextToken();64&t.flags?e.push(this._parseFormatString(t)):e.push(this._makeStringNode(t))}const t=Ui.create(e);if(this._isParsingTypeAnnotation)if(t.strings.length>1)this._addError(ml.Diagnostic.annotationSpansStrings(),t);else if(64&t.strings[0].token.flags)this._addError(ml.Diagnostic.annotationFormatString(),t);else{const e=t.strings[0].token,n=qc(t.strings[0].token).value,i=e.start,r=e.prefixLength+e.quoteMarkLength;if(n.length!==e.length-r-e.quoteMarkLength)this._addError(ml.Diagnostic.annotationStringEscape(),t);else{const e=(new Qc).parseTextExpression(this._fileContents,i+r,n.length,this._parseOptions,1,0!=(4&t.strings[0].token.flags)?1:0,this._typingSymbolAliases);e.diagnostics.forEach((e=>{this._addError(e.message,t)})),e.parseTree&&(t.typeAnnotation=e.parseTree,t.typeAnnotation.parent=t)}}return t}_reportConditionalErrorForStarTupleElement(e){if(52===e.nodeType&&!(e.enclosedInParens||this._parseOptions.pythonVersion>=De.V3_8))for(const t of e.expressions)if(56===t.nodeType)return void this._addError(ml.Diagnostic.unpackTuplesIllegal(),t)}_isNextTokenNeverExpression(){switch(this._peekToken().type){case 8:switch(this._peekKeywordType()){case 17:case 22:case 20:return!0}break;case 9:switch(this._peekOperatorType()){case 1:case 34:case 27:case 11:case 25:case 4:case 7:case 9:case 18:case 32:case 30:case 14:case 2:return!0}break;case 3:case 4:case 2:case 1:case 11:case 14:case 16:case 18:case 12:case 10:return!0}return!1}_disallowAssignmentExpression(e){const t=this._assignmentExpressionsAllowed;this._assignmentExpressionsAllowed=!1,e(),this._assignmentExpressionsAllowed=t}_getNextToken(){const e=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex);return this._atEof()||this._tokenIndex++,e}_atEof(){return this._tokenIndex>=this._tokenizerOutput.tokens.count-1}_peekToken(e=0){return this._tokenIndex+e<0?this._tokenizerOutput.tokens.getItemAt(0):this._tokenIndex+e>=this._tokenizerOutput.tokens.count?this._tokenizerOutput.tokens.getItemAt(this._tokenizerOutput.tokens.count-1):this._tokenizerOutput.tokens.getItemAt(this._tokenIndex+e)}_peekTokenType(){return this._peekToken().type}_peekKeywordType(){const e=this._peekToken();if(8===e.type)return e.keywordType}_peekOperatorType(){const e=this._peekToken();if(9===e.type)return e.operatorType}_getTokenIfIdentifier(){const e=this._peekToken();if(7===e.type)return this._getNextToken();if(0===e.type)return this._getNextToken(),this._addError(ml.Diagnostic.invalidIdentifierChar(),e),fc.create(e.start,e.length,"",e.comments);if(8===e.type){const t=this._peekKeywordType();if([9,25,6].find((e=>e===t))){const t=this._fileContents.substr(e.start,e.length);return this._getNextToken(),fc.create(e.start,e.length,t,e.comments)}}}_consumeTokensUntilType(e){for(;;){const t=this._peekToken();if(e.some((e=>e===t.type)))return!0;if(1===t.type)return!1;this._getNextToken()}}_getTokenIfType(e){if(this._peekTokenType()===e)return this._getNextToken()}_consumeTokenIfType(e){return!!this._getTokenIfType(e)}_consumeTokenIfKeyword(e){return this._peekKeywordType()===e&&(this._getNextToken(),!0)}_consumeTokenIfOperator(e){return this._peekOperatorType()===e&&(this._getNextToken(),!0)}_getKeywordToken(e){const t=this._getNextToken();return w(8===t.type),w(t.keywordType===e),t}_getLanguageVersion(){return this._parseOptions.pythonVersion}_suppressErrors(e){const t=this._areErrorsSuppressed;try{this._areErrorsSuppressed=!0,e()}finally{this._areErrorsSuppressed=t}}_addError(e,t){w(void 0!==t),this._areErrorsSuppressed||this._diagSink.addError(e,St(t.start,t.start+t.length,this._tokenizerOutput.lines))}}class Zc{constructor(e,t){this.symbolTable=new Map,this.notLocalBindings=new Map,this.type=e,this.parent=t}getGlobalScope(){let e=this;for(;e;){if(3===e.type||4===e.type)return e;e=e.parent}return E("failed to find scope"),this}isIndependentlyExecutable(){return 3===this.type||1===this.type}lookUpSymbol(e){return this.symbolTable.get(e)}lookUpSymbolRecursive(e,t=!1,n=!1){const i=this.symbolTable.get(e);if(i){if(t&&i.isExternallyHidden())return;const e=i.getDeclarations();if(0===e.length||e.some((e=>1!==e.type||!e.isDefinedByMemberAccess)))return{symbol:i,isOutsideCallerModule:t,isBeyondExecutionScope:n,scope:this}}let r;if(r=1===this.notLocalBindings.get(e)?this.getGlobalScope():this.parent,r)return r.lookUpSymbolRecursive(e,t||3===this.type,n||this.isIndependentlyExecutable())}addSymbol(e,t){const n=new Vo(t);return this.symbolTable.set(e,n),n}getBindingType(e){return this.notLocalBindings.get(e)}setBindingType(e,t){return this.notLocalBindings.set(e,t)}setSlotsNames(e){this.slotsNames=e}getSlotsNames(){return this.slotsNames}}function Xc(e,t,n,i){if(4===e.nodeType)return Xc(e.rightExpression,t,n,i);if(55===e.nodeType){if(37===e.operator||36===e.operator){const r=eu(e.expression,t,n,i);if(void 0!==r)return!r}}else if(7===e.nodeType){if(37===e.operator||36===e.operator){const r=Xc(e.leftExpression,t,n,i),s=Xc(e.rightExpression,t,n,i);if(void 0===r||void 0===s)return;return 37===e.operator?r||s:r&&s}if(iu(e.leftExpression,i)&&52===e.rightExpression.nodeType){const n=function(e){let t;if(e.expressions.length>=2){if(40===e.expressions[0].nodeType&&!e.expressions[0].isImaginary&&40===e.expressions[1].nodeType&&!e.expressions[1].isImaginary){const n=e.expressions[0],i=e.expressions[1];"number"==typeof n.value&&"number"==typeof i.value&&(t=256*n.value+i.value)}}else if(1===e.expressions.length){const n=e.expressions[0];"number"==typeof n.value&&(t=256*n.value)}return t}(e.rightExpression);return tu(e.operator,t.pythonVersion,n)}if(24===e.leftExpression.nodeType&&iu(e.leftExpression.baseExpression,i)&&1===e.leftExpression.items.length&&!e.leftExpression.trailingComma&&!e.leftExpression.items[0].name&&0===e.leftExpression.items[0].argumentCategory&&40===e.leftExpression.items[0].valueExpression.nodeType&&!e.leftExpression.items[0].valueExpression.isImaginary&&0===e.leftExpression.items[0].valueExpression.value&&40===e.rightExpression.nodeType)return tu(e.operator,Math.floor(t.pythonVersion/256),e.rightExpression.value);if(function(e,t=["sys"]){return!(35!==e.nodeType||38!==e.leftExpression.nodeType||"platform"!==e.memberName.value||!t.some((t=>t===e.leftExpression.value)))}(e.leftExpression,i)&&48===e.rightExpression.nodeType){const n=e.rightExpression.strings.map((e=>e.value)).join(""),i=function(e){return e.pythonPlatform===rc.Darwin?"darwin":e.pythonPlatform===rc.Windows?"win32":e.pythonPlatform===rc.Linux?"linux":void 0}(t);return nu(e.operator,i,n)}if(function(e){return 35===e.nodeType&&38===e.leftExpression.nodeType&&"os"===e.leftExpression.value&&"name"===e.memberName.value}(e.leftExpression)&&48===e.rightExpression.nodeType){const n=e.rightExpression.strings.map((e=>e.value)).join(""),i=function(e){return e.pythonPlatform===rc.Darwin?"posix":e.pythonPlatform===rc.Windows?"nt":e.pythonPlatform===rc.Linux?"posix":void 0}(t);if(void 0!==i)return nu(e.operator,i,n)}}else if(11===e.nodeType){if(33===e.constType)return!0;if(15===e.constType)return!1}else if(38===e.nodeType){if("TYPE_CHECKING"===e.value)return!0}else if(n&&35===e.nodeType&&"TYPE_CHECKING"===e.memberName.value&&38===e.leftExpression.nodeType&&n.some((t=>t===e.leftExpression.value)))return!0}function eu(e,t,n,i){return(11!==e.nodeType||26!==e.constType)&&Xc(e,t,n,i)}function tu(e,t,n){if(void 0!==t&&void 0!==n){if(t=BigInt(t),n=BigInt(n),20===e)return tn;if(16===e)return t>=n;if(12===e)return t===n;if(28===e)return t!==n}}function nu(e,t,n){if(void 0!==t&&void 0!==n){if(12===e)return t===n;if(28===e)return t!==n}}function iu(e,t=["sys"]){return!(35!==e.nodeType||38!==e.leftExpression.nodeType||"version_info"!==e.memberName.value||!t.some((t=>t===e.leftExpression.value)))}class ru extends _r{constructor(e,t=!1){super(),this._moduleSymbolOnly=t,this._deferredBindingTasks=[],this._currentExceptTargets=[],this._finallyTargets=[],this._typingImportAliases=[],this._sysImportAliases=[],this._dataclassesImportAliases=[],this._typingSymbolAliases=new Map,this._dataclassesSymbolAliases=new Map,this._dunderAllStringNodes=[],this._usesUnsupportedDunderAllForm=!1,this._isInExceptSuite=!1,this._potentialHiddenSymbols=new Map,this._potentialPrivateSymbols=new Map,this._functionCodeFlowComplexity=0,this._fileInfo=e}bindModule(e){var t;const n=void 0===this._fileInfo.builtinsScope;this._createNewScope(n?4:3,this._fileInfo.builtinsScope,(()=>{Nt(e,this._currentScope),Ut(e,this._currentFlowNode),this._addImplicitSymbolToCurrentScope("__doc__",e,"str | None"),this._addImplicitSymbolToCurrentScope("__name__",e,"str"),this._addImplicitSymbolToCurrentScope("__qualname__",e,"str"),this._addImplicitSymbolToCurrentScope("__loader__",e,"Any"),this._addImplicitSymbolToCurrentScope("__package__",e,"str"),this._addImplicitSymbolToCurrentScope("__spec__",e,"Any"),this._addImplicitSymbolToCurrentScope("__path__",e,"Iterable[str]"),this._addImplicitSymbolToCurrentScope("__file__",e,"str"),this._addImplicitSymbolToCurrentScope("__cached__",e,"str"),this._addImplicitSymbolToCurrentScope("__dict__",e,"Dict[str, Any]"),this._addImplicitSymbolToCurrentScope("__annotations__",e,"Dict[str, Any]"),this._addImplicitSymbolToCurrentScope("__builtins__",e,"Any"),this._currentFlowNode=this._createStartFlowNode(),this._walkStatementsAndReportUnreachable(e.statements),Bt(e,this._currentScopeCodeFlowExpressions),Vt(e,this._currentFlowNode)})),this._bindDeferred(),this._potentialHiddenSymbols.forEach(((e,t)=>{var n;(null===(n=this._dunderAllNames)||void 0===n?void 0:n.some((e=>e===t)))||(this._fileInfo.isStubFile?e.setIsExternallyHidden():e.setPrivatePyTypedImport())})),this._potentialPrivateSymbols.forEach(((e,t)=>{var n;(null===(n=this._dunderAllNames)||void 0===n?void 0:n.some((e=>e===t)))||e.setIsPrivateMember()})),this._dunderAllNames?jt(e,{names:this._dunderAllNames,stringNodes:this._dunderAllStringNodes,usesUnsupportedDunderAllForm:this._usesUnsupportedDunderAllForm}):jt(e,void 0);const i=Ft(e);if(i&&this._dunderAllNames)for(const e of this._dunderAllNames)null===(t=i.symbolTable.get(e))||void 0===t||t.setIsInDunderAll()}visitModule(e){return E("We should never get here"),!1}visitSuite(e){return this._walkStatementsAndReportUnreachable(e.statements),!1}visitModuleName(e){const t=Rt(e);if(w(void 0!==t),!t||t.isNativeLib)return!0;if(!t.isImportFound)return this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingImports,$o.reportMissingImports,ml.Diagnostic.importResolveFailure().format({importName:t.importName}),e),!0;if(!t.isStubFile&&1===t.importType&&!t.pyTypedInfo){const n=this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingTypeStubs,$o.reportMissingTypeStubs,ml.Diagnostic.stubFileMissing().format({importName:t.importName}),e);if(n){const e={action:"pyright.createtypestub",moduleName:t.importName};n.addAction(e)}}return t.isStubFile&&0!==t.importType&&t.nonStubImportResult&&!t.nonStubImportResult.isImportFound&&(this._fileInfo.isStubFile||this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingModuleSource,$o.reportMissingModuleSource,ml.Diagnostic.importSourceResolveFailure().format({importName:t.importName}),e)),!0}visitClass(e){this.walkMultiple(e.decorators);const t={type:4,node:e,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},n=this._bindNameToScope(this._currentScope,e.name.value);n&&n.addDeclaration(t),Ot(e,t),this.walkMultiple(e.arguments);let i=this._currentScope;for(;2===i.type;)i=i.parent;return this._createNewScope(2,i,(()=>{Nt(e,this._currentScope),this._addImplicitSymbolToCurrentScope("__doc__",e,"str | None"),this._addImplicitSymbolToCurrentScope("__module__",e,"str"),this._moduleSymbolOnly||this.walk(e.suite)})),this._createAssignmentTargetFlowNodes(e.name,!1,!1),!1}visitFunction(e){Ut(e,this._currentFlowNode);const t=this._bindNameToScope(this._currentScope,e.name.value),n=Er(e,!0),i={type:3,node:e,isMethod:!!n,isGenerator:!1,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};return t&&t.addDeclaration(i),Ot(e,i),this.walkMultiple(e.decorators),e.parameters.forEach((e=>{e.defaultValue&&this.walk(e.defaultValue),e.typeAnnotation&&this.walk(e.typeAnnotation),e.typeAnnotationComment&&this.walk(e.typeAnnotationComment)})),e.returnTypeAnnotation&&this.walk(e.returnTypeAnnotation),e.functionAnnotationComment&&this.walk(e.functionAnnotationComment),this._createNewScope(1,this._getNonClassParentScope(),(()=>{Nt(e,this._currentScope),Er(e)&&this._addImplicitSymbolToCurrentScope("__class__",e,"class"),this._deferBinding((()=>{this._currentFlowNode=this._createStartFlowNode(),this._functionCodeFlowComplexity=0,e.parameters.forEach((e=>{if(e.name){const t=this._bindNameToScope(this._currentScope,e.name.value);if(t){const n={type:2,node:e,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n),Ot(e.name,n)}this._createFlowAssignment(e.name)}})),this._targetFunctionDeclaration=i,this._currentReturnTarget=this._createBranchLabel(),this.walk(e.suite),Vt(e.suite,this._currentFlowNode),this._addAntecedent(this._currentReturnTarget,this._currentFlowNode);const t=this._finishFlowLabel(this._currentReturnTarget);Vt(e,t),Bt(e,this._currentScopeCodeFlowExpressions),function(e,t){e.codeFlowComplexity=t}(e,this._functionCodeFlowComplexity)}))})),this._createAssignmentTargetFlowNodes(e.name,!1,!1),!1}visitLambda(e){return Ut(e,this._currentFlowNode),e.parameters.forEach((e=>{e.defaultValue&&this.walk(e.defaultValue)})),this._createNewScope(1,this._getNonClassParentScope(),(()=>{Nt(e,this._currentScope),this._deferBinding((()=>{this._currentFlowNode=this._createStartFlowNode(),e.parameters.forEach((e=>{if(e.name){const t=this._bindNameToScope(this._currentScope,e.name.value);if(t){const n={type:2,node:e,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n),Ot(e.name,n)}this._createFlowAssignment(e.name),this.walk(e.name)}})),this.walk(e.expression),Bt(e,this._currentScopeCodeFlowExpressions)}))})),!1}visitCall(e){var t,n;if(this._disableTrueFalseTargets((()=>{this.walk(e.leftExpression),this.walkMultiple(e.arguments)})),this._createCallFlowNode(e),3===this._currentScope.type&&35===e.leftExpression.nodeType&&38===e.leftExpression.leftExpression.nodeType&&"__all__"===e.leftExpression.leftExpression.value){let i=!0;if("extend"===e.leftExpression.memberName.value&&1===e.arguments.length){const t=e.arguments[0].valueExpression;if(31===t.nodeType)t.entries.forEach((e=>{var t,n;48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(e.strings[0].value),null===(n=this._dunderAllStringNodes)||void 0===n||n.push(e.strings[0]),i=!1)}));else if(35===t.nodeType&&38===t.leftExpression.nodeType&&"__all__"===t.memberName.value){const e=this._getDunderAllNamesFromImport(t.leftExpression.value);e&&e.length>0&&(e.forEach((e=>{var t;null===(t=this._dunderAllNames)||void 0===t||t.push(e)})),i=!1)}}else if("remove"===e.leftExpression.memberName.value&&1===e.arguments.length){const t=e.arguments[0].valueExpression;48===t.nodeType&&1===t.strings.length&&49===t.strings[0].nodeType&&this._dunderAllNames&&(this._dunderAllNames=this._dunderAllNames.filter((e=>e!==t.strings[0].value)),this._dunderAllStringNodes=this._dunderAllStringNodes.filter((e=>e.value!==t.strings[0].value)),i=!1)}else if("append"===e.leftExpression.memberName.value&&1===e.arguments.length){const r=e.arguments[0].valueExpression;48===r.nodeType&&1===r.strings.length&&49===r.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(r.strings[0].value),null===(n=this._dunderAllStringNodes)||void 0===n||n.push(r.strings[0]),i=!1)}i&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}return!1}visitAssignment(e){if(this._handleTypingStubAssignmentOrAnnotation(e))return!1;this._bindPossibleTupleNamedTarget(e.leftExpression),e.typeAnnotationComment&&(this.walk(e.typeAnnotationComment),this._addTypeDeclarationForVariable(e.leftExpression,e.typeAnnotationComment)),this.walk(e.rightExpression);let t=!0;if((kr(e)||9===e.rightExpression.nodeType&&this._fileInfo.isTypingStubFile||function(e){let t=e;for(;t;){switch(t.nodeType){case 26:case 57:return!0}t=t.parent}return!1}(e))&&(t=!1),this._addInferredTypeAssignmentForVariable(e.leftExpression,e.rightExpression,t),this._createAssignmentTargetFlowNodes(e.leftExpression,!0,!1),3===this._currentScope.type&&(38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value||54===e.leftExpression.nodeType&&38===e.leftExpression.valueExpression.nodeType&&"__all__"===e.leftExpression.valueExpression.value)){const t=e.rightExpression;this._dunderAllNames=[];let n=!1;31===t.nodeType?t.entries.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?(this._dunderAllNames.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0])):n=!0})):52===t.nodeType?t.expressions.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?(this._dunderAllNames.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0])):n=!0})):n=!0,n&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}if(2===this._currentScope.type&&(38===e.leftExpression.nodeType&&"__slots__"===e.leftExpression.value||54===e.leftExpression.nodeType&&38===e.leftExpression.valueExpression.nodeType&&"__slots__"===e.leftExpression.valueExpression.value)){const t=e.rightExpression,n=[];let i=!0;48===t.nodeType?n.push(t):31===t.nodeType?t.entries.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?n.push(e):i=!1})):52===t.nodeType?t.expressions.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?n.push(e):i=!1})):i=!1,i&&this._addSlotsToCurrentScope(n)}return!1}visitAssignmentExpression(e){this._disableTrueFalseTargets((()=>{this.walk(e.rightExpression)}));const t=function(e){let t=!1,n=Ar(e);for(;void 0!==n;)switch(n.nodeType){case 28:case 30:case 36:return n;case 10:return t?void 0:n;case 32:t=!0,n=Ar(n.parent);break;default:return}}(e);if(t){const n=Ft(t);let i=this._currentScope;for(;i&&i!==n;){if(i.lookUpSymbol(e.name.value)){this._addError(ml.Diagnostic.assignmentExprComprehension().format({name:e.name.value}),e.name);break}i=i.parent}this._bindNameToScope(n,e.name.value),this._addInferredTypeAssignmentForVariable(e.name,e.rightExpression),this._createAssignmentTargetFlowNodes(e.name,!0,!1)}else this._addError(ml.Diagnostic.assignmentExprContext(),e),this.walk(e.name);return!1}visitAugmentedAssignment(e){if(this.walk(e.leftExpression),this.walk(e.rightExpression),this._bindPossibleTupleNamedTarget(e.destExpression),this._createAssignmentTargetFlowNodes(e.destExpression,!1,!1),1===e.operator&&3===this._currentScope.type&&38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value){const t=e.rightExpression;let n=!0;if(31===t.nodeType)t.entries.forEach((e=>{var t;48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0]))})),n=!1;else if(35===t.nodeType&&38===t.leftExpression.nodeType&&"__all__"===t.memberName.value){const e=this._getDunderAllNamesFromImport(t.leftExpression.value);e&&(e.forEach((e=>{var t;null===(t=this._dunderAllNames)||void 0===t||t.push(e)})),n=!1)}n&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}return!1}visitDel(e){return e.expressions.forEach((e=>{this._bindPossibleTupleNamedTarget(e),this.walk(e),this._createAssignmentTargetFlowNodes(e,!1,!0)})),!1}visitTypeAnnotation(e){if(this._handleTypingStubAssignmentOrAnnotation(e))return!1;this.walk(e.typeAnnotation),this._createVariableAnnotationFlowNode(),this._bindPossibleTupleNamedTarget(e.valueExpression),this._addTypeDeclarationForVariable(e.valueExpression,e.typeAnnotation);const t=[];return this._isNarrowingExpression(e.valueExpression,t)&&t.forEach((e=>{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)})),this.walk(e.valueExpression),!1}visitFor(e){this._bindPossibleTupleNamedTarget(e.targetExpression),this._addInferredTypeAssignmentForVariable(e.targetExpression,e),this.walk(e.iterableExpression);const t=this._createLoopLabel(),n=this._createBranchLabel(),i=this._createBranchLabel();if(this._addAntecedent(t,this._currentFlowNode),this._currentFlowNode=t,this._addAntecedent(n,this._currentFlowNode),this._createAssignmentTargetFlowNodes(e.targetExpression,!0,!1),this._bindLoopStatement(t,i,(()=>{this.walk(e.forSuite),this._addAntecedent(t,this._currentFlowNode)})),this._currentFlowNode=this._finishFlowLabel(n),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),e.asyncToken){const t=kr(e);t&&t.isAsync||this._addError(ml.Diagnostic.asyncNotInAsyncFunction(),e.asyncToken)}return!1}visitContinue(e){return this._currentContinueTarget&&this._addAntecedent(this._currentContinueTarget,this._currentFlowNode),this._currentFlowNode=ru._unreachableFlowNode,!1}visitBreak(e){return this._currentBreakTarget&&this._addAntecedent(this._currentBreakTarget,this._currentFlowNode),this._currentFlowNode=ru._unreachableFlowNode,!1}visitReturn(e){return this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.returnStatements||(this._targetFunctionDeclaration.returnStatements=[]),this._targetFunctionDeclaration.returnStatements.push(e)),e.returnExpression&&this.walk(e.returnExpression),Ut(e,this._currentFlowNode),this._currentReturnTarget&&this._addAntecedent(this._currentReturnTarget,this._currentFlowNode),this._finallyTargets.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),this._currentFlowNode=ru._unreachableFlowNode,!1}visitYield(e){return this._isInListComprehension(e,!0)&&this._addError(ml.Diagnostic.yieldWithinListCompr(),e),this._bindYield(e),!1}visitYieldFrom(e){return this._isInListComprehension(e,!0)&&this._addError(ml.Diagnostic.yieldWithinListCompr(),e),this._bindYield(e),!1}visitMemberAccess(e){return Ut(e,this._currentFlowNode),!0}visitName(e){return Ut(e,this._currentFlowNode),!1}visitIndex(e){return Ut(e,this._currentFlowNode),!0}visitIf(e){const t=this._currentFlowNode,n=this._createBranchLabel(),i=this._createBranchLabel(),r=this._createBranchLabel(t);return r.affectedExpressions=this._trackCodeFlowExpressions((()=>{const t=eu(e.testExpression,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases);this._bindConditional(e.testExpression,n,i),this._currentFlowNode=!1===t?ru._unreachableFlowNode:this._finishFlowLabel(n),this.walk(e.ifSuite),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=!0===t?ru._unreachableFlowNode:this._finishFlowLabel(i),e.elseSuite?this.walk(e.elseSuite):this._bindNeverCondition(e.testExpression,r,!1),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(r)})),!1}visitWhile(e){const t=this._createBranchLabel(),n=this._createBranchLabel(),i=this._createBranchLabel(),r=eu(e.testExpression,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases),s=this._createLoopLabel();return this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=s,this._bindConditional(e.testExpression,t,n),this._currentFlowNode=!1===r?ru._unreachableFlowNode:this._finishFlowLabel(t),this._bindLoopStatement(s,i,(()=>{this.walk(e.whileSuite)})),this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=!0===r?ru._unreachableFlowNode:this._finishFlowLabel(n),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),!1}visitAssert(e){const t=this._createBranchLabel(),n=this._createBranchLabel();return this._bindConditional(e.testExpression,t,n),e.exceptionExpression&&(this._currentFlowNode=this._finishFlowLabel(n),this.walk(e.exceptionExpression)),this._currentFlowNode=this._finishFlowLabel(t),!1}visitExcept(e){if(e.typeExpression&&this.walk(e.typeExpression),e.name){this.walk(e.name);const t=this._bindNameToScope(this._currentScope,e.name.value);if(this._createAssignmentTargetFlowNodes(e.name,!0,!1),t){const n={type:1,node:e.name,isConstant:Zt(e.name.value),inferredTypeSource:e,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}const t=this._isInExceptSuite;return this._isInExceptSuite=!0,this.walk(e.exceptSuite),this._isInExceptSuite=t,e.name&&this._createFlowAssignment(e.name,!0),!1}visitRaise(e){return this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.raiseStatements||(this._targetFunctionDeclaration.raiseStatements=[]),this._targetFunctionDeclaration.raiseStatements.push(e)),e.typeExpression&&this.walk(e.typeExpression),e.valueExpression&&this.walk(e.valueExpression),e.tracebackExpression&&this.walk(e.tracebackExpression),this._finallyTargets.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),this._currentFlowNode=ru._unreachableFlowNode,!1}visitTry(e){const t=this._currentFlowNode,n=e.exceptClauses.map((()=>this._createBranchLabel())),i=this._createBranchLabel(t);let r=!1;const s=this._createBranchLabel(t),o={flags:ft.PreFinallyGate,id:kt(),antecedent:s,isGateClosed:!1};if(i.affectedExpressions=this._trackCodeFlowExpressions((()=>{e.finallySuite&&this._addAntecedent(i,o),e.exceptClauses.some((e=>!e.typeExpression))||n.push(s),n.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),e.finallySuite&&this._finallyTargets.push(s),this._useExceptTargets(n,(()=>{this.walk(e.trySuite)})),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._isCodeUnreachable()||(r=!0),e.exceptClauses.forEach(((e,t)=>{this._currentFlowNode=this._finishFlowLabel(n[t]),this.walk(e),this._addAntecedent(i,this._currentFlowNode),this._isCodeUnreachable()||(r=!0)})),e.finallySuite&&this._finallyTargets.pop(),this._currentFlowNode=this._finishFlowLabel(i)})),e.finallySuite){this.walk(e.finallySuite);const t={flags:ft.PostFinally,id:kt(),finallyNode:e.finallySuite,antecedent:this._currentFlowNode,preFinallyGate:o};this._currentFlowNode=r?t:ru._unreachableFlowNode}return this._functionCodeFlowComplexity+=4,!1}visitAwait(e){var t;const n=kr(e);if(void 0===n||!n.isAsync){if(this._fileInfo.isIPythonMode&&void 0===n)return!0;32!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&this._addError(ml.Diagnostic.awaitNotInAsync(),e)}return!0}visitGlobal(e){const t=this._currentScope.getGlobalScope();return e.nameList.forEach((e=>{const n=e.value;0===this._currentScope.getBindingType(n)&&this._addError(ml.Diagnostic.nonLocalRedefinition().format({name:n}),e);const i=this._currentScope.lookUpSymbolRecursive(n);i&&i.scope===this._currentScope&&this._addError(ml.Diagnostic.globalReassignment().format({name:n}),e),this._bindNameToScope(t,n),this._currentScope!==t&&this._currentScope.setBindingType(n,1)})),!0}visitNonlocal(e){const t=this._currentScope.getGlobalScope();return this._currentScope===t?this._addError(ml.Diagnostic.nonLocalInModule(),e):e.nameList.forEach((e=>{const n=e.value;1===this._currentScope.getBindingType(n)&&this._addError(ml.Diagnostic.globalRedefinition().format({name:n}),e);const i=this._currentScope.lookUpSymbolRecursive(n);i&&i.scope===this._currentScope?this._addError(ml.Diagnostic.nonLocalReassignment().format({name:n}),e):i&&i.scope!==t||this._addError(ml.Diagnostic.nonLocalNoBinding().format({name:n}),e),i&&this._currentScope.setBindingType(n,0)})),!0}visitImportAs(e){var t,n,i,r,s,o;if(e.module.nameParts.length>0){const a=e.module.nameParts[0].value;let l;l=e.alias?e.alias.value:a;const c=this._bindNameToScope(this._currentScope,l);!c||3!==this._currentScope.type&&4!==this._currentScope.type||e.alias&&1===e.module.nameParts.length&&e.module.nameParts[0].value===e.alias.value||(this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage)&&this._potentialHiddenSymbols.set(l,c);const u=Rt(e.module);w(void 0!==u),c&&this._createAliasDeclarationForMultipartImportName(e,e.alias,u,c),this._createFlowAssignment(e.alias?e.alias:e.module.nameParts[0]),1===e.module.nameParts.length&&("typing"===a||"typing_extensions"===a?this._typingImportAliases.push(null!==(n=null===(t=e.alias)||void 0===t?void 0:t.value)&&void 0!==n?n:a):"sys"===a?this._sysImportAliases.push(null!==(r=null===(i=e.alias)||void 0===i?void 0:i.value)&&void 0!==r?r:a):"dataclasses"===a&&this._dataclassesImportAliases.push(null!==(o=null===(s=e.alias)||void 0===s?void 0:s.value)&&void 0!==o?o:a))}return!0}visitImportFrom(e){const t=["Final","TypeAlias","ClassVar","Required","NotRequired","Annotated"],n=["InitVar"],i=Rt(e.module);let r="";i&&i.isImportFound&&!i.isNativeLib&&(r=i.resolvedPaths[i.resolvedPaths.length-1]);const s=he(de(this._fileInfo.filePath)),o="__init__"===s&&1===e.module.leadingDots&&1===e.module.nameParts.length;let a=!1,l=!1;if(1===e.module.nameParts.length){const t=e.module.nameParts[0].value;"typing"!==t&&"typing_extensions"!==t||(a=!0),"dataclasses"===t&&(l=!0)}if(e.isWildcardImport){if((Er(e)||kr(e))&&this._addError(ml.Diagnostic.wildcardInFunction(),e),i){const s=[],c=this._fileInfo.importLookup(r);if(c){const t=this._getWildcardImportNames(c);o&&(t.some((t=>t===e.module.nameParts[0].value))||this._addImplicitFromImport(e,i)),t.forEach((t=>{const n=this._bindNameToScope(this._currentScope,t);if(n)if(c.symbolTable.get(t)){const i={type:6,node:e,path:r,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,symbolName:t,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};n.addDeclaration(i),s.push(t)}else if(i&&i.filteredImplicitImports){const s=i.filteredImplicitImports.find((e=>e.name===t));if(s){const i={type:6,node:e,path:s.path,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},o={type:6,node:e,path:r,loadSymbolsFromPath:!0,usesLocalName:!1,symbolName:t,submoduleFallback:i,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};n.addDeclaration(o)}}}))}this._createFlowWildcardImport(e,s),a&&t.forEach((e=>{this._typingSymbolAliases.set(e,e)})),l&&n.forEach((e=>{this._dataclassesSymbolAliases.set(e,e)}))}}else o&&this._addImplicitFromImport(e,i),e.imports.forEach((o=>{const c=o.name.value,u=o.alias||o.name,p=this._bindNameToScope(this._currentScope,u.value);if(p){let d,h;e.module.nameParts.length>0&&(3!==this._currentScope.type&&4!==this._currentScope.type||o.alias&&o.alias.value===o.name.value||(this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage)&&this._potentialHiddenSymbols.set(u.value,p)),i&&i.filteredImplicitImports&&(d=i.filteredImplicitImports.find((e=>e.name===c)));let m=!0;d&&(h={type:6,node:o,path:d.path,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},"__init__"===s&&1===e.module.leadingDots&&0===e.module.nameParts.length&&(m=!1));const f={type:6,node:o,path:r,loadSymbolsFromPath:m,usesLocalName:!!o.alias,symbolName:c,submoduleFallback:h,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,isNativeLib:null==i?void 0:i.isNativeLib};p.addDeclaration(f),this._createFlowAssignment(o.alias||o.name),a&&t.some((e=>e===o.name.value))&&this._typingSymbolAliases.set(u.value,o.name.value),l&&n.some((e=>e===o.name.value))&&this._dataclassesSymbolAliases.set(u.value,o.name.value)}}));return!0}visitWith(e){e.withItems.forEach((e=>{this.walk(e.expression),e.target&&(this._bindPossibleTupleNamedTarget(e.target),this._addInferredTypeAssignmentForVariable(e.target,e),this._createAssignmentTargetFlowNodes(e.target,!0,!1))}));const t=this._createContextManagerLabel(e.withItems.map((e=>e.expression)),!!e.isAsync,!1);this._addAntecedent(t,this._currentFlowNode);const n=this._createContextManagerLabel(e.withItems.map((e=>e.expression)),!!e.isAsync,!0);this._currentExceptTargets.forEach((e=>{this._addAntecedent(e,n)}));const i=this._currentFlowNode,r=this._createBranchLabel(i);return this._addAntecedent(r,t),r.affectedExpressions=this._trackCodeFlowExpressions((()=>{if(this._useExceptTargets([t,n],(()=>{this.walk(e.suite)})),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=r,this._isCodeUnreachable()||this._addExceptTargets(this._currentFlowNode),e.asyncToken){const t=kr(e);t&&t.isAsync||this._addError(ml.Diagnostic.asyncNotInAsyncFunction(),e.asyncToken)}})),!1}visitTernary(e){const t=this._currentFlowNode,n=this._createBranchLabel(),i=this._createBranchLabel(),r=this._createBranchLabel(t);return r.affectedExpressions=this._trackCodeFlowExpressions((()=>{this._bindConditional(e.testExpression,n,i),this._currentFlowNode=this._finishFlowLabel(n),this.walk(e.ifExpression),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),this.walk(e.elseExpression),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(r)})),!1}visitUnaryOperation(e){return 38===e.operator&&this._currentFalseTarget&&this._currentTrueTarget?this._bindConditional(e.expression,this._currentFalseTarget,this._currentTrueTarget):this._disableTrueFalseTargets((()=>{this.walk(e.expression)})),!1}visitBinaryOperation(e){if(36===e.operator||37===e.operator){let t,n=this._currentTrueTarget,i=this._currentFalseTarget;n&&i||(t=this._createBranchLabel(),n=i=t);const r=this._createBranchLabel();36===e.operator?this._bindConditional(e.leftExpression,r,i):this._bindConditional(e.leftExpression,n,r),this._currentFlowNode=this._finishFlowLabel(r),this._bindConditional(e.rightExpression,n,i),t&&(this._currentFlowNode=this._finishFlowLabel(t))}else this._disableTrueFalseTargets((()=>{this.walk(e.leftExpression),this.walk(e.rightExpression)}));return!1}visitListComprehension(e){const t=kr(e);return this._createNewScope(0,this._getNonClassParentScope(),(()=>{var n;Nt(e,this._currentScope);const i=this._createBranchLabel();for(let i=0;i{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)}));const i=this._createBranchLabel();let r=!1;return e.cases.forEach((t=>{const s=this._createBranchLabel(),o=this._createBranchLabel(),a=this._createBranchLabel();this._addAntecedent(o,this._currentFlowNode),t.isIrrefutable?t.guardExpression||(r=!0):this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(o),this.walk(t.pattern),n&&this._createFlowNarrowForPattern(e.subjectExpression,t),t.guardExpression?this._bindConditional(t.guardExpression,a,s):this._addAntecedent(a,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(a),this.walk(t.suite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(s)})),n&&(this._createFlowNarrowForPattern(e.subjectExpression,e),r||this._createFlowExhaustedMatch(e)),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),!1}visitPatternAs(e){const t=this._createBranchLabel();if(e.orPatterns.forEach((e=>{this.walk(e),this._addAntecedent(t,this._currentFlowNode)})),this._currentFlowNode=this._finishFlowLabel(t),e.target){this.walk(e.target);const t=this._bindNameToScope(this._currentScope,e.target.value);if(this._createAssignmentTargetFlowNodes(e.target,!1,!1),t){const n={type:1,node:e.target,isConstant:Zt(e.target.value),inferredTypeSource:e,path:this._fileInfo.filePath,range:St(e.target.start,dt.getEnd(e.target),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}return!1}visitPatternCapture(e){return e.isWildcard||this._addPatternCaptureTarget(e.target),!0}visitPatternMappingExpandEntry(e){return"_"!==e.target.value&&this._addPatternCaptureTarget(e.target),!0}_getNonClassParentScope(){let e=this._currentScope;for(;2===e.type;)e=e.parent;return e}_addSlotsToCurrentScope(e){w(2===this._currentScope.type);let t=!1;for(const n of e){const e=n.strings[0].value;if("__dict__"===e){t=!0;continue}let i=this._currentScope.lookUpSymbol(e);if(!i){i=this._currentScope.addSymbol(e,9);const t="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(e)&&t&&i.setIsPrivateMember()}const r={type:1,node:n,isConstant:Zt(e),isDefinedBySlots:!0,path:this._fileInfo.filePath,range:St(n.start,n.start+n.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};i.addDeclaration(r)}t||this._currentScope.setSlotsNames(e.map((e=>e.strings[0].value)))}_isInListComprehension(e,t=!1){let n,i,r=e;for(;r;){if(32===r.nodeType){if(t&&r.forIfNodes.length>0){const e=r.forIfNodes[0];if(n===e&&33===e.nodeType&&i===e.iterableExpression)return!1}return!0}i=n,n=r,r=r.parent}return!1}_addPatternCaptureTarget(e){const t=this._bindNameToScope(this._currentScope,e.value);if(this._createAssignmentTargetFlowNodes(e,!1,!1),t){const n={type:1,node:e,isConstant:Zt(e.value),inferredTypeSource:e.parent,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}_useExceptTargets(e,t){const n=this._currentExceptTargets;this._currentExceptTargets=e,t(),this._currentExceptTargets=n}_getDunderAllNamesFromImport(e){var t;const n=this._currentScope.lookUpSymbol(e);if(!n)return;const i=n.getDeclarations().find((e=>6===e.type)),r=(null==i?void 0:i.path)&&i.loadSymbolsFromPath?i.path:(null===(t=null==i?void 0:i.submoduleFallback)||void 0===t?void 0:t.path)&&i.submoduleFallback.loadSymbolsFromPath?i.submoduleFallback.path:void 0;if(!r)return;const s=this._fileInfo.importLookup(r);return s?s.dunderAllNames:void 0}_addImplicitFromImport(e,t){const n=e.module.nameParts[0].value,i=this._bindNameToScope(this._currentScope,n);i&&this._createAliasDeclarationForMultipartImportName(e,void 0,t,i),this._createFlowAssignment(e.module.nameParts[0])}_createAliasDeclarationForMultipartImportName(e,t,n,i){const r=e.module.nameParts[0].value;if(n&&n.isImportFound&&!n.isNativeLib&&n.resolvedPaths.length>0){const s=i.getDeclarations().find((e=>6===e.type&&e.firstNamePart===r));let o;if(o=s||{type:6,node:e,path:n.resolvedPaths[n.resolvedPaths.length-1],loadSymbolsFromPath:!1,moduleName:n.importName,isInExceptSuite:this._isInExceptSuite,range:{start:{line:0,character:0},end:{line:0,character:0}},firstNamePart:r,usesLocalName:!!t},t||1===e.module.nameParts.length)o.path=n.resolvedPaths[n.resolvedPaths.length-1],o.loadSymbolsFromPath=!0,this._addImplicitImportsToLoaderActions(n,o);else{let t=o;for(let i=1;i=n.resolvedPaths.length);i++){const r=e.module.nameParts[i].value;let s=t.implicitImports?t.implicitImports.get(r):void 0;s||(s={path:n.resolvedPaths[i],loadSymbolsFromPath:!1,implicitImports:new Map},t.implicitImports||(t.implicitImports=new Map),t.implicitImports.set(r,s)),i===e.module.nameParts.length-1&&(s.path=n.resolvedPaths[i],s.loadSymbolsFromPath=!0,this._addImplicitImportsToLoaderActions(n,s)),t=s}}s||i.addDeclaration(o)}else{const n={type:6,node:e,path:"*** unresolved ***",loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!!t,moduleName:"",isUnresolved:!0,isInExceptSuite:this._isInExceptSuite};i.addDeclaration(n)}}_getWildcardImportNames(e){const t=[];if(e.dunderAllNames){if(!e.usesUnsupportedDunderAllForm)return e.dunderAllNames;t.push(...e.dunderAllNames)}return e.symbolTable.forEach(((e,n)=>{e.isExternallyHidden()||Yt(n)||t.push(n)})),t}_walkStatementsAndReportUnreachable(e){let t=!1;for(const n of e)Ut(n,this._currentFlowNode),t||(t=this._isCodeUnreachable()),t?this._targetFunctionDeclaration&&!this._targetFunctionDeclaration.isGenerator&&(new su).checkContainsYield(n)&&(this._targetFunctionDeclaration.isGenerator=!0):this.walk(n);return!1}_createStartFlowNode(){return{flags:ft.Start,id:kt()}}_createBranchLabel(e){return{flags:ft.BranchLabel,id:kt(),antecedents:[],preBranchAntecedent:e,affectedExpressions:void 0}}_createFlowNarrowForPattern(e,t){const n={flags:ft.NarrowForPattern,id:kt(),subjectExpression:e,statement:t,antecedent:this._currentFlowNode};this._currentFlowNode=n}_createContextManagerLabel(e,t,n){return{flags:ft.PostContextManager|ft.BranchLabel,id:kt(),antecedents:[],expressions:e,affectedExpressions:void 0,isAsync:t,blockIfSwallowsExceptions:n}}_createLoopLabel(){return{flags:ft.LoopLabel,id:kt(),antecedents:[],affectedExpressions:void 0}}_finishFlowLabel(e){return 0===e.antecedents.length?ru._unreachableFlowNode:1===e.antecedents.length&&e.flags===ft.BranchLabel?e.antecedents[0]:(this._functionCodeFlowComplexity+=e.antecedents.length,e)}_bindNeverCondition(e,t,n){const i=[];if(55===e.nodeType&&38===e.operator)this._bindNeverCondition(e.expression,t,!n);else if(7!==e.nodeType||36!==e.operator&&37!==e.operator)this._isNarrowingExpression(e,i,!0)&&i.filter((e=>38===e.nodeType)).length>0&&(this._currentFlowNode=this._createFlowConditional(n?ft.TrueNeverCondition:ft.FalseNeverCondition,this._currentFlowNode,e)),this._addAntecedent(t,this._currentFlowNode);else if(36===e.operator){const i=this._currentFlowNode;this._bindNeverCondition(e.leftExpression,t,n),this._currentFlowNode=i,this._bindNeverCondition(e.rightExpression,t,n)}else{const i=this._currentFlowNode,r=this._createBranchLabel();if(this._bindNeverCondition(e.leftExpression,r,n),i!==this._currentFlowNode){this._currentFlowNode=this._finishFlowLabel(r);const s=this._currentFlowNode;this._bindNeverCondition(e.rightExpression,t,n),s===this._currentFlowNode&&(this._currentFlowNode=i)}}}_bindConditional(e,t,n){this._setTrueFalseTargets(t,n,(()=>{this.walk(e)})),this._isLogicalExpression(e)||(this._addAntecedent(t,this._createFlowConditional(ft.TrueCondition,this._currentFlowNode,e)),this._addAntecedent(n,this._createFlowConditional(ft.FalseCondition,this._currentFlowNode,e)))}_disableTrueFalseTargets(e){this._setTrueFalseTargets(void 0,void 0,e)}_setTrueFalseTargets(e,t,n){const i=this._currentTrueTarget,r=this._currentFalseTarget;this._currentTrueTarget=e,this._currentFalseTarget=t,n(),this._currentTrueTarget=i,this._currentFalseTarget=r}_createFlowConditional(e,t,n){if(t.flags&ft.Unreachable)return t;const i=eu(n,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases);if(!0===i&&e&ft.FalseCondition||!1===i&&e&ft.TrueCondition)return ru._unreachableFlowNode;const r=[];if(!this._isNarrowingExpression(n,r))return t;r.forEach((e=>{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)}));const s=r.filter((e=>38===e.nodeType)),o={flags:e,id:kt(),reference:s.length>0?s[0]:void 0,expression:n,antecedent:t};return this._addExceptTargets(o),o}_isLogicalExpression(e){switch(e.nodeType){case 55:return 38===e.operator;case 7:return 36===e.operator||37===e.operator}return!1}_isNarrowingExpression(e,t,n=!1,i=!1){switch(e.nodeType){case 38:case 35:case 24:if(n){if(38!==e.nodeType)return!1;if(!i)return!1}return!!Dt(e)&&(t.push(e),!0);case 4:return t.push(e.name),this._isNarrowingExpression(e.rightExpression,t,n,!0),!0;case 7:{const i=39===e.operator||40===e.operator,r=12===e.operator||28===e.operator;if(i||r){if(11===e.rightExpression.nodeType&&26===e.rightExpression.constType)return this._isNarrowingExpression(e.leftExpression,t,n,!0);if(i&&9===e.leftExpression.nodeType&&38===e.leftExpression.leftExpression.nodeType&&"type"===e.leftExpression.leftExpression.value&&1===e.leftExpression.arguments.length&&0===e.leftExpression.arguments[0].argumentCategory)return this._isNarrowingExpression(e.leftExpression.arguments[0].valueExpression,t,n,!0);const s=this._isNarrowingExpression(e.leftExpression,t,n,!0);if(i)return s;if(r){const i=this._isNarrowingExpression(e.rightExpression,t,n,!0);return s||i}}return!(41!==e.operator&&42!==e.operator||48!==e.leftExpression.nodeType||!this._isNarrowingExpression(e.rightExpression,t,n,!0))||41===e.operator&&this._isNarrowingExpression(e.leftExpression,t,n,!0)}case 55:return 38===e.operator&&this._isNarrowingExpression(e.expression,t,n,!1);case 5:return this._isNarrowingExpression(e.rightExpression,t,n,!0);case 9:if(38===e.leftExpression.nodeType&&("isinstance"===e.leftExpression.value||"issubclass"===e.leftExpression.value)&&2===e.arguments.length)return this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0);if(38===e.leftExpression.nodeType&&"callable"===e.leftExpression.value&&1===e.arguments.length)return this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0);if(e.arguments.length>=1)return!n&&this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0)}return!1}_createAssignmentTargetFlowNodes(e,t,n){switch(e.nodeType){case 38:case 35:case 24:this._createFlowAssignment(e,n),t&&this.walk(e);break;case 52:e.expressions.forEach((e=>{this._createAssignmentTargetFlowNodes(e,t,n)}));break;case 54:this._createAssignmentTargetFlowNodes(e.valueExpression,!1,n),t&&this.walk(e);break;case 56:this._createAssignmentTargetFlowNodes(e.expression,!1,n),t&&this.walk(e);break;case 31:e.entries.forEach((e=>{this._createAssignmentTargetFlowNodes(e,t,n)}));break;default:t&&this.walk(e)}}_createCallFlowNode(e){if(!this._isCodeUnreachable()){const t={flags:ft.Call,id:kt(),node:e,antecedent:this._currentFlowNode};this._currentFlowNode=t}Ut(e,this._currentFlowNode),this._isCodeUnreachable()||this._addExceptTargets(this._currentFlowNode)}_createVariableAnnotationFlowNode(){if(!this._isCodeUnreachable()){const e={flags:ft.VariableAnnotation,id:kt(),antecedent:this._currentFlowNode};this._currentFlowNode=e}}_createFlowAssignment(e,t=!1){let n=0;if(38===e.nodeType){const t=this._currentScope.lookUpSymbolRecursive(e.value);w(void 0!==t),n=t.symbol.id}const i=this._currentFlowNode;if(!this._isCodeUnreachable()&&Dt(e)){const i={flags:ft.Assignment,id:kt(),node:e,antecedent:this._currentFlowNode,targetSymbolId:n},r=At(e);this._currentScopeCodeFlowExpressions.add(r),t&&(i.flags|=ft.Unbind),35===e.nodeType&&this._addExceptTargets(i),this._currentFlowNode=i}t&&void 0!==Lt(e)||Ut(e,t?i:this._currentFlowNode)}_createFlowWildcardImport(e,t){if(!this._isCodeUnreachable()){const n={flags:ft.WildcardImport,id:kt(),node:e,names:t,antecedent:this._currentFlowNode};this._addExceptTargets(n),this._currentFlowNode=n}Ut(e,this._currentFlowNode)}_createFlowExhaustedMatch(e){if(!this._isCodeUnreachable()){const t={flags:ft.ExhaustedMatch,id:kt(),node:e,antecedent:this._currentFlowNode};this._currentFlowNode=t}Ut(e,this._currentFlowNode)}_isCodeUnreachable(){return!!(this._currentFlowNode.flags&ft.Unreachable)}_addExceptTargets(e){this._currentExceptTargets&&this._currentExceptTargets.forEach((t=>{this._addAntecedent(t,e)}))}_trackCodeFlowExpressions(e){const t=this._currentScopeCodeFlowExpressions;this._currentScopeCodeFlowExpressions=new Set,e();const n=this._currentScopeCodeFlowExpressions;return t&&this._currentScopeCodeFlowExpressions.forEach((e=>{t.add(e)})),this._currentScopeCodeFlowExpressions=t,n}_bindLoopStatement(e,t,n){const i=this._currentContinueTarget,r=this._currentBreakTarget,s=this._functionCodeFlowComplexity;this._currentContinueTarget=e,this._currentBreakTarget=t,this._functionCodeFlowComplexity=1,e.affectedExpressions=this._trackCodeFlowExpressions(n),this._currentContinueTarget=i,this._currentBreakTarget=r,this._functionCodeFlowComplexity=2*this._functionCodeFlowComplexity+s}_addAntecedent(e,t){this._currentFlowNode.flags&ft.Unreachable||e.antecedents.some((e=>e.id===t.id))||e.antecedents.push(t)}_bindNameToScope(e,t,n){const i=this._currentScope.getBindingType(t);if(void 0===i){let i=e.lookUpSymbol(t);return i||(i=e.addSymbol(t,5),3!==this._currentScope.type&&4!==this._currentScope.type||Yt(t)&&(Kt(t)?i.setIsExternallyHidden():this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage?4===this._currentScope.type?i.setIsExternallyHidden():this._potentialPrivateSymbols.set(t,i):i.setIsPrivateMember()),n&&n.set(t,i)),i}{const e=(0===i?this._currentScope.parent:this._currentScope.getGlobalScope()).lookUpSymbolRecursive(t);if(e)return e.symbol}}_bindPossibleTupleNamedTarget(e,t){switch(e.nodeType){case 38:this._bindNameToScope(this._currentScope,e.value,t);break;case 52:e.expressions.forEach((e=>{this._bindPossibleTupleNamedTarget(e,t)}));break;case 31:e.entries.forEach((e=>{this._bindPossibleTupleNamedTarget(e,t)}));break;case 54:this._bindPossibleTupleNamedTarget(e.valueExpression,t);break;case 56:this._bindPossibleTupleNamedTarget(e.expression,t)}}_addImplicitSymbolToCurrentScope(e,t,n){const i=this._addSymbolToCurrentScope(e,!1);i&&(i.addDeclaration({type:0,node:t,intrinsicType:n,path:this._fileInfo.filePath,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite}),i.setIsIgnoredForProtocolMatch())}_addSymbolToCurrentScope(e,t){let n=this._currentScope.lookUpSymbol(e);if(!n){let i=0;t&&(i|=1),2===this._currentScope.type&&(i|=4),this._fileInfo.isStubFile&&Yt(e)&&(i|=2),n=this._currentScope.addSymbol(e,i)}return n}_createNewScope(e,t,n){const i=this._currentScope,r=new Zc(e,t);this._currentScope=r;const s=4===e||3===e||1===e,o=this._currentScopeCodeFlowExpressions;return s&&(this._currentScopeCodeFlowExpressions=new Set),n(),this._currentScopeCodeFlowExpressions=o,this._currentScope=i,r}_addInferredTypeAssignmentForVariable(e,t,n=!1){switch(e.nodeType){case 38:{const i=e,r=this._currentScope.lookUpSymbolRecursive(i.value);if(r&&r.symbol){const s={type:1,node:e,isConstant:Zt(e.value),inferredTypeSource:t,isInferenceAllowedInPyTyped:this._isInferenceAllowedInPyTyped(i.value),typeAliasName:n?e:void 0,path:this._fileInfo.filePath,range:St(i.start,dt.getEnd(i),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.symbol.addDeclaration(s)}break}case 35:{const n=this._getMemberAccessInfo(e);if(n){const i=e.memberName;let r=n.classScope.lookUpSymbol(i.value);if(!r){r=n.classScope.addSymbol(i.value,1);const e="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(i.value)&&e&&r.setIsPrivateMember()}n.isInstanceMember?r.isClassMember()&&r.getDeclarations().some((e=>3===e.type&&e.isMethod))||r.setIsInstanceMember():r.setIsClassMember();const s={type:1,node:e.memberName,isConstant:Zt(i.value),inferredTypeSource:t,isDefinedByMemberAccess:!0,path:this._fileInfo.filePath,range:St(e.memberName.start,e.memberName.start+e.memberName.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.addDeclaration(s)}break}case 52:e.expressions.forEach((e=>{this._addInferredTypeAssignmentForVariable(e,t)}));break;case 54:this._addInferredTypeAssignmentForVariable(e.valueExpression,t);break;case 56:this._addInferredTypeAssignmentForVariable(e.expression,t);break;case 31:e.entries.forEach((e=>{this._addInferredTypeAssignmentForVariable(e,t)}))}}_isInferenceAllowedInPyTyped(e){return["__match_args__","__slots__","__all__"].some((t=>t===e))}_addTypeDeclarationForVariable(e,t){var n,i,r;let s=!1;switch(e.nodeType){case 38:{const o=e,a=this._currentScope.lookUpSymbolRecursive(o.value);if(a&&a.symbol){const s=this._isAnnotationFinal(t),l=this._isAnnotationTypeAlias(t);let c=t,u=t;l?(c=void 0,u=void 0,2!==this._currentScope.type&&3!==this._currentScope.type&&4!==this._currentScope.type&&this._addError(ml.Diagnostic.typeAliasNotInModuleOrClass(),t)):s.isFinal&&(u=s.finalTypeNode,s.finalTypeNode||(c=void 0));let p=this._isAnnotationClassVar(t);if(p.isClassVar&&(u=p.classVarTypeNode,p.classVarTypeNode||(c=void 0)),s.isFinal){const t=Dr(e);t&&10===t.nodeType&&(3!==(null===(n=e.parent)||void 0===n?void 0:n.nodeType)&&3!==(null===(r=null===(i=e.parent)||void 0===i?void 0:i.parent)||void 0===r?void 0:r.nodeType)||(p={isClassVar:!0,classVarTypeNode:void 0}))}const d={type:1,node:e,isConstant:Zt(o.value),isFinal:s.isFinal,isClassVar:p.isClassVar,isRequired:this._isRequiredAnnotation(u),isNotRequired:this._isNotRequiredAnnotation(u),typeAliasAnnotation:l?t:void 0,typeAliasName:l?e:void 0,path:this._fileInfo.filePath,typeAnnotationNode:c,range:St(o.start,dt.getEnd(o),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};if(a.symbol.addDeclaration(d),p.isClassVar?a.symbol.setIsClassVar():a.symbol.setIsInstanceMember(),24===t.nodeType)if(this._isDataclassesAnnotation(t.baseExpression,"InitVar"))a.symbol.setIsInitVar();else if(this._isTypingAnnotation(t.baseExpression,"Annotated")&&t.items.length>0){const e=t.items[0].valueExpression;24===e.nodeType&&this._isDataclassesAnnotation(e.baseExpression,"InitVar")&&a.symbol.setIsInitVar()}}s=!0;break}case 35:{const n=this._getMemberAccessInfo(e);if(n){const i=e.memberName;let r=n.classScope.lookUpSymbol(i.value);if(!r){r=n.classScope.addSymbol(i.value,1);const e="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(i.value)&&e&&r.setIsPrivateMember()}n.isInstanceMember?r.setIsInstanceMember():r.setIsClassMember();const o=this._isAnnotationFinal(t),a={type:1,node:e.memberName,isConstant:Zt(i.value),isDefinedByMemberAccess:!0,isFinal:o.isFinal,path:this._fileInfo.filePath,typeAnnotationNode:o.isFinal&&!o.finalTypeNode?void 0:t,range:St(e.memberName.start,e.memberName.start+e.memberName.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.addDeclaration(a),s=!0}break}}s||this._addError(ml.Diagnostic.annotationNotSupported(),t)}_isTypingAnnotation(e,t){return this._isKnownAnnotation(e,t,this._typingImportAliases,this._typingSymbolAliases)}_isDataclassesAnnotation(e,t){return this._isKnownAnnotation(e,t,this._dataclassesImportAliases,this._dataclassesSymbolAliases)}_isKnownAnnotation(e,t,n,i){if(38===e.nodeType){if(i.get(e.value)===t)return!0}else if(35===e.nodeType&&38===e.leftExpression.nodeType&&e.memberName.value===t){const t=e.leftExpression.value;return n.some((e=>e===t))}return!1}_getVariableDocString(e){var t,n,i,r;let s,o=e;for(;o&&3!==o.nodeType;)54!==o.nodeType||s||(s=o),o=o.parent;if(3!==(null==o?void 0:o.nodeType)){if(!s)return;o=s}const a=o.parent;if(47!==(null==a?void 0:a.nodeType))return;const l=a.parent;if(!l||36!==l.nodeType&&50!==l.nodeType)return;const c=l.statements.findIndex((e=>e===a));if(c<0||c===l.statements.length-1)return;const u=l.statements[c+1];if(47!==u.nodeType||!qr(u))return;let p=!1;if(36===(null===(t=null==a?void 0:a.parent)||void 0===t?void 0:t.nodeType))p=!0;else if(50===(null===(n=null==a?void 0:a.parent)||void 0===n?void 0:n.nodeType)&&10===(null===(r=null===(i=null==a?void 0:a.parent)||void 0===i?void 0:i.parent)||void 0===r?void 0:r.nodeType))p=!0;else{const e=kr(a);e&&"__init__"===e.name.value&&Er(e,!0)&&(p=!0)}if(!p)return;const d=u.statements[0].strings;return 1===d.length?d[0].value:d.map((e=>e.value)).join("")}_isAnnotationFinal(e){let t,n=!1;return e&&(this._isTypingAnnotation(e,"Final")?n=!0:24===e.nodeType&&1===e.items.length&&(!this._isAnnotationFinal(e.baseExpression).isFinal||0!==e.items[0].argumentCategory||e.items[0].name||e.trailingComma||(n=!0,t=e.items[0].valueExpression))),{isFinal:n,finalTypeNode:t}}_isAnnotationClassVar(e){let t,n=!1;for(;e;){if(!(24===e.nodeType&&e.items.length>0&&this._isTypingAnnotation(e.baseExpression,"Annotated"))){if(this._isTypingAnnotation(e,"ClassVar")){n=!0;break}if(24===e.nodeType&&1===e.items.length){!this._isAnnotationClassVar(e.baseExpression).isClassVar||0!==e.items[0].argumentCategory||e.items[0].name||e.trailingComma||(n=!0,t=e.items[0].valueExpression);break}break}e=e.items[0].valueExpression}return{isClassVar:n,classVarTypeNode:t}}_isRequiredAnnotation(e){return!(!e||24!==e.nodeType||1!==e.items.length||!this._isTypingAnnotation(e.baseExpression,"Required"))}_isNotRequiredAnnotation(e){return!(!e||24!==e.nodeType||1!==e.items.length||!this._isTypingAnnotation(e.baseExpression,"NotRequired"))}_isAnnotationTypeAlias(e){return!!e&&this._isTypingAnnotation(e,"TypeAlias")}_getMemberAccessInfo(e){if(38!==e.leftExpression.nodeType)return;const t=e.leftExpression.value,n=kr(e);if(!n)return;const i=Er(n,!0);if(!i)return;let r=!1;if(n.parameters.length<1||!n.parameters[0].name)return;const s=i.name.value,o=n.parameters[0].name.value;if(t===s)r=!1;else{if(t!==o)return;if("__new__"===n.name.value)r=!1;else{r=!0;for(const e of n.decorators)if(38===e.expression.nodeType){const t=e.expression.value;if("staticmethod"===t)return;if("classmethod"===t){r=!1;break}}}}const a=Ft(i);return w(void 0!==a),{classNode:i,methodNode:n,classScope:a,isInstanceMember:r}}_addImplicitImportsToLoaderActions(e,t){e.filteredImplicitImports.forEach((e=>{const n=t.implicitImports?t.implicitImports.get(e.name):void 0;n?(n.path=e.path,n.loadSymbolsFromPath=!0):(t.implicitImports||(t.implicitImports=new Map),t.implicitImports.set(e.name,{path:e.path,loadSymbolsFromPath:!0,implicitImports:new Map}))}))}_handleTypingStubAssignmentOrAnnotation(e){if(!this._fileInfo.isTypingStubFile)return!1;let t;if(54===e.nodeType)t=e;else{if(54!==e.leftExpression.nodeType)return!1;t=e.leftExpression}if(38!==t.valueExpression.nodeType)return!1;const n=t.valueExpression,i=new Map([["Tuple",!0],["Generic",!0],["Protocol",!0],["Callable",!0],["Type",!0],["ClassVar",!0],["Final",!0],["Literal",!0],["TypedDict",!0],["Union",!0],["Optional",!0],["Annotated",!0],["TypeAlias",!0],["OrderedDict",!0],["Concatenate",!0],["TypeGuard",!0],["StrictTypeGuard",!0],["Unpack",!0],["Self",!0],["NoReturn",!0],["Never",!0],["LiteralString",!0]]),r=n.value;if(!i.has(r))return!1;const s=this._bindNameToScope(this._currentScope,r);return s&&s.addDeclaration({type:5,node:t,path:this._fileInfo.filePath,range:St(t.start,dt.getEnd(t),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite}),!0}_deferBinding(e){this._moduleSymbolOnly||this._deferredBindingTasks.push({scope:this._currentScope,codeFlowExpressions:this._currentScopeCodeFlowExpressions,callback:e})}_bindDeferred(){for(;this._deferredBindingTasks.length>0;){const e=this._deferredBindingTasks.shift();this._currentScope=e.scope,this._currentScopeCodeFlowExpressions=e.codeFlowExpressions,e.callback()}}_bindYield(e){const t=kr(e);t?t.isAsync&&61===e.nodeType&&this._addError(ml.Diagnostic.yieldFromOutsideAsync(),e):function(e){let t=e.parent;for(;t;){if(30===t.nodeType)return t;if(50===t.nodeType)return;t=t.parent}}(e)||this._addError(ml.Diagnostic.yieldOutsideFunction(),e),this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.yieldStatements||(this._targetFunctionDeclaration.yieldStatements=[]),this._targetFunctionDeclaration.yieldStatements.push(e),this._targetFunctionDeclaration.isGenerator=!0),e.expression&&this.walk(e.expression),Ut(e,this._currentFlowNode)}_addDiagnostic(e,t,n,i){let r;switch(e){case"error":r=this._addError(n,i);break;case"warning":r=this._addWarning(n,i);break;case"information":r=this._addInformation(n,i);break;case"none":break;default:return k(e,`${e} is not expected`)}return r&&r.setRule(t),r}_addError(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("error",e,t)}_addWarning(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("warning",e,t)}_addInformation(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("information",e,t)}}ru._unreachableFlowNode={flags:ft.Unreachable,id:kt()};class su extends _r{constructor(){super(...arguments),this._containsYield=!1}checkContainsYield(e){return this.walk(e),this._containsYield}visitYield(e){return this._containsYield=!0,!1}visitYieldFrom(e){return this._containsYield=!0,!1}}function ou(e,t,n,i){var r;if(4===n.nodeType)return null!==(r=ou(e,t,n.rightExpression,i))&&void 0!==r?r:ou(e,t,n.name,i);if(7===n.nodeType){const r=39===n.operator||40===n.operator,s=12===n.operator||28===n.operator;if(r||s){const o=39===n.operator||12===n.operator?i:!i;if(11===n.rightExpression.nodeType&&26===n.rightExpression.constType){let i=n.leftExpression;if(4===i.nodeType&&(i=i.name),Lr(t,i))return t=>function(e,t,n){const i=Ko(t,(e=>ta(e)));return e.mapSubtypesExpandTypeVars(i,void 0,((e,t)=>{if(ho(e))return e;const i=bo(t)&&0===t.details.constraints.length?t:e;return vo(e)&&Zs.isBuiltIn(e,"object")?n?Zo(to.createInstance(),e.condition):i:lo(e)===n?e:void 0}))}(e,t,o);if(24===i.nodeType&&Lr(t,i.baseExpression)&&1===i.items.length&&!i.trailingComma&&0===i.items[0].argumentCategory&&!i.items[0].name&&40===i.items[0].valueExpression.nodeType&&i.items[0].valueExpression.isInteger&&!i.items[0].valueExpression.isImaginary){const t=i.items[0].valueExpression.value;if("number"==typeof t)return n=>function(e,t,n,i){return e.mapSubtypesExpandTypeVars(t,void 0,(t=>{if(!vo(t)||!pa(t)||da(t)||!t.tupleTypeArguments)return t;const r=t.tupleTypeArguments.length;if(i<0||i>=r)return t;const s=e.makeTopLevelTypeVarsConcrete(t.tupleTypeArguments[i].type);if(n){if(!e.canAssignType(s,to.createInstance()))return}else if(lo(s))return;return t}))}(e,n,o,t)}}if(r&&9===n.leftExpression.nodeType){const i=e.getTypeOfExpression(n.leftExpression.leftExpression,void 0,2).type;if(_o(i)&&Zs.isBuiltIn(i,"type")&&1===n.leftExpression.arguments.length&&0===n.leftExpression.arguments[0].argumentCategory&&Lr(t,n.leftExpression.arguments[0].valueExpression)){const t=e.makeTopLevelTypeVarsConcrete(e.getTypeOfExpression(n.rightExpression).type);if(_o(t))return e=>function(e,t,n){return Ko(e,(e=>{if(vo(e)){const i=Zs.isDerivedFrom(t,Zs.cloneAsInstantiable(e));if(n)return i?Zs.isSameGenericClass(e,t)?e:Zs.cloneAsInstance(t):void 0;if(i&&Zs.isFinal(e))return;return e}return lo(e)?n?void 0:e:ho(e)&&n?Zs.cloneAsInstance(t):e}))}(e,t,o)}}if(r&&Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;if(vo(t)&&(Zs.isEnumClass(t)||Zs.isBuiltIn(t,"bool"))&&void 0!==t.literalValue)return n=>pu(e,n,t,o,!0)}if(s){const r=12===n.operator?i:!i;if(Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;if(vo(t)&&void 0!==t.literalValue)return n=>pu(e,n,t,r,!1)}if(Lr(t,n.rightExpression)){const t=e.getTypeOfExpression(n.leftExpression).type;if(vo(t)&&void 0!==t.literalValue)return n=>pu(e,n,t,r,!1)}if(24===n.leftExpression.nodeType&&1===n.leftExpression.items.length&&!n.leftExpression.trailingComma&&0===n.leftExpression.items[0].argumentCategory&&Lr(t,n.leftExpression.baseExpression)){const t=e.getTypeOfExpression(n.leftExpression.items[0].valueExpression).type;if(vo(t)&&ra(t))if(Zs.isBuiltIn(t,"str")){const i=e.getTypeOfExpression(n.rightExpression).type;if(vo(i)&&void 0!==i.literalValue)return n=>function(e,t,n,i,r){let s=!0;const o=Ko(t,(t=>{if(vo(t)&&Zs.isTypedDictClass(t)){const s=gl(e,t).get(n.literalValue);if(s&&sa(s.valueType))return r?e.canAssignType(s.valueType,i)?t:void 0:e.canAssignType(i,s.valueType)?void 0:t}return s=!1,t}));return s?o:t}(e,n,t,i,r)}else if(Zs.isBuiltIn(t,"int")){const i=e.getTypeOfExpression(n.rightExpression).type;if(vo(i)&&void 0!==i.literalValue)return n=>function(e,t,n,i,r){let s=!0;const o=Ko(t,(t=>{var o;if(vo(t)&&Zs.isTupleClass(t)&&!da(t)&&"number"==typeof n.literalValue){const s=n.literalValue;if(t.tupleTypeArguments&&s>=0&&sfunction(e,t,n,i){return Ko(t,(t=>{const r=e.makeTopLevelTypeVarsConcrete(t);return vo(r)&&pa(r)&&!da(r)&&r.tupleTypeArguments?r.tupleTypeArguments.length===n===i?t:void 0:t}))}(e,n,t,o)}}if(s&&35===n.leftExpression.nodeType&&Lr(t,n.leftExpression.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type,i=n.leftExpression.memberName;if(vo(t)&&void 0!==t.literalValue)return n=>uu(e,n,i.value,t,o)}if(35===n.leftExpression.nodeType&&Lr(t,n.leftExpression.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type,i=n.leftExpression.memberName;if(vo(t)&&(Zs.isEnumClass(t)||Zs.isBuiltIn(t,"bool"))&&void 0!==t.literalValue)return n=>uu(e,n,i.value,t,o)}}if(41===n.operator&&i&&Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;return n=>function(e,t,n){if(!vo(n)||!Zs.isBuiltIn(n))return t;const i=n.details.name;if(!["list","set","frozenset","deque","tuple"].some((e=>e===i)))return t;if(!n.typeArguments||1!==n.typeArguments.length)return t;let r=n.typeArguments[0];pa(n)&&n.tupleTypeArguments&&(r=Oo(n.tupleTypeArguments.map((e=>e.type))));let s=!0;const o=Qo(r),a=Ko(t,(t=>ho(t)?(s=!1,t):e.canAssignType(r,t)?t:e.canAssignType(o,t)?Ko(r,(e=>{if(vo(e)&&Lo(t,e))return e})):void 0));return s?a:t}(e,n,t)}if((41===n.operator||42===n.operator)&&Lr(t,n.rightExpression)){const t=e.getTypeOfExpression(n.leftExpression).type;if(vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)){const r=41===n.operator?i:!i;return n=>function(e,t,n,i){return Ko(t,(t=>{if(vo(t)&&Zs.isTypedDictClass(t)){const r=gl(e,t,!0).get(n.literalValue);if(i){if(!r)return Zs.isFinal(t)?void 0:t;if(r.isRequired||r.isProvided)return t;const e=t.typedDictNarrowedEntries,i=new Map;return e&&e.forEach(((e,t)=>{i.set(t,e)})),i.set(n.literalValue,{valueType:r.valueType,isRequired:!1,isProvided:!0}),Zs.cloneAsInstance(Zs.cloneForNarrowedTypedDictEntries(Zs.cloneAsInstantiable(t),i))}return void 0!==r&&(r.isRequired||r.isProvided)?void 0:t}return t}))}(e,n,Zs.cloneAsInstantiable(t),r)}}}if(9===n.nodeType){const r=e.getTypeOfExpression(n.leftExpression,void 0,2).type;if(Eo(r)&&("isinstance"===r.details.builtInName||"issubclass"===r.details.builtInName)&&2===n.arguments.length){const s="isinstance"===r.details.builtInName,o=n.arguments[0].valueExpression,a=n.arguments[1].valueExpression;if(Lr(t,o)){const t=function(e){let t=!1;const n=[],i=e=>{e.forEach((e=>{_o(e)||bo(e)&&Ks.isInstantiable(e)||co(e)||Eo(e)&&2===e.details.parameters.length&&1===e.details.parameters[0].category&&2===e.details.parameters[1].category?n.push(e):t=!0}))};return Jo(e,(e=>{yo(e)&&Ks.isInstance(e)&&pa(e)?e.tupleTypeArguments&&i(e.tupleTypeArguments.map((e=>e.type))):i([e])})),t?void 0:n}(e.getTypeOfExpression(a,void 0,168).type);if(t)return r=>{const o=cu(e,r,t,s,i,!1,n);return ao(o)?cu(e,r,t,s,i,!0,n):o}}}if(Eo(r)&&"callable"===r.details.builtInName&&1===n.arguments.length&&Lr(t,n.arguments[0].valueExpression))return t=>{let r=hu(e,t,i,n,!1);return i&&ao(r)&&(r=hu(e,t,i,n,!0)),r};if(_o(r)&&Zs.isBuiltIn(r,"bool")&&1===n.arguments.length&&!n.arguments[0].name&&Lr(t,n.arguments[0].valueExpression))return t=>lu(e,t,i);if(n.arguments.length>=1&&Lr(t,n.arguments[0].valueExpression)&&Eo(r)&&r.details.declaredReturnType&&vo(r.details.declaredReturnType)&&Zs.isBuiltIn(r.details.declaredReturnType,["TypeGuard","StrictTypeGuard"])){const t=e.getTypeOfExpression(n).type;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&t.typeGuardType){const n=Zs.isBuiltIn(r.details.declaredReturnType,"StrictTypeGuard"),s=t.typeGuardType;return t=>function(e,t,n,i,r){return r?Ko(t,(t=>Ko(n,(r=>{const s=e.canAssignType(n,t),o=e.canAssignType(t,r);if(i){if(s)return t;if(o)return r}else if(!s&&!s)return t})))):i?n:t}(e,t,s,i,n)}}}if(Lr(t,n))return t=>lu(e,t,i);if(38===n.nodeType&&38===t.nodeType&&n!==t){const r=au(e,n,n);if(r&&1===r.length&&1===r[0].type){const s=au(e,t,n);if(s){let o=[];if(s.length>1&&(o=s.filter((t=>e.isNodeReachable(n,t.node)&&e.isNodeReachable(t.node,r[0].node)))),0===o.length){const s=r[0].inferredTypeSource;if(s&&!Mr(n,s)&&yr(s))return ou(e,t,s,i)}}}}return 55===n.nodeType&&38===n.operator?ou(e,t,n.expression,!i):void 0}function au(e,t,n){const i=zs(t);if(1!==(null==i?void 0:i.type)&&3!==(null==i?void 0:i.type))return;const r=i.lookUpSymbol(t.value);if(!r)return;const s=r.getDeclarations();if(0===s.length||s.some((e=>1!==e.type&&2!==e.type)))return;let o;if(s.some((e=>{const t=Rr(2===e.type?e.node.name:e.node);return!(!o||t===o)||(o=t,!1)})))return;const a=s.filter((t=>e.isNodeReachable(n,t.node)));return a.length>0?a:void 0}function lu(e,t,n){return Ko(t,(t=>{if(n){if(e.canBeTruthy(t))return e.removeFalsinessFromType(t)}else if(e.canBeFalsy(t))return e.removeTruthinessFromType(t)}))}function cu(e,t,n,i,r,s,o){const a=Ko(t,(e=>ta(e))),l=(t,a,l,c)=>{const u=[];let p=!1,d=!1;for(const c of n){const n=e.makeTopLevelTypeVarsConcrete(c);if(_o(n)){const h=!bo(c)&&(Zs.isDerivedFrom(t,n)||i&&Zs.isProtocolClass(n)&&e.canAssignType(n,t)||Zs.isBuiltIn(n,"dict")&&Zs.isTypedDictClass(t)),m=Zs.isDerivedFrom(n,t)||i&&Zs.isProtocolClass(t)&&e.canAssignType(t,n);if(h&&(p=!0),m&&h&&!Zs.isSameGenericClass(t,n)&&(d=!0),r)if(h)u.push(Zo(t,l));else if(m){let n=c;if(yo(c)&&(Zs.isSpecialBuiltIn(c)||c.details.typeParameters.length>0)){const i=new jo(na(c)),r=Zs.cloneForSpecialization(c,void 0,!1);e.populateTypeVarMapBasedOnExpectedType(r,t,i,void 0)&&(n=fa(r,i,!0))}u.push(Zo(n,l))}else if(s){const e=``,r=qt(o);let s=Zs.createInstantiable(e,br(o,r.moduleName,e),r.moduleName,r.filePath,0,Ir(o),void 0,t.details.effectiveMetaclass,t.details.docString);s.details.baseClasses=[Zs.cloneAsInstantiable(t),n],Ha(s),s=Zo(s,n.condition),bo(a)&&!a.details.isParamSpec&&0===a.details.constraints.length&&(s=Zo(s,[{typeVarName:oo.getNameWithScope(a),constraintIndex:0,isConstrainedTypeVar:!1}])),u.push(i?Zs.cloneAsInstance(s):s)}}else if(bo(c)&&Ks.isInstantiable(c))i&&Ks.isInstance(a)?bo(a)&&Ao(Fa(c),a)?r&&u.push(a):r?u.push(Fa(c)):(u.push(a),d=!0):!i&&Ks.isInstantiable(a)&&(bo(a)&&Ao(c,a)?r&&u.push(a):r?u.push(c):(u.push(a),d=!0));else if(Eo(c)&&i){let e=!1;yo(t)&&(e=!!Ks.isInstantiable(a)||!!va(t,"__call__")),e&&(r?u.push(a):p=!0)}}return r||p&&!d||u.push(c),i?u.map((e=>Fa(e))):u},c=[],u=[],p=e.mapSubtypesExpandTypeVars(a,void 0,((t,s)=>{const a=Xo(t)?t:s,p=vo(t)&&Zs.isBuiltIn(t,"type");if(r&&ho(t))return i?c.push(Oo(n.map((e=>Fa(e))))):c.push(Oo(n)),void u.push(t);if(i){if(lo(t)){const e=n.some((e=>co(e)));return r?e?t:void 0:e?void 0:t}if((To(t)||vo(t)&&Zs.isBuiltIn(t,"ModuleType"))&&r){const t=n.filter((t=>{const n=e.makeTopLevelTypeVarsConcrete(t);return _o(n)&&Zs.isProtocolClass(n)}));if(t.length>0)return Fa(Oo(t))}if(vo(t)&&!p)return Oo(l(Zs.cloneAsInstantiable(t),Fa(s),Xo(t),a));if((Eo(t)||ko(t))&&i)return Oo(((t,i)=>{const s=[];if(r)for(const r of n){const n=e.makeTopLevelTypeVarsConcrete(r);e.canAssignType(t,Fa(n))&&(Eo(r)?s.push(i):s.push(Fa(r)))}else n.some((n=>{const i=e.makeTopLevelTypeVarsConcrete(n);return!(yo(i)&&!Zs.isProtocolClass(i))&&e.canAssignType(t,Fa(i))}))||s.push(i);return s})(t,Fa(s)));if(_o(t)||p){const e=n.some((e=>_o(e)&&Zs.isBuiltIn(e,"type")));return r?e?a:void 0:e?void 0:a}}else{if(_o(t))return Oo(l(t,s,Xo(t),a));if(p){const n=e.getBuiltInObject(o,"object");if(n&&vo(n))return Oo(l(Zs.cloneAsInstantiable(n),Na(s),Xo(t),a))}}return r?void 0:a}));return ao(p)&&c.length>0?Oo(c):u.length>0?Oo([p,...u]):p}function uu(e,t,n,i,r){return Ko(t,(t=>{let s;if(vo(t)?s=_a(t,n):_o(t)&&(s=va(t,n)),s&&s.isTypeDeclared){const n=e.getTypeOfMember(s);if(sa(n))return r?e.canAssignType(n,i)?t:void 0:e.canAssignType(i,n)?void 0:t}return t}))}function pu(e,t,n,i,r){return Ko(t,(t=>{if(vo(t=e.makeTopLevelTypeVarsConcrete(t))&&Zs.isSameGenericClass(n,t)){if(void 0!==t.literalValue){const e=Zs.isLiteralValueSame(t,n);if(e&&!i||!e&&i)return;return t}if(i)return n;{const i=du(e,t);if(i&&i.length>0)return Oo(i.filter((e=>!Zs.isLiteralValueSame(e,n))))}}else if(i&&(r||lo(t)))return;return t}))}function du(e,t){if(Zs.isBuiltIn(t,"bool"))return[Zs.cloneWithLiteral(t,!0),Zs.cloneWithLiteral(t,!1)];if(Zs.isEnumClass(t)){const n=[];return t.details.fields.forEach((i=>{if(!i.isIgnoredForProtocolMatch()){const r=e.getEffectiveTypeOfSymbol(i);vo(r)&&Zs.isSameGenericClass(t,r)&&void 0!==r.literalValue&&n.push(r)}})),n}}function hu(e,t,n,i,r){return e.mapSubtypesExpandTypeVars(t,void 0,(e=>{switch(e.category){case 5:case 6:return n?e:void 0;case 3:case 8:return n?void 0:e;case 7:if(Ks.isInstantiable(e))return n?e:void 0;if(va(e,"__call__"))return n?e:void 0;if(!n)return e;if(r){const t=``,n=qt(i);let r=Zs.createInstantiable(t,br(i,n.moduleName,t),n.moduleName,n.filePath,0,Ir(i),void 0,e.details.effectiveMetaclass,e.details.docString);r.details.baseClasses=[Zs.cloneAsInstantiable(e)],Ha(r),r=Zo(r,e.condition);const s=Xs.createInstance("__call__","","",64),o={category:0,name:"self",type:Zs.cloneAsInstance(r),hasDeclaredType:!0};return Xs.addParameter(s,o),Xs.addDefaultParameters(s),s.details.declaredReturnType=Ys.create(),r.details.fields.set("__call__",Vo.createWithType(4,s)),Zs.cloneAsInstance(r)}return;default:return e}}))}const mu=["builtins.bool","builtins.bytearray","builtins.bytes","builtins.dict","builtins.float","builtins.frozenset","builtins.int","builtins.list","builtins.set","builtins.str","builtins.tuple"];function fu(e,t,n,i){switch(n.nodeType){case 65:return function(e,t,n,i){if(!i)return t;let r=vu(e,t,n.entries.length,n.starEntryIndex);return r=r.filter((t=>{let i=!0;const r=[];let s=t.isTuple;if(n.entries.forEach(((o,a)=>{const l=Tu(e,n,t,a,n.entries.length,n.starEntryIndex,!0,!1),c=fu(e,l,o,!0);a===n.starEntryIndex?vo(c)&&c.tupleTypeArguments&&!da(c)&&c.tupleTypeArguments?r.push(...c.tupleTypeArguments.map((e=>e.type))):(r.push(c),s=!1):(r.push(c),ao(c)&&(i=!1))})),i){if(s){const i=e.getBuiltInType(n,"tuple");i&&_o(i)&&(t.subtype=Zs.cloneAsInstance(qa(i,r.map((e=>({type:e,isUnbounded:!1}))))))}if(t.isObject){const i=e.getTypingType(n,"Sequence");i&&_o(i)&&(t.subtype=Zs.cloneAsInstance(Zs.cloneForSpecialization(i,[Qo(Oo(r))],!0)))}}return i})),Oo(r.map((e=>e.subtype)))}(e,t,n,i);case 67:return function(e,t,n,i){const r=e.getTypeOfExpression(n.expression).type;return Ko(t,i?t=>{if(e.canAssignType(t,r))return r}:t=>{if(!(vo(r)&&ra(r)&&vo(t)&&ra(t)&&e.canAssignType(r,t)||lo(t)&&lo(r)))return vo(t)&&Zs.isBuiltIn(t,"bool")&&void 0===t.literalValue&&vo(r)&&Zs.isBuiltIn(r,"bool")&&void 0!==r.literalValue?Zs.cloneWithLiteral(r,!r.literalValue):t})}(e,t,n,i);case 68:return function(e,t,n,i){let r=e.getTypeOfExpression(n.className,void 0,2).type;if(yo(r)&&!r.typeAliasInfo&&(r=xa(r)),!i){if(!_o(r))return t;let s=r;s.details.typeParameters.length>0&&(s=Zs.cloneForSpecialization(s,void 0,!1));const o=Fa(s);return e.mapSubtypesExpandTypeVars(t,void 0,((t,r)=>{if(!vo(t))return r;if(!e.canAssignType(o,t))return t;if(0===n.arguments.length)return;if(!e.canAssignType(t,o)&&!Zs.isFinal(t))return t;if(1===n.arguments.length&&!n.arguments[0].name&&mu.some((e=>s.details.fullName===e)))return;let a=[];n.arguments.some((e=>!e.name))&&yo(t)&&(a=gu(e,t));for(let s=0;sho(r)?s:_o(r)?e.mapSubtypesExpandTypeVars(t,void 0,(t=>{if(ho(t))return Fa(s);if(vo(t)){let o;if(e.canAssignType(r,Zs.cloneAsInstantiable(t)))o=t;else{if(!e.canAssignType(Zs.cloneAsInstantiable(t),r))return;if(o=Zo(Fa(s),Xo(t)),_o(s)&&vo(t)&&(Zs.isSpecialBuiltIn(s)||s.details.typeParameters.length>0)){const n=new jo(na(s)),i=Zs.cloneForSpecialization(s,void 0,!1),r=Zs.cloneAsInstance(i);e.populateTypeVarMapBasedOnExpectedType(r,t,n,[])&&(o=fa(r,n,!0))}}let a=[];n.arguments.some((e=>!e.name))&&(a=gu(e,r));let l=!0;if(n.arguments.forEach(((t,n)=>{ao(yu(e,t,n,a,o,i))&&(l=!1)})),l)return o}})):void 0)):(e.addDiagnostic(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.DiagnosticAddendum.typeNotClass().format({type:e.printType(r)}),n.className),no.createNever())}(e,t,n,i);case 66:return function(e,t,n,i){let r=t;return i?Oo(n.orPatterns.map((t=>{const n=fu(e,r,t,!0);return r=fu(e,r,t,!1),n}))):(n.orPatterns.forEach((t=>{r=fu(e,r,t,!1)})),r)}(e,t,n,i);case 70:return function(e,t,n,i){if(!i)return t;let r=_u(e,t);return r=r.filter((t=>{let r=!0;return n.entries.forEach((s=>{if(t.typedDict){if(71===s.nodeType){const o=fu(e,e.getBuiltInObject(n,"str"),s.keyPattern,i);ao(o)&&(r=!1);const a=Ko(o,(n=>{if(ho(n))return n;if(vo(n)&&Zs.isBuiltIn(n,"str")){if(!ra(n))return Ys.create();const i=gl(e,t.typedDict).get(n.literalValue);if(i){const t=fu(e,i.valueType,s.valuePattern,!0);if(!ao(t))return t}}}));ao(a)&&(r=!1)}}else if(t.dictTypeArgs&&71===s.nodeType){const n=fu(e,t.dictTypeArgs.key,s.keyPattern,i),o=fu(e,t.dictTypeArgs.value,s.valuePattern,i);(ao(n)||ao(o))&&(r=!1)}})),r})),Oo(r.map((e=>e.subtype)))}(e,t,n,i);case 73:return function(e,t,n,i){const r=e.getTypeOfExpression(n.expression).type,s=[];return e.mapSubtypesExpandTypeVars(r,void 0,((r,o)=>{s.push(e.mapSubtypesExpandTypeVars(t,Xo(r),(t=>{if(!i){if(vo(t)&&Zs.isEnumClass(t)&&!ra(t)&&vo(r)&&Lo(t,r)&&ra(r)){const n=du(e,t);if(n)return Oo(n.filter((e=>!Zs.isLiteralValueSame(r,e))))}else if(vo(t)&&vo(r)&&Zs.isLiteralValueSame(r,t))return;return t}return ao(r)||ao(t)?no.createNever():ho(r)||ho(t)?po(r)||po(t)?Ys.create():io.create():e.useSpeculativeMode(n.expression,(()=>e.getTypeFromMagicMethodReturn(r,[t],"__eq__",n.expression,void 0)))?o:void 0})))})),Oo(s)}(e,t,n,i);case 69:return i?t:no.createNever();case 0:return t}}function gu(e,t){const n=va(t,"__match_args__");if(n){const t=e.getTypeOfMember(n);if(vo(t)&&pa(t)&&!da(t)&&t.tupleTypeArguments){const e=t.tupleTypeArguments;if(e.every((e=>vo(e.type)&&Zs.isBuiltIn(e.type,"str")&&ra(e.type))))return e.map((e=>e.type.literalValue))}}return[]}function yu(e,t,n,i,r,s){var o;let a,l;if(t.name?a=t.name.value:nr.details.fullName===e))&&0===n&&!t.name)l=Zs.cloneAsInstance(r);else if(a&&(l=null===(o=e.useSpeculativeMode(t,(()=>e.getTypeFromObjectMember(t,Zs.cloneAsInstance(r),a))))||void 0===o?void 0:o.type),!l){if(!s)return r;if(Zs.isFinal(r))return no.createNever();l=Ys.create()}return fu(e,l,t.pattern,s)}function _u(e,t){const n=[];return Jo(t,(t=>{const i=e.makeTopLevelTypeVarsConcrete(t);if(ho(i))n.push({subtype:t,dictTypeArgs:{key:i,value:i}});else if(vo(i))if(Zs.isTypedDictClass(i))n.push({subtype:t,typedDict:i});else{let e;for(const t of i.details.mro)if(_o(t)&&Zs.isBuiltIn(t,"Mapping")){e=t;break}if(e){const r=ha(e,i);r.typeArguments&&r.typeArguments.length>=2&&n.push({subtype:t,dictTypeArgs:{key:r.typeArguments[0],value:r.typeArguments[1]}})}}})),n}function vu(e,t,n,i){const r=[],s=void 0===i?n:n-1;return Jo(t,(t=>{const n=e.makeTopLevelTypeVarsConcrete(t);let o;if(ho(n))r.push({subtype:t,entryTypes:[n],isIndeterminateLength:!0});else if(vo(n)){if(Zs.isBuiltIn(n,"object"))return void r.push({subtype:t,entryTypes:[Fa(n)],isIndeterminateLength:!0,isObject:!0});for(const e of n.details.mro){if(!_o(e))break;if(Zs.isBuiltIn(e,"str")||Zs.isBuiltIn(e,"bytes")||Zs.isBuiltIn(e,"bytearray"))break;if(Zs.isBuiltIn(e,"Sequence")){o=e;break}if(pa(e)){o=e;break}}if(o){const e=ha(o,n);pa(e)?e.tupleTypeArguments&&(da(e)?r.push({subtype:t,entryTypes:[Oo(e.tupleTypeArguments.map((e=>e.type)))],isIndeterminateLength:!0,isTuple:!0}):e.tupleTypeArguments.length>=s&&(void 0!==i||e.tupleTypeArguments.length===s)&&r.push({subtype:t,entryTypes:e.tupleTypeArguments.map((e=>e.type)),isIndeterminateLength:!1,isTuple:!0})):r.push({subtype:t,entryTypes:[e.typeArguments&&e.typeArguments.length>0?e.typeArguments[0]:Ys.create()],isIndeterminateLength:!0})}}})),r}function Tu(e,t,n,i,r,s,o,a){if(n.isIndeterminateLength){let r=n.entryTypes[0];if(a){const n=e.getBuiltInObject(t,"object");n&&vo(n)&&(r=n)}return o||i!==s||ao(r)||(r=Iu(e,t,r)),r}if(void 0===s||iQo(e))));return o||(i=Iu(e,t,i)),i}const l=n.entryTypes.length-(r-i);return w(l>=0&&l{const a=Oo(s.map((t=>Tu(e,r,t,o,r.entries.length,r.starEntryIndex,!1,i))));bu(e,a,n,!1,t)}));break}case 66:r.target&&e.assignTypeToExpression(r.target,t,n,r.target),r.orPatterns.forEach((r=>{bu(e,t,n,i,r),t=fu(e,t,r,!1)}));break;case 69:e.assignTypeToExpression(r.target,r.isWildcard?io.create():t,n,r.target);break;case 70:{const i=_u(e,t);r.entries.forEach((t=>{const s=[],o=[];i.forEach((n=>{if(n.typedDict)if(71===t.nodeType){const i=fu(e,e.getBuiltInObject(r,"str"),t.keyPattern,!0);s.push(i),Jo(i,(t=>{if(vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)){const i=gl(e,n.typedDict).get(t.literalValue);o.push(i?i.valueType:Ys.create())}else o.push(Ys.create())}))}else 72===t.nodeType&&(s.push(e.getBuiltInObject(r,"str")),o.push(Ys.create()));else if(n.dictTypeArgs)if(71===t.nodeType){const i=fu(e,n.dictTypeArgs.key,t.keyPattern,!0);s.push(i),o.push(fu(e,n.dictTypeArgs.value,t.valuePattern,!0))}else 72===t.nodeType&&(s.push(n.dictTypeArgs.key),o.push(n.dictTypeArgs.value))}));const a=Oo(s),l=Oo(o);if(71===t.nodeType)bu(e,a,n,!1,t.keyPattern),bu(e,l,n,!1,t.valuePattern);else if(72===t.nodeType){const i=e.getBuiltInType(r,"dict"),s=e.getBuiltInObject(r,"str"),o=i&&_o(i)&&vo(s)?Zs.cloneAsInstance(Zs.cloneForSpecialization(i,[a,l],!0)):Ys.create();e.assignTypeToExpression(t.target,o,n,t.target)}}));break}case 68:{const i=r.arguments.map((e=>[]));e.mapSubtypesExpandTypeVars(t,void 0,(n=>{vo(n)?Jo(t,(t=>{const s=e.makeTopLevelTypeVarsConcrete(t);if(ho(s))r.arguments.forEach(((e,t)=>{i[t].push(s)}));else if(vo(s)){let t=[];r.arguments.some((e=>!e.name))&&(t=gu(e,Zs.cloneAsInstantiable(n))),r.arguments.forEach(((r,s)=>{const o=yu(e,r,s,t,Zs.cloneAsInstantiable(n),!0);i[s].push(o)}))}})):r.arguments.forEach(((e,t)=>{i[t].push(Ys.create())}))})),r.arguments.forEach(((t,r)=>{bu(e,Oo(i[r]),n,!1,t.pattern)}));break}}}function Iu(e,t,n){if(ao(n))return n;const i=Fa(e.getBuiltInObject(t,"list"));return i&&vo(i)?Zs.cloneForSpecialization(i,[n],!0):Ys.create()}const Su=new Map([["Tuple",{version:De.V3_9,fullName:"builtins.tuple",replacementText:"tuple"}],["List",{version:De.V3_9,fullName:"builtins.list",replacementText:"list"}],["Dict",{version:De.V3_9,fullName:"builtins.dict",replacementText:"dict"}],["Set",{version:De.V3_9,fullName:"builtins.set",replacementText:"set"}],["FrozenSet",{version:De.V3_9,fullName:"builtins.frozenset",replacementText:"frozenset"}],["Type",{version:De.V3_9,fullName:"builtins.type",replacementText:"type"}],["Deque",{version:De.V3_9,fullName:"collections.deque",replacementText:"collections.deque"}],["DefaultDict",{version:De.V3_9,fullName:"collections.defaultdict",replacementText:"collections.defaultdict"}],["OrderedDict",{version:De.V3_9,fullName:"collections.OrderedDict",replacementText:"collections.OrderedDict"}],["Counter",{version:De.V3_9,fullName:"collections.Counter",replacementText:"collections.Counter"}],["ChainMap",{version:De.V3_9,fullName:"collections.ChainMap",replacementText:"collections.ChainMap"}]]),xu=new Map([["Optional",{version:De.V3_10,fullName:"typing.Optional",replacementText:"| None"}],["Union",{version:De.V3_10,fullName:"typing.Union",replacementText:"|"}]]);class Cu extends _r{constructor(e,t){super(),this._isUnboundCheckSuppressed=!1,this._scopedNodes=[],this._microbitV2OnlyNames=new Set(["microbit.microphone","microbit.speaker","microbit.run_every","microbit.set_volume","microbit.Sound","microbit.SoundEvent","microbit.pin_logo","microbit.pin_speaker","microbit.audio.SoundEffect","log","power","audio.SoundEffect","neopixel.NeoPixel.fill","neopixel.NeoPixel.write"]),this._moduleNode=e,this._fileInfo=qt(e),this._evaluator=t}check(){this._scopedNodes.push(this._moduleNode),this._walkStatementsAndReportUnreachable(this._moduleNode.statements);const e=Wt(this._moduleNode);e&&(this._evaluator.markNamesAccessed(this._moduleNode,e.names),this._reportUnusedDunderAllSymbols(e.stringNodes)),this._validateSymbolTables(),this._reportDuplicateImports()}walk(e){zt(e)?this._evaluator.suppressDiagnostics(e,(()=>{super.walk(e)})):super.walk(e)}visitSuite(e){return this._walkStatementsAndReportUnreachable(e.statements),!1}visitStatementList(e){return e.statements.forEach((e=>{yr(e)&&this._evaluator.getType(e)})),!0}visitClass(e){const t=this._evaluator.getTypeOfClass(e);return this.walk(e.suite),this.walkMultiple(e.decorators),this.walkMultiple(e.arguments),t&&(Zs.isProtocolClass(t.classType)&&(e.arguments.forEach((e=>{if(!e.name){const n=this._evaluator.getType(e.valueExpression);n&&_o(n)&&!Zs.isBuiltIn(n,"Protocol")&&!Zs.isBuiltIn(n,"Generic")&&(Zs.isProtocolClass(n)||this._evaluator.addError(ml.Diagnostic.protocolBaseClass().format({classType:this._evaluator.printType(t.classType,!1),baseType:this._evaluator.printType(n,!1)}),e.valueExpression))}})),this._validateProtocolTypeParamVariance(e,t.classType)),this._fileInfo.isStubFile||(this._validateBaseClassOverrides(t.classType),this._validateSlotsClassVarConflict(t.classType)),this._validateMultipleInheritanceCompatibility(t.classType,e.name),this._validateConstructorConsistency(t.classType),this._validateFinalMemberOverrides(t.classType),this._validateInstanceVariableInitialization(t.classType),this._validateFinalClassNotAbstract(t.classType,e),this._validateDataClassPostInit(t.classType,e),this._validateProtocolCompatibility(t.classType,e),this._reportDuplicateEnumMembers(t.classType),Zs.isTypedDictClass(t.classType)&&this._validateTypedDictClassSuite(e.suite),Zs.isEnumClass(t.classType)&&this._validateEnumClassOverride(e,t.classType)),this._scopedNodes.push(e),!1}visitFunction(e){var t;const n=this._evaluator.getTypeOfFunction(e),i=Er(e,!0);if(n){let r=!1;e.parameters.forEach(((e,t)=>{if(e.name)if(1===e.category){const t=e.typeAnnotation||e.typeAnnotationComment;if(t&&35===t.nodeType&&"args"===t.memberName.value){const e=this._evaluator.getType(t.leftExpression);e&&bo(e)&&e.details.isParamSpec&&(r=!0)}}else 2===e.category&&(r=!1);if(e.name&&0===e.category&&r&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.namedParamAfterParamSpecArgs().format({name:e.name.value}),e.name),e.name&&"_"!==e.name.value){const i=n.functionType.details.parameters.find((t=>{var n;return t.name===(null===(n=e.name)||void 0===n?void 0:n.value)}));if(i){const r=i.type;if(po(r)||bo(r)&&r.details.isSynthesized&&!r.details.isSynthesizedSelf)this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.paramTypeUnknown().format({paramName:e.name.value}),e.name);else if(La(r)){const t=new il;t.addMessage(ml.DiagnosticAddendum.paramType().format({paramType:this._evaluator.printType(r,!0)})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.paramTypePartiallyUnknown().format({paramName:e.name.value})+t.getString(),e.name)}let s=!1;(n.functionType.details.parameters[t].typeAnnotation||bo(r)&&r.details.isSynthesizedSelf)&&(s=!0),s||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingParameterType,$o.reportMissingParameterType,ml.Diagnostic.paramAnnotationMissing().format({name:e.name.value}),e.name)}}if(e.defaultValue&&this._fileInfo.isStubFile){const t=this._evaluator.getType(e.defaultValue);t&&ca(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidStubStatement,$o.reportInvalidStubStatement,ml.Diagnostic.defaultValueNotEllipsis(),e.defaultValue)}}));const s=n.functionType.details.parameters.filter((e=>!!(e.typeAnnotation&&bo(e.type)&&wo(e.type)&&0!==e.category&&e.name&&e.type.paramSpecAccess)));1===s.length&&s[0].typeAnnotation&&this._evaluator.addError(ml.Diagnostic.paramSpecArgsKwargsUsage(),s[0].typeAnnotation),this._fileInfo.isStubFile&&(e.returnTypeAnnotation||(null===(t=e.functionAnnotationComment)||void 0===t?void 0:t.returnTypeAnnotation)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypeUnknown(),e.name)),i&&this._validateMethod(e,n.functionType,i)}if(e.parameters.forEach(((e,t)=>{if(e.defaultValue&&this.walk(e.defaultValue),e.typeAnnotation&&this.walk(e.typeAnnotation),e.typeAnnotationComment&&this.walk(e.typeAnnotationComment),n){const i=e.typeAnnotation||e.typeAnnotationComment;if(i&&t{e.name&&this.walk(e.name)})),this.walk(e.suite),n&&(this._validateFunctionReturn(e,n.functionType),this._validateDunderSignatures(e,n.functionType,void 0!==i),this._validateStrictTypeGuardFunction(e,n.functionType,void 0!==i)),this._fileInfo.isStubFile&&"__getattr__"===e.name.value){const t=zs(e);3===(null==t?void 0:t.type)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompleteStub,$o.reportIncompleteStub,ml.Diagnostic.stubUsesGetAttr(),e.name)}if(this._scopedNodes.push(e),this._validateFunctionTypeVarUsage(e),n&&ko(n.decoratedType)){const t=n.decoratedType.overloads;if(t.length>1){const n=100;t.length{if(e.name){const t=this._evaluator.getType(e.name);t&&(po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.paramTypeUnknown().format({paramName:e.name.value}),e.name):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.paramTypePartiallyUnknown().format({paramName:e.name.value}),e.name))}}));const t=this._evaluator.getType(e.expression);return t&&(po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.lambdaReturnTypeUnknown(),e.expression):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.lambdaReturnTypePartiallyUnknown().format({returnType:this._evaluator.printType(t,!0)}),e.expression)),this._scopedNodes.push(e),!1}visitCall(e){var t;if(this._validateIsInstanceCall(e),this._validateIllegalDefaultParamInitializer(e),("none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCallResult||"none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCoroutine)&&47===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)){const t=38===e.leftExpression.nodeType&&"reveal_type"===e.leftExpression.value,n=this._evaluator.getType(e);!t&&n&&this._isTypeValidForUnusedValueTest(n)&&(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCallResult,$o.reportUnusedCallResult,ml.Diagnostic.unusedCallResult().format({type:this._evaluator.printType(n,!1)}),e),vo(n)&&Zs.isBuiltIn(n,"Coroutine")&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCoroutine,$o.reportUnusedCoroutine,ml.Diagnostic.unusedCoroutine(),e))}return!0}visitAwait(e){var t;if("none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCallResult&&47===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&9===e.expression.nodeType){const t=this._evaluator.getType(e);t&&this._isTypeValidForUnusedValueTest(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCallResult,$o.reportUnusedCallResult,ml.Diagnostic.unusedCallResult().format({type:this._evaluator.printType(t,!1)}),e)}return!0}visitFor(e){return this._evaluator.evaluateTypesForStatement(e),!0}visitList(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitSet(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitDictionary(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitListComprehension(e){return this._scopedNodes.push(e),!0}visitIf(e){return this._evaluator.getType(e.testExpression),!0}visitWhile(e){return this._evaluator.getType(e.testExpression),!0}visitWith(e){return e.withItems.forEach((e=>{this._evaluator.evaluateTypesForStatement(e)})),!0}visitReturn(e){let t;const n=kr(e),i=n?this._evaluator.getFunctionDeclaredReturnType(n):void 0;if(t=e.returnExpression?this._evaluator.getType(e.returnExpression)||Ys.create():to.createInstance(),this._evaluator.isNodeReachable(e,void 0)&&n){if(i)if(ao(i))this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnContainsReturn(),e);else{const n=new il;let r=!1;if(this._evaluator.canAssignType(i,t,n,new jo,64))r=!0;else{const s=Sa(i);if(s&&s.some((e=>e.details.constraints.length>0))){const o=new jo;for(const t of s)if(t.details.constraints.length>0){const n=this._evaluator.narrowConstrainedTypeVar(e,t);n&&(o.setTypeVarType(t,n),o.addSolveForScope(na(t)))}if(!o.isEmpty()){const e=fa(i,o);this._evaluator.canAssignType(e,t,n,void 0,64)&&(r=!0)}}}r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnTypeMismatch().format({exprType:this._evaluator.printType(t,!1),returnType:this._evaluator.printType(i,!1)})+n.getString(),e.returnExpression?e.returnExpression:e)}po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.returnTypeUnknown(),e.returnExpression):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.returnTypePartiallyUnknown().format({returnType:this._evaluator.printType(t,!0)}),e.returnExpression)}return!0}visitYield(e){const t=e.expression?this._evaluator.getType(e.expression):to.createInstance();return this._validateYieldType(e,t||Ys.create()),!0}visitYieldFrom(e){const t=this._evaluator.getType(e.expression)||Ys.create();let n;if(vo(t)&&Zs.isBuiltIn(t,"Coroutine"))n=Ys.create();else{n=this._evaluator.getTypeFromIterable(t,!1,e)||Ys.create();const i=za(n);n=i?i.length>=1?i[0]:Ys.create():this._evaluator.getTypeFromIterator(t,!1,e)||Ys.create()}return this._validateYieldType(e,n),!0}visitRaise(e){if(this._evaluator.verifyRaiseExceptionType(e),e.valueExpression){const t=this._evaluator.getBuiltInType(e,"BaseException"),n=this._evaluator.getType(e.valueExpression);if(n&&t&&_o(t)){const i=new il;Jo(n,(e=>{ho(e=this._evaluator.makeTopLevelTypeVarsConcrete(e))||lo(e)||yo(e)&&Da(e,t,!1)||i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)}))})),i.isEmpty()||this._evaluator.addError(ml.Diagnostic.expectedExceptionObj()+i.getString(),e.valueExpression)}}return!0}visitExcept(e){if(e.typeExpression){this._evaluator.evaluateTypesForStatement(e);const t=this._evaluator.getType(e.typeExpression);t&&this._validateExceptionType(t,e.typeExpression)}return!0}visitAssert(e){e.exceptionExpression&&this._evaluator.getType(e.exceptionExpression);const t=this._evaluator.getType(e.testExpression);return t&&vo(t)&&pa(t)&&t.tupleTypeArguments&&t.tupleTypeArguments.length>0&&(da(t)||this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportAssertAlwaysTrue,$o.reportAssertAlwaysTrue,ml.Diagnostic.assertAlwaysTrue(),e.testExpression)),!0}visitAssignment(e){return this._evaluator.evaluateTypesForStatement(e),e.typeAnnotationComment&&this._evaluator.getType(e.typeAnnotationComment),!0}visitAssignmentExpression(e){return this._evaluator.getType(e),!0}visitAugmentedAssignment(e){return this._evaluator.evaluateTypesForStatement(e),!0}visitIndex(e){this._evaluator.getType(e);const t=this._evaluator.getType(e.baseExpression);return t&&Jo(t,(t=>{if(vo(t)&&t.tupleTypeArguments&&!da(t)){const n=t.tupleTypeArguments.length;if(1===e.items.length&&!e.trailingComma&&0===e.items[0].argumentCategory&&!e.items[0].name){const i=this._evaluator.getType(e.items[0].valueExpression);i&&vo(i)&&Zs.isBuiltIn(i,"int")&&ra(i)&&"number"==typeof i.literalValue&&(i.literalValue>=0&&i.literalValue>=n||i.literalValue<0&&i.literalValue+n<0)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.tupleIndexOutOfRange().format({index:i.literalValue,type:this._evaluator.printType(t)}),e)}}})),!0}visitBinaryOperation(e){return 12!==e.operator&&28!==e.operator||function(e){let t,n=e;for(;n;){switch(n.nodeType){case 2:return n.testExpression===t}t=n,n=n.parent}return!1}(e)||this._validateComparisonTypes(e),this._evaluator.getType(e),!0}visitSlice(e){return this._evaluator.getType(e),!0}visitUnpack(e){return this._evaluator.getType(e),!0}visitTuple(e){return this._evaluator.getType(e),!0}visitUnaryOperation(e){return this._evaluator.getType(e),!0}visitTernary(e){return this._evaluator.getType(e),!0}visitStringList(e){for(const t of e.strings)t.hasUnescapeErrors&&qc(t.token).unescapeErrors.forEach((e=>{const n={start:t.token.start+t.token.prefixLength+t.token.quoteMarkLength+e.offset,length:e.length};0===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportInvalidStringEscapeSequence,$o.reportInvalidStringEscapeSequence,ml.Diagnostic.stringUnsupportedEscape(),n):1===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringEscape(),n):2===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringBrace(),n):3===e.errorType&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringUnterminated(),n)}));return e.typeAnnotation&&this._evaluator.getType(e),e.strings.length>1&&!e.isParenthesized&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportImplicitStringConcatenation,$o.reportImplicitStringConcatenation,ml.Diagnostic.implicitStringConcat(),e),!0}visitFormatString(e){return e.expressions.forEach((e=>{this._evaluator.getType(e)})),!0}visitGlobal(e){return this._suppressUnboundCheck((()=>{e.nameList.forEach((e=>{this._evaluator.getType(e),this.walk(e)}))})),!1}visitNonlocal(e){return this._suppressUnboundCheck((()=>{e.nameList.forEach((e=>{this._evaluator.getType(e),this.walk(e)}))})),!1}visitName(e){return this._conditionallyReportPrivateUsage(e),this._reportMicrobitV2Name(e),this._isUnboundCheckSuppressed||this._reportUnboundName(e),!0}visitDel(e){return this._suppressUnboundCheck((()=>{e.expressions.forEach((e=>{this._evaluator.verifyDeleteExpression(e),this.walk(e)}))})),!1}visitMemberAccess(e){return this._evaluator.getType(e),this._conditionallyReportPrivateUsage(e.memberName),this._reportMicrobitV2Name(e.memberName),this.walk(e.leftExpression),!1}visitImportAs(e){return this._evaluator.evaluateTypesForStatement(e),this._reportMicrobitV2Name(e.module.nameParts[0]),!1}visitImportFrom(e){if(e.isWildcardImport){const t=Rt(e.module);t&&t.isImportFound&&2!==t.importType&&!this._fileInfo.isStubFile&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportWildcardImportFromLibrary,$o.reportWildcardImportFromLibrary,ml.Diagnostic.wildcardLibraryImport(),e.wildcardToken||e)}else e.imports.forEach((e=>{var t;this._evaluator.evaluateTypesForStatement(e),this._reportMicrobitV2Name(null!==(t=e.alias)&&void 0!==t?t:e.name)}));return this._reportMicrobitV2Name(e.module.nameParts[0]),!1}visitTypeAnnotation(e){return this._evaluator.getType(e.typeAnnotation),!0}visitMatch(e){return this._evaluator.getType(e.subjectExpression),this._validateExhaustiveMatch(e),!0}visitCase(e){return e.guardExpression&&this._evaluator.getType(e.guardExpression),this._evaluator.evaluateTypesForStatement(e.pattern),!0}visitPatternClass(e){return function(e,t){const n=e.getTypeOfExpression(t.className,void 0,2).type;ho(n)||(n.typeAliasInfo&&_o(n)&&n.typeArguments&&n.isTypeArgumentExplicit?e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternTypeAlias().format({type:e.printType(n)}),t.className):!_o(n)||n.includeSubclasses?e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.DiagnosticAddendum.typeNotClass().format({type:e.printType(n)}),t.className):mu.some((e=>n.details.fullName===e))&&(t.arguments.length>1?e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternBuiltInArgCount(),t.arguments[1]):1===t.arguments.length&&t.arguments[0].name&&e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternBuiltInArgPositional(),t.arguments[0].name)))}(this._evaluator,e),!0}visitTry(e){return this._reportUnusedExceptStatements(e),!0}visitError(e){return e.child&&this._evaluator.getType(e.child),!1}_validateExhaustiveMatch(e){if("none"===this._fileInfo.diagnosticRuleSet.reportMatchNotExhaustive)return;const t=this._evaluator.evaluateTypeForSubnode(e,(()=>{this._evaluator.evaluateTypesForMatchNode(e)}));if(t&&!ao(t.type)){const n=new il;n.addMessage(ml.DiagnosticAddendum.matchIsNotExhaustiveType().format({type:this._evaluator.printType(t.type)})),n.addMessage(ml.DiagnosticAddendum.matchIsNotExhaustiveHint()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMatchNotExhaustive,$o.reportMatchNotExhaustive,ml.Diagnostic.matchIsNotExhaustive()+n.getString(),e.subjectExpression)}}_suppressUnboundCheck(e){const t=this._isUnboundCheckSuppressed;this._isUnboundCheckSuppressed=!0;try{e()}finally{this._isUnboundCheckSuppressed=t}}_validateIllegalDefaultParamInitializer(e){"none"!==this._fileInfo.diagnosticRuleSet.reportCallInDefaultInitializer&&function(e){let t,n=e;for(;n;){if(41===n.nodeType&&t===n.defaultValue)return!0;if(30===n.nodeType||28===n.nodeType||10===n.nodeType||36===n.nodeType)return!1;t=n,n=n.parent}return!1}(e)&&!this._fileInfo.isStubFile&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportCallInDefaultInitializer,$o.reportCallInDefaultInitializer,ml.Diagnostic.defaultValueContainsCall(),e)}_validateComparisonTypes(e){const t=this._evaluator.getType(e.leftExpression),n=this._evaluator.getType(e.rightExpression);if(t&&n)if(sa(n)&&sa(t)){if(void 0===Xc(e,this._fileInfo.executionEnvironment)){let i=!1;Jo(t,(e=>{this._evaluator.canAssignType(n,e)&&(i=!0)})),i||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryComparison,$o.reportUnnecessaryComparison,ml.Diagnostic.comparisonAlwaysFalse().format({leftType:this._evaluator.printType(t,!0),rightType:this._evaluator.printType(n,!0)}),e)}}else{let i=!1;if(Jo(t,(e=>{i||(e=this._evaluator.makeTopLevelTypeVarsConcrete(e),Jo(n,(t=>{i||(t=this._evaluator.makeTopLevelTypeVarsConcrete(t),this._isTypeComparable(e,t)&&(i=!0))})))})),!i){const i=this._evaluator.printType(t,!0),r=this._evaluator.printType(n,!0),s=12===e.operator?ml.Diagnostic.comparisonAlwaysFalse():ml.Diagnostic.comparisonAlwaysTrue();this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryComparison,$o.reportUnnecessaryComparison,s.format({leftType:i,rightType:r}),e)}}}_isTypeComparable(e,t){if(ho(e)||ho(t))return!0;if(ao(e)||ao(t))return!1;if(To(e)||To(t))return!Ao(e,t);if(lo(e)||lo(t))return!Ao(e,t);if(_o(e)||vo(e)&&Zs.isBuiltIn(e,"type")){if(_o(t)||vo(t)&&Zs.isBuiltIn(t,"type")){const n=Zs.cloneForSpecialization(e,void 0,!1),i=Zs.cloneForSpecialization(t,void 0,!1);if(this._evaluator.canAssignType(n,i)||this._evaluator.canAssignType(i,n))return!0}const n=e.details.effectiveMetaclass;return!!(n&&yo(n)&&va(n,"__eq__",4))}if(vo(e)){if(vo(t)){const n=Zs.cloneForSpecialization(e,void 0,!1),i=Zs.cloneForSpecialization(t,void 0,!1);if(this._evaluator.canAssignType(n,i)||this._evaluator.canAssignType(i,n))return!0}return!!va(Zs.cloneAsInstantiable(e),"__eq__",4)}return!0}_isTypeValidForUnusedValueTest(e){return!lo(e)&&!ao(e)&&!ho(e)}_validateFunctionTypeVarUsage(e){if("none"===this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse)return;const t=new Map;let n=!0;const i=new Br(((i,r,s)=>{const o=this._evaluator.getType(i);if(o&&bo(o)&&o.scopeId===this._evaluator.getScopeIdForNode(e)){let e=o.details.constraints.length>0||n&&void 0!==o.details.boundType&&void 0!==r||wo(o);if(!e&&s&&void 0!==r){const t=this._evaluator.getType(s);(null==t?void 0:t.typeAliasInfo)&&t.typeAliasInfo.typeParameters&&r{const t=e.typeAnnotation||e.typeAnnotationComment;t&&i.walk(t)})),e.returnTypeAnnotation&&(n=!1,i.walk(e.returnTypeAnnotation)),t.forEach((e=>{1!==e.nodes.length||e.isExempt||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,$o.reportInvalidTypeVarUse,ml.Diagnostic.typeVarUsedOnlyOnce().format({name:e.nodes[0].value}),e.nodes[0])}))}_validateOverloadConsistency(e,t,n){for(let i=0;i!n||!_o(n)||Da(e,n,!1),r=new il;let s;return ho(e)?s=e:_o(e)?(i(e)||r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),s=Zs.cloneAsInstance(e)):vo(e)&&(s=Ko(this._evaluator.getTypeFromIterator(e,!1,t)||Ys.create(),(t=>ho(t)?t:_o(t)?(i(t)||r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),Zs.cloneAsInstance(t)):(r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),Ys.create())))),r.isEmpty()||this._evaluator.addError(ml.Diagnostic.exceptionTypeNotClass().format({type:this._evaluator.printType(e,!1)}),t),s||Ys.create()}_reportUnusedDunderAllSymbols(e){if("none"===this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll)return;const t=Ft(this._moduleNode);t&&e.forEach((e=>{t.symbolTable.has(e.value)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.dunderAllSymbolNotPresent().format({name:e.value}),e)}))}_validateSymbolTables(){for(const e of this._scopedNodes){const t=Ft(e);t&&t.symbolTable.forEach(((e,n)=>{this._conditionallyReportUnusedSymbol(n,e,t.type),this._reportIncompatibleDeclarations(n,e),this._reportMultipleFinalDeclarations(n,e,t.type),this._reportMultipleTypeAliasDeclarations(n,e),this._reportInvalidOverload(n,e)}))}}_reportInvalidOverload(e,t){const n=t.getTypedDeclarations();if(n.length>=1){const i=n[0];if(3===i.type){const n=this._evaluator.getEffectiveTypeOfSymbol(t),r=(ko(n)?n.overloads:Eo(n)?[n]:[]).filter((e=>Xs.isOverloaded(e)));if(1===r.length&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.singleOverload().format({name:e}),i.node.name),r.forEach((t=>{if(t.details.declaration&&!function(e){let t=!0;return e.suite.statements.forEach((e=>{0!==e.nodeType&&(47===e.nodeType?e.statements.forEach((e=>{18!==e.nodeType&&48!==e.nodeType&&42!==e.nodeType&&(t=!1)})):t=!1)})),t}(t.details.declaration.node)){const n=new il;n.addMessage(ml.DiagnosticAddendum.overloadWithImplementation()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadWithImplementation().format({name:e})+n.getString(),t.details.declaration.node.name)}})),!this._fileInfo.isStubFile&&r.length>0){let t;if(ko(n)&&!Xs.isOverloaded(n.overloads[n.overloads.length-1])?t=n.overloads[n.overloads.length-1]:Eo(n)&&!Xs.isOverloaded(n)&&(t=n),t)ko(n)&&n.overloads.forEach(((n,r)=>{if(n===t||!Xs.isOverloaded(n))return;const s=new il;if(!this._isLegalOverloadImplementation(n,t,s)&&t.details.declaration){const o=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadImplementationMismatch().format({name:e,index:r+1})+s.getString(),t.details.declaration.node.name);o&&n.details.declaration&&o.addRelatedInfo(ml.DiagnosticAddendum.overloadMethod(),i.path,i.range)}}));else{let e=!1;const t=Dr(i.node);if(t&&10===t.nodeType){const n=this._evaluator.getTypeOfClass(t);n&&Zs.isProtocolClass(n.classType)&&(e=!0)}e||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadWithoutImplementation().format({name:i.node.name.value}),i.node.name)}}}}}_reportMultipleFinalDeclarations(e,t,n){if(!Wo(t))return;const i=t.getDeclarations();let r=!1,s=!1;if(i.forEach((t=>{rs(t)&&(r&&this._evaluator.addError(ml.Diagnostic.finalRedeclaration().format({name:e}),t.node),r=!0),1===t.type&&t.inferredTypeSource&&(s&&2!==n&&this._evaluator.addError(ml.Diagnostic.finalReassigned().format({name:e}),t.node),s=!0)})),!s&&!this._fileInfo.isStubFile){const n=i.find((e=>1===e.type&&e.isFinal));if(n){let i=!1;if(t.isClassMember()&&!t.isClassVar()){const e=Er(n.node,!0);if(e){const t=this._evaluator.getTypeOfClass(e);t&&yo(t.decoratedType)&&Zs.isDataClass(t.decoratedType)&&(i=!0)}}i||this._evaluator.addError(ml.Diagnostic.finalUnassigned().format({name:e}),n.node)}}}_reportMultipleTypeAliasDeclarations(e,t){const n=t.getDeclarations(),i=n.find((e=>ss(e)));i&&n.length>1&&n.forEach((t=>{t!==i&&this._evaluator.addError(ml.Diagnostic.typeAliasRedeclared().format({name:e}),t.node)}))}_reportIncompatibleDeclarations(e,t){const n=qo(t);if(!n)return;if("_"===e)return;let i,r=t.getDeclarations().filter((e=>e!==n));if(3===n.type){const e=this._evaluator.getTypeOfFunction(n.node);r=r.filter((t=>{if(3!==t.type)return!0;const n=this._evaluator.getTypeOfFunction(t.node);if(!n)return!0;const i=e?this._evaluator.makeTopLevelTypeVarsConcrete(e.decoratedType):void 0;return i&&vo(i)&&Zs.isPropertyClass(i)&&vo(n.decoratedType)&&Zs.isPropertyClass(n.decoratedType)?n.decoratedType.details.typeSourceId!==i.details.typeSourceId:!Xs.isOverloaded(n.functionType)}))}if(0===r.length)return;i=3===n.type?n.isMethod?ml.DiagnosticAddendum.seeMethodDeclaration():ml.DiagnosticAddendum.seeFunctionDeclaration():4===n.type?ml.DiagnosticAddendum.seeClassDeclaration():2===n.type?ml.DiagnosticAddendum.seeParameterDeclaration():1===n.type?ml.DiagnosticAddendum.seeVariableDeclaration():ml.DiagnosticAddendum.seeDeclaration();const s=e=>{if(e){let t;3===n.type||4===n.type?t=n.node.name:1===n.type?38===n.node.nodeType&&(t=n.node):2===n.type&&n.node.name&&(t=n.node.name),t&&e.addRelatedInfo(i,n.path,n.range)}};for(const t of r)if(4===t.type)s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredClassDeclaration().format({name:e}),t.node.name));else if(3===t.type){const i=this._evaluator.getTypeForDeclaration(n);i&&Eo(i)&&this._evaluator.getFunctionInferredReturnType(i);let r=!1;const o=this._evaluator.getTypeForDeclaration(t),a=wr(n.node)===wr(t.node);o&&Eo(o)&&this._evaluator.getFunctionInferredReturnType(o),i&&o&&Ao(i,o)&&(r=!0),(!r||a)&&s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,t.isMethod?ml.Diagnostic.obscuredMethodDeclaration().format({name:e}):ml.Diagnostic.obscuredFunctionDeclaration().format({name:e}),t.node.name))}else if(2===t.type)t.node.name&&s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredParameterDeclaration().format({name:e}),t.node.name));else if(1===t.type){const i=this._evaluator.getTypeForDeclaration(n);if(t.typeAnnotationNode){if(38===t.node.nodeType){let n=!1;const r=this._evaluator.getTypeForDeclaration(t);i&&r&&Ao(i,r)&&(n=!0),n||s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredVariableDeclaration().format({name:e}),t.node))}}else!i||ua(i)||3!==n.type&&4!==n.type||s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredVariableDeclaration().format({name:e}),t.node))}}_conditionallyReportUnusedSymbol(e,t,n){const i=this._fileInfo.accessedSymbolMap;t.isIgnoredForProtocolMatch()||i.has(t.id)||"_"!==e&&(Qt(e)||t.getDeclarations().forEach((t=>{this._conditionallyReportUnusedDeclaration(t,this._isSymbolPrivate(e,n))})))}_conditionallyReportUnusedDeclaration(e,t){let n,i,r,s;switch(e.type){case 6:if(n=this._fileInfo.diagnosticRuleSet.reportUnusedImport,s=$o.reportUnusedImport,21===e.node.nodeType)if(e.node.alias)this._fileInfo.isStubFile||(i=e.node.alias);else{const t=e.node.module.nameParts;if(t.length>0){const e=t.map((e=>e.value)).join("."),n={start:t[0].start,length:t[0].length};return dt.extend(n,t[t.length-1]),this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unaccessedSymbol().format({name:e}),n,{action:"pyright.unusedImport"}),void this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportUnusedImport,$o.reportUnusedImport,ml.Diagnostic.unaccessedImport().format({name:e}),n)}}else if(23===e.node.nodeType){const t=e.node.parent,n=this._fileInfo.isStubFile&&void 0!==e.node.alias,r=1===t.module.nameParts.length&&"__future__"===t.module.nameParts[0].value;n||r||(i=e.node.alias||e.node.name)}i&&(r=ml.Diagnostic.unaccessedImport().format({name:i.value}));break;case 1:case 2:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedVariable,38===e.node.nodeType?(i=e.node,i.value.startsWith("_")&&(n="none")):41===e.node.nodeType&&(i=e.node.name,n="none"),i&&(s=$o.reportUnusedVariable,r=ml.Diagnostic.unaccessedVariable().format({name:i.value}));break;case 4:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedClass,i=e.node.name,s=$o.reportUnusedClass,r=ml.Diagnostic.unaccessedClass().format({name:i.value});break;case 3:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedFunction,i=e.node.name,s=$o.reportUnusedFunction,r=ml.Diagnostic.unaccessedFunction().format({name:i.value});break;default:return}if(i&&void 0!==s&&r){const e=s===$o.reportUnusedImport?{action:"pyright.unusedImport"}:void 0;this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unaccessedSymbol().format({name:i.value}),i,e),this._evaluator.addDiagnostic(n,s,r,i)}}_validateIsInstanceCall(e){if(38!==e.leftExpression.nodeType||"isinstance"!==e.leftExpression.value&&"issubclass"!==e.leftExpression.value||2!==e.arguments.length)return;const t=e.leftExpression.value,n="isinstance"===t;let i=this._evaluator.getType(e.arguments[0].valueExpression);if(!i)return;i=Ko(i,(e=>ta(e)));const r=this._evaluator.getType(e.arguments[1].valueExpression);if(!r)return;let s=!0;if(Jo(r,(e=>{vo(e)&&Zs.isTupleClass(e)&&e.tupleTypeArguments?e.tupleTypeArguments.some((e=>!this._isTypeSupportedTypeForIsInstance(e.type,n)))&&(s=!1):this._isTypeSupportedTypeForIsInstance(e,n)||(s=!1)})),!s){const t=new il;t.addMessage(ml.DiagnosticAddendum.typeVarNotAllowed()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,n?ml.Diagnostic.isInstanceInvalidType().format({type:this._evaluator.printType(r,!1)})+t.getString():ml.Diagnostic.isSubclassInvalidType().format({type:this._evaluator.printType(r,!1)})+t.getString(),e.arguments[1])}let o=e;for(;o;){if(2===o.nodeType)return;o=o.parent}const a=["FunctionType","LambdaType","BuiltinFunctionType","BuiltinMethodType","type","Type"],l=[];let c=!1;if(Jo(r,(e=>{yo(e)?Ks.isInstantiable(e)?void 0===e.literalValue&&(l.push(e),Zs.isBuiltIn(e)&&a.some((t=>t===e.details.name))&&(s=!1),e.includeSubclasses&&(c=!0)):(pa(e)?e.tupleTypeArguments&&e.tupleTypeArguments.forEach((e=>{_o(e.type)?(l.push(e.type),e.type.includeSubclasses&&(c=!0)):s=!1})):e.includeSubclasses&&(c=!0),Zs.isBuiltIn(e)&&a.some((t=>t===e.details.name))&&(s=!1)):s=!1})),!s)return;if(l.some((e=>Zs.isProtocolClass(e)&&!Zs.isRuntimeCheckable(e)))&&this._evaluator.addError(ml.Diagnostic.protocolUsedInCall().format({name:t}),e.arguments[1].valueExpression),function(e){let t=!1;return Jo(e,(n=>{ho(e)?t=!0:_o(n)?Zs.hasUnknownBaseClass(n)&&(t=!0):vo(n)&&Zs.hasUnknownBaseClass(n)&&(t=!0)})),t}(i))return;const u=e=>Oo(e),p=e=>{const t=[];for(const i of l){const r=Zs.isDerivedFrom(e,i)||n&&Zs.isProtocolClass(i)&&this._evaluator.canAssignType(i,e)||Zs.isBuiltIn(i,"dict")&&Zs.isTypedDictClass(e),s=Zs.isDerivedFrom(i,e)||n&&Zs.isProtocolClass(e)&&this._evaluator.canAssignType(e,i);s&&s&&!Zs.isSameGenericClass(e,i)?t.push(Ys.create()):r?t.push(e):s&&t.push(i)}return n?t.map((e=>_o(e)?Zs.cloneAsInstance(e):e)):t};let d;if(n&&vo(i))d=u(p(Zs.cloneAsInstantiable(i)));else if(!n&&_o(i))d=u(p(i));else{if(!fo(i))return;{let e=[],t=!1;if(Jo(i,(i=>{ho(i)&&(t=!0),n&&vo(i)?e=e.concat(p(Zs.cloneAsInstantiable(i))):!n&&_o(i)&&(e=e.concat(p(i)))})),d=u(e),t)return}}const h=()=>Oo(l.map((e=>Zs.cloneAsInstance(e))));!c&&Ao(d,i,!0)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryIsInstance,$o.reportUnnecessaryIsInstance,n?ml.Diagnostic.unnecessaryIsInstanceAlways().format({testType:this._evaluator.printType(i,!1),classType:this._evaluator.printType(h(),!1)}):ml.Diagnostic.unnecessaryIsSubclassAlways().format({testType:this._evaluator.printType(i,!1),classType:this._evaluator.printType(h(),!1)}),e)}_isTypeSupportedTypeForIsInstance(e,t){let n=!0;return Jo(e,(e=>{switch((e=this._evaluator.makeTopLevelTypeVarsConcrete(e)).category){case 2:case 1:case 0:break;case 7:e.isTypeArgumentExplicit&&!e.includeSubclasses&&(n=!1);break;case 3:n=!!t&&Ks.isInstantiable(e);break;case 5:n=Ks.isInstantiable(e);break;case 9:n=this._isTypeSupportedTypeForIsInstance(e,t);break;default:n=!1}})),n}_isSymbolPrivate(e,t){return 1===t||0===t||(!!Kt(e)||!!Jt(e)&&!(2===t))}_reportDeprecatedUse(e){var t;const n=null!==(t=Su.get(e.value))&&void 0!==t?t:xu.get(e.value);if(!n)return;const i=this._evaluator.getType(e);i&&_o(i)&&i.details.fullName===n.fullName&&this._fileInfo.executionEnvironment.pythonVersion>=n.version&&this._evaluator.addDeprecated(ml.Diagnostic.deprecatedType().format({version:Pe(n.version),replacement:n.replacementText}),e)}_reportUnboundName(e){if("none"!==this._fileInfo.diagnosticRuleSet.reportUnboundVariable&&!zt(e)){const t=this._evaluator.getType(e);t&&(mo(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnboundVariable,$o.reportUnboundVariable,ml.Diagnostic.symbolIsUnbound().format({name:e.value}),e):go(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnboundVariable,$o.reportUnboundVariable,ml.Diagnostic.symbolIsPossiblyUnbound().format({name:e.value}),e))}}_conditionallyReportPrivateUsage(e){var t;if("none"===this._fileInfo.diagnosticRuleSet.reportPrivateUsage)return;if(this._fileInfo.isStubFile)return;if(1===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.name===e)return;const n=e.value,i=Kt(n),r=Jt(n);if(!i&&!r)return;const s=this._evaluator.getDeclarationsForNameNode(e);let o,a=s&&s.length>0?s[s.length-1]:void 0;if(!a||a.node===e)return;if(6===a.type){if(a.usesLocalName)return;const e=this._evaluator.resolveAliasDeclarationWithInfo(a,!0);if(!e)return;if(a=e.declaration,!e.isPrivate)return}if(!a||a.node===e)return;a.node&&(o=Er(a.node)),a.node&&a.node.parent&&a.node.parent===o&&(o=Er(o));let l=!1;if(o&&r){const t=this._evaluator.getTypeOfClass(o);if(t&&_o(t.decoratedType)){if(Zs.isDefinedInStub(t.decoratedType))return;l=!0;const n=Er(e);if(n){const e=this._evaluator.getTypeOfClass(n);if(e&&_o(e.decoratedType)&&Da(e.decoratedType,t.decoratedType,!0))return}}}o&&!Mr(e,o)&&(l?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.protectedUsedOutsideOfClass().format({name:n}),e):this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfClass().format({name:n}),e))}_validateEnumClassOverride(e,t){t.details.baseClasses.forEach(((t,n)=>{if(yo(t)&&Zs.isEnumClass(t)){let i=!1;t.details.fields.forEach((e=>{const n=this._evaluator.getEffectiveTypeOfSymbol(e);vo(n)&&Zs.isSameGenericClass(n,t)&&(i=!0)})),i&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.enumClassOverride().format({name:t.details.name}),e.arguments[n])}}))}_validateTypedDictClassSuite(e){const t=e=>{this._evaluator.addError(ml.Diagnostic.typedDictBadVar(),e)};e.statements.forEach((e=>{if(!zt(e))if(47===e.nodeType)for(const n of e.statements)54!==n.nodeType&&18!==n.nodeType&&48!==n.nodeType&&42!==n.nodeType&&t(n);else t(e)}))}_validateStrictTypeGuardFunction(e,t,n){var i;if(!t.details.declaredReturnType)return;if(!vo(t.details.declaredReturnType)||!Zs.isBuiltIn(t.details.declaredReturnType,"StrictTypeGuard")||!t.details.declaredReturnType.typeArguments||t.details.declaredReturnType.typeArguments.length<1)return;const r=t.details.declaredReturnType.typeArguments[0],s=n&&!Xs.isStaticMethod(t)?1:0;if(s>=t.details.parameters.length)return;const o=Xs.getEffectiveParameterType(t,s);if(!this._evaluator.canAssignType(o,r)){const t=e.returnTypeAnnotation||(null===(i=e.functionAnnotationComment)||void 0===i?void 0:i.returnTypeAnnotation);t&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.strictTypeGuardReturnType().format({type:this._evaluator.printType(o),returnType:this._evaluator.printType(r)}),t)}}_validateDunderSignatures(e,t,n){var i;const r=t.details.name;if(n&&"__init__"===r){const n=e.returnTypeAnnotation||(null===(i=e.functionAnnotationComment)||void 0===i?void 0:i.returnTypeAnnotation),r=t.details.declaredReturnType;if(n&&r)lo(r)||ao(r)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.initMustReturnNone(),n);else{const n=this._evaluator.getFunctionInferredReturnType(t);ao(n)||lo(n)||ho(n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.initMustReturnNone(),e.name)}}}_validateFunctionReturn(e,t){var n;if(this._fileInfo.isStubFile)return;const i=e.returnTypeAnnotation||(null===(n=e.functionAnnotationComment)||void 0===n?void 0:n.returnTypeAnnotation);if(i){const n=!this._evaluator.isAfterNodeReachable(e),r=this._evaluator.isAfterNodeReachable(e.suite);let s=t.details.declaredReturnType;if(s){po(s)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.declaredReturnTypeUnknown(),i):La(s)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.declaredReturnTypePartiallyUnknown().format({returnType:this._evaluator.printType(s,!0)}),i);const e=new il;bo(s)&&2===s.details.variance&&(e.addMessage(ml.DiagnosticAddendum.typeVarIsContravariant().format({name:oo.getReadableName(s)})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnTypeContravariant()+e.getString(),i))}if(Xs.isGenerator(t)&&(s=Pa(t)),s&&!n&&r)if(ao(s))Or(e.suite)||Xs.isOverloaded(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnReturnsNone(),i);else if(!Xs.isAbstractMethod(t)){const n=new il;this._evaluator.canAssignType(s,to.createInstance(),n)||Or(e.suite)||Xs.isOverloaded(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnMissing().format({returnType:this._evaluator.printType(s,!1)})+n.getString(),i)}}else{const n=this._evaluator.getFunctionInferredReturnType(t);po(n)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypeUnknown(),e.name):La(n)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypePartiallyUnknown().format({returnType:this._evaluator.printType(n,!0)}),e.name)}}_validateFinalMemberOverrides(e){e.details.fields.forEach(((t,n)=>{const i=va(e,n,1);if(i&&_o(i.classType)&&Wo(i.symbol)&&!Kt(n)){const e=t.getDeclarations()[0];this._evaluator.addError(ml.Diagnostic.finalRedeclarationBySubclass().format({name:n,className:i.classType.details.name}),e.node)}}))}_reportDuplicateEnumMembers(e){Zs.isEnumClass(e)&&!Zs.isBuiltIn(e)&&e.details.fields.forEach(((t,n)=>{if(t.getTypedDeclarations().length>0)return;const i=t.getDeclarations();if(i.length>=2&&1===i[0].type){const r=this._evaluator.getEffectiveTypeOfSymbol(t);vo(r)&&Zs.isSameGenericClass(r,e)&&void 0!==r.literalValue&&this._evaluator.addError(ml.Diagnostic.duplicateEnumMember().format({name:n}),i[1].node)}}))}_validateProtocolCompatibility(e,t){if(Zs.isProtocolClass(e))return;const n=new il,i=t=>e.details.mro.some((e=>yo(e)&&!Zs.isProtocolClass(e)&&e.details.fields.has(t)));e.details.baseClasses.forEach((e=>{yo(e)&&Zs.isProtocolClass(e)&&ga(e).forEach(((e,t)=>{const r=e.symbol.getDeclarations();0!==r.length&&yo(e.classType)&&(1===r[0].type?r.some((e=>1===e.type&&!!e.inferredTypeSource))||i(t)||n.addMessage(ml.DiagnosticAddendum.missingProtocolMember().format({name:t,classType:e.classType.details.name})):3===r[0].type&&Or(r[0].node.suite)&&r[0]&&".pyi"!==pe(r[0].path).toLowerCase()&&(i(t)||n.addMessage(ml.DiagnosticAddendum.missingProtocolMember().format({name:t,classType:e.classType.details.name}))))}))})),n.isEmpty()||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.missingProtocolMembers()+n.getString(),t.name)}_validateDataClassPostInit(e,t){if(!Zs.isDataClass(e))return;const n=va(e,"__post_init__",18);if(!n)return;const i=new Map;e.details.fields.forEach(((e,t)=>{e.isInitVar()&&i.set(t,e)}));const r=this._evaluator.getTypeOfMember(n);if(!Eo(r)||!Xs.isInstanceMethod(r)||!r.details.declaration)return;const s=Ho(r);if(void 0!==s.argsIndex||void 0!==s.kwargsIndex||void 0!==s.firstKeywordOnlyIndex)return;const o=s.params.filter((e=>!e.param.hasDefault)),a=i.size+1;(as.params.length)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassPostInitParamCount().format({expected:i.size}),r.details.declaration.node.name);let l=1;i.forEach(((e,t)=>{if(l>=s.params.length)return;const n=s.params[l].param;if(n.hasDeclaredType&&n.typeAnnotation){const i=this._evaluator.getDeclaredTypeOfSymbol(e),o=Xs.getEffectiveParameterType(r,s.params[l].index),a=new il;if(i&&!this._evaluator.canAssignType(o,i,a)){const i=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassPostInitType().format({fieldName:t})+a.getString(),n.typeAnnotation);if(i){const t=e.getTypedDeclarations();t.length>0&&i.addRelatedInfo(ml.DiagnosticAddendum.dataClassFieldLocation(),t[0].path,t[0].range)}}}l++}))}_validateFinalClassNotAbstract(e,t){if(!Zs.isFinal(e))return;if(!Zs.supportsAbstractMethods(e))return;const n=this._evaluator.getAbstractMethods(e);if(0===n.length)return;const i=new il;n.forEach(((e,t)=>{if(2===t)i.addMessage(ml.DiagnosticAddendum.memberIsAbstractMore().format({count:n.length-2}));else if(t<2&&_o(e.classType)){const t=e.classType.details.name;i.addMessage(ml.DiagnosticAddendum.memberIsAbstract().format({type:t,name:e.symbolName}))}})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.finalClassIsAbstract().format({type:e.details.name})+i.getString(),t.name)}_validateInstanceVariableInitialization(e){"none"!==this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable&&e.details.fields.forEach(((t,n)=>{if(!t.isInstanceMember())return;const i=t.getDeclarations();i.find((e=>{const t=Dr(e.node);return!t||10===t.nodeType||"__init__"===t.name.value}))||va(e,n,1)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable,$o.reportUninitializedInstanceVariable,ml.Diagnostic.uninitializedInstanceVariable().format({name:n}),i[0].node)}))}_validateProtocolTypeParamVariance(e,t){const n=t.details.typeParameters.filter((e=>!wo(e)));if(0===n.length)return;const i=this._evaluator.getBuiltInType(e,"object");if(!_o(i))return;const r=n.map((e=>Io(e)?e:oo.cloneAsInvariant(e))),s=Zs.cloneWithNewTypeParameters(t,r),o=Zs.cloneAsInstance(i),a=Zs.createInstantiable("__protocolVarianceDummy","","","",0,0,void 0,void 0);r.forEach(((i,l)=>{if(i.details.isVariadic)return;const c=r.map(((e,t)=>e.details.isVariadic?e:t===l?o:a)),u=r.map(((e,t)=>t===l||e.details.isVariadic?e:a)),p=Zs.cloneForSpecialization(s,c,!0),d=Zs.cloneForSpecialization(s,u,!0);let h;if(h=this._evaluator.canAssignProtocolClassToSelf(p,d)?1:this._evaluator.canAssignProtocolClassToSelf(d,p)?2:0,h!==n[l].details.variance){let n;n=1===h?ml.Diagnostic.protocolVarianceCovariant().format({variable:i.details.name,class:t.details.name}):2===h?ml.Diagnostic.protocolVarianceContravariant().format({variable:i.details.name,class:t.details.name}):ml.Diagnostic.protocolVarianceInvariant().format({variable:i.details.name,class:t.details.name}),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,$o.reportInvalidTypeVarUse,n,e.name)}}))}_validateSlotsClassVarConflict(e){e.details.localSlotsNames&&e.details.fields.forEach(((e,t)=>{const n=e.getDeclarations();n.some((e=>1===e.type&&e.isDefinedBySlots))&&n.forEach((e=>{1!==e.type||e.isDefinedBySlots||e.isDefinedByMemberAccess||38===e.node.nodeType&&$r(e.node)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.slotsClassVarConflict().format({name:t}),e.node)}))}))}_validateConstructorConsistency(e){const t=va(e,"__init__",12),n=va(e,"__new__",12);if(!(t&&n&&yo(t.classType)&&yo(n.classType)))return;if(!Zs.isSameGenericClass(n.classType,e)&&!Zs.isSameGenericClass(t.classType,e))return;const i=n.classType.details.effectiveMetaclass;if(i&&yo(i)&&!Zs.isBuiltIn(i,"type")&&va(i,"__call__",40))return;let r=this._evaluator.getTypeOfMember(n);if(!Eo(r)&&!ko(r))return;if(r=this._evaluator.bindFunctionToClassOrObject(e,r,void 0,void 0,void 0,!0),!r)return;if(ko(r)&&(r=r.overloads.find((e=>!Xs.isOverloaded(e))),!r))return;let s=this._evaluator.getTypeOfMember(t);if((Eo(s)||ko(s))&&(s=this._evaluator.bindFunctionToClassOrObject(Zs.cloneAsInstance(e),s),s&&(!ko(s)||(s=s.overloads.find((e=>!Xs.isOverloaded(e))),s))&&Eo(s)&&Eo(r)&&!(Xs.hasDefaultParameters(s)||Xs.hasDefaultParameters(r)||(s=Xs.cloneWithNewFlags(s,98304|s.details.flags),r=Xs.cloneWithNewFlags(r,98304|s.details.flags),this._evaluator.canAssignType(r,s,void 0,void 0,32)&&this._evaluator.canAssignType(s,r,void 0,void 0,32))))){const i=Zs.isSameGenericClass(t.classType,e),o=qo(t.symbol),a=qo(n.symbol);if(o&&a){const e=i?o:a,l=28===e.node.nodeType?e.node.name:e.node,c=new il,u=this._evaluator.printType(s),p=this._evaluator.printType(r);c.addMessage(ml.DiagnosticAddendum.initMethodSignature().format({type:u})),c.addMessage(ml.DiagnosticAddendum.newMethodSignature().format({type:p}));const d=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInconsistentConstructor,$o.reportInconsistentConstructor,ml.Diagnostic.constructorParametersMismatch().format({classType:this._evaluator.printType(Zs.cloneAsInstance(i?t.classType:n.classType))})+c.getString(),l);if(d){const e=i?a:o;d.addRelatedInfo((i?ml.DiagnosticAddendum.newMethodLocation():ml.DiagnosticAddendum.initMethodLocation()).format({type:this._evaluator.printType(Zs.cloneAsInstance(i?n.classType:t.classType))}),e.path,e.range)}}}}_validateMultipleInheritanceCompatibility(e,t){if("none"===this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride)return;const n=[];if(e.details.baseClasses.forEach((e=>{!yo(e)||Zs.isBuiltIn(e,"Generic")||Zs.isBuiltIn(e,"Protocol")||n.push(e)})),n.length<2)return;const i=n.map((t=>{const n=e.details.mro.find((e=>yo(e)&&Zs.isSameGenericClass(e,t)));return n&&yo(n)?function(e){const t=new Map;for(let n=e.details.mro.length-1;n>=0;n--){const i=ha(e.details.mro[n],e);yo(i)?i.details.fields.forEach(((e,n)=>{!e.isIgnoredForProtocolMatch()&&e.hasTypedDeclarations()&&t.set(n,{classType:i,symbol:e,isInstanceMember:e.isInstanceMember(),isClassVar:e.isClassVar(),isTypeDeclared:!0,skippedUndeclaredType:!1})})):t.clear()}return t}(n):new Map}));for(let r=1;r{var i;if(Kt(n))return;if(!t.hasTypedDeclarations())return;const r=this._evaluator.getEffectiveTypeOfSymbol(t);if(!ho(r))for(const s of e.details.baseClasses){if(!yo(s))continue;const o=e.details.mro.find((e=>yo(e)&&Zs.isSameGenericClass(e,s)));if(!o)continue;const a=va(o,n,0);if(!a||!_o(a.classType))continue;if(!a.symbol.hasTypedDeclarations())continue;const l=ha(this._evaluator.getEffectiveTypeOfSymbol(a.symbol),a.classType);if(Eo(l)||ko(l)){const e=new il;let s;if(Eo(r)?s=r:ko(r)&&(s=r.overloads[r.overloads.length-1]),s){const r=["__init__","__new__","__init_subclass__"],o=!Qt(n);if(!r.some((e=>e===n))&&!Kt(n)&&!this._evaluator.canOverrideMethod(l,s,e,o)){const r=null!==(i=s.details.declaration)&&void 0!==i?i:qo(t);if(r){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.incompatibleMethodOverride().format({name:n,className:a.classType.details.name})+e.getString(),3===r.type?r.node.name:r.node),i=qo(a.symbol);t&&i&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),i.path,i.range)}}if(Eo(l)&&!Kt(n)&&Xs.isFinal(l)){const e=qo(t);if(e&&3===e.type){const t=this._evaluator.addError(ml.Diagnostic.finalMethodOverride().format({name:n,className:a.classType.details.name}),e.node.name),i=qo(a.symbol);t&&i&&t.addRelatedInfo(ml.DiagnosticAddendum.finalMethod(),i.path,i.range)}}}else if(!ho(r)&&!Zs.isBuiltIn(a.classType,"_TypedDict")){const e=t.getDeclarations();if(e.length>0){const t=e[e.length-1],i=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.methodOverridden().format({name:n,className:a.classType.details.name,type:this._evaluator.printType(r,!1)}),t.node),s=qo(a.symbol);i&&s&&i.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),s.path,s.range)}}}else if(ua(l))if(ua(r)){const i=l.details.fields,s=r.details.fields,o=a.classType;["fget","fset","fdel"].forEach((r=>{const a=new il,l=i.get(r),c=s.get(r);if(l){const i=ha(this._evaluator.getEffectiveTypeOfSymbol(l),o);if(Eo(i))if(c){const t=ha(this._evaluator.getEffectiveTypeOfSymbol(c),e);if(Eo(t)&&!this._evaluator.canOverrideMethod(i,t,a.createAddendum())){a.addMessage(ml.DiagnosticAddendum.propertyMethodIncompatible().format({name:r}));const e=t.details.declaration;if(e&&3===e.type){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:o.details.name})+a.getString(),e.node.name),r=i.details.declaration;t&&r&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),r.path,r.range)}}}else{a.addMessage(ml.DiagnosticAddendum.propertyMethodMissing().format({name:r}));const e=t.getDeclarations();if(e.length>0){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:o.details.name})+a.getString(),e[e.length-1].node),r=i.details.declaration;t&&r&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),r.path,r.range)}}}}))}else{const e=t.getDeclarations();e.length>0&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:a.classType.details.name}),e[e.length-1].node)}else if("none"!==this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride){const e=t.getDeclarations();if(e.length>0){const i=e[e.length-1],s=new il;if(!this._evaluator.canAssignType(l,r,s)){const e=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,$o.reportIncompatibleVariableOverride,ml.Diagnostic.symbolOverridden().format({name:n,className:a.classType.details.name})+s.getString(),i.node),t=qo(a.symbol);e&&t&&e.addRelatedInfo(ml.DiagnosticAddendum.overriddenSymbol(),t.path,t.range)}const o=a.symbol.isClassVar();let c=t.isClassVar();if(o&&!c&&(t.hasTypedDeclarations()||(c=!0),t.getTypedDeclarations().every((e=>4===e.type))&&(c=!0)),o!==c){const e=t.isClassVar()?ml.Diagnostic.classVarOverridesInstanceVar():ml.Diagnostic.instanceVarOverridesClassVar(),r=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,$o.reportIncompatibleVariableOverride,e.format({name:n,className:a.classType.details.name}),i.node),s=qo(a.symbol);r&&s&&r.addRelatedInfo(ml.DiagnosticAddendum.overriddenSymbol(),s.path,s.range)}}}}}))}_validateMethod(e,t,n){const i=this._evaluator.getTypeOfClass(n),r=null==i?void 0:i.classType;if(e.name&&r&&["__init__","__init_subclass__","__enter__","__exit__"].some((t=>t===e.name.value))&&(Xs.isAbstractMethod(t)||Xs.isOverloaded(t)||this._fileInfo.isStubFile||this._validateSuperCallForMethod(e,t,r)),e.name&&"__new__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&["cls","_cls","__cls","__mcls"].some((t=>e.parameters[0].name.value===t))||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.newClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(e.name&&"__init_subclass__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&"cls"===e.parameters[0].name.value||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.initSubclassClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(e.name&&"__class_getitem__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&"cls"===e.parameters[0].name.value||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.classGetItemClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(Xs.isStaticMethod(t)){if(e.parameters.length>0&&e.parameters[0].name){const t=e.parameters[0].name.value;"self"!==t&&"cls"!==t||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.staticClsSelfParam(),e.parameters[0].name)}}else if(Xs.isClassMethod(t)){let n="";e.parameters.length>0&&e.parameters[0].name&&(n=e.parameters[0].name.value),"cls"!==n&&(this._fileInfo.isStubFile&&(n.startsWith("_")||"metacls"===n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.classMethodClsParam(),e.parameters.length>0?e.parameters[0]:e.name)),r&&this._validateClsSelfParameterType(t,r,!0)}else{if(0===e.decorators.length){let t="",i=!0;if(e.parameters.length>0&&(e.parameters[0].name&&(t=e.parameters[0].name.value),0!==e.parameters[0].category&&(i=!1)),i&&"self"!==t){let i=!1;if("cls"===t){const e=this._evaluator.getTypeOfClass(n),t=this._evaluator.getBuiltInType(n,"type");t&&_o(t)&&e&&_o(e.classType)&&Da(e.classType,t,!0)&&(i=!0)}const r=Yt(t);i||r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.instanceMethodSelfParam(),e.parameters.length>0?e.parameters[0]:e.name)}}r&&this._validateClsSelfParameterType(t,r,!1)}}_validateSuperCallForMethod(e,t,n){if("none"===this._fileInfo.diagnosticRuleSet.reportMissingSuperCall)return;let i=9;if(Zs.isFinal(n)&&(i|=4),!va(n,t.details.name,i))return;let r=!1;new Wr((e=>{if(35===e.leftExpression.nodeType&&e.leftExpression.memberName.value===t.details.name){const t=e.leftExpression.leftExpression;if(9===t.nodeType&&38===t.leftExpression.nodeType&&"super"===t.leftExpression.value)r=!0;else{const e=this._evaluator.getType(t);e&&_o(e)&&(r=!0)}}})).walk(e.suite),r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingSuperCall,$o.reportMissingSuperCall,ml.Diagnostic.missingSuperCall().format({methodName:t.details.name}),e.name)}_validateClsSelfParameterType(e,t,n){if(e.details.parameters.length<1)return;const i=e.details.parameters[0];if(!i.typeAnnotation||!i.name)return;if(Zs.isProtocolClass(t))return;const r=this._evaluator.makeTopLevelTypeVarsConcrete(i.type),s=n?t:Fa(t);_o(r)&&Zs.isProtocolClass(r)||vo(r)&&Zs.isProtocolClass(r)||Xs.isOverloaded(e)||this._evaluator.canAssignType(r,s)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.clsSelfParamTypeMismatch().format({name:i.name,classType:this._evaluator.printType(s,!1)}),i.typeAnnotation)}_validateYieldType(e,t){let n,i;const r=kr(e);if(r){const e=this._evaluator.getTypeOfFunction(r);e&&(w(Eo(e.functionType)),n=Xs.getSpecializedReturnType(e.functionType),n&&(i=function(e,t){let n=!0;const i=Ko(e,(e=>ho(e)?e:vo(e)&&[["AsyncIterable","Iterable"],["AsyncIterator","Iterator"],["AsyncGenerator","Generator"],["","AwaitableGenerator"]].some((n=>Zs.isBuiltIn(e,t?n[0]:n[1])))?e.typeArguments&&e.typeArguments.length>=1?e.typeArguments[0]:Ys.create():void(n=!1)));return n?i:void 0}(n,!!r.isAsync)),n&&!i&&r.returnTypeAnnotation&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,r.isAsync?ml.Diagnostic.generatorAsyncReturnType():ml.Diagnostic.generatorSyncReturnType(),r.returnTypeAnnotation))}if(this._evaluator.isNodeReachable(e,void 0))if(n&&ao(n))this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnContainsYield(),e);else if(i){const n=new il;this._evaluator.canAssignType(i,t,n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.yieldTypeMismatch().format({exprType:this._evaluator.printType(t,!1),yieldType:this._evaluator.printType(i,!1)})+n.getString(),e.expression||e)}}_reportUnusedExceptStatements(e){let t=!1;const n=[];e.exceptClauses.forEach((e=>{if(t||e.isExceptGroup||!e.typeExpression)return;const i=this._evaluator.getType(e.typeExpression);if(!i||ho(i))return void(t=!0);const r=[];if(_o(i)?(i.includeSubclasses&&(t=!0),r.push(i)):vo(i)&&Jo(this._evaluator.getTypeFromIterator(i,!1,void 0)||Ys.create(),(e=>{ho(e)&&(t=!0),_o(e)&&(e.includeSubclasses&&(t=!0),r.push(e))})),n.length>0){const t=new il;let i=0;r.forEach((e=>{const r=n.find((t=>Da(e,t,!0)));r&&(t.addMessage(ml.DiagnosticAddendum.unreachableExcept().format({exceptionType:this._evaluator.printType(Fa(e)),parentType:this._evaluator.printType(Fa(r))})),i++)})),r.length===i&&(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unreachableExcept()+t.getString(),e.typeExpression),this._evaluator.addUnusedCode(e,e.exceptSuite))}n.push(...r)}))}_reportDuplicateImports(){const e=tn(this._moduleNode),t=new Map;e.orderedImports.forEach((e=>{if(22===e.node.nodeType){const t=new Map;e.node.imports.forEach((e=>{e.alias||(t.get(e.name.value)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportDuplicateImport,$o.reportDuplicateImport,ml.Diagnostic.duplicateImport().format({importName:e.name.value}),e.name):t.set(e.name.value,e))}))}else e.subnode&&!e.subnode.alias&&(t.get(e.moduleName)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportDuplicateImport,$o.reportDuplicateImport,ml.Diagnostic.duplicateImport().format({importName:e.moduleName}),e.subnode):t.set(e.moduleName,e.subnode))}))}_reportMicrobitV2Name(e){var t;if(!e||this._fileInfo.isStubFile)return;const n=this._evaluator.getType(e);if(!n||1===n.category)return;const i=this._evaluator.getDeclarationsForNameNode(e);let r=i&&i.length>0?i[i.length-1]:void 0;if(r&&r.node!==e){if(6===r.type&&(r=this._evaluator.resolveAliasDeclaration(r,!0)),r&&r.node!==e)switch(r.type){case 4:return this._reportMicrobitVersionApiUnsupportedCheck(e,r.moduleName,r.node.name.value);case 3:{const n=r.node.name.value,i=r.isMethod?null===(t=Er(r.node))||void 0===t?void 0:t.name.value:void 0,s=i?`${i}.${n}`:n;return this._reportMicrobitVersionApiUnsupportedCheck(e,r.moduleName,s,r.isMethod?s:void 0)}case 1:if(38===r.node.nodeType)return this._reportMicrobitVersionApiUnsupportedCheck(e,r.moduleName,r.node.value)}return To(n)?this._reportMicrobitVersionApiUnsupportedCheck(e,n.moduleName):void 0}}_reportMicrobitVersionApiUnsupportedCheck(e,t,n,i){const r=t+(n?"."+n:"");(this._microbitV2OnlyNames.has(t)||this._microbitV2OnlyNames.has(r))&&this._reportMicrobitVersionApiUnsupportedDiagnostic(e,null!=i?i:r)}_reportMicrobitVersionApiUnsupportedDiagnostic(e,t){this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMicrobitVersionApiUnsupported,$o.reportMicrobitVersionApiUnsupported,ml.Diagnostic.microbitVersionApiUnsupported().format({name:t.replace(/^microbit\./,""),device:"micro:bit V1"}),e)}}function wu(e){Eu(e,{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!1,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!0,strictSetInference:!0,strictDictionaryInference:!0,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"error",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"error",reportImportCycles:"error",reportUnusedImport:"error",reportUnusedClass:"error",reportUnusedFunction:"error",reportUnusedVariable:"error",reportDuplicateImport:"error",reportWildcardImportFromLibrary:"error",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"error",reportUntypedClassDecorator:"error",reportUntypedBaseClass:"error",reportUntypedNamedTuple:"error",reportPrivateUsage:"error",reportPrivateImportUsage:"error",reportConstantRedefinition:"error",reportIncompatibleMethodOverride:"error",reportIncompatibleVariableOverride:"error",reportInconsistentConstructor:"error",reportOverlappingOverload:"error",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"error",reportUnknownParameterType:"error",reportUnknownArgumentType:"error",reportUnknownLambdaType:"error",reportUnknownVariableType:"error",reportUnknownMemberType:"error",reportMissingParameterType:"error",reportMissingTypeArgument:"error",reportInvalidTypeVarUse:"error",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"error",reportUnnecessaryCast:"error",reportUnnecessaryComparison:"error",reportAssertAlwaysTrue:"error",reportSelfClsParameterName:"error",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"error",reportIncompleteStub:"error",reportUnsupportedDunderAll:"error",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"error",reportMicrobitVersionApiUnsupported:"warning"},[$o.reportMissingModuleSource])}function Eu(e,t,n){const i=Cc(),r=wc();for(const r of i)n.find((e=>e===r))||t[r]&&(e[r]=!0);for(const i of r){if(n.find((e=>e===i)))continue;const r=t[i],s=e[i];("error"===r||"warning"===r&&"error"!==s||"information"===r&&"error"!==s&&"warning"!==s)&&(e[i]=r)}}function ku(e,t){const n=["pyright:","mspython:"].find((t=>e.startsWith(t)));if(n){const i=e.substr(n.length).trim().split(",").map((e=>e.trim()));i.some((e=>"strict"===e))?wu(t):i.some((e=>"basic"===e))&&function(e){Eu(e,{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!0,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"warning",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"error",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"warning",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"warning",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"warning",reportSelfClsParameterName:"warning",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"warning",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none",reportMicrobitVersionApiUnsupported:"warning"},[])}(t);for(const e of i)t=Du(e,t)}return t}function Du(e,t){const n=e.split("=").map((e=>e.trim()));if(2!==n.length)return t;const i=n[0],r=Cc();if(wc().find((e=>e===i))){const e=function(e){switch(e){case"false":case"none":return"none";case"true":case"error":return"error";case"warning":return"warning";case"information":return"information";default:return}}(n[1]);void 0!==e&&(t[i]=e)}else if(r.find((e=>e===i))){const e="false"!==(s=n[1])&&("true"===s||void 0);void 0!==e&&(t[i]=e)}var s;return t}class Au extends _r{constructor(e){super(),this._parseTree=e}clean(){this.walk(this._parseTree)}visitNode(e){return function(e){const t=e;delete t.scope,delete t.declaration,delete t.flowNode,delete t.afterFlowNode,delete t.fileInfo,delete t.codeFlowExpressions,delete t.codeFlowComplexity,delete t.dunderAllInfo}(e),super.visitNode(e)}}class Pu extends _r{constructor(){super()}visitNode(e){const t=super.visitNode(e);return this._verifyParentChildLinks(e,t),this._verifyChildRanges(e,t),t}_verifyParentChildLinks(e,t){t.forEach((t=>{t&&t.parent!==e&&E(`Child node ${t.nodeType} does not contain a reference to its parent ${e.nodeType}`)}))}_verifyChildRanges(e,t){let n;t.forEach((t=>{if(t){let i=!1;3===e.nodeType&&t===e.typeAnnotationComment&&(i=!0),48===e.nodeType&&t===e.typeAnnotation&&(i=!0),i||((t.startdt.getEnd(e))&&E(`Child node ${t.nodeType} is not contained within its parent ${e.nodeType}`),n&&t.start0&&(i=i.filter((e=>{if(3!==e.category&&4!==e.category)for(let t=e.range.start.line;t<=e.range.end.line;t++)if(this._typeIgnoreLines.has(t))return s.delete(t),!1;return!0})));const o=[];if("none"!==this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment){const e=tl(this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment);0===r.filter((e=>0===e.category||1===e.category||2===e.category)).length&&void 0!==this._typeIgnoreAll&&o.push(new nl(e,ml.Diagnostic.unnecessaryTypeIgnore(),St(this._typeIgnoreAll.start,this._typeIgnoreAll.start+this._typeIgnoreAll.length,this._parseResults.tokenizerOutput.lines))),s.forEach((t=>{var n;(null===(n=this._parseResults)||void 0===n?void 0:n.tokenizerOutput.lines)&&o.push(new nl(e,ml.Diagnostic.unnecessaryTypeIgnore(),St(t.start,t.start+t.length,this._parseResults.tokenizerOutput.lines)))}))}if("none"!==this._diagnosticRuleSet.reportImportCycles&&this._circularDependencies.length>0){const e=tl(this._diagnosticRuleSet.reportImportCycles);this._circularDependencies.forEach((t=>{i.push(new nl(e,ml.Diagnostic.importCycleDetected()+"\n"+t.getPaths().map((e=>" "+e)).join("\n"),{start:{line:0,character:0},end:{line:0,character:0}}))}))}return void 0!==this._hitMaxImportDepth&&i.push(new nl(0,ml.Diagnostic.importDepthExceeded().format({depth:this._hitMaxImportDepth}),{start:{line:0,character:0},end:{line:0,character:0}})),e.ignore.find((e=>e.regExp.test(this._filePath)))&&(i=[]),this._diagnosticRuleSet.enableTypeIgnoreComments&&void 0!==this._typeIgnoreAll&&(i=i.filter((e=>0!==e.category&&1!==e.category&&2!==e.category))),i.push(...o),n||(i=i.filter((e=>3===e.category||4===e.category))),i}getImports(){return this._imports||[]}getBuiltinsImport(){return this._builtinsImport}getIPythonDisplayImport(){return this._ipythonDisplayImport}getModuleSymbolTable(){return this._moduleSymbolTable}didContentsChangeOnDisk(){if(this._clientDocument)return!1;if(void 0===this._lastFileContentLength)return!1;try{const e=this.fileSystem.readFileSync(this._filePath,"utf8");if(e.length!==this._lastFileContentLength)return!0;if(M(e)!==this._lastFileContentHash)return!0}catch(e){return!0}return!1}dropParseAndBindInfo(){this._parseResults=void 0,this._moduleSymbolTable=void 0,this._isBindingNeeded=!0}markDirty(e=!0){this._fileContentsVersion++,this._isCheckingNeeded=!0,this._isBindingNeeded=!0,this._indexingNeeded=e,this._moduleSymbolTable=void 0,this._cachedIndexResults=void 0}markReanalysisRequired(e){this._isCheckingNeeded=!0,this._parseResults&&(this._parseResults.containsWildcardImport||void 0!==Wt(this._parseResults.parseTree)||e)&&(this._parseTreeNeedsCleaning=!0,this._isBindingNeeded=!0,this._moduleSymbolTable=void 0)}getClientVersion(){var e;return null===(e=this._clientDocument)||void 0===e?void 0:e.version}getOpenFileContents(){var e;return null===(e=this._clientDocument)||void 0===e?void 0:e.getText()}getFileContent(){const e=this.getOpenFileContents();if(e)return e;try{const e=this.fileSystem.statSync(this._filePath);if(e.size>52428800)throw this._console.error(`File length of "${this._filePath}" is ${e.size} which exceeds the maximum supported file size of 52428800`),new Error("File larger than max");return this.fileSystem.readFileSync(this._filePath,"utf8")}catch(e){return}}setClientVersion(e,t){if(null===e)this._clientDocument=void 0;else{this._clientDocument||(this._clientDocument=ic.create(this._filePath,"python",e,"")),this._clientDocument=ic.update(this._clientDocument,t,e);const n=this._clientDocument.getText(),i=M(n);n.length===this._lastFileContentLength&&i===this._lastFileContentHash||this.markDirty(),this._lastFileContentLength=n.length,this._lastFileContentHash=i,this._isFileDeleted=!1}}prepareForClose(){}isFileDeleted(){return this._isFileDeleted}isParseRequired(){return!this._parseResults||this._analyzedFileContentsVersion!==this._fileContentsVersion}isBindingRequired(){return!this._isBindingInProgress&&(!!this.isParseRequired()||this._isBindingNeeded)}isIndexingRequired(){return this._indexingNeeded}isCheckingRequired(){return this._isCheckingNeeded}getParseResults(){if(!this.isParseRequired())return this._parseResults}getCachedIndexResults(){return this._cachedIndexResults}cacheIndexResults(e){this._cachedIndexResults=e}addCircularDependency(e){let t=!1;this._circularDependencies.length<4&&(this._circularDependencies.some((t=>t.isEqual(e)))||(this._circularDependencies.push(e),t=!0)),t&&this._diagnosticVersion++}setHitMaxImportDepth(e){this._hitMaxImportDepth=e}parse(e,t,n){return this._logTracker.log(`parsing: ${this._getPathForLogging(this._filePath)}`,(i=>{var r;if(!this.isParseRequired())return i.suppress(),!1;const s=new kc;let o=this.getOpenFileContents();if(void 0===o)try{const e=Fn.readFileTime.totalTime;Fn.readFileTime.timeOperation((()=>{if(o=null!=n?n:this.getFileContent(),void 0===o)throw new Error("Can't get file content");this._lastFileContentLength=o.length,this._lastFileContentHash=M(o)})),i.add(`fs read ${Fn.readFileTime.totalTime-e}ms`)}catch(e){s.addError("Source file could not be read",{start:{line:0,character:0},end:{line:0,character:0}}),o="",this.fileSystem.existsSync(this._filePath)||(this._isFileDeleted=!0)}const a=e.findExecEnvironment(this._filePath),l=new Jc;l.ipythonMode=this._ipythonMode,this._filePath.endsWith("pyi")&&(l.isStubFile=!0),l.pythonVersion=a.pythonVersion,l.skipFunctionAndClassBody=null!==(r=e.indexGenerationMode)&&void 0!==r&&r;try{const n=(new Qc).parseSourceFile(o,l,s);w(void 0!==n&&void 0!==n.tokenizerOutput),this._parseResults=n,this._typeIgnoreLines=this._parseResults.tokenizerOutput.typeIgnoreLines,this._typeIgnoreAll=this._parseResults.tokenizerOutput.typeIgnoreAll,Fn.resolveImportsTime.timeOperation((()=>{const e=this._resolveImports(t,n.importedModules,a);this._imports=e.imports,this._builtinsImport=e.builtinsImportResult,this._ipythonDisplayImport=e.ipythonDisplayImportResult,this._parseDiagnostics=s.fetchAndClear()}));const i=void 0!==e.strict.find((e=>e.regExp.test(this._filePath)));this._diagnosticRuleSet=function(e,t,n){let i=(r=t,Object.assign({},r));var r;n&&wu(i);for(let t=0;t{if(!this._parseResults||!this.isIndexingRequired())return void n.suppress();this._indexingNeeded=!1;const i=Fc.indexSymbols(qt(this._parseResults.parseTree),this._parseResults,e,t);return n.add(`found ${i.length}`),{privateOrProtected:Yt(he(de(this._filePath))),symbols:i}}))}getDefinitionsForPosition(e,t,n,i,r){if(this._parseResults)return Pc.getDefinitionsForPosition(e,this._parseResults,t,n,i,r)}getTypeDefinitionsForPosition(e,t,n,i,r){if(this._parseResults)return Pc.getTypeDefinitionsForPosition(e,this._parseResults,t,n,i,r)}getDeclarationForNode(e,t,n,i,r){if(this._parseResults)return tc.getDeclarationForNode(e,this._filePath,t,n,i,r)}getDeclarationForPosition(e,t,n,i,r){if(this._parseResults)return tc.getDeclarationForPosition(e,this._parseResults,this._filePath,t,n,i,r)}addReferences(e,t,n,i){this._parseResults&&tc.addReferences(this._parseResults,this._filePath,e,t,n,i)}addHierarchicalSymbolsForDocument(e,t){(this._parseResults||this._cachedIndexResults)&&Fc.addHierarchicalSymbolsForDocument(this._parseResults?qt(this._parseResults.parseTree):void 0,this.getCachedIndexResults(),this._parseResults,e,t)}getSymbolsForDocument(e,t){return this._parseResults||this._cachedIndexResults?Fc.getSymbolsForDocument(this._parseResults?qt(this._parseResults.parseTree):void 0,this.getCachedIndexResults(),this._parseResults,this._filePath,e,t):[]}getHoverForPosition(e,t,n,i,r){if(!this._isBindingNeeded&&this._parseResults)return class{static getHoverForPosition(e,t,n,i,r,s){ct(s);const o=xt(n,t.tokenizerOutput.lines);if(void 0===o)return;const a=Tr(t.parseTree,o);if(void 0===a)return;const l={parts:[],range:{start:It(a.start,t.tokenizerOutput.lines),end:It(dt.getEnd(a),t.tokenizerOutput.lines)}};if(38===a.nodeType){const t=r.getDeclarationsForNameNode(a);if(t&&t.length>0){let n=t[0];6===n.type&&t.length>1&&(n=t[1]),this._addResultsForDeclaration(i,e,l.parts,n,a,r)}else if((!a.parent||37!==a.parent.nodeType)&&0===l.parts.length){const t=r.getType(a)||Ys.create();let n="";n=To(t)?"(module) "+a.value:a.value+": "+r.printType(t,!1),this._addResultsPart(l.parts,n,!0),this._addDocumentationPart(i,e,l.parts,a,r,void 0)}}return l.parts.length>0?l:void 0}static _addResultsForDeclaration(e,t,n,i,r,s){var o;const a=s.resolveAliasDeclaration(i,!0);if(a)switch(a.type){case 0:this._addResultsPart(n,r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 1:{let l=a.isConstant||a.isFinal?"constant":"variable",c=r;21===i.node.nodeType||23===i.node.nodeType?i.node.alias&&r!==i.node.alias&&38===a.node.nodeType&&(c=a.node):1===(null===(o=r.parent)||void 0===o?void 0:o.nodeType)&&r.parent.name===r&&38===i.node.nodeType&&(c=i.node);const u=s.getType(c);let p,d=!1;if(null==u?void 0:u.typeAliasInfo){const e=Do(u);(null==e?void 0:e.name)===c.value&&(bo(u)?(l=u.details.isParamSpec?"param spec":"type variable",p=u.details.name):(d=!0,l="type alias"))}const h=p||r.value+this._getTypeText(c,s,d);this._addResultsPart(n,`(${l}) ${h}`,!0),this._addDocumentationPart(e,t,n,r,s,a);break}case 2:this._addResultsPart(n,"(parameter) "+r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 4:case 5:if(this._addInitMethodInsteadIfCallNode(e,r,s,n,t,a))return;this._addResultsPart(n,"(class) "+r.value,!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 3:{let i="function";if(a.isMethod){const e=s.getTypeForDeclaration(a);i=e&&ua(e)?"property":"method"}const o=s.getType(r);o&&ko(o)?this._addResultsPart(n,`(${i})\n${Ol(o,s)}`,!0):this._addResultsPart(n,`(${i}) `+r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break}case 6:this._addResultsPart(n,"(module) "+r.value,!0),this._addDocumentationPart(e,t,n,r,s,a)}else this._addResultsPart(n,"(import) "+r.value+this._getTypeText(r,s),!0)}static _addInitMethodInsteadIfCallNode(e,t,n,i,r,s){let o=t;if(o.parent&&35===o.parent.nodeType&&t===o.parent.memberName&&(o=t.parent),!o||!o.parent||9!==o.parent.nodeType||o.parent.leftExpression!==o)return!1;const a=n.getType(t);if(!a||!_o(a))return!1;const l=va(a,"__init__",8);if(!l)return!1;const c=n.getType(o.parent),u=n.getTypeOfMember(l);if(!(c&&u&&vo(c)&&Eo(u)))return!1;const p=n.bindFunctionToClassOrObject(c,u);if(!p||!Eo(p))return!1;const d=n.printFunctionParts(p),h=`${t.value}(${d[0].join(", ")})`;return this._addResultsPart(i,"(class) "+h,!0),this._addDocumentationPartForType(e,r,i,p,s,n)||this._addDocumentationPartForType(e,r,i,a,s,n),!0}static _getTypeText(e,t,n=!1){const i=t.getType(e)||Ys.create();return": "+t.printType(i,n)}static _addDocumentationPart(e,t,n,i,r,s){const o=r.getType(i);o&&this._addDocumentationPartForType(e,t,n,o,s,r)}static _addDocumentationPartForType(e,t,n,i,r,s){const o=Vl(t,i,r,s);let a=!1;for(const t of o)t&&(a=!0,this._addDocumentationResultsPart(e,n,t));return a}static _addDocumentationResultsPart(e,t,n){if(n)if(e===ot.MarkupKind.Markdown){const e=ds(n);t.length>0&&e.length>0&&t.push({text:"---\n"}),this._addResultsPart(t,e)}else e===ot.MarkupKind.PlainText?this._addResultsPart(t,hs(n)):E(`Unsupported markup type: ${e}`)}static _addResultsPart(e,t,n=!1){e.push({python:n,text:t})}}.getHoverForPosition(e,this._parseResults,t,n,i,r)}getDocumentHighlight(e,t,n,i){if(!this._isBindingNeeded&&this._parseResults)return class{static getDocumentHighlight(e,t,n,i){ct(i);const r=xt(t,e.tokenizerOutput.lines);if(void 0===r)return;const s=Tr(e.parseTree,r);return void 0!==s&&38===s.nodeType?Ml.collectFromNode(s,n,i,e.parseTree,!0).map((t=>({kind:38===t.node.nodeType&&$r(t.node)?ot.DocumentHighlightKind.Write:ot.DocumentHighlightKind.Read,range:St(t.range.start,dt.getEnd(t.range),e.tokenizerOutput.lines)}))):void 0}}.getDocumentHighlight(this._parseResults,t,n,i)}getSignatureHelpForPosition(e,t,n,i,r){if(this._parseResults)return class{static getSignatureHelpForPosition(e,t,n,i,r,s){var o;ct(s);const a=xt(t,e.tokenizerOutput.lines);if(void 0===a)return;let l=Tr(e.parseTree,a);const c=l,u=l?vr(l):0;let p=a-1;for(;p>=0&&","!==e.text.substr(p,1);){const t=Tr(e.parseTree,p);if(t&&t!==c){vr(t)>u&&(l=t);break}p--}if(void 0===l)return;const d=zr(l,a,e.tokenizerOutput.tokens);if(!d)return;const h=i.getCallSignatureInfo(d.callNode,d.activeIndex,d.activeOrFake);return h?{signatures:h.signatures.map((e=>this._makeSignature(h.callNode,e,n,i,r))),callHasParameters:!!(null===(o=h.callNode.arguments)||void 0===o?void 0:o.length)}:void 0}static _makeSignature(e,t,n,i,r){var s;const o=t.type,a=[],l=null!==(s=Ll(o,n,i))&&void 0!==s?s:this._getDocStringFromCallNode(e,n,i);let c=o.details.fullName+"(";const u=o.details.parameters.filter(((e,t)=>!(0===t&&"self"===e.name)));let p;u.forEach(((e,t)=>{const n=e.name||"";let i=e.name||"";1===e.category?i="*"+i:2===e.category&&(i="**"+i),e.hasDefault&&e.defaultValueExpression&&(i+="=",i+=xr(e.defaultValueExpression,1)),a.push({startOffset:c.length,endOffset:c.length+i.length,text:i,documentation:ps(l||"",n)}),c+=i,t0)return o.join("\n\n")}}}.getSignatureHelpForPosition(this._parseResults,e,t,n,i,r)}getCompletionsForPosition(e,t,n,i,r,s,o,a,l,c,u,p){if(!this._parseResults)return;const d=this.getOpenFileContents();return void 0!==d?new jl(t,this._parseResults,d,i,e,this._filePath,n,r,s,o,a,{nameMap:l,libraryMap:c,getModuleSymbolsMap:u},p).getCompletionsForPosition():void 0}resolveCompletionItem(e,t,n,i,r,s,o,a,l,c,u){const p=this.getOpenFileContents();if(!this._parseResults||void 0===p)return;const d=c.data;new jl(d.workspacePath,this._parseResults,p,t,d.position,this._filePath,e,n,i,r,s,{nameMap:o,libraryMap:a,getModuleSymbolsMap:l},u).resolveCompletionItem(c)}performQuickAction(e,t,n){if(this._parseResults&&void 0!==this.getClientVersion())return function(e,t,n,i){return"pyright.organizeimports"===e?new Vc(n,i).sort():"pyright.addoptionalforparam"===e&&t.length>=1?function(e,t,n){ct(n);let i=Tr(e.parseTree,t);for(;i&&41!==i.nodeType;)i=i.parent;if(!i)return[];const r=i.typeAnnotation||i.typeAnnotationComment;if(!r)return[];const s=[],o=It(r.start,e.tokenizerOutput.lines),a=It(dt.getEnd(r),e.tokenizerOutput.lines);s.push({range:{start:o,end:o},replacementText:"Optional["}),s.push({range:{start:a,end:a},replacementText:"]"});const l=tn(e.parseTree),c=l.orderedImports.find((e=>"typing"===e.moduleName));if(c&&22===c.node.nodeType&&!c.node.isWildcardImport){const t=rn({name:"Optional"},c,e);s.push(...t)}else{const t=an({name:"Optional"},l,"typing",0,e,o);s.push(...t)}return s}(n,parseInt(t[0],10),i):[]}(e,t,this._parseResults,n)}bind(e,t,n){return w(!this.isParseRequired(),"Bind called before parsing"),w(this.isBindingRequired(),"Bind called unnecessarily"),w(!this._isBindingInProgress,"Bind called while binding in progress"),w(void 0!==this._parseResults,"Parse results not available"),this._logTracker.log(`binding: ${this._getPathForLogging(this._filePath)}`,(()=>{try{Fn.bindTime.timeOperation((()=>{this._cleanParseTreeIfRequired();const i=this._buildFileInfo(e,this._parseResults.text,t,n);!function(e,t){e.fileInfo=t}(this._parseResults.parseTree,i);const r=new ru(i,e.indexGenerationMode);this._isBindingInProgress=!0,r.bindModule(this._parseResults.parseTree),e.internalTestMode&&(new Pu).walk(this._parseResults.parseTree),this._bindDiagnostics=i.diagnosticSink.fetchAndClear();const s=Ft(this._parseResults.parseTree);w(void 0!==s,"Module scope not returned by binder"),this._moduleSymbolTable=s.symbolTable}))}catch(e){const t=(e.stack?e.stack.toString():void 0)||("string"==typeof e.message?e.message:void 0)||JSON.stringify(e);this._console.error(ml.Diagnostic.internalBindError().format({file:this.getFilePath(),message:t}));const n=new kc;n.addError(ml.Diagnostic.internalBindError().format({file:this.getFilePath(),message:t}),{start:{line:0,character:0},end:{line:0,character:0}}),this._bindDiagnostics=n.fetchAndClear()}finally{this._isBindingInProgress=!1}this._diagnosticVersion++,this._isCheckingNeeded=!0,this._indexingNeeded=!0,this._isBindingNeeded=!1}))}check(e){return w(!this.isParseRequired(),"Check called before parsing"),w(!this.isBindingRequired(),"Check called before binding"),w(!this._isBindingInProgress,"Check called while binding in progress"),w(this.isCheckingRequired(),"Check called unnecessarily"),w(void 0!==this._parseResults,"Parse results not available"),this._logTracker.log(`checking: ${this._getPathForLogging(this._filePath)}`,(()=>{try{Fn.typeCheckerTime.timeOperation((()=>{new Cu(this._parseResults.parseTree,e).check(),this._isCheckingNeeded=!1;const t=qt(this._parseResults.parseTree);this._checkerDiagnostics=t.diagnosticSink.fetchAndClear()}))}catch(e){if(!lt.is(e)){const t=(e.stack?e.stack.toString():void 0)||("string"==typeof e.message?e.message:void 0)||JSON.stringify(e);this._console.error(ml.Diagnostic.internalTypeCheckingError().format({file:this.getFilePath(),message:t}));const n=new kc;n.addError(ml.Diagnostic.internalTypeCheckingError().format({file:this.getFilePath(),message:t}),{start:{line:0,character:0},end:{line:0,character:0}}),this._checkerDiagnostics=n.fetchAndClear(),this._isCheckingNeeded=!1}throw e}finally{this._circularDependencies=[],this._diagnosticVersion++}}))}test_enableIPythonMode(e){this._ipythonMode=e}_buildFileInfo(e,t,n,i){w(void 0!==this._parseResults,"Parse results not available");const r=new Dc(this._parseResults.tokenizerOutput.lines);return{importLookup:n,futureImports:this._parseResults.futureImports,builtinsScope:i,diagnosticSink:r,executionEnvironment:e.findExecEnvironment(this._filePath),diagnosticRuleSet:this._diagnosticRuleSet,fileContents:t,lines:this._parseResults.tokenizerOutput.lines,typingSymbolAliases:this._parseResults.typingSymbolAliases,filePath:this._filePath,moduleName:this._moduleName,isStubFile:this._isStubFile,isTypingStubFile:this._isTypingStubFile,isTypingExtensionsStubFile:this._isTypingExtensionsStubFile,isBuiltInStubFile:this._isBuiltInStubFile,isInPyTypedPackage:this._isThirdPartyPyTypedPresent,isIPythonMode:this._ipythonMode,accessedSymbolMap:new Map}}_cleanParseTreeIfRequired(){this._parseResults&&this._parseTreeNeedsCleaning&&(new Au(this._parseResults.parseTree).clean(),this._parseTreeNeedsCleaning=!1)}_resolveImports(e,t,n){const i=[],r=(t,r=!1)=>{const s=e.resolveImport(this._filePath,n,{leadingDots:0,nameParts:t,importedSymbols:void 0});if(!r||s.isImportFound)return 0===s.resolvedPaths.length||s.resolvedPaths[0]!==this._filePath?(i.push(s),s):void 0};let s;this._isThirdPartyImport||this._isStubFile||(s=r(["__builtins__"],!0)),s||(s=r(["builtins"]));const o=this._ipythonMode?r(["IPython","display"]):void 0;for(const r of t){const t=e.resolveImport(this._filePath,n,{leadingDots:r.leadingDots,nameParts:r.nameParts,importedSymbols:r.importedSymbols});i.push(t),a=t,r.nameNode.importInfo=a}var a;return{imports:i,builtinsImportResult:s,ipythonDisplayImportResult:o}}_getPathForLogging(e){return this.fileSystem.isMappedFilePath(e)?"[virtual] "+e:e}}function Fu(e){function t(e,t="'"){return e?`${t}${e}${t}`:""}e=e.map((e=>le(e))).sort(((e,t)=>e.localeCompare(t))).reverse();const n=/[\\/]/g;function i(t){if(t){if("string"==typeof t){for(const i of e)if(t.startsWith(i))return he(t.substring(i.length)).replace(n,".");return t}return t.nameParts.join(".")}return""}function o(e){var n,i,r,s,a,l;if(e)switch(e.category){case 2:return`Any ${t(null===(n=e.typeAliasInfo)||void 0===n?void 0:n.fullName)}`;case 7:return Ks.isInstantiable(e)?`Class '${e.details.name}' (${e.details.moduleName})`:`Object '${e.details.name}' (${e.details.moduleName})`;case 5:return`Function '${e.details.name}' (${e.details.moduleName})`;case 8:return`Module '${e.moduleName}' (${e.moduleName})`;case 4:return`Never ${t(null===(i=e.typeAliasInfo)||void 0===i?void 0:i.fullName)}`;case 3:return`None ${t(null===(r=e.typeAliasInfo)||void 0===r?void 0:r.fullName)}`;case 6:return`OverloadedFunction [${e.overloads.map((e=>t(o(e),'"'))).join(",")}]`;case 10:return`TypeVar '${e.details.name}' ${t(null===(s=e.typeAliasInfo)||void 0===s?void 0:s.fullName)}`;case 0:return`Unbound ${t(null===(a=e.typeAliasInfo)||void 0===a?void 0:a.fullName)}`;case 9:return`Union [${e.subtypes.map((e=>t(o(e),'"'))).join(",")}]`;case 1:return`Unknown ${t(null===(l=e.typeAliasInfo)||void 0===l?void 0:l.fullName)}`;default:k(e)}return""}function a(e){if(e)switch(e.type){case 6:return`Alias, ${l(e.node)} (${i(e.path)})`;case 4:return`Class, ${l(e.node)} (${i(e.path)})`;case 3:return`Function, ${l(e.node)} (${i(e.path)})`;case 0:return`Intrinsic, ${l(e.node)} ${e.intrinsicType} (${i(e.path)})`;case 2:return`Parameter, ${l(e.node)} (${i(e.path)})`;case 5:return`SpecialBuiltInClass, ${l(e.node)} (${i(e.path)})`;case 1:return`Variable, ${l(e.node)} (${i(e.path)})`;default:k(e)}return""}function l(e,n=!1){var r;if(!e)return"";const s=n?`(${i(null===(r=function(e){for(;36!==e.nodeType&&e.parent;)e=e.parent;return 36===e.nodeType?qt(e):void 0}(e))||void 0===r?void 0:r.filePath)})`:"";if(yr(e))return t(function(e,t=30){return e.length "}(xr(e)),'"')+` ${s}`;switch(e.nodeType){case 21:return`importAs '${l(e.module)}' ${t(e.alias?l(e.alias):"")} ${s}`;case 22:return`importFrom [${e.imports.map((e=>t(l(e),'"'))).join(",")}]`;case 23:return`ImportFromAs '${l(e.name)}' ${t(e.alias?l(e.alias):"")} ${s}`;case 36:return`module ${s}`;case 10:return`class '${l(e.name)}' ${s}`;case 28:return`function '${l(e.name)}' ${s}`;case 37:return`moduleName '${e.nameParts.map((e=>l(e))).join(".")}' ${s}`;case 1:return`argument '${e.name?l(e.name):"N/A"}' ${s}`;case 41:return`parameter '${e.name?l(e.name):"N/A"}' ${s}`;default:return`${function(e){switch(e){case 0:return"Error";case 1:return"Argument";case 2:return"Assert";case 3:return"Assignment";case 4:return"AssignmentExpression";case 5:return"AugmentedAssignment";case 6:return"Await";case 7:return"BinaryOperation";case 8:return"Break";case 9:return"Call";case 10:return"Class";case 11:return"Constant";case 12:return"Continue";case 13:return"Decorator";case 14:return"Del";case 15:return"Dictionary";case 16:return"DictionaryExpandEntry";case 17:return"DictionaryKeyEntry";case 18:return"Ellipsis";case 19:return"If";case 20:return"Import";case 21:return"ImportAs";case 22:return"ImportFrom";case 23:return"ImportFromAs";case 24:return"Index";case 25:return"Except";case 26:return"For";case 27:return"FormatString";case 28:return"Function";case 29:return"Global";case 30:return"Lambda";case 31:return"List";case 32:return"ListComprehension";case 33:return"ListComprehensionFor";case 34:return"ListComprehensionIf";case 35:return"MemberAccess";case 36:return"Module";case 37:return"ModuleName";case 38:return"Name";case 39:return"Nonlocal";case 40:return"Number";case 41:return"Parameter";case 42:return"Pass";case 43:return"Raise";case 44:return"Return";case 45:return"Set";case 46:return"Slice";case 47:return"StatementList";case 48:return"StringList";case 49:return"String";case 50:return"Suite";case 51:return"Ternary";case 52:return"Tuple";case 53:return"Try";case 54:return"TypeAnnotation";case 55:return"UnaryOperation";case 56:return"Unpack";case 57:return"While";case 58:return"With";case 59:return"WithItem";case 60:return"Yield";case 61:return"YieldFrom";case 62:return"FunctionAnnotation";case 63:return"Match";case 64:return"Case";case 65:return"PatternSequence";case 66:return"PatternAs";case 67:return"PatternLiteral";case 68:return"PatternClass";case 69:return"PatternCapture";case 70:return"PatternMapping";case 71:return"PatternMappingKeyEntry";case 72:return"PatternMappingExpandEntry";case 73:return"PatternValue";case 74:return"PatternClassArgument"}k(e)}(e.nodeType)} ${s}`}}return{print:function(e){return e?function(e){return e&&s(e.nodeType)}(e)?l(e,!0):function(e){const t=e;return t&&s(t.type)&&r(t.path)&&r(t.moduleName)}(e)?a(e):e instanceof Vo?(t=e)?t.hasDeclarations()?`symbol ${a(t.getDeclarations()[0])}`:"":"":function(e){const t=e;return t&&s(t.category)&&s(t.flags)}(e)?o(e):void k(e):"";var t},printFileOrModuleName:i}}function Nu(e){return!!e.isIncompleteType}class Mu{constructor(){this._speculativeContextStack=[],this._speculativeTypeCache=new Map}enterSpeculativeContext(e,t){this._speculativeContextStack.push({speculativeRootNode:e,entriesToUndo:[],allowCacheRetention:t})}leaveSpeculativeContext(){w(this._speculativeContextStack.length>0),this._speculativeContextStack.pop().entriesToUndo.forEach((e=>{e.cache.delete(e.id)}))}isSpeculative(e){if(0===this._speculativeContextStack.length)return!1;if(!e)return!0;for(let t=this._speculativeContextStack.length-1;t>=0;t--)if(Mr(e,this._speculativeContextStack[t].speculativeRootNode))return!0;return!1}trackEntry(e,t){const n=this._speculativeContextStack.length;n>0&&this._speculativeContextStack[n-1].entriesToUndo.push({cache:e,id:t})}disableSpeculativeMode(){const e=this._speculativeContextStack;return this._speculativeContextStack=[],e}enableSpeculativeMode(e){w(0===this._speculativeContextStack.length),this._speculativeContextStack=e}addSpeculativeType(e,t,n){if(w(this._speculativeContextStack.length>0),this._speculativeContextStack.some((e=>!e.allowCacheRetention)))return;let i=this._speculativeTypeCache.get(e.id);i||(i=[],this._speculativeTypeCache.set(e.id,i)),i.push({type:t,expectedType:n})}getSpeculativeType(e,t){if(this._speculativeContextStack.some((t=>Mr(e,t.speculativeRootNode)))){const n=this._speculativeTypeCache.get(e.id);if(n)for(const e of n)if(t){if(e.expectedType&&Ao(t,e.expectedType))return e.type}else if(!e.expectedType)return e.type}}}class Ou{constructor(){this._trackerStack=[],this._isUndoTrackingEnabled=!1}trackEntry(e,t){this._isUndoTrackingEnabled&&this._trackerStack[this._trackerStack.length-1].push({cache:e,id:t})}enterTrackingScope(){this._trackerStack.push([])}exitTrackingScope(){this._trackerStack.pop().forEach((e=>{e.cache.delete(e.id)})),0===this._trackerStack.length&&(this._isUndoTrackingEnabled=!1)}enableUndoTracking(){this._trackerStack.length>0&&(this._isUndoTrackingEnabled=!0)}isUndoTrackingEnabled(){return this._isUndoTrackingEnabled}}function Lu(e,t,n,i){var r,s,o;const a=qt(t);let l="namedtuple";if(0===n.length)e.addError(ml.Diagnostic.namedTupleFirstArg(),t);else{const i=n[0];0!==i.argumentCategory?e.addError(ml.Diagnostic.namedTupleFirstArg(),n[0].valueExpression||t):i.valueExpression&&48===i.valueExpression.nodeType&&(l=i.valueExpression.strings.map((e=>e.value)).join(""))}const c=n.find((e=>{var t;return"defaults"===(null===(t=e.name)||void 0===t?void 0:t.value)}));let u=0;if(c&&c.valueExpression){const t=e.getTypeOfExpression(c.valueExpression).type;u=vo(t)&&pa(t)&&!da(t)&&t.tupleTypeArguments?t.tupleTypeArguments.length:void 0}const p=e.getTypingType(t,"NamedTuple")||Ys.create(),d=Zs.createInstantiable(l,br(t,a.moduleName,l),a.moduleName,a.filePath,16777216,Ir(t),void 0,_o(p)?p.details.effectiveMetaclass:Ys.create());d.details.baseClasses.push(p),d.details.typeVarScopeId=e.getScopeIdForNode(t);const h=d.details.fields;h.set("__class__",Vo.createWithType(68,d));const m=Aa(d,!0),f=Xs.createInstance("__new__","","",65);f.details.declaredReturnType=Fa(m),function(e){var t,n;if(9!==e.nodeType||!e.parent||3!==e.parent.nodeType||38!==e.parent.leftExpression.nodeType||!e.parent.parent||47!==e.parent.parent.nodeType)return!1;const i=e.parent.leftExpression.value,r=e.parent.parent;if(r.statements[0]!==e.parent||!r.parent||36!==r.parent.nodeType&&50!==r.parent.nodeType)return!1;const s=r.parent;let o=s.statements.findIndex((e=>e===r));if(o<0)return!1;for(o++;oe.value)).join("").split(/[,\s]+/),n=void 0===u?0:Math.max(0,e.length-u);e.forEach(((e,r)=>{if(e=e.trim()){const s=Ys.create(),o={category:0,name:e,type:s,hasDeclaredType:i,hasDefault:r>=n};Xs.addParameter(f,o);const l=Vo.createWithType(8,s);g.push(e);const c=t.valueExpression,u={type:1,node:c,isRuntimeTypeExpression:!0,path:a.filePath,range:St(c.start,dt.getEnd(c),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};l.addDeclaration(u),h.set(e,l),v.push(s)}}))}else if(31===(null===(r=t.valueExpression)||void 0===r?void 0:r.nodeType)||52===(null===(s=t.valueExpression)||void 0===s?void 0:s.nodeType)){const n=t.valueExpression,r=new Map,s=31===(null===(o=t.valueExpression)||void 0===o?void 0:o.nodeType)?t.valueExpression.entries:t.valueExpression.expressions,l=void 0===u?0:Math.max(0,s.length-u);s.forEach(((t,n)=>{let s,o,c,u="";i?52===t.nodeType&&2===t.expressions.length?(c=t.expressions[0],s=t.expressions[1],o=Fa(e.getTypeForExpressionExpectingType(s,!1).type)):e.addError(ml.Diagnostic.namedTupleNameType(),t):(c=t,o=Ys.create()),c&&48===c.nodeType?(u=c.strings.map((e=>e.value)).join(""),u||e.addError(ml.Diagnostic.namedTupleEmptyName(),c)):_=!0,u||(u=`_${n.toString()}`),r.has(u)&&e.addError(ml.Diagnostic.namedTupleNameUnique(),c||t),r.set(u,u),o||(o=Ys.create());const p={category:0,name:u,type:o,hasDeclaredType:i,hasDefault:n>=l};Xs.addParameter(f,p),v.push(o),g.push(u);const d=Vo.createWithType(8,o);if(c&&48===c.nodeType){const e={type:1,node:c,path:a.filePath,typeAnnotationNode:s,range:St(c.start,dt.getEnd(c),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};d.addDeclaration(e)}h.set(u,d)})),e.setTypeForNode(n)}else _=!0}_&&(f.details.parameters=[],Xs.addDefaultParameters(f),v.push(io.create(!1)),v.push(io.create(!0)));const T=Xs.createInstance("__init__","","",192);Xs.addParameter(T,y),Xs.addDefaultParameters(T),T.details.declaredReturnType=to.createInstance(),h.set("__new__",Vo.createWithType(4,f)),h.set("__init__",Vo.createWithType(4,T));const b=Xs.createInstance("keys","","",64),I=Xs.createInstance("items","","",64);b.details.declaredReturnType=e.getBuiltInObject(t,"list",[e.getBuiltInObject(t,"str")]),I.details.declaredReturnType=b.details.declaredReturnType,h.set("keys",Vo.createWithType(8,b)),h.set("items",Vo.createWithType(8,I));const S=Xs.createInstance("__len__","","",64);if(S.details.declaredReturnType=e.getBuiltInObject(t,"int"),Xs.addParameter(S,y),h.set("__len__",Vo.createWithType(4,S)),_){const n=Xs.createInstance("__getattribute__","","",64);n.details.declaredReturnType=io.create(),Xs.addParameter(n,y),Xs.addParameter(n,{category:0,name:"name",type:e.getBuiltInObject(t,"str")}),h.set("__getattribute__",Vo.createWithType(4,n))}const x=e.getBuiltInType(t,"tuple"),C=e.getBuiltInType(t,"str");if(!_&&C&&_o(C)&&x&&_o(x)){const e=g.map((e=>({type:Zs.cloneAsInstance(Zs.cloneWithLiteral(C,e)),isUnbounded:!1}))),t=Zs.cloneAsInstance(qa(x,e));h.set("__match_args__",Vo.createWithType(4,t))}return Ha(d),Uu(d,v,!_),d}function Uu(e,t,n){const i=e.details.mro.findIndex((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")));if(i<0||e.details.mro.length{o.push({type:e,isUnbounded:!1})})):o.push({type:t.length>0?Oo(t):Ys.create(),isUnbounded:!0});const a=qa(s,o,n),l=Zs.cloneForSpecialization(r,[],n);l.details={...l.details},l.details.mro=[...l.details.mro],l.details.mro[1]=a.details.mro[0],l.details.baseClasses=l.details.baseClasses.map((e=>_o(e)&&pa(e)?a:e)),e.details.mro[i]=l,e.details.mro[i+1]=a,e.details.baseClasses=e.details.baseClasses.map((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")?l:e))}function Vu(e,t){const n={keywordOnlyParams:!1,generateEq:!0,generateOrder:!1,transformDescriptorTypes:!1,fieldDescriptorNames:[]},i=qt(t);return t.arguments.forEach((t=>{if(t.name&&0===t.argumentCategory)switch(t.name.value){case"kw_only_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.keywordOnlyParams=r;break}case"eq_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.generateEq=r;break}case"order_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.generateOrder=r;break}case"transform_descriptor_types":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.transformDescriptorTypes=r;break}case"field_descriptors":{const i=e.getTypeOfExpression(t.valueExpression).type;if(!vo(i)||!Zs.isBuiltIn(i,"tuple")||!i.tupleTypeArguments||i.tupleTypeArguments.some((e=>!_o(e.type)&&!Eo(e.type)&&!ko(e.type))))return void e.addError(ml.Diagnostic.dataClassTransformFieldDescriptor().format({type:e.printType(i)}),t.valueExpression);n.fieldDescriptorNames||(n.fieldDescriptorNames=[]),i.tupleTypeArguments.forEach((e=>{_o(e.type)||Eo(e.type)?n.fieldDescriptorNames.push(e.type.details.fullName):ko(e.type)&&n.fieldDescriptorNames.push(e.type.overloads[0].details.fullName)}));break}default:e.addError(ml.Diagnostic.dataClassTransformUnknownArgument().format({name:t.name.value}),t.valueExpression)}else e.addError(ml.Diagnostic.dataClassTransformPositionalParam(),t)})),n}function qu(e){let t;if(Eo(e)?t=e:ko(e)&&(t=e.overloads[0]),t)return t.details.decoratorDataClassBehaviors?t.details.decoratorDataClassBehaviors:"dataclasses.dataclass"===t.details.fullName?{keywordOnlyParams:!1,generateEq:!0,generateOrder:!1,transformDescriptorTypes:!1,fieldDescriptorNames:["dataclasses.field","dataclasses.Field"]}:void 0}function Bu(e,t,n){n.forEach((n=>{n.valueExpression&&n.name&&function(e,t,n,i,r){const s=qt(t),o=Xc(r,s.executionEnvironment);switch(i){case"order":!0===o?n.details.flags|=64:!1===o&&(n.details.flags&=-65);break;case"kw_only":!1===o?n.details.flags&=-2097153:!0===o&&(n.details.flags|=2097152);break;case"frozen":{let i=!1,r=!1;n.details.baseClasses.forEach((e=>{_o(e)&&Zs.isDataClass(e)&&(Zs.isFrozenDataClass(e)?r=!0:e.details.classDataClassTransform||e.details.declaredMetaclass&&_o(e.details.declaredMetaclass)&&e.details.declaredMetaclass.details.classDataClassTransform||(i=!0))})),(!0===o||r)&&(n.details.flags|=8,i&&e.addDiagnostic(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassBaseClassNotFrozen(),t));break}case"init":!1===o?n.details.flags|=16:!0===o&&(n.details.flags&=-17);break;case"eq":!1===o?n.details.flags|=32:!0===o&&(n.details.flags&=-33);break;case"slots":!0===o?(n.details.flags|=33554432,n.details.localSlotsNames&&e.addDiagnostic(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassSlotsOverwrite(),t)):!1===o&&(n.details.flags&=-33554433);break;case"hash":case"unsafe_hash":!0===o&&(n.details.flags|=67108864)}}(e,n.name,t,n.name.value,n.valueExpression)}))}function Wu(e,t){e.details.dataClassBehaviors=t,e.details.flags|=4,t.keywordOnlyParams&&(e.details.flags|=2097152),t.generateEq||(e.details.flags|=32),t.generateOrder&&(e.details.flags|=64)}function ju(e,t,n,i){Wu(t,n),(null==i?void 0:i.arguments)&&Bu(e,t,i.arguments)}function zu(e,t,n,i,r){return Eo(i)&&"functools.total_ordering"===i.details.fullName?function(e,t,n,i){if(1!==n.length)return i;const r=n[0].type;if(!r||!_o(r)||r.includeSubclasses)return i;const s=["__lt__","__le__","__gt__","__ge__"],o=Zs.cloneAsInstance(r),a=s.filter((e=>!_a(o,e,8)));if(a.length===s.length)return e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.totalOrderingMissingMethod(),t),i;const l=e.getBuiltInObject(t,"object");if(!l||!vo(l))return i;const c=e.getBuiltInObject(t,"bool");if(!c||!vo(c))return i;const u={category:0,name:"self",type:Aa(r,!1),hasDeclaredType:!0},p={category:0,name:"__value",type:l,hasDeclaredType:!0};return a.forEach((e=>{const t=Xs.createInstance(e,"","",64);Xs.addParameter(t,u),Xs.addParameter(t,p),t.details.declaredReturnType=c,r.details.fields.set(e,Vo.createWithType(4,t))})),i}(e,t,n,r):r}function $u(e,t,n){Xs.isStaticMethod(t)&&e.addDiagnostic(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.propertyStaticMethod(),n)}function Hu(e,t,n,i){const r=qt(t),s=e.getBuiltInType(t,"type"),o=Zs.isBuiltIn(n,"property")?Ir(t):n.details.typeSourceId,a=Zs.createInstantiable(n.details.name,br(t,r.moduleName,`__property_${i.details.name}`),r.moduleName,r.filePath,2048,o,void 0,_o(s)?s:Ys.create());a.details.typeVarScopeId=n.details.typeVarScopeId,Ha(a);const l=a.details.fields;n.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||["__get__","__set__","__delete__","fget","fset","fdel"].some((e=>e===t))||l.set(t,e)}));const c=Zs.cloneAsInstance(a);a.isAsymmetricDescriptor=!1;const u=Vo.createWithType(4,i);l.set("fget",u),Xs.isClassMethod(i)&&(a.details.flags|=4194304);const p=Xs.createInstance("__get__","","",320);Xs.addParameter(p,{category:0,name:"self",type:c,hasDeclaredType:!0}),Xs.addParameter(p,{category:0,name:"obj",type:to.createInstance(),hasDeclaredType:!0}),Xs.addParameter(p,{category:0,name:"objtype",type:io.create(),hasDeclaredType:!0,hasDefault:!0,defaultType:io.create()}),p.details.declaredReturnType=Xs.isClassMethod(i)?Xs.getSpecializedReturnType(i):c,p.details.declaration=i.details.declaration;const d=Xs.createInstance("__get__","","",320);Xs.addParameter(d,{category:0,name:"self",type:c,hasDeclaredType:!0});const h=i.details.parameters.length>0?i.details.parameters[0].type:io.create();Xs.addParameter(d,{category:0,name:"obj",type:h,hasDeclaredType:!0}),Xs.addParameter(d,{category:0,name:"objtype",type:io.create(),hasDeclaredType:!0,hasDefault:!0,defaultType:io.create()}),d.details.declaredReturnType=Xs.getSpecializedReturnType(i),d.details.declaration=i.details.declaration,d.details.typeVarScopeId=na(i);const m=eo.create([p,d]),f=Vo.createWithType(4,m);return l.set("__get__",f),["getter","setter","deleter"].forEach((e=>{const t=Xs.createInstance(e,"","",64);Xs.addParameter(t,{category:0,name:"self",type:io.create(),hasDeclaredType:!0}),Xs.addParameter(t,{category:0,name:"accessor",type:io.create(),hasDeclaredType:!0}),t.details.declaredReturnType=c;const n=Vo.createWithType(4,t);l.set(e,n)})),c}function Gu(e,t,n,i,r,s,o=0){const a=Zs.cloneAsInstance(i);let l=!0;return[{name:"fget",missingDiagMsg:ml.DiagnosticAddendum.missingGetter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleGetter},{name:"fset",missingDiagMsg:ml.DiagnosticAddendum.missingSetter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleSetter},{name:"fdel",missingDiagMsg:ml.DiagnosticAddendum.missingDeleter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleDeleter}].forEach((i=>{const c=t.details.fields.get(i.name),u=c?e.getDeclaredTypeOfSymbol(c):void 0;if(u&&Eo(u)){const t=n.details.fields.get(i.name),c=t?e.getDeclaredTypeOfSymbol(t):void 0;if(!c||!Eo(c))return r&&r.addMessage(i.missingDiagMsg()),void(l=!1);const p=e.bindFunctionToClassOrObject(a,u,void 0,void 0,o),d=e.bindFunctionToClassOrObject(a,c,void 0,void 0,o);if(!p||!d||!e.canAssignType(p,d,null==r?void 0:r.createAddendum(),s,0,o))return r&&r.addMessage("getter type is incompatible"),void(l=!1)}})),l}const Ku={0:["__add__","__radd__",!1],33:["__sub__","__rsub__",!1],26:["__mul__","__rmul__",!1],13:["__floordiv__","__rfloordiv__",!1],10:["__truediv__","__rtruediv__",!1],24:["__mod__","__rmod__",!1],29:["__pow__","__rpow__",!1],22:["__matmul__","__rmatmul__",!1],3:["__and__","__rand__",!1],6:["__or__","__ror__",!1],8:["__xor__","__rxor__",!1],17:["__lshift__","__rlshift__",!1],31:["__rshift__","__rrshift__",!1],12:["__eq__","__ne__",!0],28:["__ne__","__eq__",!0],20:["__lt__","__ge__",!0],21:["__le__","__gt__",!0],15:["__gt__","__le__",!0],16:["__ge__","__lt__",!0]},Ju={36:!1,37:!1,39:!0,40:!0,41:!0,42:!0},Yu=new Map([["asyncio.futures.Future",De.V3_9],["asyncio.tasks.Task",De.V3_9],["builtins.dict",De.V3_9],["builtins.frozenset",De.V3_9],["builtins.list",De.V3_9],["builtins._PathLike",De.V3_9],["builtins.set",De.V3_9],["builtins.tuple",De.V3_9],["collections.ChainMap",De.V3_9],["collections.Counter",De.V3_9],["collections.defaultdict",De.V3_9],["collections.DefaultDict",De.V3_9],["collections.deque",De.V3_9],["collections.OrderedDict",De.V3_9],["queue.Queue",De.V3_9]]),Qu=new Map([["builtins.float",["builtins.int"]],["builtins.complex",["builtins.float","builtins.int"]],["builtins.bytes",["builtins.bytearray","builtins.memoryview"]]]);function Zu(e,t){const n=[],i=new Map,r=new Map,s=new Map,o=new Map,a=new Set,l=new Map,c=new Mu,u=new Map,p=[],d=new Ou,h=[];let m,f,g,y,_,v,T,b,I,S,x,C,k=!1;const D=[];let A;function P(){m&&ct(m)}function R(e){let t;return t=A&&L(e)?A.get(e.id):s.get(e.id),void 0!==t}function F(e,n){let i;if(i=A&&L(e)?A.get(e.id):s.get(e.id),void 0!==i){if(t.verifyTypeCacheEvaluatorFlags&&void 0!==n){const t=o.get(e.id);void 0!==t&&n!==t&&E(`Type cache flag mismatch for node type ${e.nodeType}: cached flags = ${t}, access flags = ${n}`)}return w(!Nu(i)),i}}function N(e,n,i,r,a,l=!1){if(r)return void(C&&C.set(e.id,n));const u=A&&L(e)?A:s;u.set(e.id,n),t.verifyTypeCacheEvaluatorFlags&&u===s&&void 0!==i&&o.set(e.id,i),c.isSpeculative(e)&&(c.trackEntry(u,e.id),l&&c.addSpeculativeType(e,n,a)),d.trackEntry(u,e.id)}function M(e){(A&&L(e)?A:s).delete(e.id)}function O(e,t=Ys.create(),n=0){N(e,t,n,!1)}function L(e){const t=D.length;if(0===t)return!1;const n=D[t-1];let i=e;for(;i;){if(i===n.functionNode)return!0;i=i.parent}return!1}function U(e,t){return n.findIndex((n=>n.symbolId===e.id&&n.declaration===t))}function V(e,t){const i=U(e,t);if(i>=0){for(let e=i+1;e=0&&(n[r].partialType=i)}function W(e,t){const i=U(e,t);if(i>=0)return n[i].partialType}function j(e){var t;return null===(t=gn(e,(()=>{hn(e)})))||void 0===t?void 0:t.type}function z(e){k||(k=!0,y=Cn(e,"object"),_=xn(e,"type"),v=Cn(e,"function"),ce(e,"Collection"),f=function(e,t){return ue(e,"NoneType",["_typeshed"])}(e)||io.create(),T=xn(e,"tuple"),b=xn(e,"bool"),I=xn(e,"str"),S=xn(e,"dict"),x=ce(e,"_TypedDict"))}function $(e,n,i=0){var r;const s=F(e,i);if(s)return{type:s,node:e};{const t=c.getSpeculativeType(e,n);if(t)return{type:t,node:e}}P();const o=ta(n);let a;z(e);let u=0!=(64&i);switch(e.nodeType){case 38:a=function(e,n){const i=qt(e),r=e.value;let s,o=!1;const a=0!=(4&n)||i.isStubFile;if(!t.analyzeUnannotatedFunctions){const t=kr(e);if(t&&function(e){return void 0===e.returnTypeAnnotation&&e.parameters.every((e=>void 0===e.typeAnnotation&&void 0===e.typeAnnotationComment))}(t))return{node:e,type:io.create(),isIncomplete:!1}}const l=wn(e,r,!a,a&&0!=(1024&n));if(l){let t=!a;4===l.scope.type&&(t=!1);const c=l.symbol,u=Mn(c,t?e:void 0),p=ta(u.type);u.isIncomplete&&(o=!0),u.isRecursiveDefinition&&pe(e)&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.recursiveDefinition().format({name:r}),e);const d=!!p&&_o(p)&&Zs.isSpecialBuiltIn(p);if(s=p,t&&!d){const t=l.isBeyondExecutionScope||!c.isInitiallyUnbound()?p:Js.create(),n=_n(e,c.id,t,!1);if(n.type&&(s=n.type),n.isIncomplete&&(o=!0),!n.type&&l.isBeyondExecutionScope){const t=function(e,t,n){if(!t.symbol.getDeclarations().every((e=>1===e.type||2===e.type)))return;const i=function(e,t){const n=[];let i=e;for(;i;){const e=zs(i);if(!e)return;if(0!==n.length&&n[n.length-1]===e||n.push(e),e===t)return n;i=i.parent}return t?void 0:n}(e,t.scope);if(i&&i.length>=2&&i.every((e=>1===e.type||3===e.type))){const r=function(e,t){let n,i=e,r=!1;for(;i;){if(Ft(i)===t)r=!0;else if(r)return n;n=i,i=i.parent}}(e,i[i.length-2]);if(r&&(28===r.nodeType||30===r.nodeType)){const i=Lt(r);if(i&&t.symbol.getDeclarations().every((e=>{if(2===e.type)return!0;const t=Lt(e.node);return!(!t||t!==i&&ci.isFlowNodeReachable(t,i))})))return _n(e,t.symbol.id,n,!1,r)}}}(e,l,p);(null==t?void 0:t.type)&&(s=t.type),(null==t?void 0:t.isIncomplete)&&(o=!0)}}s=Ae(e,s,n),we(i,c,e),0!=(1024&n)&&u.includesVariableDecl&&!s.typeAliasInfo&&(ea(s)||bo(s)||po(s)||i.isTypingStubFile||Ks.isInstantiable(s)&&0==(2&n)||(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAnnotationVariable(),e),s=Ys.create()))}else{if("true"===r||"false"===r){const t=r.split("");t[0]=t[0].toUpperCase();const n=t.join("");_e(i.diagnosticRuleSet.reportUndefinedVariable,$o.reportUndefinedVariable,ml.Diagnostic.booleanIsLowerCase().format({name:r,booleanName:n}),e)}else"reveal_type"!==r&&"reveal_locals"!==r&&_e(i.diagnosticRuleSet.reportUndefinedVariable,$o.reportUndefinedVariable,ml.Diagnostic.symbolIsUndefined().format({name:r}),e);s=Ys.create()}if(wo(s)&&32&n&&(fe(ml.Diagnostic.paramSpecContext(),e),s=Ys.create()),bo(s)&&0==(64&n)&&s.details.name===r){const t=s.details.isVariadic?ce(e,"TypeVarTuple"):ce(e,"TypeVar");s=t&&_o(t)?Zs.cloneAsInstance(t):Ys.create()}return 0!=(64&n)&&0==(512&n)&&_o(s)&&Zs.isBuiltIn(s,"Generic")&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.genericNotAllowed(),e),bo(s)&&!s.details.isSynthesized&&(s=ke(e,s,n)),{type:s,node:e,isIncomplete:o}}(e,i);break;case 35:a=function(e,t){const n=2|572484&t,i=$(e.leftExpression,void 0,n);if(ea(i.type))return{node:e,type:Ys.create(),isIncomplete:!0};const r=Fe(e,i,{method:"get"},t);if(Dt(e)){N(e,r.type,t,!0),N(e.memberName,r.type,t,!0);let n=r.type,s=!!r.isIncomplete;if(mo(n)){const t=Ie(i.type);let r;_o(t)?r=va(t,e.memberName.value,1):vo(t)&&(r=_a(t,e.memberName.value,1)),r&&(n=Bn(r),s=!1)}const o=_n(e,0,n,s);o.type&&(r.type=o.type),o.isIncomplete&&(r.isIncomplete=!0),r.type=Ae(e,r.type,t),M(e),M(e.memberName)}return i.isIncomplete&&(r.isIncomplete=!0),r}(e,i),ea(a.type)||N(e.memberName,a.type,i,!!a.isIncomplete);break;case 24:a=function(e,t=0){const n=$(e.baseExpression,void 0,2|t);if(64&t&&48===e.baseExpression.nodeType){const t=qt(e);!t.isStubFile&&t.executionEnvironment.pythonVersion{vo(e)&&(Zs.isBuiltIn(e)||Zs.isTypedDictClass(e))||(r=!1)})),r){N(e,i.type,t,!1);const r=_n(e,0,i.type,!!n.isIncomplete||!!i.isIncomplete);r.type&&(i.type=r.type),r.isIncomplete&&(i.isIncomplete=!0),M(e)}}return n.isIncomplete&&(i.isIncomplete=!0),0!=(1048576&t)&&_o(n.type)&&(Zs.isBuiltIn(n.type,"Required")?i.isRequired=!0:Zs.isBuiltIn(n.type,"NotRequired")&&(i.isNotRequired=!0)),i}(e,i);break;case 9:0!=(1024&i)?(ze(e,o),_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAnnotationCall(),e),a={node:e,type:Ys.create()}):a=ze(e,o);break;case 52:a=function(e,t,n){if(0!=(64&n)&&0===e.expressions.length&&!t)return{type:Ue([]),node:e,isEmptyTupleShorthand:!0};let i=t,r=t&&uo(t);if(t&&fo(t)){let n;Jo(t,(t=>{if(uo(t)&&(r=!0),!n){const i=kn(e,(()=>We(e,t)));i&&Jn(t,i.type)&&(n=t)}})),i=n}if(i){const t=We(e,i);if(t)return t}const s=function(e){const t=e.expressions.map((e=>$(e))),n=t.some((e=>e.isIncomplete));return T&&_o(T)?{type:Fa(qa(T,je(t))),node:e,isIncomplete:n}:{type:Ys.create(),node:e}}(e);return r&&(s.type=io.create()),s}(e,o,i);break;case 11:a=function(e,t){let n;if(26===e.constType?n=0!=(64&t)?to.createType():to.createInstance():33!==e.constType&&15!==e.constType&&9!==e.constType||(n=Cn(e,"bool"),n&&vo(n)&&(33===e.constType?n=Zs.cloneWithLiteral(n,!0):15===e.constType&&(n=Zs.cloneWithLiteral(n,!1)))),n)return{type:n,node:e}}(e,i);break;case 48:if(0==(8&i)||function(e){if(e.parent&&24===e.parent.nodeType){const t=$(e.parent.baseExpression).type;if(t&&_o(t)&&Zs.isSpecialBuiltIn(t,"Literal"))return!0}return!1}(e)){e.strings.forEach((e=>{27===e.nodeType&&e.expressions.forEach((e=>{$(e)}))}));const t=0!=(32&e.strings[0].token.flags);a=e.strings.some((e=>27===e.nodeType))?{node:e,type:Cn(e,t?"bytes":"str")}:{node:e,type:kt(e,t?"bytes":"str",e.strings.map((e=>e.value)).join(""))}}else{let t=68|i;if(0==(4194304&i)&&(t|=524288),e.typeAnnotation)a=$(e.typeAnnotation,void 0,t);else if(!e.typeAnnotation&&1===e.strings.length){const n=function(e){const t=qt(e),n=new Qc,i=e.strings[0].value,r=e.strings[0].start+e.strings[0].token.prefixLength+e.strings[0].token.quoteMarkLength,s=new Jc;s.isStubFile=t.isStubFile,s.pythonVersion=t.executionEnvironment.pythonVersion;const o=n.parseTextExpression(t.fileContents,r,i.length,s,void 0,void 0,t.typingSymbolAliases);if(o.parseTree)return o.diagnostics.forEach((t=>{fe(t.message,e)})),o.parseTree.parent=e,o.parseTree}(e);n&&(a=$(n,void 0,t))}a||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.expectedTypeNotString(),e),a={node:e,type:Ys.create()}),u=!1}break;case 40:a=e.isImaginary?{node:e,type:Cn(e,"complex")}:e.isInteger?{node:e,type:kt(e,"int",e.value)}:{node:e,type:Cn(e,"float")};break;case 18:a=0!=(1&i)?{type:io.create(!0),node:e}:0!=(256&i)?{type:Ys.create(),node:e}:{type:Cn(e,"ellipsis")||io.create(),node:e};break;case 55:a=function(e,t){const n=$(e.expression);let i=Ie(n.type);const r=n.isIncomplete;if(ao(i))return{node:e,type:no.createNever(),isIncomplete:r};const s={0:"__pos__",33:"__neg__",5:"__invert__"};let o;if(38!==e.operator&&Go(i)&&(_e(qt(e).diagnosticRuleSet.reportOptionalOperand,$o.reportOptionalOperand,ml.Diagnostic.noneOperator().format({operator:Cr(e.operator)}),e.expression),i=Fo(i)),!n.isIncomplete){const t=aa(i);"int"===t?0===e.operator?o=i:33===e.operator&&(o=Ko(i,(e=>{const t=e;return Zs.cloneWithLiteral(t,-t.literalValue)}))):"bool"===t&&38===e.operator&&(o=Ko(i,(e=>{const t=e;return Zs.cloneWithLiteral(t,!t.literalValue)})))}if(!o)if(38===e.operator)o=Cn(e,"bool"),o||(o=Ys.create());else if(o=ho(i)?i:gt(i,[],s[e.operator],e,t),!o){_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,t?ml.Diagnostic.typeNotSupportUnaryOperatorBidirectional().format({operator:Cr(e.operator),type:ai(i),expectedType:ai(t)}):ml.Diagnostic.typeNotSupportUnaryOperator().format({operator:Cr(e.operator),type:ai(i)}),e),o=Ys.create()}return{type:o,node:e,isIncomplete:r}}(e,o);break;case 7:a=ut(e,o,i);break;case 5:a=ht(e,o),xe(e.destExpression,a.type,!!a.isIncomplete,e.rightExpression);break;case 31:case 45:a=function(e,t){let n=t;if(t&&fo(t)){let i;Jo(t,(t=>{if(!i){const n=kn(e,(()=>bt(e,t)));n&&Jn(t,n.type)&&(i=t)}})),n=i}if(n){const t=bt(e,n);if(t)return t}return function(e,t){const n=31===e.nodeType?"list":"set";let i=!1,r=!1,s=[];e.entries.forEach(((e,n)=>{let i;i=32===e.nodeType?wt(e):$(e,t?no.createNever():void 0),i.isIncomplete&&(r=!0),n<64&&s.push(i.type)})),s=s.map((e=>Qo(e)));let o=t?io.create():Ys.create();if(s.length>0){const i=qt(e);o="list"===n&&i.diagnosticRuleSet.strictListInference||"set"===n&&i.diagnosticRuleSet.strictSetInference||t?Oo(s,64):Yo(s,!0)?s[0]:o}else i=!0;const a=xn(e,n);return{type:_o(a)?Zs.cloneAsInstance(Zs.cloneForSpecialization(a,[o],!0,void 0,void 0,i)):Ys.create(),node:e,isIncomplete:r}}(e,void 0!==t)}(e,o);break;case 46:a=function(e){return e.startValue&&$(e.startValue),e.endValue&&$(e.endValue),e.stepValue&&$(e.stepValue),{type:Cn(e,"slice"),node:e}}(e);break;case 6:{const t=n?nn(e,n,!1):void 0,r=$(e.expression,t,i);a={type:oe(r.type,e.expression),node:e},r.isIncomplete&&(a.isIncomplete=!0);break}case 51:a=function(e,t,n){$(e.testExpression);const i=[];let r=!1;if(pe(e.ifExpression)){const s=$(e.ifExpression,n,t);i.push(s.type),s.isIncomplete&&(r=!0)}if(pe(e.elseExpression)){const s=$(e.elseExpression,n,t);i.push(s.type),s.isIncomplete&&(r=!0)}return{type:Oo(i),node:e,isIncomplete:r}}(e,i,o);break;case 32:a=function(e,t){let n=!1;const i=wt(e);i.isIncomplete&&(n=!0);const r=i.type;let s=e.forIfNodes.some((e=>33===e.nodeType&&e.isAsync||34===e.nodeType&&6===e.testExpression.nodeType)),o=Ys.create();6===e.expression.nodeType&&(s=!0),!s&&t&&vo(t)&&Zs.isBuiltIn(t,"AsyncGenerator")&&(s=!0);const a=ce(e,s?"AsyncGenerator":"Generator");return a&&_o(a)&&(o=Zs.cloneAsInstance(Zs.cloneForSpecialization(a,s?[r,to.createInstance()]:[r,to.createInstance(),to.createInstance()],!0))),{type:o,node:e,isIncomplete:n}}(e,o);break;case 15:a=function(e,t){let n,i=t;if(t&&fo(t)){let n;Jo(t,(t=>{if(!n){const i=kn(e,(()=>_t(e,t)));i&&Jn(t,i.type)&&(n=t)}})),i=n}if(i){n=new il;const t=_t(e,i,n);if(t)return t}return{...vt(e,!!t),expectedTypeDiagAddendum:n}}(e,o);break;case 30:a=function(e,t){const n=Xs.createInstance("","","",0);n.details.typeVarScopeId=Pe(e),N(e,n,0,!1);let i=[];if(t){Ko(t,(e=>{if(Eo(e)&&i.push(e),vo(e)){const t=_a(e,"__call__");if(t){const n=Bn(t);if(n&&Eo(n)){const t=ri(e,n);t&&i.push(t)}}}}));const n=e.parameters.filter((e=>0===e.category&&void 0===e.defaultValue)).length,r=e.parameters.filter((e=>0===e.category)).length;i=i.filter((e=>{const t=e.details.parameters.filter((e=>!!e.name&&!e.hasDefault)).length;return e.details.parameters.some((e=>!!e.name&&0!==e.category))||t>=n&&t<=r}))}const r=i.length>0?i[0]:void 0;e.parameters.forEach(((t,i)=>{let s=Ys.create();r&&i{n.inferredReturnType=$(e.expression,s).type}),!1):n.inferredReturnType=$(e.expression,s).type,{type:n,node:e}}(e,o);break;case 3:a=$(e.rightExpression),xe(e.leftExpression,a.type,!1,e.rightExpression,!0,!0);break;case 4:a=$(e.rightExpression),xe(e.name,a.type,!1,e.rightExpression,!0);break;case 60:a=function(e){let t,n,i=!1;const r=kr(e);if(r){const e=Gt(r);if(e){const i=Xs.getSpecializedReturnType(e.functionType);if(i){const e=za(i);e&&(e.length>=1&&(t=e[0]),e.length>=2&&(n=e[1]))}}}return e.expression&&$(e.expression,t).isIncomplete&&(i=!0),{type:n||Ys.create(),node:e,isIncomplete:i}}(e);break;case 61:a=function(e){const t=$(e.expression).type;let n,i=za(t);return i?n=i.length>=2?i[2]:Ys.create():vo(t)&&Zs.isBuiltIn(t,"Coroutine")?n=Ys.create():(i=za(le(t,!1,e)||Ys.create()),i&&(n=i.length>=2?i[2]:Ys.create())),{type:n||Ys.create(),node:e}}(e);break;case 56:{let t;if(o){const n=xn(e,"Iterable");n&&_o(n)&&(t=Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[o],!0)))}const n=$(e.expression,t,i),r=n.type;a=0==(128&i)&&Io(r)&&!r.isVariadicUnpacked?{type:oo.cloneForUnpacked(r),node:e}:0!=(2097152&i)&&_o(r)&&Zs.isBuiltIn(r,"tuple")?{type:Zs.cloneForUnpacked(r),node:e}:{type:ae(r,!1,e)||Ys.create(),unpackedType:r,node:e,isIncomplete:n.isIncomplete};break}case 54:a=$(e.typeAnnotation,void 0,34024);break;case 0:En(e,(()=>{e.child&&$(e.child)})),a={type:Ys.create(),node:e}}return a||E(`Unhandled expression type '${xr(e)}'`),!u||a.isIncomplete||(128&i&&bo(a.type)&&a.type.details.isVariadic&&!a.type.isVariadicInUnion&&(fe(ml.Diagnostic.typeVarTupleContext(),e),a.type=Ys.create()),Ks.isInstantiable(a.type))||vo(a.type)&&Zs.isTupleClass(a.type)&&0===(null===(r=a.type.tupleTypeArguments)||void 0===r?void 0:r.length)||(ve(a.type,e),a.type=Ys.create()),65536&i&&ea(a.type)&&(a.type.details.illegalRecursionDetected=!0),ea(a.type)||(N(e,a.type,i,!!a.isIncomplete,n,!0),!n||ho(n)||ao(n)||l.set(e.id,n)),a}function H(e){return void 0!==e.futureImports.get("annotations")||e.executionEnvironment.pythonVersion>=De.V3_11||e.isStubFile}function G(e,t){return K(e,{associateTypeVarsWithScope:!0,allowTypeVarTuple:1===t,disallowRecursiveTypeAlias:!0,allowUnpackedTypedDict:2===t,allowUnpackedTuple:1===t})}function K(e,t){var n,i,r;const s=qt(e);if(s.isTypingStubFile||s.isTypingExtensionsStubFile){const t=function(e){if(!e.parent||54!==e.parent.nodeType)return;if(38!==e.parent.valueExpression.nodeType)return;const t=e.parent.valueExpression.value,n=new Map([["Tuple",{alias:"tuple",module:"builtins"}],["Generic",{alias:"",module:"builtins"}],["Protocol",{alias:"",module:"builtins"}],["Callable",{alias:"",module:"builtins"}],["Type",{alias:"type",module:"builtins"}],["ClassVar",{alias:"",module:"builtins"}],["Final",{alias:"",module:"builtins"}],["Literal",{alias:"",module:"builtins"}],["TypedDict",{alias:"_TypedDict",module:"self"}],["Union",{alias:"",module:"builtins"}],["Optional",{alias:"",module:"builtins"}],["Annotated",{alias:"",module:"builtins"}],["TypeAlias",{alias:"",module:"builtins"}],["Concatenate",{alias:"",module:"builtins"}],["TypeGuard",{alias:"",module:"builtins"}],["StrictTypeGuard",{alias:"",module:"builtins"}],["Unpack",{alias:"",module:"builtins"}],["Required",{alias:"",module:"builtins"}],["NotRequired",{alias:"",module:"builtins"}],["Self",{alias:"",module:"builtins"}],["NoReturn",{alias:"",module:"builtins"}],["Never",{alias:"",module:"builtins"}],["LiteralString",{alias:"",module:"builtins"}]]).get(t);if(n){const i=F(e,0);if(i)return w(_o(i)),i;const r=Bt(e,t,n);return N(e,r,0,!1),r}}(e);if(t)return t}let o=1097;(null==t?void 0:t.isVariableAnnotation)&&(o|=32768),(null==t?void 0:t.allowFinal)||(o|=16),(null==t?void 0:t.allowClassVar)||(o|=131072),(null==t?void 0:t.allowTypeVarTuple)?o|=2097152:o|=128,(null==t?void 0:t.allowParamSpec)||(o|=32),(null==t?void 0:t.associateTypeVarsWithScope)?o|=8192:o|=4096,(null==t?void 0:t.disallowRecursiveTypeAlias)&&(o|=65536),(null==t?void 0:t.allowUnpackedTypedDict)&&(o|=8388608),(null==t?void 0:t.allowUnpackedTuple)&&(o|=2097152),(null==t?void 0:t.notParsedByInterpreter)&&(o|=524288),H(s)&&(o|=4),3===(null===(n=null==e?void 0:e.parent)||void 0===n?void 0:n.nodeType)&&e.parent.typeAnnotationComment===e?o|=524292:62===(null===(i=null==e?void 0:e.parent)||void 0===i?void 0:i.nodeType)?(e.parent.returnTypeAnnotation===e||e.parent.paramTypeAnnotations.some((t=>t===e)))&&(o|=524292):41===(null===(r=null==e?void 0:e.parent)||void 0===r?void 0:r.nodeType)&&e.parent.typeAnnotationComment===e&&(o|=524292);const a=$(e,void 0,o).type;return To(a)&&_e(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleAsType(),e),Fa(a)}function J(e,t){let n=qt(e).isStubFile?4:0;9!==e.expression.nodeType&&(n|=2);const i=$(e.expression,void 0,n);if(_o(i.type)&&Zs.isBuiltIn(i.type,"classmethod")&&ua(t))return t;const r=[{argumentCategory:0,type:t}],s=et(e.expression,r,i.type,void 0,!0).returnType||Ys.create();return!Eo(s)||s.details.declaredReturnType||s.details.parameters.some(((e,t)=>!(e.name&&!e.hasDeclaredType&&(0!==e.category||0===t&&e.isTypeInferred))))?La(s)&&Eo(i.type)&&!i.type.details.parameters.find((e=>void 0!==e.typeAnnotation))&&void 0===i.type.details.declaredReturnType?t:s:t}function Y(e,t=0){if(t>Gs)return!0;switch(t++,e.category){case 0:case 1:case 2:case 4:case 3:return!0;case 9:return void 0!==Mo(e,(e=>Y(e,t)));case 5:case 6:case 8:case 10:return!1;case 7:{if(Ks.isInstantiable(e))return!1;if(pa(e)&&e.tupleTypeArguments)return da(e)||0===e.tupleTypeArguments.length;if(Zs.isBuiltIn(e,"bool")&&void 0!==e.literalValue)return!1===e.literalValue;if(Zs.isProtocolClass(e))return!0;if(_a(e,"__len__"))return!0;const t=_a(e,"__bool__");if(t){const e=Bn(t);if(Eo(e)&&e.details.declaredReturnType){const t=e.details.declaredReturnType;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&!0===t.literalValue)return!1}return!0}return!1}}}function Q(e,t=0){if(t>Gs)return!0;switch(t++,e.category){case 1:case 5:case 6:case 8:case 10:case 4:case 2:return!0;case 9:return void 0!==Mo(e,(e=>Q(e,t)));case 0:case 3:return!1;case 7:{if(Ks.isInstantiable(e))return!0;if(pa(e)&&e.tupleTypeArguments&&0===e.tupleTypeArguments.length)return!1;if(!1===e.literalValue||0===e.literalValue||e.literalValue===BigInt(0)||""===e.literalValue)return!1;if(Zs.isProtocolClass(e))return!0;const t=_a(e,"__bool__");if(t){const e=Bn(t);if(Eo(e)&&e.details.declaredReturnType){const t=e.details.declaredReturnType;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&!1===t.literalValue)return!1}}return!0}}}function Z(e){return Ko(e,(e=>{if(vo(e)){if(void 0!==e.literalValue)return e.literalValue?void 0:e;if(Zs.isBuiltIn(e,"bool"))return Zs.cloneWithLiteral(e,!1)}if(Y(e))return e}))}function X(e){return Ko(e,(e=>{if(vo(e)){if(void 0!==e.literalValue)return e.literalValue?e:void 0;if(Zs.isBuiltIn(e,"bool"))return Zs.cloneWithLiteral(e,!0)}if(Q(e))return e}))}function ee(e,t,n,i={method:"get"},r,s=0,o){const a=Ne(e,Zs.cloneAsInstantiable(t),n,i,r,8|s,o);if(a)return{node:e,type:a.type,isIncomplete:!!a.isTypeIncomplete,isAsymmetricDescriptor:a.isAsymmetricDescriptor}}function te(e,t,n,i={method:"get"},r,s=0,o){let a;if(Zs.isPartiallyConstructed(t))return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classDefinitionCycle().format({name:t.details.name}),e),{node:e,type:Ys.create()};if(0==(32&s)&&(a=Ne(e,t,n,i,r,1|s,o)),a&&a.classType&&a.symbol&&yo(a.classType)&&Zs.isProtocolClass(a.classType)){const t=qo(a.symbol);t&&1===t.type&&!a.isClassVar&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.protocolMemberNotClassVar().format({memberName:n,className:a.classType.details.name}),e)}if(!a){const r=t.details.effectiveMetaclass;r&&_o(r)&&!Zs.isSameGenericClass(r,t)&&(a=Ne(e,r,n,i,void 0,s,t))}return a?{node:e,type:a.type,isIncomplete:!!a.isTypeIncomplete,isAsymmetricDescriptor:a.isAsymmetricDescriptor}:void 0}function ne(e,t,n=!1){const i=va(e,t,8);if(i){const t=Bn(i);if(Eo(t)||ko(t)){const i=ri(Zs.cloneAsInstance(e),t,void 0,void 0,void 0,n);if(i)return i}}}function ie(e,t){if(t>=e.parameters.length)return;const n=e.parameters[t];if(n.typeAnnotation)return n.typeAnnotation;if(n.typeAnnotationComment)return n.typeAnnotationComment;if(!e.functionAnnotationComment||e.functionAnnotationComment.isParamListEllipsis)return;let i=0;const r=e.functionAnnotationComment.paramTypeAnnotations;r.length=r.length?void 0:r[s]}function re(e){if(54===e.nodeType&&38===e.valueExpression.nodeType){const t=wn(e,e.valueExpression.value,!1);if(t)return void 0!==t.symbol.getDeclarations().find((e=>ss(e)))}return!1}function se(e,t){let n,i,r,s=!0;switch(e.nodeType){case 38:{const t=wn(e,e.value,!0);if(t&&(n=t.symbol,void 0===On(n)&&2===t.scope.type)){const t=Dr(e);if(t&&10===t.nodeType){const i=$t(t);if(i){const t=va(i.classType,e.value,24);t&&(n=t.symbol)}}}break}case 54:return se(e.valueExpression);case 35:{const t=Ie($(e.leftExpression,void 0,2).type);let o;vo(t)?(o=_a(t,e.memberName.value,16),i=t,r=null==o?void 0:o.classType,(null==o?void 0:o.isInstanceMember)&&(s=!1)):_o(t)&&(o=va(t,e.memberName.value,24),i=t,r=null==o?void 0:o.classType),o&&(n=o.symbol);break}case 24:{const n=se(e.baseExpression);if(n&&vo(n)){const i=va(n,"__setitem__");if(i){const t=Bn(i);if(Eo(t)){const r=ri(n,t,_o(i.classType)?i.classType:void 0,e,void 0,!1);if(r&&Eo(r)&&2===r.details.parameters.length){const e=Xs.getEffectiveParameterType(r,1);if(!ho(e))return e}}}else if(Zs.isTypedDictClass(n)){const i=vl(li,e,n,t||{method:"get"});if(i)return i.type}}break}}if(n){let t=On(n);if(t){if(ua(t)){const e=va(t,"fset"),n=e?Bn(e):void 0;if(!n||!Eo(n)||n.details.parameters.length<2)return;t=n.details.parameters[1].type}return i&&(r&&_o(r)&&(t=ha(t,r)),(Eo(t)||ko(t))&&s&&(t=ri(i,t,void 0,e))),t}}}function oe(e,t){return Ko(e,(e=>{if(ho(e))return e;if(vo(e)){const n=Ee(e,"__await__",t);if(n){if(ho(n))return n;if(vo(n)&&Ee(n,"__iter__",t)){const e=function(e){if(ho(e))return e;if(vo(e)&&Zs.isBuiltIn(e,"Generator")){const t=e.typeArguments;if(t&&t.length>=3)return t[2]}}(n);if(e)return e}}}return t&&_e(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotAwaitable().format({type:ai(e)}),t),Ys.create()}))}function ae(e,t,n){const i=t?"__aiter__":"__iter__",r=t?"__anext__":"__next__";let s=!0;Go(e=Ie(e))&&(n&&_e(qt(n).diagnosticRuleSet.reportOptionalIterable,$o.reportOptionalIterable,ml.Diagnostic.noneNotIterable(),n),e=Fo(e));const o=Ko(e,(e=>{if(ho(e=Ie(e)))return e;const o=new il;if(yo(e)){let s;if(Ks.isInstance(e)){if(pa(e)&&e.tupleTypeArguments&&0===e.tupleTypeArguments.length)return no.createNever();s=Ee(e,i,n)}else Ks.isInstantiable(e)&&e.details.effectiveMetaclass&&_o(e.details.effectiveMetaclass)&&(s=Ee(Zs.cloneAsInstance(e.details.effectiveMetaclass),i,n,e));if(s){const e=new il,a=Se(s,void 0,(s=>{if(ho(s))return s;if(vo(s)){const i=Ee(s,r,n);if(i)return t?oe(i,n):i;e.addMessage(ml.Diagnostic.methodNotDefinedOnType().format({name:r,type:ai(s)}))}else e.addMessage(ml.Diagnostic.methodReturnsNonObject().format({name:i}))}));if(e.isEmpty())return a;o.addAddendum(e)}else{if(vo(e)){const t=Ee(e,"__getitem__",n);if(t)return t}o.addMessage(ml.Diagnostic.methodNotDefined().format({name:i}))}}n&&_e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotIterable().format({type:ai(e)})+al(o),n),s=!1}));return s?o:void 0}function le(e,t,n){const i=t?"__aiter__":"__iter__";let r=!0;Go(e=Ie(e))&&(n&&_e(qt(n).diagnosticRuleSet.reportOptionalIterable,$o.reportOptionalIterable,ml.Diagnostic.noneNotIterable(),n),e=Fo(e));const s=Ko(e,(e=>{if(ho(e))return e;if(yo(e)){let t;if(Ks.isInstance(e)?t=Ee(e,i,n):Ks.isInstantiable(e)&&e.details.effectiveMetaclass&&_o(e.details.effectiveMetaclass)&&(t=Ee(Zs.cloneAsInstance(e.details.effectiveMetaclass),i,n,e)),t)return Ie(t)}n&&_e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotIterable().format({type:ai(e)}),n),r=!1}));return r?s:void 0}function ce(e,t){return ue(e,t,["typing"])}function ue(t,n,i){const r=qt(t),s=e({nameParts:i,importingFilePath:r.filePath});if(!s)return;const o=s.symbolTable.get(n);return o?Nn(o):void 0}function pe(e,t){const n=Lt(e);if(!n)return!!e.parent&&pe(e.parent,t);const i=t?Lt(t):void 0;return!!ci.isFlowNodeReachable(n,i)}function de(e){const t=function(e){return e.afterFlowNode}(e);return!!t&&!!ci.isFlowNodeReachable(t)&&!!function(e,t){return void 0!==vn(yn(e.id),t,void 0,void 0,Js.create(),!1).type}(e,t)}function he(e,t,n=!0){const i=Lt(e),r=Lt(t);return!(!i||!r)&&(i===r?n:ci.isFlowNodeReachable(r,i))}function me(e,t,n){return ge("information",e,t,n)}function fe(e,t,n){return ge("error",e,t,n)}function ge(e,t,n,i){if(!ye(n))return qt(n).diagnosticSink.addDiagnosticWithTextRange(e,t,i||n)}function ye(e){return p.some((t=>Mr(e,t)))||c.isSpeculative(e)||d.isUndoTrackingEnabled()}function _e(e,t,n,i){if("none"===e)return;const r=ge(e,n,i);return r&&r.setRule(t),r}function ve(e,t){const n=qt(t),i=new il;fo(e)&&Jo(e,(e=>{Ks.isInstantiable(e)||i.addMessage(ml.DiagnosticAddendum.typeNotClass().format({type:ai(e)}))})),_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeExpectedClass().format({type:ai(e)})+i.getString(),t)}function Te(e,t,n,i,r=!1,s){const o=e.value,a=wn(e,o,!1);if(!a)return;const l=a.symbol.getDeclarations();let c=On(a.symbol);const u=qt(e);if(void 0===c&&2===a.scope.type){const t=Er(e);if(t){const n=$t(t);if(n){const t=va(n.classType,e.value,1);(null==t?void 0:t.isTypeDeclared)&&(c=Bn(t))}}}let p=t;if(c&&i){let n=new il;Jn(c,t,n)?p=ni(c,t):(s&&(n=s),_e(u.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(c)})+n.getString(),i||e),p=c)}else{const t=zs(e);2===(null==t?void 0:t.type)&&(!Ks.isInstance(p)||Zt(o)||Wo(a.symbol)||(p=Qo(p)))}const d=l.find((e=>1===e.type));d&&1===d.type&&i&&(d.isConstant?e!==l[0].node&&_e(u.diagnosticRuleSet.reportConstantRedefinition,$o.reportConstantRedefinition,ml.Diagnostic.constantRedefinition().format({name:o}),e):d.isFinal&&!r&&_e(u.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.finalReassigned().format({name:o}),e)),N(e,p,0,n,void 0,!1)}function be(e,t,n,i,r){const s=e.memberName.value,o=qt(e),a=Er(e);if(!a)return;const l=$t(a);if(l&&_o(l.classType)){let a=va(l.classType,s,i?0:8);const c=l.classType.details.fields;if(a){const n=_o(a.classType)?a.classType:void 0,u=n&&Zs.isSameGenericClass(l.classType,n);if(u&&i&&(null==n?void 0:n.details.inheritedSlotsNames)&&(null==n?void 0:n.details.localSlotsNames)&&n.details.localSlotsNames.length>0&&!n.details.inheritedSlotsNames.some((e=>e===s))){const t=On(a.symbol);t&&ua(t)||_e(o.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.slotsAttributeError().format({name:s}),e.memberName)}if(u&&a.isInstanceMember===i){const t=c.get(s);w(void 0!==t);const n=t.getDeclarations();n.length>0&&1===n[0].type&&r&&e.memberName!==n[0].node&&n[0].isConstant&&_e(o.diagnosticRuleSet.reportConstantRedefinition,$o.reportConstantRedefinition,ml.Diagnostic.constantRedefinition().format({name:e.memberName.value}),e.memberName)}else{const n=On(a.symbol);n&&!ua(n)&&!a.isInstanceMember&&i&&(we(o,a.symbol,e.memberName),t=Oo([t,Bn(a)]))}}a=va(l.classType,s,16),a||!r||n||xt(o.diagnosticRuleSet.reportUnknownMemberType,$o.reportUnknownMemberType,e.memberName,t,e,!0)}}function Ie(e,t){return Ko(e,(e=>{if(wo(e)){if("args"===e.paramSpecAccess)return T&&_o(T)&&y&&vo(y)?Zs.cloneAsInstance(qa(T,[{type:y,isUnbounded:!0}])):Ys.create();if("kwargs"===e.paramSpecAccess)return S&&_o(S)&&I&&_o(I)&&y&&vo(y)?Zs.cloneAsInstance(Zs.cloneForSpecialization(S,[Fa(I),y],!0)):Ys.create()}if(Io(e)&&T&&_o(T))return Fa(qa(T,[],!0,!0,!0));if(bo(e)&&!e.details.recursiveTypeAliasName){if(e.details.boundType){const t=Ks.isInstantiable(e)?Na(e.details.boundType):e.details.boundType;return e.details.isSynthesized?t:Zo(t,[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}])}if(e.details.recursiveTypeAliasName)return e;if(e.details.constraints.length>0){const n=[];return e.details.constraints.forEach(((i,r)=>{if(t){const n=oo.getNameWithScope(e),i=t.find((e=>e.typeVarName===n));if(i&&i.constraintIndex!==r)return}Ks.isInstantiable(e)&&(i=Na(i)),n.push(Zo(i,[{typeVarName:oo.getNameWithScope(e),constraintIndex:r,isConstrainedTypeVar:!0}]))})),Oo(n)}if(e.details.isExemptFromBoundCheck)return io.create();if(Ks.isInstantiable(e)){if(_&&_o(_))return e.details.isSynthesized?_:Zo(Zs.cloneAsInstance(_),[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}])}else if(y)return e.details.isSynthesized?y:Zo(y,[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}]);return io.create()}return e}))}function Se(e,t,n){const i=[];let r=!1;const s=e=>{let s=fo(e)?e:Ie(e);s=ta(s),Jo(s,(s=>{var o;if(t&&!ro.isCompatible(Xo(s),t))return;let a=n(s,e);if(a!==e&&(r=!0),a){const e=null===(o=Xo(s))||void 0===o?void 0:o.filter((e=>e.isConstrainedTypeVar));e&&e.length>0&&(a=Zo(a,e)),i.push(a)}}))};if(fo(e)?e.subtypes.forEach((e=>{s(e)})):s(e),!r)return e;const o=Oo(i);return 9===o.category&&so.addTypeAliasSource(o,e),o}function xe(e,t,n,i,r=!1,s=!1,o){if(bo(t)&&i&&9===i.nodeType){const n=$(i.leftExpression,void 0,2).type;_o(n)&&(Zs.isBuiltIn(n,"TypeVar")||Zs.isBuiltIn(n,"TypeVarTuple")||Zs.isBuiltIn(n,"ParamSpec"))&&(38===e.nodeType&&e.value===t.details.name||fe(t.details.isParamSpec?ml.Diagnostic.paramSpecAssignedName().format({name:oo.getReadableName(t)}):ml.Diagnostic.typeVarAssignedName().format({name:oo.getReadableName(t)}),e))}switch(t=Ro(t),e.nodeType){case 38:n||xt(qt(e).diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,e,t,e,r),Te(e,t,n,i,s,o);break;case 35:!function(e,t,n,i,r){const s=$(e.leftExpression,void 0,2),o=Ie(s.type);if(38===e.leftExpression.nodeType){const r=Er(e);if(r){const s=$t(r);if(s&&_o(s.classType)&&(vo(o)?Zs.isSameGenericClass(o,s.classType)&&be(e,t,n,!0,i):_o(o)&&Zs.isSameGenericClass(o,s.classType)&&be(e,t,n,!1,i),Zs.isProtocolClass(s.classType))){const t=s.classType.details.fields.get(e.memberName.value);t&&0===t.getDeclarations().filter((e=>!kr(e.node))).length&&fe(ml.Diagnostic.assignmentInProtocol(),e.memberName)}}}var l;Fe(e,s,{method:"set",setType:t,setErrorNode:i,setExpectedTypeDiag:r},0).isAsymmetricDescriptor&&(l=e,c.isSpeculative(void 0)||a.add(l.id)),N(e.memberName,t,0,n,void 0,!1),N(e,t,0,n,void 0,!1)}(e,t,n,i,o);break;case 24:{const r=$(e.baseExpression,void 0,2);Le(e,r.type,{method:"set",setType:t,setErrorNode:i,setExpectedTypeDiag:o},0),N(e,t,0,n);break}case 31:case 52:!function(e,t,n,i){const r=31===e.nodeType?e.entries:e.expressions,s=new Array(r.length);for(let e=0;e56===e.nodeType)),a=r.findIndex((e=>56===e.nodeType));t=Ie(t);const l=new il;if(Jo(t,(t=>{const n=ia(t);if(n&&n.tupleTypeArguments){const i=n.tupleTypeArguments.map((e=>Zo(e.type,Xo(t)))),c=n.tupleTypeArguments.findIndex((e=>e.isUnbounded));if(c>=0)if(i.length>s.length)i.splice(c,1);else if(i.length0?i[c]:io.create();for(;i.length=0)if(i.length>s.length){let t=Oo(i.splice(o,i.length-s.length+1));31===e.nodeType&&(t=Qo(t)),i.splice(o,0,t)}else i.length===s.length-1&&i.splice(o,0,no.createNever());if(i.forEach(((e,t)=>{t=0?r.length-1:r.length,s=l.createAddendum();s.addMessage((31===e.nodeType?ml.DiagnosticAddendum.listAssignmentMismatch():ml.DiagnosticAddendum.tupleAssignmentMismatch()).format({type:ai(t)})),s.createAddendum().addMessage(ml.DiagnosticAddendum.tupleSizeMismatch().format({expected:n,received:i.length}))}}else{const e=ae(t,!1,i)||Ys.create();for(let n=0;n{const r=s[t];xe(e,0===r.length?Ys.create():Oo(r),n,i,!0)})),N(e,t,0,n)}(e,t,n,i);break;case 54:{const n=K(e.typeAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(e.valueExpression),allowClassVar:Nr(e.valueExpression)});vo(n)&&(Zs.isBuiltIn(n,"Final")||Zs.isBuiltIn(n,"ClassVar"))||vo(n)&&Zs.isBuiltIn(n,"TypeAlias")||Jn(n,t)&&(vo(t)&&Zs.isEnumClass(t)||(t=ni(n,t))),xe(e.valueExpression,t,!1,i,r,s,o);break}case 56:38===e.expression.nodeType&&Te(e.expression,Cn(e.expression,"list",[t]),!1,i);break;case 0:e.child&&En(e.child,(()=>{$(e.child)}));break;default:fe(ml.Diagnostic.assignmentTargetExpr(),e)}}function Ce(e){switch(e.nodeType){case 38:$(e);break;case 35:{const t=$(e.leftExpression),n=Fe(e,t,{method:"del"},0);N(e.memberName,n.type,0,!1),N(e,n.type,0,!1);break}case 24:{const t=$(e.baseExpression,void 0,2);Le(e,t.type,{method:"del"},0),N(e,Js.create(),0,!1);break}case 52:e.expressions.forEach((e=>{Ce(e)}));break;case 0:e.child&&En(e.child,(()=>{$(e.child,void 0)}));break;default:_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.delTargetExpr(),e)}}function we(e,t,n){c.isSpeculative(n)||d.isUndoTrackingEnabled()||e.accessedSymbolMap.set(t.id,!0)}function Ee(e,t,n,i){const r=_a(e,t,8);if(!r)return;const s=Bn(r);if(ho(s))return s;if(Eo(s)){const t=ri(i||e,s,r&&_o(r.classType)?r.classType:void 0,n,void 0,!1,i);if(t)return Un(t)}}function ke(e,t,n){var i;if(Ks.isInstantiable(t)&&!ea(t)){const r=function(e,t){var n;let i=e,r=0;for(w(Ks.isInstantiable(t));i&&(i=Pr(i,35===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)),i);){let e;if(10===i.nodeType){const t=$t(i);t&&(e=t.classType.details.typeParameters),r++}else if(28===i.nodeType){const t=Gt(i);t&&(e=[],t.functionType.details.parameters.forEach((t=>{t.hasDeclaredType&&Ia(e,Sa(t.type))})),t.functionType.details.declaredReturnType&&Ia(e,Sa(t.functionType.details.declaredReturnType)))}else if(36===i.nodeType)break;if(e){const n=e.find((e=>e.details.name===t.details.name));if(n&&n.scopeId)return{type:r>1?t:Na(n),foundInterveningClass:r>1}}i=i.parent}for(i=e;i;){if(3===i.nodeType){const e=F(i.leftExpression,0);if(e&&bo(e)&&e.details.recursiveTypeAliasScopeId&&e.details.recursiveTypeAliasName)return{type:oo.cloneForScopeId(t,e.details.recursiveTypeAliasScopeId,e.details.recursiveTypeAliasName,2),foundInterveningClass:!1}}i=i.parent}return{type:t,foundInterveningClass:!1}}(e,t);if(t=r.type,0!=(2048&n)&&void 0!==t.scopeId)t.details.isSynthesized||t.details.isParamSpec||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarUsedByOuterScope().format({name:t.details.name}),e);else if(0!=(8192&n)){if(void 0===t.scopeId)if(r.foundInterveningClass)_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarUsedByOuterScope().format({name:t.details.name}),e);else{let n=Dr(e);if(n&&35===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&e.parent.leftExpression===e){const i=e.parent.memberName.value;if("args"===i||"kwargs"===i){const i=Dr(n);28===(null==i?void 0:i.nodeType)?n=i:r.type.scopeId||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecNotUsedByOuterScope().format({name:t.details.name}),e)}}n?t=oo.cloneForScopeId(t,Pe(n),n.name.value,28===n.nodeType?1:0):E("AssociateTypeVarsWithCurrentScope flag was set but enclosing scope not found")}}else if(0!=(4096&n)&&(void 0===t.scopeId||r.foundInterveningClass)&&!t.details.isSynthesized){const n=wo(t)?ml.Diagnostic.paramSpecNotUsedByOuterScope():ml.Diagnostic.typeVarNotUsedByOuterScope();_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,n.format({name:t.details.name}),e)}}return t.isVariadicUnpacked&&(t=oo.cloneForPacked(t)),t}function Ae(e,t,n){return 0==(2&n)&&(_o(t)&&(0!=(64&n)&&((i=t).details.typeParameters.length>0?!i.details.typeParameters[0].details.isSynthesized:!(!Zs.isSpecialBuiltIn(i)||!["Tuple","Callable","Generic","Type","Optional","Union","Literal","Annotated","TypeGuard","StrictTypeGuard"].some((e=>e===(i.aliasName||i.details.name)))))&&!t.typeArguments&&_e(qt(e).diagnosticRuleSet.reportMissingTypeArgument,$o.reportMissingTypeArgument,ml.Diagnostic.typeArgsMissingForClass().format({name:t.aliasName||t.details.name}),e),t.typeArguments||(t=Tn(t,void 0,n,e))),0!=(64&n)&&t.typeAliasInfo&&t.typeAliasInfo.typeParameters&&t.typeAliasInfo.typeParameters.length>0&&!t.typeAliasInfo.typeArguments&&(_e(qt(e).diagnosticRuleSet.reportMissingTypeArgument,$o.reportMissingTypeArgument,ml.Diagnostic.typeArgsMissingForAlias().format({name:t.typeAliasInfo.name}),e),t=Ks.cloneForTypeAlias(t,t.typeAliasInfo.name,t.typeAliasInfo.fullName,t.typeAliasInfo.typeVarScopeId,t.typeAliasInfo.typeParameters,t.typeAliasInfo.typeParameters.map((e=>Ys.create()))))),t;var i}function Pe(e){let t="";return(10===e.nodeType||28===e.nodeType)&&(t=e.name.value),`${qt(e).filePath}.${e.start.toString()}-${t}`}function Re(e){const t=[];let n=e;for(;n&&(n=Pr(n),n);)t.push(Pe(n)),n=n.parent;return t}function Fe(e,n,i,r){var s;let o=n.type;const a=e.memberName.value;let l=new il;const c=qt(e);let u,p,d=!!n.isIncomplete;if(n.isIncomplete&&mo(n.type))return{type:Ys.create(),node:e,isIncomplete:!0};fo(o)&&Ks.isSpecialForm(o)&&y&&(o=y);const h=()=>{if(f&&_o(f))return ee(e.memberName,f,a,i,l,void 0,n.bindToType)};switch(wo(o)&&o.paramSpecAccess&&(o=Ie(o)),o.category){case 2:case 1:u=o;break;case 4:u=Ys.create();break;case 10:if(o.details.isParamSpec){if("args"===a){const t=jr(e);return t&&1===t.category?{type:oo.cloneForParamSpecAccess(o,"args"),node:e,isIncomplete:d}:(fe(ml.Diagnostic.paramSpecArgsUsage(),e),{type:Ys.create(),node:e,isIncomplete:d})}if("kwargs"===a){const t=jr(e);return t&&2===t.category?{type:oo.cloneForParamSpecAccess(o,"kwargs"),node:e,isIncomplete:d}:(fe(ml.Diagnostic.paramSpecKwargsUsage(),e),{type:Ys.create(),node:e,isIncomplete:d})}return d||_e(c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecUnknownMember().format({name:a}),e),{type:Ys.create(),node:e,isIncomplete:d}}return 64&r?(d||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarNoMember().format({type:ai(o),name:a}),e.leftExpression),{type:Ys.create(),node:e,isIncomplete:d}):o.details.recursiveTypeAliasName?{type:Ys.create(),node:e,isIncomplete:!0}:Fe(e,{type:Ie(o),node:e,bindToType:o,isIncomplete:d},i,0);case 7:if(Ks.isInstantiable(o)){const t=te(e.memberName,o,a,i,l,0,n.bindToType);u=null==t?void 0:t.type,(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}else if(Zs.isBuiltIn(o,"type")&&y&&vo(y)&&!n.isSuperCall){const t=te(e.memberName,Zs.cloneAsInstantiable(y),a,i,l,0,n.bindToType?Fa(n.bindToType):void 0);u=null==t?void 0:t.type,(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}else{if(Zs.isBuiltIn(o,"LiteralString")&&I&&_o(I)&&(o=Zs.cloneAsInstance(I)),Zs.isEnumClass(o)){const t=o.literalValue;if(t instanceof Hs)if("name"===a||"_name_"===a){const n=xn(e,"str");if(_o(n))return{node:e,type:Zs.cloneAsInstance(Zs.cloneWithLiteral(n,t.itemName)),isIncomplete:d}}else if("value"===a||"_value_"===a)return{node:e,type:t.itemType,isIncomplete:d}}const t=ee(e.memberName,o,a,i,l,void 0,n.bindToType);t&&(u=Zo(t.type,Xo(o))),(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}break;case 8:{const n=Qs.getField(o,a);if(n&&!n.isExternallyHidden())"get"===i.method&&we(qt(e),n,e.memberName),u=Mn(n,void 0,!0).type,bo(u)&&(u=ke(e,u,r)),mo(u)&&(u=Ys.create()),n.isPrivateMember()&&_e(qt(e).diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfModule().format({name:a}),e.memberName),n.isPrivatePyTypedImport()&&_e(qt(e).diagnosticRuleSet.reportPrivateImportUsage,$o.reportPrivateImportUsage,ml.Diagnostic.privateImportFromPyTypedModule().format({name:a,module:o.moduleName}),e.memberName);else{if("get"===i.method){const e=Qs.getField(o,"__getattr__");if(e&&(c.executionEnvironment.pythonVersion>=De.V3_7||e.getDeclarations().some((e=>e.path.toLowerCase().endsWith(".pyi"))))){const t=Mn(e);Eo(t.type)&&(u=Un(t.type),t.isIncomplete&&(d=!0))}}u||(d||_e(c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleUnknownMember().format({name:a,module:o.moduleName}),e.memberName),u=t.evaluateUnknownImportsAsAny?io.create():Ys.create())}break}case 9:u=Ko(o,(t=>{if(lo(t)){const t=h();return t?(u=Zo(t.type,Xo(o)),t.isIncomplete&&(d=!0),u):void(d||_e(qt(e).diagnosticRuleSet.reportOptionalMemberAccess,$o.reportOptionalMemberAccess,ml.Diagnostic.noneUnknownMember().format({name:a}),e.memberName))}if(!mo(t)){const r=Fe(e,{type:t,node:e,isIncomplete:n.isIncomplete},i,0);return r.isIncomplete&&(d=!0),r.type}}));break;case 5:case 6:if("__defaults__"===a)u=io.create();else if("__self__"===a){const e=Eo(o)?o:o.overloads[0];void 0!==e.preBoundFlags&&0==(4&e.preBoundFlags)&&(u=e.boundToType)}else u=v?Fe(e,{type:v,node:e},i,r).type:io.create();break;case 3:{const e=h();e&&(u=Zo(e.type,Xo(o)),e.isIncomplete&&(d=!0));break}default:l.addMessage(ml.DiagnosticAddendum.typeUnsupported().format({type:ai(o)}))}if(!u){const t=Eo(o)||ko(o)||vo(o)&&Zs.isBuiltIn(o,"function");if(!n.isIncomplete){let n=ml.Diagnostic.memberAccess();"set"===i.method?n=ml.Diagnostic.memberSet():"del"===i.method&&(n=ml.Diagnostic.memberDelete()),i.setExpectedTypeDiag&&(l=i.setExpectedTypeDiag);const[r,s]=t?[c.diagnosticRuleSet.reportFunctionMemberAccess,$o.reportFunctionMemberAccess]:[c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues];_e(r,s,n.format({name:a,type:ai(o)})+al(l),e.memberName)}u=t?io.create():Ys.create()}if(0==(2&r)&&_o(u)&&!u.typeArguments&&(u=Tn(u,void 0,r,e)),"get"===i.method){let t=d;if(_o(u)){const n=function(e,t){let n=e;for(;n;){if(n.nodeType===t)return n;n=n.parent}}(e,1);n&&9===(null===(s=null==n?void 0:n.parent)||void 0===s?void 0:s.nodeType)&&(t=!0)}t||xt(c.diagnosticRuleSet.reportUnknownMemberType,$o.reportUnknownMemberType,e.memberName,u,e,!1)}return{type:u,node:e,isIncomplete:d,isAsymmetricDescriptor:p}}function Ne(e,t,n,i,r,s,o){var a;let l=0;1&s&&(l|=8),2&s&&(l|=2),4&s&&(l|=4),256&s&&(l|=32),128&s&&(l|=1);let c=va(t,n,16|l);if(c||(c=va(t,n,l)),c){let l,u=!1;if(c.symbol.isInitVar())return void(r&&r.addMessage(ml.DiagnosticAddendum.memberIsInitVar().format({name:n})));if("get"!==i.method){const n=Er(e);if(n){const e=null===(a=$t(n))||void 0===a?void 0:a.classType;e&&_o(e)&&Zs.isSameGenericClass(e,t)&&(l=On(c.symbol)||Ys.create(),l&&_o(c.classType)&&(l=ha(l,c.classType)))}}if(!l){const n=function(e,t,n){if(_o(t.classType)){const i=Mn(t.symbol);if(i)return Ln(i.type),{node:e,type:ha(i.type,t.classType,n),isIncomplete:!!i.isIncomplete}}}(e,c,o?void 0:t);n?(l=n.type,n.isIncomplete&&(u=!0)):l=Ys.create()}if(Zs.isTypedDictClass(t)){const e=c.symbol.getTypedDeclarations();if(e.length>0&&1===e[0].type)return void(r&&r.addMessage(ml.DiagnosticAddendum.memberUnknown().format({name:n})))}"get"===i.method&&_o(c.classType)&&Zs.isSameGenericClass(c.classType,t)&&we(qt(e),c.symbol,e);const p=function(e,t,n,i,r,s,o,a,l,c){const u=0!=(16&s);let p=!0,d=!1;if(e=Ko(e,(e=>{const h=Ie(e);if(yo(h)){let e=h,u=!1;if(Ks.isInstantiable(h)&&(h.details.effectiveMetaclass&&_o(h.details.effectiveMetaclass)&&(r||"get"===l.method)?(e=Fa(h.details.effectiveMetaclass),u=!0):e=void 0),e){let m;m="get"===l.method?"__get__":"set"===l.method?"__set__":"__delete__";const f=va(e,m,8);if(Zs.isPropertyClass(e))if("set"===l.method){if(!f)return c&&c.addMessage(ml.DiagnosticAddendum.propertyMissingSetter().format({name:a})),void(p=!1)}else if("del"===l.method&&!f)return c&&c.addMessage(ml.DiagnosticAddendum.propertyMissingDeleter().format({name:a})),void(p=!1);if(f){let a=Bn(f);const g=[{argumentCategory:0,type:Zs.isClassProperty(e)?n:r?i||Zs.cloneAsInstance(n):to.createInstance()}];if("get"===l.method?g.push({argumentCategory:0,type:n}):"set"===l.method&&g.push({argumentCategory:0,type:l.setType||Ys.create()}),Zs.isPropertyClass(e)&&t&&_o(t.classType)&&(Ln(a),a=ha(a,t.classType),0!=(1&s)&&Zs.isProtocolClass(n)&&(c&&c.addMessage(ml.DiagnosticAddendum.propertyAccessFromProtocolClass()),p=!1)),a&&(Eo(a)||ko(a))){const n=a,i=En(o,(()=>{let i;Zs.isPropertyClass(h)&&!u?t&&_o(t.classType)&&(i=t.classType):_o(f.classType)&&(i=f.classType);const r=ri(e,n,i,o,void 0,void 0,u?h:void 0);if(r&&(Eo(r)||ko(r))){const e=new jo(na(r));i&&e.addSolveForScope(na(i));const t=et(o,g,r,e,!0);if(t.argumentErrors){if("set"===l.method)if(l.setType&&Eo(r)&&r.details.parameters.length>=2){const e=Xs.getEffectiveParameterType(r,1);null==c||c.addMessage(ml.DiagnosticAddendum.typeIncompatible().format({destType:ai(e),sourceType:ai(l.setType)}))}else ko(r)&&(null==c||c.addMessage(ml.Diagnostic.noOverload().format({name:m})));return p=!1,io.create()}return"get"===l.method?t.returnType||Ys.create():io.create()}}));if("set"===l.method&&yo(f.classType)&&function(e){var t;if(void 0!==e.isAsymmetricDescriptor)return e.isAsymmetricDescriptor;let n=!1;const i=va(e,"__get__",2),r=va(e,"__set__",2);if(i&&r){const e=Nn(i.symbol),s=Nn(r.symbol);Eo(e)&&Eo(s)&&s.details.parameters.length>=3&&e.details.declaredReturnType&&(Ao(Xs.getEffectiveParameterType(s,2),null!==(t=Xs.getSpecializedReturnType(e))&&void 0!==t?t:Ys.create())||(n=!0))}else n=!1;return e.isAsymmetricDescriptor=n,n}(f.classType)&&(d=!0),i)return i}}}}else if((Eo(h)||ko(h))&&(!r||t&&!t.isInstanceMember))return ri(r?Zs.cloneAsInstance(n):n,h,t&&_o(t.classType)?t.classType:void 0,o,void 0,u,i);if("set"===l.method){if((null==t?void 0:t.symbol.isClassVar())&&8&s)return c&&c.addMessage(ml.DiagnosticAddendum.memberSetClassVar().format({name:a})),void(p=!1);const e=null==t?void 0:t.symbol.getDeclarations().find((e=>rs(e)));if(e&&!Mr(o,e.node)){const e=kr(o);if(!e||"__init__"!==e.name.value)return c&&c.addMessage(ml.Diagnostic.finalReassigned().format({name:a})),void(p=!1)}if((null==t?void 0:t.isInstanceMember)&&yo(t.classType)&&Zs.isReadOnlyInstanceVariables(t.classType))return c&&c.addMessage(ml.DiagnosticAddendum.readOnlyAttribute().format({name:a})),void(p=!1);let n=!1;if((t&&t.symbol.hasTypedDeclarations()||t&&!t.symbol.getDeclarations().some((e=>e.node===o)))&&(n=!0),n){let e=h;return r&&!t.isInstanceMember&&Eo(h)&&(Xs.isClassMethod(h)||Xs.isInstanceMethod(h))&&(e=Xs.clone(h,!0)),e}}return e})),p)return{type:e,isAsymmetricDescriptor:d}}(l,c,t,o,0==(1&s),s,e,n,i,r);if(!p)return;if(l=p.type,"set"===i.method&&i.setType){if(!Jn(l,i.setType,null==r?void 0:r.createAddendum()))return void(r&&r.addMessage(ml.DiagnosticAddendum.memberAssignment().format({type:ai(i.setType),name:n,classType:oi(t)})));if(_o(c.classType)&&Zs.isFrozenDataClass(c.classType)&&0==(1&s))return void(r&&r.addMessage(ml.DiagnosticAddendum.dataClassFrozen().format({name:ai(Zs.cloneAsInstance(c.classType))})))}return{symbol:c.symbol,type:l,isTypeIncomplete:u,isClassMember:!c.isInstanceMember,isClassVar:c.isClassVar,classType:c.classType,isAsymmetricDescriptor:p.isAsymmetricDescriptor}}if(0==(65&s)){const r=function(e,t,n,i){var r,s,o,a;if("get"===n.method){let n=null===(r=te(t,e,"__getattribute__",{method:"get"},void 0,68))||void 0===r?void 0:r.type;if(n||(n=null===(s=te(t,e,"__getattr__",{method:"get"},void 0,68))||void 0===s?void 0:s.type),n&&ko(n)){let e=io.create();I&&_o(I)&&(e=Zs.cloneWithLiteral(Zs.cloneAsInstance(I),i)),n=Ge(t,n,[{argumentCategory:0,type:io.create()},{argumentCategory:0,type:e}])}if(n&&Eo(n))return Un(n)}else if("set"===n.method){if(null===(o=te(t,e,"__setattr__",{method:"get"},void 0,68))||void 0===o?void 0:o.type)return io.create()}else if(w("del"===n.method),null===(a=te(t,e,"__detattr__",{method:"get"},void 0,68))||void 0===a?void 0:a.type)return io.create()}(t,e,i,n);if(r)return{symbol:void 0,type:r,isTypeIncomplete:!1,isClassMember:!1,isClassVar:!1,isAsymmetricDescriptor:!1}}r&&r.addMessage(ml.DiagnosticAddendum.memberUnknown().format({name:n}))}function Me(e,t,n){const i=t.findIndex((e=>Io(e)));if(i>=0&&T&&_o(T))if(i{Et(e,{allowEmptyTuple:0===t,allowVariadicTypeVar:!0,allowUnpackedTuples:!0})}));const r=[];1===n.length&&n[0].isEmptyTupleShorthand||n.forEach((e=>{xo(e.type)&&e.type.tupleTypeArguments?r.push(...e.type.tupleTypeArguments):r.push({type:Fa(e.type),isUnbounded:!1})}));const s=Fa(qa(T,r,!0,!0,!0));e=[...e.slice(0,i),{node:e[i].node,type:s},...e.slice(i+1+e.length-t.length,e.length)]}}else e.push({node:n,type:Fa(qa(T,[],!0,!0,!0))});return e}function Oe(e,t){return!!e.isVariadicUnpacked||(fe(ml.Diagnostic.unpackedTypeVarTupleExpected().format({name1:e.details.name,name2:e.details.name}),t),!1)}function Le(e,t,n,i){const r=function(e,t,n){var i,r;if(!(null===(i=t.typeAliasInfo)||void 0===i?void 0:i.typeParameters)||0===t.typeAliasInfo.typeParameters.length&&t.typeAliasInfo.typeArguments)return;if(!Ks.isInstantiable(t))return;if(t.typeAliasInfo.typeArguments)return;const s=t.typeAliasInfo.typeParameters;let o=Me(Be(e,n),s,e);1===s.length&&s[0].details.isParamSpec&&o&&o.every((e=>!ca(e.type)&&!e.typeList&&!wo(e.type)))&&(o=[{type:Ys.create(),node:o[0].node,typeList:o}]),o.length>s.length&&!s.some((e=>e.details.isVariadic))&&fe(ml.Diagnostic.typeArgsTooMany().format({name:ai(t),expected:s.length,received:o.length}),o[s.length].node);const a=new jo(t.typeAliasInfo.typeVarScopeId),l=new il;s.forEach(((e,t)=>{if(e.details.isParamSpec&&t{Xs.addParameter(n,{category:0,name:`__p${t}`,isNameSynthesized:!0,type:Fa(e.type),hasDeclaredType:!0})})),Kn(e,n,l,a)}else if(wo(o[t].type))Kn(e,Fa(o[t].type),l,a);else if(ca(o[t].type)){const t=Xs.createInstantiable("","","",98304);Ks.setSpecialForm(t),Xs.addDefaultParameters(t),Kn(e,t,l,a)}else fe(ml.Diagnostic.typeArgListExpected(),o[t].node);else t{let t;if(wo(e)){const n=a.getParamSpec(e);t=n?Ja(n):Ys.create()}else t=a.getTypeVarType(e);c.push(t||Ys.create())})),{type:Ks.cloneForTypeAlias(fa(t,a),t.typeAliasInfo.name,t.typeAliasInfo.fullName,t.typeAliasInfo.typeVarScopeId,t.typeAliasInfo.typeParameters,c),node:e}}(e,t,i);if(r)return r;if(ea(t)){const n=Be(e,i).map((e=>Fa(e.type)));return{type:Ks.cloneForTypeAlias(t,t.details.recursiveTypeAliasName,"",t.details.recursiveTypeAliasScopeId,void 0,n),node:e}}let s=!1;const o=Se(t,void 0,((t,r)=>{var o;if(ho(t))return t;if(64&i&&bo(r))return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarNotSubscriptable().format({type:ai(r)}),e.baseExpression),Be(e,i,!1,!1),Ys.create();if(_o(t)){if(t.details.effectiveMetaclass&&_o(t.details.effectiveMetaclass)&&!Zs.isBuiltIn(t.details.effectiveMetaclass,"type")&&te(e,t,Ve(n),void 0,void 0,96))return qe(e,t,n).type;if("set"===n.method?fe(ml.Diagnostic.genericClassAssigned(),e.baseExpression):"del"===n.method&&fe(ml.Diagnostic.genericClassDeleted(),e.baseExpression),Zs.isSpecialBuiltIn(t,"Literal"))return function(e,t){if(0===e.items.length)return fe(ml.Diagnostic.literalEmptyArgs(),e.baseExpression),Ys.create();const n=[];for(const t of e.items){let i;const r=t.valueExpression;if(0!==t.argumentCategory)fe(ml.Diagnostic.unpackedArgInTypeArgument(),r),i=Ys.create();else if(t.name)fe(ml.Diagnostic.keywordArgInTypeArgument(),r),i=Ys.create();else if(48===r.nodeType){i=Nt(e,0!=(32&r.strings[0].token.flags)?"bytes":"str",r.strings.map((e=>e.value)).join(""))}else 40===r.nodeType?!r.isImaginary&&r.isInteger&&(i=Nt(e,"int",r.value)):11===r.nodeType?33===r.constType?i=Nt(e,"bool",!0):15===r.constType?i=Nt(e,"bool",!1):26===r.constType&&(i=to.createType()):55===r.nodeType&&33===r.operator&&40===r.expression.nodeType&&!r.expression.isImaginary&&r.expression.isInteger&&(i=Nt(e,"int",-r.expression.value));if(!i){const e=$(r);if(vo(e.type)&&Zs.isEnumClass(e.type)&&void 0!==e.type.literalValue)i=Zs.cloneAsInstantiable(e.type);else{let t=!0;Jo(e.type,(e=>{_o(e)&&void 0!==e.literalValue||(t=!1)})),t&&(i=e.type)}}i||(fe(ml.Diagnostic.literalUnsupportedType(),t),i=Ys.create()),n.push(i)}return Oo(n)}(e);if(Zs.isBuiltIn(t,"InitVar")){const t=Be(e,i);return 1===t.length?t[0].type:(fe(ml.Diagnostic.typeArgsMismatchOne().format({received:t.length}),e.baseExpression),Ys.create())}if(Zs.isEnumClass(t))return Zs.cloneAsInstance(t);const r=_o(t)&&Zs.isBuiltIn(t,"Annotated"),s=_o(t)&&Zs.hasCustomClassGetItem(t),a=(null===(o=t.details.typeParameters)||void 0===o?void 0:o.length)>0||Zs.isSpecialBuiltIn(t)||Zs.isBuiltIn(t,"type")||Zs.isPartiallyConstructed(t),l=_o(t)&&Zs.isBuiltIn(t,"Final"),c=_o(t)&&Zs.isBuiltIn(t,"ClassVar");let u=Be(e,i,r,s||!a,l,c);return r||(u=Me(u,t.details.typeParameters,e)),s?t:t.typeArguments?(fe(ml.Diagnostic.classAlreadySpecialized().format({type:ai(Fa(t),!0)}),e.baseExpression),t):Tn(t,u,i,e)}if(vo(t)){const i=qe(e,t,n);return i.isIncomplete&&(s=!0),i.type}return ao(t)?Ys.create():lo(t)?(_e(qt(e).diagnosticRuleSet.reportOptionalSubscript,$o.reportOptionalSubscript,ml.Diagnostic.noneNotSubscriptable(),e.baseExpression),Ys.create()):(mo(t)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSubscriptable().format({type:ai(t)}),e.baseExpression),Ys.create())}));return e.items.forEach((e=>{R(e.valueExpression)||$(e.valueExpression,void 0,4&i)})),{type:o,node:e,isIncomplete:s}}function Ue(e,t=!1){return T&&_o(T)?Fa(qa(T,e.map((e=>({type:e,isUnbounded:t}))))):Ys.create()}function Ve(e){return"get"===e.method?"__getitem__":"set"===e.method?"__setitem__":(w("del"===e.method),"__delitem__")}function qe(e,t,n){var i,r;if(vo(t)&&Zs.isTypedDictClass(t)){const i=vl(li,e,t,n);if(i)return i}const s=Ve(n),o=vo(t)?null===(i=ee(e,t,s,void 0,void 0,64))||void 0===i?void 0:i.type:null===(r=te(e,t,s,void 0,void 0,96))||void 0===r?void 0:r.type;if(!o)return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.methodNotDefinedOnType().format({name:s,type:ai(t)}),e.baseExpression),{node:e,type:Ys.create()};if(1===e.items.length&&!e.trailingComma&&!e.items[0].name&&0===e.items[0].argumentCategory&&vo(t)){const n=e.items[0].valueExpression,i=$(n).type;if(vo(i)&&Zs.isBuiltIn(i,"int")&&ra(i)&&"number"==typeof i.literalValue){const n=i.literalValue,r=ia(t);if(r&&r.tupleTypeArguments&&!da(r)){if(n>=0&&n=0)return{node:e,type:r.tupleTypeArguments[r.tupleTypeArguments.length+n].type}}}else if(vo(i)&&Zs.isBuiltIn(i,"slice")){const i=ia(t);if(i&&i.tupleTypeArguments&&!da(i)&&46===n.nodeType&&!n.stepValue){const t=(e,t)=>{let n=t;if(e){const t=$(e).type;vo(t)&&Zs.isBuiltIn(t,"int")&&ra(t)&&"number"==typeof t.literalValue?(n=t.literalValue,n<0&&(n=i.tupleTypeArguments.length+n)):n=-1}return n},r=t(n.startValue,0),s=t(n.endValue,i.tupleTypeArguments.length);if(r>=0&&s>0&&s<=i.tupleTypeArguments.length&&T&&_o(T))return{node:e,type:Zs.cloneAsInstance(qa(T,i.tupleTypeArguments.slice(r,s)))}}}}const a=e.items.filter((e=>0===e.argumentCategory&&!e.name)),l=e.items.filter((e=>1===e.argumentCategory)),c=e.items.filter((e=>0===e.argumentCategory&&!!e.name)),u=e.items.filter((e=>2===e.argumentCategory));let p;if(1!==a.length||0!==l.length||e.trailingComma)if(0===a.length&&0===l.length)p=T&&_o(T)?Fa(qa(T,[])):Ys.create();else{const e=[];a.forEach((t=>{e.push($(t.valueExpression).type)})),l.forEach((t=>{const n=ae($(t.valueExpression).type,!1,t)||Ys.create();e.push(n)})),p=Ue(e,l.length>0)}else p=$(a[0].valueExpression).type;let d,h=[{argumentCategory:0,type:p}];if("set"===n.method){let e=n.setType||io.create();bo(e)&&e.details.constraints.length>0&&(e=Ie(e,vo(t)?t.condition:void 0)),h.push({argumentCategory:0,type:e})}return c.forEach((e=>{h.push({argumentCategory:0,valueExpression:e.valueExpression,node:e,name:e.name})})),u.forEach((e=>{h.push({argumentCategory:2,valueExpression:e.valueExpression,node:e})})),kn(e,(()=>{if(d=et(e,h,o),d.argumentErrors&&vo(p)&&0===c.length&&0===u.length){const t=[...h];if(t[0]={...t[0]},ee(e,p,"__index__")){const n=Cn(e,"int");vo(n)&&(t[0].type=n)}d=et(e,t,o),d.argumentErrors||(h=t)}})),d=et(e,h,o),{node:e,type:d.returnType||Ys.create(),isIncomplete:!!d.isTypeIncomplete}}function Be(e,t,n=!1,i=!1,r=!1,s=!1){const o=[];let a=t;r||s?a|=131088:(a&=-1048739,n||(a|=131088),a|=2097152);const l=(e,t)=>{let r;return r=i||n&&t>0?$(e,void 0,131234):function(e,t){let n,i=1097|t;return qt(e).isStubFile&&(i|=4),31===e.nodeType?(n={type:Ys.create(),typeList:e.entries.map((e=>$(e,void 0,i))),node:e},O(e)):(n=$(e,void 0,i),yo(n.type)&&Zs.isBuiltIn(n.type,"Protocol")&&fe(ml.Diagnostic.protocolNotAllowedInTypeArgument(),e),0!=(131072&t)&&yo(n.type)&&Zs.isBuiltIn(n.type,"ClassVar")&&fe(ml.Diagnostic.classVarNotAllowed(),e)),n}(e,a),r};return 1===e.items.length&&!e.trailingComma&&!e.items[0].name&&52===e.items[0].valueExpression.nodeType&&e.items[0].valueExpression.expressions.length>0?(e.items[0].valueExpression.expressions.forEach(((e,t)=>{o.push(l(e,t))})),O(e.items[0].valueExpression)):e.items.forEach(((e,t)=>{const n=l(e.valueExpression,t);0!==e.argumentCategory&&1===e.argumentCategory&&(Io(n.type)&&!n.type.isVariadicUnpacked?n.type=oo.cloneForUnpacked(n.type):_o(n.type)&&!n.type.includeSubclasses&&pa(n.type)&&(n.type=Zs.cloneForUnpacked(n.type))),e.name&&fe(ml.Diagnostic.keywordArgInTypeArgument(),e.valueExpression),o.push(n)})),o}function We(e,t){if(!vo(t=ta(t)))return;if(!T||!_o(T))return;let n=[];if(pa(t)&&t.tupleTypeArguments){n=t.tupleTypeArguments.map((e=>ta(e.type)));const i=t.tupleTypeArguments.findIndex((e=>e.isUnbounded));if(i>=0)if(n.length>e.expressions.length)n.splice(i,1);else for(;n.length$(e,tsa(e)));return{type:Fa(qa(T,je(i),!0,!r)),node:e}}function je(e){const t=[];for(const n of e){let e;if(n.unpackedType?e=n.unpackedType:Co(n.type)&&(e=n.type),e&&vo(e)&&e.tupleTypeArguments){const n=e.tupleTypeArguments;n?t.push(...n):t.push({type:Ys.create(),isUnbounded:!0})}else t.push({type:n.type,isUnbounded:!!n.unpackedType})}if(t.filter((e=>e.isUnbounded)).length>1){const e=t.findIndex((e=>e.isUnbounded)),n=t.splice(e);t.push({type:Oo(n.map((e=>e.type))),isUnbounded:!0})}return t}function ze(e,t){const n=$(e.leftExpression,void 0,2),i=e.arguments.map((e=>({valueExpression:e.valueExpression,argumentCategory:e.argumentCategory,node:e,name:e.name})));let r={node:e,type:Ys.create()};if(ea(n.type))r.isIncomplete=!0;else{if(38===e.leftExpression.nodeType&&"super"===e.leftExpression.value)r=function(e){let t,n;if(e.arguments.length>2&&fe(ml.Diagnostic.superCallArgCount(),e.arguments[2]),e.arguments.length>0){t=$(e.arguments[0].valueExpression).type;const n=Ie(t);ho(n)||_o(n)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.superCallFirstArg().format({type:ai(t)}),e.arguments[0].valueExpression)}else{const n=Er(e);if(n){const e=$t(n);t=e?e.classType:Ys.create()}else fe(ml.Diagnostic.superCallZeroArgForm(),e.leftExpression),t=Ys.create()}if(e.arguments.length>1){const i=Ie($(e.arguments[1].valueExpression).type);let r=!1;ho(i)||(vo(i)?(_o(t)&&(Da(Zs.cloneAsInstantiable(i),t,!0)||(r=!0)),n=i):_o(i)?(_o(t)&&(Da(i,t,!0)||(r=!0)),n=i):r=!0),r&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.superCallSecondArg().format({type:ai(t)}),e.arguments[1].valueExpression)}else{const i=kr(e);let r;if(i){const e=Gt(i);if(e){const t=e.functionType;Xs.isClassMethod(t)?t.details.parameters.length>0&&t.details.parameters[0].hasDeclaredType&&(r=Ie(t.details.parameters[0].type)):Xs.isInstanceMethod(t)&&t.details.parameters.length>0&&t.details.parameters[0].hasDeclaredType&&(r=Ie(Na(t.details.parameters[0].type)))}}r&&_o(r)?n=r:_o(t)&&(n=t)}let i=!0;if(e.arguments.length<=1){const t=kr(e);if(t){const e=Gt(t);e&&(Xs.isStaticMethod(e.functionType)||Xs.isConstructorMethod(e.functionType)||Xs.isClassMethod(e.functionType))&&(i=!1)}}const r=e.parent;if(35===r.nodeType){const s=va(t,r.memberName.value,1);if(s&&_o(s.classType))return{type:i?Zs.cloneAsInstance(s.classType):s.classType,node:e,bindToType:i&&n&&_o(n)?Zs.cloneAsInstance(n):n,isSuperCall:!0}}if(_o(t)){if(t.details.mro.some((e=>ho(e))))return{type:Ys.create(),isSuperCall:!0,node:e};const n=t.details.baseClasses;if(n.length>0){const t=n[0];if(_o(t))return{type:i?Zs.cloneAsInstance(t):t,isSuperCall:!0,node:e}}}return{type:Ys.create(),isSuperCall:!0,node:e}}(e);else if(ho(n.type)&&38===e.leftExpression.nodeType&&"reveal_type"===e.leftExpression.value)r=$e(e,t);else if(Eo(n.type)&&"reveal_type"===n.type.details.builtInName)r=$e(e,t);else if(ho(n.type)&&38===e.leftExpression.nodeType&&"reveal_locals"===e.leftExpression.value)0===e.arguments.length?r.type=function(e){let t,n=e;for(;n&&(t=zs(n),!t||0===t.type);)n=n.parent;const i=[];return t&&t.symbolTable.forEach(((e,t)=>{if(!e.isIgnoredForProtocolMatch()){const n=Nn(e);i.push(ml.DiagnosticAddendum.typeOfSymbol().format({name:t,type:ai(n,!0)}))}})),i.length>0?me(i.join("\n"),e):me(ml.Diagnostic.revealLocalsNone(),e),to.createInstance()}(e):fe(ml.Diagnostic.revealLocalsArgs(),e);else{const s=et(e,i,n.type,void 0,!1,t);r.type=s.returnType||Ys.create(),s.argumentErrors&&(r.typeErrors=!0,t&&(r.isIncomplete=!0)),s.isTypeIncomplete&&(r.isIncomplete=!0)}n.isIncomplete&&(r.isIncomplete=!0)}return _o(n.type)&&Zs.isBuiltIn(n.type,"TypeVar")&&qt(e).isTypingStubFile||i.forEach((e=>{e.valueExpression&&48!==e.valueExpression.nodeType&&!R(e.valueExpression)&&$(e.valueExpression)})),r}function $e(e,t){let n,i,r,s,o;if(e.arguments.forEach(((e,t)=>{if(0===t)0!==e.argumentCategory||e.name||(n=e.valueExpression);else if(0===e.argumentCategory&&e.name)if("expected_text"===e.name.value){s=e.valueExpression;const t=$(e.valueExpression).type;vo(t)&&Zs.isBuiltIn(t,"str")&&"string"==typeof t.literalValue?o=t.literalValue:fe(ml.Diagnostic.revealTypeExpectedTextArg(),e.valueExpression)}else"expected_type"===e.name.value&&(i=e.valueExpression,r=Fa(In(e).type));else n=void 0})),!n)return fe(ml.Diagnostic.revealTypeArgs(),e),{node:e,type:Ys.create()};const a=$(n,t),l=a.type,c=xr(n),u=ai(l,!0);if(void 0!==o&&o!==u&&fe(ml.Diagnostic.revealTypeExpectedTextMismatch().format({expected:o,received:u}),null!=s?s:n),r&&!Ao(r,l)){const e=ai(r);fe(ml.Diagnostic.revealTypeExpectedTypeMismatch().format({expected:e,received:u}),null!=i?i:n)}return me(ml.DiagnosticAddendum.typeOfSymbol().format({name:c,type:u}),e.arguments[0]),{node:e,type:l,isIncomplete:a.isIncomplete}}function He(e,t,n,i,r,s){const o=[],a=[];let l=!1;for(let r=0;rvoid 0!==e));for(let t=0;t{if(!u[t])return e;const n={...e};return n.argType=u[t],n})));const h=i?i.clone():new jo(na(r));h.addSolveForScope(na(r));const m=kn(e,(()=>nt(e,d,h,!0,s)));if(m.isTypeIncomplete&&(l=!0),!m.argumentErrors&&m.returnType){c=r,a.push({overload:c,matchResults:d,typeVarMap:h}),o.push(m.returnType);break}}if(!c)return{argumentErrors:!0,isTypeIncomplete:l}}if(i)for(let n=0;n(i.addSolveForScope(na(t)),i.unlock(),nt(e,r,i,!0,s))))}a[0].typeVarMap.unlock();const c=nt(e,a[0].matchResults,a[0].typeVarMap,r,s);return c.isTypeIncomplete&&(l=!0),{argumentErrors:!1,returnType:Oo(o),isTypeIncomplete:l,specializedInitSelfType:c.specializedInitSelfType}}function Ge(e,t,n){let i,r=0,s=[];return t.overloads.forEach((t=>{kn(e,(()=>{if(Xs.isOverloaded(t)){const i=tt(e,n,t,r);i.argumentErrors||s.push(i),r++}}))})),s=Ke(s),s.forEach(((t,n)=>{void 0===i&&kn(e,(()=>{const r=it(e,t,new jo(na(t.overload)),!0);r&&!r.argumentErrors&&(i=n)}))})),void 0===i?void 0:s[i].overload}function Ke(e){return e.sort(((e,t)=>e.relevance!==t.relevance?t.relevance-e.relevance:e.overloadIndex-t.overloadIndex))}function Je(e,t){let n,i=e.length-1;for(;i>=0&&!t[0][i];)i--;if(i++,i>=e.length)return;for(;i{Jo(n,(t=>{const n=[...e];n[i]=t,r.push(n)}))})),r}function Ye(e,t,n,i,r){var s;let o,a=!1,l=!1,u=!1,p=!1;const d=e=>Eo(e)&&Xs.isSkipConstructorCheck(e),h=null===(s=ee(e,Zs.cloneAsInstance(n),"__init__",{method:"get"},void 0,68))||void 0===s?void 0:s.type;if(h&&!d(h)){if(r&&(o=Ko(r,(r=>{r=ta(r);const s=new jo(na(n));if(Xe(Zs.cloneAsInstance(n),r,s,Re(e))){let o;if(kn(e,(()=>{o=et(e,t,h,s.clone(),i,to.createInstance())})),!(null==o?void 0:o.argumentErrors))return et(e,t,h,s,i,to.createInstance()).isTypeIncomplete&&(u=!0),Qe(n,r,s)}})),ao(o)&&(o=void 0)),!o){const r=n.typeArguments?wa(n,!1):new jo(na(n));r.addSolveForScope(na(h));const s=et(e,t,h,r,i);if(s.argumentErrors)l=!0;else{let e=n;s.specializedInitSelfType&&vo(s.specializedInitSelfType)&&Zs.isSameGenericClass(s.specializedInitSelfType,n)&&(e=Zs.cloneAsInstantiable(s.specializedInitSelfType)),o=Ze(e,void 0,r),s.isTypeIncomplete&&(u=!0)}}a=!0,i=!0}if(!l){const s=n.details.effectiveMetaclass;let c;if(s&&_o(s)&&!Zs.isSameGenericClass(s,n)&&(c=Ne(e,s,"__call__",{method:"get"},void 0,352,n),c&&(p=!0)),c||(c=Ne(e,n,"__new__",{method:"get"},void 0,21,n)),c&&!d(c.type)){const s=new jo(na(n));n.typeAliasInfo&&s.addSolveForScope(n.typeAliasInfo.typeVarScopeId),s.addSolveForScope(na(c.type));const p=et(e,t,c.type,s,i);if(p.argumentErrors)l=!0;else{let e=p.returnType;p.isTypeIncomplete&&(u=!0),e&&(vo(e)&&Zs.isSameGenericClass(e,n)?(La(e)||$a(e))&&void 0!==o||(vo(e)&&Zs.isTupleClass(e)&&!e.tupleTypeArguments&&e.typeArguments&&1===e.typeArguments.length&&(e=qa(e,[{type:e.typeArguments[0],isUnbounded:!0}])),o=e):o||po(e)||(o=e))}o?vo(o)&&pa(o)&&!o.tupleTypeArguments&&(o=function(e,t){let n=e;return t&&vo(t)&&pa(t)&&t.tupleTypeArguments&&(n=qa(e,t.tupleTypeArguments)),n}(o,r)):o=Ze(n,r,s),a=!0}}if(a||t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&$(e.valueExpression)})),!a&&t.length>0&&(n.details.effectiveMetaclass&&_o(n.details.effectiveMetaclass)&&!Zs.isBuiltIn(n.details.effectiveMetaclass)||p||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.constructorNoArgs().format({type:n.aliasName||n.details.name}),e)),!o)if(!r&&n.typeArguments)o=Fa(n);else{const t=new jo(na(n));r&&Xe(Zs.cloneAsInstance(n),r,t,Re(e)),o=Ze(n,r,t)}if(!l){const i=function(e,t,n,i,r){return"functools.partial"===i.details.fullName?function(e,t,n,i){if(!vo(i.returnType)||"functools.partial"!==i.returnType.details.fullName)return i;const r=_a(i.returnType,"__call__");if(!r||!Ao(Fa(r.classType),i.returnType))return i;const s=e.getTypeOfMember(r);if(!Eo(s)||s.details.parameters.length<1)return i;if(n.length<1)return i;const o=e.getTypeForArgument(n[0]).type;if(e.inferReturnTypeIfNecessary(o),!Eo(o))return i;if(n.some((e=>0!==e.argumentCategory)))return i;const a=new Map,l=Ho(o);let c=!1,u=!1;const p=new jo(na(o));n.slice(1).forEach(((n,i)=>{var r,s,d,h,m,f,g,y;const _=e.getTypeForArgument(n);if(n.name){const i=l.params.find((e=>{var t;return e.param.name===(null===(t=n.name)||void 0===t?void 0:t.value)&&e.source!==zo.PositionOnly}));if(i){const r=i.param.name,s=Xs.getEffectiveParameterType(o,i.index);if(a.has(r))e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAlreadyAssigned().format({name:n.name.value}),n.name),c=!0;else{const i=new il;e.canAssignType(s,_.type,i,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(s),functionName:o.details.name,paramName:r}),null!==(y=n.valueExpression)&&void 0!==y?y:t),c=!0),a.set(r,!0)}}else if(void 0===l.kwargsIndex)e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.name.value}),n.name),c=!0;else{const i=Xs.getEffectiveParameterType(o,l.params[l.kwargsIndex].index),r=new il;e.canAssignType(i,_.type,r,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(i),functionName:o.details.name,paramName:null!==(f=l.params[l.kwargsIndex].param.name)&&void 0!==f?f:""}),null!==(g=n.valueExpression)&&void 0!==g?g:t),c=!0)}}else if(i>=l.params.length||l.params[i].source===zo.KeywordOnly)if(void 0!==l.argsIndex){const i=Xs.getEffectiveParameterType(o,l.params[l.argsIndex].index),a=new il;e.canAssignType(i,_.type,a,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(i),functionName:o.details.name,paramName:null!==(r=l.params[l.argsIndex].param.name)&&void 0!==r?r:""}),null!==(s=n.valueExpression)&&void 0!==s?s:t),c=!0)}else u||e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===l.positionParamCount?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:l.positionParamCount}),null!==(d=n.valueExpression)&&void 0!==d?d:t),u=!0,c=!0;else{const r=Xs.getEffectiveParameterType(o,i),s=new il,u=null!==(h=l.params[i].param.name)&&void 0!==h?h:"";e.canAssignType(r,_.type,s,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(r),functionName:o.details.name,paramName:u}),null!==(m=n.valueExpression)&&void 0!==m?m:t),c=!0),a.set(u,!1)}}));const d=fa(o,p);if(!Eo(d))return i;const h=d.details.parameters.map(((e,t)=>{const n={...e};return n.type=Xs.getEffectiveParameterType(d,t),e.name&&a.get(e.name)&&(n.hasDefault=!0),n})),m=[...h.filter((e=>!(2===e.category||1!==e.category&&e.name&&a.has(e.name)))),...h.filter((e=>e.name&&a.get(e.name))),...h.filter((e=>2===e.category))],f=Xs.createInstance(s.details.name,s.details.fullName,s.details.moduleName,s.details.flags,d.details.docString);s.details.parameters.length>0&&Xs.addParameter(f,s.details.parameters[0]),m.forEach((e=>{Xs.addParameter(f,e)})),f.details.declaredReturnType=d.details.declaredReturnType?Xs.getSpecializedReturnType(d):d.inferredReturnType,f.details.declaration=s.details.declaration,f.details.typeVarScopeId=d.details.typeVarScopeId;const g=Zs.cloneForSymbolTableUpdate(i.returnType);return g.details.fields.set("__call__",Vo.createWithType(4,f)),{returnType:g,isTypeIncomplete:!1,argumentErrors:c}}(e,t,n,r):r}(li,e,t,n,{argumentErrors:l,returnType:o,isTypeIncomplete:u});o=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return{argumentErrors:l,returnType:o,isTypeIncomplete:u}}function Qe(e,t,n){const i=fa(Zs.cloneAsInstance(e),n);if(Jn(t,i))return uo(t)?t:i}function Ze(e,t,n){if(t){const i=Ko(t,(t=>Qe(e,t,n)));if(!ao(i))return i}const i=fa(e,n,!0);return Zs.cloneAsInstance(i)}function Xe(e,t,n,i){if(uo(t))return e.details.typeParameters.forEach((e=>{n.setTypeVarType(e,t)})),!0;if(!yo(t))return!1;const r=t.typeArguments;if(!r)return Jn(e,t,void 0,n,1024);if(Zs.isSameGenericClass(t,e)){const i=wa(t);return i.getTypeVars().forEach((t=>{const r=i.getTypeVarType(t.typeVar);r&&(bo(r)&&r.scopeId===e.details.typeVarScopeId||n.setTypeVarType(t.typeVar,1===t.typeVar.details.variance?void 0:r,2===t.typeVar.details.variance?void 0:r,t.retainLiteral))})),!0}const s=na(t),o=Zs.getTypeParameters(t).map(((e,t)=>{const n=oo.createInstance(`__dest${t}`);return n.details.isSynthesized=!0,n.details.variance=0,n.scopeId=s,n})),a=Zs.cloneForSpecialization(t,o,!0),l=Zs.getTypeParameters(e).map(((e,t)=>{const n=oo.createInstance(`__source${t}`);return n.details.isSynthesized=!0,n.details.synthesizedIndex=t,n.details.isExemptFromBoundCheck=!0,n})),c=Zs.cloneForSpecialization(e,l,!0),u=new jo(s);if(Jn(a,c,void 0,u,1024)){let e=!0;return o.forEach(((t,s)=>{const o=u.getTypeVarType(t);if(o&&bo(o)&&o.details.isSynthesized&&void 0!==o.details.synthesizedIndex){const a=Zs.getTypeParameters(c)[o.details.synthesizedIndex];if(si.scopeId===e))?e:void 0):new Za(t,n).apply(e);var i}(o,n,i)),o?n.setTypeVarType(a,1===t.details.variance?void 0:o,2===t.details.variance?void 0:o):e=!1}}})),e}return!1}function et(e,t,n,i,r=!1,s,o=0){let a,l=!1,u=!1;if(o>Gs)return{returnType:Ys.create(),argumentErrors:!0};if(o++,Ks.isSpecialForm(n)){const t=9===e.nodeType?e.leftExpression:e;return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotCallable().format({expression:xr(t),type:ai(n,!0)}),t),{returnType:Ys.create(),argumentErrors:!0}}const p=Se(n,void 0,((n,p)=>{var d,h,m;switch(n.category){case 1:case 2:return t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&bn(e)})),n;case 5:{if("namedtuple"===n.details.builtInName)return _e(qt(e).diagnosticRuleSet.reportUntypedNamedTuple,$o.reportUntypedNamedTuple,ml.Diagnostic.namedTupleNoTypes(),e),Lu(li,e,t,!1);let o=i;o||(o=new jo(na(n)),!o.getSolveForScopes()&&Xs.isConstructorMethod(n)&&o.addSolveForScope($s));const c=rt(e,t,n,o,r,s);if(c.isTypeIncomplete&&(u=!0),c.argumentErrors)l=!0;else{a=c.specializedInitSelfType;const i=zu(li,e,t,n,{argumentErrors:c.argumentErrors,returnType:null!==(d=c.returnType)&&void 0!==d?d:Ys.create(),isTypeIncomplete:u});c.returnType=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return c.argumentErrors||"NewType"!==n.details.builtInName?"__import__"===n.details.builtInName?io.create():c.returnType:at(e,t)}case 6:{if("cast"===n.overloads[0].details.builtInName&&2===t.length){const n=In(t[0]).type,i=bn(t[1]).type;return _o(n)&&vo(i)&&Ao(n,Zs.cloneAsInstantiable(i),!0)&&_e(qt(e).diagnosticRuleSet.reportUnnecessaryCast,$o.reportUnnecessaryCast,ml.Diagnostic.unnecessaryCast().format({type:ai(i)}),e),Fa(n)}const o=function(e,t,n,i,r,s){let o=[],a=[];if(kn(e,(()=>{let i=0;n.overloads.forEach((n=>{if(Xs.isOverloaded(n)){const r=tt(e,t,n,i);r.argumentErrors||o.push(r),i++}})),a=t.map((e=>{if(e.type)return e.type;if(e.valueExpression){const t=e.valueExpression;return kn(t,(()=>$(t).type))}return io.create()}))})),o=Ke(o),0===o.length){if(!ye(e)){const i=n.overloads[0].details.name||"",r=new il,s=t.map((e=>ai(bn(e).type)));r.addMessage(ml.DiagnosticAddendum.argumentTypes().format({types:s.join(", ")})),_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noOverload().format({name:i})+al(r),e)}return{argumentErrors:!0,isTypeIncomplete:!1}}const l=t=>{const n=o.reduce(((e,t)=>t.overloadIndex>e.overloadIndex?t:e)),r=null!=i?i:new jo;return r.addSolveForScope(na(n.overload)),r.unlock(),nt(e,n,r,t,s)};if(1===o.length)return l(!1);let c=[t.map((e=>{}))],u=!1;for(;;){const t=He(e,c,o,i,r,s);if(t.isTypeIncomplete&&(u=!0),!t.argumentErrors)return t;if(c=Je(a,c),!c||c.length>64)break}if(!ye(e)&&!u){const e=l(!0);return e.returnType=Ys.create(),e}return{argumentErrors:!0,isTypeIncomplete:!1}}(e,t,n,i,r,s);if(o.isTypeIncomplete&&(u=!0),o.argumentErrors)l=!0;else{a=o.specializedInitSelfType;const i=zu(li,e,t,n,{argumentErrors:o.argumentErrors,returnType:null!==(h=o.returnType)&&void 0!==h?h:Ys.create(),isTypeIncomplete:u});o.returnType=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return o.returnType||Ys.create()}case 7:if(Ks.isInstantiable(n)){if(void 0!==n.literalValue)return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.literalNotCallable(),e),l=!0,Ys.create();if(Zs.isBuiltIn(n)){const i=n.aliasName||n.details.name;if("type"===i)return Ye(e,t,n,r,s),1===t.length?Ko(bn(t[0]).type,(e=>vo(e)||bo(e)&&Ks.isInstance(e)||lo(e)?Na(Qo(e)):io.create())):t.length>=2&&function(e,t){const n=qt(e),i=bn(t[0]).type;if(!vo(i)||!Zs.isBuiltIn(i,"str"))return;const r=i.literalValue||"_",s=bn(t[1]).type;if(!vo(s)||!pa(s)||void 0===s.tupleTypeArguments)return;const o=Zs.createInstantiable(r,br(e,n.moduleName,r),n.moduleName,n.filePath,0,Ir(e),void 0,s.details.effectiveMetaclass);return s.tupleTypeArguments.forEach((n=>{_o(n.type)||ho(n.type)?o.details.baseClasses.push(n.type):ve(n.type,t[1].valueExpression||e)})),Ha(o)||fe(ml.Diagnostic.methodOrdering(),e),o}(e,t)||io.create();if("TypeVar"===i)return function(e,t){var n,i,r;let s,o="";if(0===t.length)return void fe(ml.Diagnostic.typeVarFirstArg(),e);const a=t[0];a.valueExpression&&48===a.valueExpression.nodeType?o=a.valueExpression.strings.map((e=>e.value)).join(""):fe(ml.Diagnostic.typeVarFirstArg(),a.valueExpression||e);const l=oo.createInstantiable(o,!1);for(let o=1;o0)fe(ml.Diagnostic.typeVarBoundAndConstrained(),t[o].valueExpression||e);else{const i=null!==(n=t[o].type)&&void 0!==n?n:Sn(t[o].valueExpression,void 0,void 0,!0).type;$a(i,!0)&&fe(ml.Diagnostic.typeVarGeneric(),t[o].valueExpression||e),l.details.boundType=Fa(i)}else"covariant"===c?t[o].valueExpression&&ot(t[o].valueExpression)&&(2===l.details.variance?fe(ml.Diagnostic.typeVarVariance(),t[o].valueExpression):l.details.variance=1):"contravariant"===c?t[o].valueExpression&&ot(t[o].valueExpression)&&(1===l.details.variance?fe(ml.Diagnostic.typeVarVariance(),t[o].valueExpression):l.details.variance=2):fe(ml.Diagnostic.typeVarUnknownParam().format({name:c}),(null===(i=t[o].node)||void 0===i?void 0:i.name)||t[o].valueExpression||e);u.set(c,c)}else if(l.details.boundType)fe(ml.Diagnostic.typeVarBoundAndConstrained(),t[o].valueExpression||e);else{const n=null!==(r=t[o].type)&&void 0!==r?r:Sn(t[o].valueExpression,void 0,void 0,!0).type;$a(n,!0)&&fe(ml.Diagnostic.typeVarGeneric(),t[o].valueExpression||e),oo.addConstraint(l,Fa(n)),void 0===s&&(s=t[o])}}return 1===l.details.constraints.length&&s&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarSingleConstraint(),s.valueExpression||e),l}(e,t);if("TypeVarTuple"===i)return function(e,t){var n,i;let r="";if(0===t.length)return void fe(ml.Diagnostic.typeVarFirstArg(),e);const s=t[0];s.valueExpression&&48===s.valueExpression.nodeType?r=s.valueExpression.strings.map((e=>e.value)).join(""):fe(ml.Diagnostic.typeVarFirstArg(),s.valueExpression||e);const o=oo.createInstantiable(r,!1);o.details.isVariadic=!0;for(let r=1;re.value)).join(""):fe(ml.Diagnostic.paramSpecFirstArg(),r.valueExpression||e);const o=oo.createInstantiable(s,!0);for(let r=1;re.value)).join("")}const s=Zs.createInstantiable(r,br(e,i.moduleName,r),i.moduleName,i.filePath,1048576,Ir(e),void 0,t.details.effectiveMetaclass);s.details.baseClasses.push(t),Ha(s);const o=s.details.fields;if(o.set("__class__",Vo.createWithType(68,s)),!(n.length<2)){{const t=n[1];if(0!==t.argumentCategory||!t.valueExpression||48!==t.valueExpression.nodeType)return;t.valueExpression.strings.map((e=>e.value)).join("").split(" ").forEach((n=>{if(n=n.trim()){const i=Ys.create(),r=Vo.createWithType(4,i),s=t.valueExpression;w(48===s.nodeType);const a=qt(e),l={type:1,node:s,isRuntimeTypeExpression:!0,path:a.filePath,range:St(s.start,dt.getEnd(s),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};r.addDeclaration(l),o.set(n,r)}}))}return s}}(e,n,t);if("TypedDict"===i)return function(e,t,n,i){const r=qt(t);let s="TypedDict";if(0===i.length)e.addError(ml.Diagnostic.typedDictFirstArg(),t);else{const n=i[0];0===n.argumentCategory&&n.valueExpression&&48===n.valueExpression.nodeType?s=n.valueExpression.strings.map((e=>e.value)).join(""):e.addError(ml.Diagnostic.typedDictFirstArg(),i[0].valueExpression||t)}const o=Zs.createInstantiable(s,br(t,r.moduleName,s),r.moduleName,r.filePath,128,Ir(t),void 0,n.details.effectiveMetaclass);o.details.baseClasses.push(n),Ha(o);const a=o.details.fields;a.set("__class__",Vo.createWithType(68,o));let l=!1;if(i.length<2)e.addError(ml.Diagnostic.typedDictSecondArgDict(),t);else{const n=i[1],s=new Map;if(0===n.argumentCategory&&n.valueExpression&&15===n.valueExpression.nodeType){l=!0;const t=n.valueExpression;t.entries.forEach((t=>{if(17!==t.nodeType)return void e.addError(ml.Diagnostic.typedDictSecondArgDictEntry(),t);if(48!==t.keyExpression.nodeType)return void e.addError(ml.Diagnostic.typedDictEntryName(),t.keyExpression);const n=t.keyExpression.strings.map((e=>e.value)).join("");if(!n)return void e.addError(ml.Diagnostic.typedDictEmptyName(),t.keyExpression);if(s.has(n))return void e.addError(ml.Diagnostic.typedDictEntryUnique(),t.keyExpression);s.set(n,!0);const i=e.getTypeForExpressionExpectingType(t.valueExpression,!0,!0),o=new Vo(8),l={type:1,node:t.keyExpression,path:r.filePath,typeAnnotationNode:t.valueExpression,isRequired:i.isRequired,isNotRequired:i.isNotRequired,isRuntimeTypeExpression:!0,range:St(t.keyExpression.start,dt.getEnd(t.keyExpression),r.lines),moduleName:r.moduleName,isInExceptSuite:!1};o.addDeclaration(l),a.set(n,o)})),e.setTypeForNode(t)}else if(n.name)for(let n=1;n=3&&(!i[2].name||"total"!==i[2].name.value||!i[2].valueExpression||11!==i[2].valueExpression.nodeType||15!==i[2].valueExpression.constType&&33!==i[2].valueExpression.constType?e.addError(ml.Diagnostic.typedDictTotalParam(),i[2].valueExpression||t):15===i[2].valueExpression.constType&&(o.details.flags|=256)),i.length>3&&e.addError(ml.Diagnostic.typedDictExtraArgs(),i[3].valueExpression||t)),fl(e,t,o),o}(li,e,n,t);if("auto"===i&&0===t.length)return Cn(e,"int")}if(Zs.supportsAbstractMethods(n)){const t=ii(n);if(t.length>0&&!n.includeSubclasses&&!bo(p)){const i=new il,r=2;t.forEach(((e,n)=>{if(n===r)i.addMessage(ml.DiagnosticAddendum.memberIsAbstractMore().format({count:t.length-r}));else if(n_o(e)&&Zs.isBuiltIn(e,"type")))){let i="__class_"+o.details.name;if(3===t.length){const e=bn(t[0]).type;vo(e)&&Zs.isBuiltIn(e,"str")&&"string"==typeof e.literalValue&&(i=e.literalValue)}const r=Zs.createInstantiable(i,"","",qt(e).filePath,0,Ir(e),Zs.cloneAsInstantiable(o),Zs.cloneAsInstantiable(o));return r.details.baseClasses.push(xn(e,"object")),r.details.effectiveMetaclass=n,Ha(r),r}return o}{let a=null===(m=ee(e,n,"__call__"))||void 0===m?void 0:m.type;if(a&&(Eo(a)||ko(a))){a=Ba(a);const n=et(e,t,a,i,r,s,o);return n.argumentErrors&&(l=!0),n.returnType||Ys.create()}return a&&ho(a)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.objectNotCallable().format({type:ai(n)}),e),Ys.create()}case 3:return void _e(qt(e).diagnosticRuleSet.reportOptionalCall,$o.reportOptionalCall,ml.Diagnostic.noneNotCallable(),e);case 10:{n=ta(n);const a=et(e,t,n,i,r,s,o);return a.argumentErrors&&(l=!0),a.returnType||Ys.create()}case 8:return void _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleNotCallable(),e)}}));return{argumentErrors:l,returnType:ao(p)&&!p.isNoReturn?void 0:p,isTypeIncomplete:u,specializedInitSelfType:a}}function tt(e,t,n,i){var r;const s=Ho(n);let o=0,a=!1,l=!1,u=!1,p=!1;const d=new Map;s.params.forEach((e=>{const t=e.param;t.name&&0===t.category&&d.set(t.name,{argsNeeded:0!==t.category||t.hasDefault?0:1,argsReceived:0,isPositionalOnly:e.source===zo.PositionOnly})}));let h=s.positionOnlyParamCount,m=null!==(r=s.firstKeywordOnlyIndex)&&void 0!==r?r:s.params.length;const f=s.argsIndex,g=s.kwargsIndex;let y,_,v=!1;if(void 0!==f&&void 0!==g){w(s.params[f],"varArgListParamIndex params entry is undefined");const e=s.params[f].param;w(s.params[g],"varArgDictParamIndex params entry is undefined");const t=s.params[g].param;wo(e.type)&&"args"===e.type.paramSpecAccess&&wo(t.type)&&"kwargs"===t.type.paramSpecAccess&&e.type.details.name===t.type.details.name&&(v=!0,e.type.scopeId===n.details.typeVarScopeId?(y=[],_=oo.cloneForParamSpecAccess(e.type,void 0)):h=f)}t.forEach((e=>{if(e.name){const t=s.params.findIndex((t=>t.param.name===e.name.value&&0===t.param.category));t>=0&&t>=h&&(m<0||t2===e.argumentCategory||void 0!==e.name));b<0&&(b=t.length);let I,S=[];function x(e,t){e.active&&(I=t)}let C=void 0!==t.find((e=>1===e.argumentCategory)),E=0,k=0;for(;o=m){C&&1===t[o].argumentCategory||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===m?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:m}),t[o].valueExpression||e),l=!0);break}if(E>=s.params.length)break;w(s.params[E],"paramIndex params entry is undefined");const i=s.params[E].type;if(1===t[o].argumentCategory){if(!t[o].valueExpression)break;const r=1===s.params[E].param.category&&Io(i);let c=!1;const h=bn(t[o]),f=h.type;let g,_=!1;n.details.paramSpec&&E0&&kt>o&&1===e.argumentCategory)),k++,k>=v.tupleTypeArguments.length&&(k=0,_=!0)):r&&Io(f)?(g=f,c=!0,_=!0,p=!0):vo(f)&&pa(f)&&f.tupleTypeArguments&&1===f.tupleTypeArguments.length&&Io(f.tupleTypeArguments[0].type)?(g=f.tupleTypeArguments[0].type,c=!0,_=!0,p=!0):wo(f)&&"args"===f.paramSpecAccess?g=void 0:(g=ae(f,!1,t[o].valueExpression)||Ys.create(),1!==s.params[E].param.category&&(a=!0));const b=g?{argumentCategory:0,type:g}:void 0;b&&h.isIncomplete&&(u=!0);const I=s.params[E].param.name;r&&!c?(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedArgWithVariadicParam(),t[o].valueExpression||e),l=!0):(y&&y.push(t[o]),b&&S.push({paramCategory:s.params[E].param.category,paramType:i,requiresTypeVarMatching:$a(i),argument:b,errorNode:t[o].valueExpression||e,paramName:s.params[E].param.isNameSynthesized?void 0:I})),x(t[o],s.params[E].param),I&&0===s.params[E].param.category&&d.has(I)&&d.get(I).argsReceived++,(_||1===s.params[E].param.category)&&o++,(p||1!==s.params[E].param.category)&&E++}else if(1===s.params[E].param.category)if(x(t[o],s.params[E].param),y)y.push(t[o]),o++;else{let n=s.params[E].param.category,r=i;const a=s.params[E].param.name;xo(i)&&i.tupleTypeArguments&&i.tupleTypeArguments.length>0&&(r=i.tupleTypeArguments[0].type),n=Io(r)?1:0;const c=b-o,u=m-E-1;c<=u?(c=0&&Ee.param.hasDefault)),i=(n>=0&&n0&&(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===i?ml.Diagnostic.argMorePositionalExpectedOne():ml.Diagnostic.argMorePositionalExpectedCount().format({expected:i}),t.length>b&&t[b].valueExpression||e),l=!0)}if(!l){let i;for(;o{const a=d.get(i);if(a&&!a.isPositionalOnly)if(a.argsReceived>0)r.addMessage(ml.Diagnostic.paramAlreadyAssigned().format({name:i}));else{a.argsReceived++;const r=s.params.findIndex((e=>e.param.name===i));w(r>=0);const l=s.params[r].type;S.push({paramCategory:0,paramType:l,requiresTypeVarMatching:$a(l),argument:{argumentCategory:0,type:n.valueType},errorNode:t[o].valueExpression||e,paramName:i})}else if(void 0!==s.kwargsIndex){const r=s.params[s.kwargsIndex].type;S.push({paramCategory:2,paramType:r,requiresTypeVarMatching:$a(r),argument:{argumentCategory:0,type:n.valueType},errorNode:t[o].valueExpression||e,paramName:i}),d.set(i,{argsNeeded:1,argsReceived:1,isPositionalOnly:!1})}else r.addMessage(ml.Diagnostic.paramNameMissing().format({name:i}))})),r.isEmpty()||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedTypedDictArgument()+r.getString(),t[o].valueExpression||e),l=!0)}else if(wo(n)&&"kwargs"===n.paramSpecAccess)i=io.create();else{const r=ce(e,"Mapping"),s=Cn(e,"str");if(r&&_o(r)&&s&&vo(s)){const a=new jo(na(r));let c=!1;if(bo(n))c=!0;else if(Jn(Zs.cloneAsInstance(r),n,void 0,a)){const e=fa(r,a).typeArguments;e&&e.length>=2?(Jn(s,e[0])&&(c=!0),i=e[1]):(c=!0,i=Ys.create())}c||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedDictArgumentNotMapping(),t[o].valueExpression||e),l=!0)}}y&&y.push(t[o])}else{const n=t[o].name;if(n){const i=n.value,r=d.get(i);if(r&&!r.isPositionalOnly)if(r.argsReceived>0)_e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAlreadyAssigned().format({name:i}),n),l=!0;else{r.argsReceived++;const n=s.params.findIndex((e=>e.param.name===i));w(n>=0);const a=s.params[n].type;S.push({paramCategory:0,paramType:a,requiresTypeVarMatching:$a(a),argument:t[o],errorNode:t[o].valueExpression||e,paramName:i}),x(t[o],s.params[n].param)}else if(void 0!==s.kwargsIndex){if(y)y.push(t[o]);else{const n=s.params[s.kwargsIndex].type;S.push({paramCategory:2,paramType:n,requiresTypeVarMatching:$a(n),argument:t[o],errorNode:t[o].valueExpression||e,paramName:i}),d.set(i,{argsNeeded:1,argsReceived:1,isPositionalOnly:!1})}w(s.params[s.kwargsIndex],"paramDetails.kwargsIndex params entry is undefined"),x(t[o],s.params[s.kwargsIndex].param)}else _e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.value}),n),l=!0}else 0===t[o].argumentCategory&&(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===m?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:m}),t[o].valueExpression||e),l=!0)}o++}if(!i||C&&void 0===s.argsIndex||s.params.forEach(((n,r)=>{var o,a;const l=n.param;if(r>=s.firstPositionOrKeywordIndex&&0===l.category&&l.name&&!l.hasDefault&&d.has(l.name)&&0===d.get(l.name).argsReceived){const n=s.params[r].type;S.push({paramCategory:0,paramType:n,requiresTypeVarMatching:$a(n),argument:{argumentCategory:0,type:i},errorNode:null!==(a=null===(o=t.find((e=>2===e.argumentCategory)))||void 0===o?void 0:o.valueExpression)&&void 0!==a?a:e,paramName:l.isNameSynthesized?void 0:l.name}),d.get(l.name).argsReceived=1}})),!i&&!Xs.isDefaultParameterCheckDisabled(n)){const t=[...d.keys()].filter((e=>{const t=d.get(e);return!t||t.argsReceived0){const n=t.map((e=>`"${e}"`)).join(", ");_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===t.length?ml.Diagnostic.argMissingForParam().format({name:n}):ml.Diagnostic.argMissingForParams().format({names:n}),e),l=!0}s.params.forEach((t=>{const n=t.param;if(0===n.category&&n.name){const t=d.get(n.name);0===t.argsNeeded&&0===t.argsReceived&&n.defaultType&&!ca(n.defaultType)&&$a(n.type)&&S.push({paramCategory:n.category,paramType:n.type,requiresTypeVarMatching:!0,argument:{argumentCategory:0,type:n.defaultType},errorNode:e,paramName:n.isNameSynthesized?void 0:n.name})}}))}}if((!l||!c.isSpeculative(void 0))&&void 0!==s.argsIndex&&s.argsIndex>=0&&s.params[s.argsIndex].param.hasDeclaredType&&!p){const t=s.params[s.argsIndex].type,n=S.filter((e=>e.mapsToVarArgList));if(bo(t)&&t.details.isVariadic&&T&&_o(T)){const i=n.map((t=>{var n;const i=bn(t.argument).type;return(So(i)||vo(i)&&pa(i)&&i.tupleTypeArguments&&i.tupleTypeArguments.some((e=>So(e.type))))&&1!==t.argument.argumentCategory&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarTupleMustBeUnpacked(),null!==(n=t.argument.valueExpression)&&void 0!==n?n:e),{type:Qo(i),isUnbounded:1===t.argument.argumentCategory}})),r={paramCategory:1,paramType:t,requiresTypeVarMatching:!0,argument:{argumentCategory:0,type:Zs.cloneAsInstance(qa(T,i,!0,!0,!0))},errorNode:e,paramName:s.params[s.argsIndex].param.name,mapsToVarArgList:!0};S=[...S.filter((e=>!e.mapsToVarArgList)),r]}}let D=0;return a&&D--,["isinstance","issubclass"].some((e=>e===n.details.builtInName))&&2===S.length&&(S[1].expectingType=!0),{overload:n,overloadIndex:i,argumentErrors:l,isTypeIncomplete:u,argParams:S,paramSpecTarget:_,paramSpecArgList:y,activeParam:I,relevance:D}}function nt(e,t,n,i=!1,r){const s=t.overload;if(!r||ho(r)||ao(r)||$a(r)||!s.details.declaredReturnType)return it(e,t,n,i);const o=Un(s);let a=r,l=4;if(oa(a,!0)&&(l|=128),fo(r)){let r;kn(e,(()=>{const s=n.clone();Jn(o,a,void 0,s,1024|l),r=it(e,t,s,i)})),r&&r.argumentErrors&&(a=void 0)}if(a){if(vo(o)&&vo(a)&&!Zs.isSameGenericClass(o,a)){const t=new jo(na(o));Xe(o,a,t,Re(e));const n=Zs.cloneForSpecialization(o,void 0,!1);a=fa(n,t)}Jn(o,a,void 0,n,1024|l)}return it(e,t,n,i)}function it(e,t,n,i=!1){const r=t.overload;let s,o=t.isTypeIncomplete,a=!1;const l=Xo(r);if(r.boundTypeVarScopeId&&(void 0!==r.preBoundFlags&&r.boundToType&&$a(r.boundToType)&&6&r.preBoundFlags&&n.addSolveForScope(r.boundTypeVarScopeId),"__init__"===r.details.name&&Xs.isOverloaded(r)&&r.strippedFirstParamType&&r.boundToType&&vo(r.strippedFirstParamType)&&vo(r.boundToType)&&Zs.isSameGenericClass(r.strippedFirstParamType,r.boundToType)&&r.strippedFirstParamType.typeArguments)){const e=r.strippedFirstParamType.details.typeParameters;s=r.strippedFirstParamType,r.strippedFirstParamType.typeArguments.forEach(((t,i)=>{ie===r.details.builtInName))&&(i=!0);const c=t.argParams.filter((e=>e.requiresTypeVarMatching)).length;if(c>0){let s=Math.min(c,2);for(let a=0;a{t.argParams.forEach((e=>{if(e.requiresTypeVarMatching){const t=st(e,n,r,i,0===a,s>1&&0===a,l);t.isTypeIncomplete&&(o=!0),0===a&&t.skippedOverloadArg&&s++}}))}));n.lock()}t.argParams.forEach((e=>{const t=st(e,n,r,i,!1,!1,l);t.isCompatible||(a=!0),t.isTypeIncomplete&&(o=!0)})),t.paramSpecArgList&&t.paramSpecTarget&&(function(e,t,n,i,r){var s;const o=i.getParamSpec(n);if(!o)return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecNotBound().format({type:ai(n)}),(null===(s=t[0])||void 0===s?void 0:s.valueExpression)||e),!1;i.addSolveForScope(o.typeVarScopeId);let a=!1;const l=new Map,c=o.parameters;c.forEach((e=>{e.name&&l.set(e.name,e)}));let u=0,p=c.findIndex((e=>0!==e.category));p<0&&(p=c.length);const d=c.find((e=>1===e.category)),h=c.find((e=>2===e.category));if(t.forEach((t=>{if(0===t.argumentCategory){let n;if(t.name){const i=l.get(t.name.value);i?(n=i.type,l.delete(t.name.value)):h?n=h.type:(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:t.name.value}),t.valueExpression||e),a=!0)}else{if(u{const t=l.get(e);return 0===t.category&&!t.hasDefault})),t.length>0&&!o.paramSpec){const n=t.map((e=>`"${e}"`)).join(", ");_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===t.length?ml.Diagnostic.argMissingForParam().format({name:n}):ml.Diagnostic.argMissingForParams().format({names:n}),e),a=!0}}return!a}(e,t.paramSpecArgList,t.paramSpecTarget,n,l)||(a=!0));const u=Un(r,t.argParams);let p=!0,d=e;for(;;){const e=Pr(d);if(!e)break;const t=Pe(e);n.hasSolveForScope(t)&&(p=!1),d=e}(Eo(u)||ko(u))&&(p=!1);let h=Zo(fa(u,n,!1,!1,p),l);return xo(h)&&(h=Zs.cloneForUnpacked(h,!1)),vo(h)&&Zs.isBuiltIn(h,["TypeGuard","StrictTypeGuard"])&&h.typeArguments&&h.typeArguments.length>0&&b&&_o(b)&&(h=Zs.cloneAsInstance(Zs.cloneForTypeGuard(b,h.typeArguments[0],Zs.isBuiltIn(h,"StrictTypeGuard")))),Eo(h)&&!h.details.name&&(h.details={...h.details,typeVarScopeId:$s}),s&&(s=fa(s,n)),{argumentErrors:a,returnType:h,isTypeIncomplete:o,activeParam:t.activeParam,specializedInitSelfType:s}}function rt(e,t,n,i,r=!1,s){const o=tt(e,t,n,0);return o.argumentErrors?(d.isUndoTrackingEnabled()||t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&$(e.valueExpression)})),{argumentErrors:!0,activeParam:o.activeParam}):nt(e,o,i,r,s)}function st(e,t,n,i,r,s,o){let a,l,u=!1,p=!0;const d=null==n?void 0:n.details.name;if(e.argument.valueExpression){let i=bo(e.paramType)&&void 0!==n&&e.paramType.scopeId===n.details.typeVarScopeId?void 0:fa(e.paramType,t,!1,s);if(i&&po(i)&&(i=void 0),e.argType)a=e.argType;else{const t=e.expectingType?168:0,n=$(e.argument.valueExpression,i,t);a=n.type,n.isIncomplete&&(u=!0),n.typeErrors&&(p=!1),l=n.expectedTypeDiagAddendum}e.argument&&e.argument.name&&!c.isSpeculative(e.errorNode)&&N(e.argument.name,i||a,0,u)}else if(e.argType)a=e.argType;else if(e.expectingType&&!e.argument.type&&e.argument.valueExpression){const t=$(e.argument.valueExpression,void 0,168);a=t.type,t.isIncomplete&&(u=!0)}else{const t=bn(e.argument);a=t.type,t.isIncomplete&&(u=!0)}2===e.paramCategory&&bo(e.paramType)&&(a=Qo(a)),o&&(a=Se(a,o,(e=>e)));let h=new il;if(wo(e.paramType)&&void 0!==e.paramType.paramSpecAccess)return{isCompatible:p,isTypeIncomplete:u};if(r){if(ko(a))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0};const t=Ie(e.paramType);if(Eo(t)||ko(t)){if(_o(a)){const e=Zn(a);if(e&&ko(e))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0}}if(vo(a)){const e=_a(a,"__call__");if(e&&ko(Bn(e)))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0}}}}if(!Jn(e.paramType,a,h.createAddendum(),t)){if("none"!==qt(e.errorNode).diagnosticRuleSet.reportGeneralTypeIssues&&!ye(e.errorNode)){const t=qt(e.errorNode),n=ai(a),i=ai(e.paramType);let r;r=e.paramName?d?ml.Diagnostic.argAssignmentParamFunction().format({argType:n,paramType:i,functionName:d,paramName:e.paramName}):ml.Diagnostic.argAssignmentParam().format({argType:n,paramType:i,paramName:e.paramName}):d?ml.Diagnostic.argAssignmentFunction().format({argType:n,paramType:i,functionName:d}):ml.Diagnostic.argAssignment().format({argType:n,paramType:i}),l&&(h=l),_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,r+al(h),e.errorNode)}return{isCompatible:!1,isTypeIncomplete:u}}if(!i){const t=Ro(a),n=qt(e.errorNode),i=()=>{const t=new il;return e.paramName&&t.addMessage((d?ml.DiagnosticAddendum.argParamFunction().format({paramName:e.paramName,functionName:d}):ml.DiagnosticAddendum.argParam().format({paramName:e.paramName}))+t.getString()),t};if("none"!==n.diagnosticRuleSet.reportUnknownArgumentType&&!uo(e.paramType)&&!u)if(po(t)){const t=i();_e(n.diagnosticRuleSet.reportUnknownArgumentType,$o.reportUnknownArgumentType,ml.Diagnostic.argTypeUnknown()+t.getString(),e.errorNode)}else if(La(t,!0)){let r=!1;if(_o(t)&&(r=!0),La(e.paramType)&&(r=!0),vo(t)&&t.isEmptyContainer&&(r=!0),!r){const r=i();r.addMessage(ml.DiagnosticAddendum.argumentType().format({type:ai(t,!0)})),_e(n.diagnosticRuleSet.reportUnknownArgumentType,$o.reportUnknownArgumentType,ml.Diagnostic.argTypePartiallyUnknown()+r.getString(),e.errorNode)}}}return{isCompatible:p,isTypeIncomplete:u}}function ot(e){if(11===e.nodeType){if(15===e.constType)return!1;if(33===e.constType)return!0}return fe(ml.Diagnostic.expectedBoolLiteral(),e),!1}function at(e,t){const n=qt(e);let i="_";if(t.length>=1){const e=t[0];0===e.argumentCategory&&e.valueExpression&&48===e.valueExpression.nodeType&&(i=e.valueExpression.strings.map((e=>e.value)).join(""))}if(t.length>=2){const r=In(t[1]).type;if(_o(r)){Zs.isProtocolClass(r)?fe(ml.Diagnostic.newTypeProtocolClass(),t[1].node||e):void 0!==r.literalValue&&fe(ml.Diagnostic.newTypeLiteral(),t[1].node||e);const s=-4&r.details.flags,o=Zs.createInstantiable(i,br(e,n.moduleName,i),n.moduleName,n.filePath,s,Ir(e),void 0,r.details.effectiveMetaclass);o.details.baseClasses.push(r),Ha(o);const a=Xs.createInstance("__init__","","",64);Xs.addParameter(a,{category:0,name:"self",type:Zs.cloneAsInstance(o),hasDeclaredType:!0}),Xs.addParameter(a,{category:0,name:"_x",type:Zs.cloneAsInstance(r),hasDeclaredType:!0}),a.details.declaredReturnType=to.createInstance(),o.details.fields.set("__init__",Vo.createWithType(4,a));const l=Xs.createInstance("__new__","","",65);return Xs.addParameter(l,{category:0,name:"cls",type:o,hasDeclaredType:!0}),Xs.addDefaultParameters(l),l.details.declaredReturnType=Zs.cloneAsInstance(o),o.details.fields.set("__new__",Vo.createWithType(4,l)),o}ho(r)||fe(ml.Diagnostic.newTypeNotAClass(),t[1].node||e)}}function lt(e){return!(!Ku[e]||!Ku[e][2])||!!Ju[e]}function ut(e,t,n){const i=e.leftExpression;let r=e.rightExpression,s=!1;lt(e.operator)&&7===r.nodeType&&!r.parenthesized&<(r.operator)&&(ut(r,t,n),r=r.leftExpression);let o,a=37===e.operator||36===e.operator?t:void 0;26===e.operator&&t&&vo(t)&&Zs.isBuiltIn(t,"list")&&t.typeArguments&&t.typeArguments.length>=1&&31===e.leftExpression.nodeType&&(o=t);const l=$(i,a||o,n);let c=l.type;a||(37===e.operator||36===e.operator||0===e.operator&&31===e.rightExpression.nodeType||6===e.operator)&&(a=c);const u=$(r,a,n);let p=u.type;if((l.isIncomplete||u.isIncomplete)&&(s=!0),6===e.operator&&!pt(c,"__or__")&&!pt(p,"__ror__")){let t=p;if(!lo(c)&&lo(p)&&Ks.isInstance(p)&&(t=to.createType()),function(e){let t=3;for(const n of e)t&=n.flags;return 0!=(1&t)&&0==(2&t)}([c,t])){const i=qt(e);i.isStubFile||0!=(4&n)||i.executionEnvironment.pythonVersion>=De.V3_10||ho(c)||fe(ml.Diagnostic.unionSyntaxIllegal(),e,e.operatorToken);const r=Oo([c,t]);return fo(r)&&Ks.setSpecialForm(r),{type:r,node:e}}}let d=!1;void 0===Ju[e.operator]&&(12===e.operator||28===e.operator?c=Fo(c):d=Go(c),12!==e.operator&&28!==e.operator||(p=Fo(p)));const h=new il,m=!l.isIncomplete&&!u.isIncomplete;let f=mt(e.operator,c,p,e,t,h,m);if(!h.isEmpty()||!f){if(!s){const t=qt(e);d&&1===h.getMessages().length?_e(qt(e).diagnosticRuleSet.reportOptionalOperand,$o.reportOptionalOperand,ml.Diagnostic.noneOperator().format({operator:Cr(e.operator)}),e.leftExpression):_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e.operator),leftType:ai(c),rightType:ai(p)})+al(h),e)}f=Ys.create()}return{type:f,node:e,isIncomplete:s}}function pt(e,t){if(!_o(e))return!1;const n=e.details.effectiveMetaclass;if(!n||!_o(n))return!1;if(Zs.isBuiltIn(n,"type"))return!1;const i=va(n,t);return!(!i||_o(i.classType)&&Zs.isBuiltIn(i.classType,"type"))}function ht(e,t){const n={1:["__iadd__",0],34:["__isub__",33],27:["__imul__",26],14:["__ifloordiv__",13],11:["__itruediv__",10],25:["__imod__",24],30:["__ipow__",29],23:["__imatmul__",22],4:["__iand__",3],7:["__ior__",6],9:["__ixor__",8],18:["__ilshift__",17],32:["__irshift__",31]};let i;const r=new il,s=$(e.leftExpression),o=s.type;let a;7===e.operator&&(a=o);const l=$(e.rightExpression,a),c=l.type,u=!!l.isIncomplete||!!s.isIncomplete;return ao(o)||ao(c)?{node:e,type:no.createNever(),isIncomplete:u}:(i=Se(o,void 0,((i,o)=>Se(c,Xo(i),((a,c)=>{if(ho(o)||ho(c))return po(o)||po(c)?Ys.create():io.create();const u=n[e.operator][0];let p=gt(o,[c],u,e,t);if(p||o===i||(p=gt(i,[c],u,e,t)),p||c===a||(p=gt(i,[a],u,e,t)),!p){const i=n[e.operator][1],a=!s.isIncomplete&&!l.isIncomplete;p=mt(i,o,c,e,t,r,a)}return p})))),r.isEmpty()&&i&&!ao(i)||(u||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e.operator),leftType:ai(o),rightType:ai(c)})+al(r),e),i=Ys.create()),{node:e,type:i,isIncomplete:u})}function mt(e,t,n,i,r,s,o){let a,l=Ie(t);if(void 0!==Ju[e]){if(36===e){if(!Q(l))return t;if(!Y(l))return n;l=Z(l)}else if(37===e){if(!Y(l))return t;if(!Q(l))return n;l=X(l)}if(ao(t)||ao(n))return no.createNever();41===e||42===e?(a=Se(n,void 0,((t,n)=>Se(l,Xo(t),(r=>{if(ho(r)||ho(n))return po(r)||po(n)?Ys.create():io.create();let o=gt(t,[r],"__contains__",i,void 0);if(!o){const e=ae(t,!1,void 0);e&&Jn(e,r)&&(o=Cn(i,"bool"))}return o||s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e),leftType:ai(r),rightType:ai(t)})),o})))),a&&!ao(a)&&(a=Cn(i,"bool"))):a=Se(l,void 0,((t,r)=>Se(n,Xo(t),((t,n)=>36===e||37===e?Oo([r,n]):Cn(i,"bool")))))}else if(Ku[e]){if(ao(t)||ao(n))return no.createNever();if(o){const i=aa(t);if(i&&!Xo(t)){const r=64;if(i===aa(n)&&!Xo(n)&&la(t)*la(n)Ko(n,(t=>{const n=e,i=t;return Zs.cloneWithLiteral(n,n.literalValue+i.literalValue)})))));else if("int"===i&&(0===e||33===e||26===e||13===e||24===e)){let i=!0;a=Ko(t,(t=>Ko(n,(n=>{try{const r=t,s=n,o=BigInt(r.literalValue),a=BigInt(s.literalValue);let l;return 0===e?l=o+a:33===e?l=o-a:26===e?l=o*a:13===e?a!==BigInt(0)&&(l=o/a):24===e&&a!==BigInt(0)&&(l=o%a),void 0===l||"number"==typeof l&&isNaN(l)?void(i=!1):(l===BigInt(Number(l))&&(l=Number(l)),Zs.cloneWithLiteral(r,l))}catch{return void(i=!1)}})))),i||(a=void 0)}}}a||(a=Se(t,void 0,((t,o)=>Se(n,Xo(t),((n,a)=>{if(ho(o)||ho(a))return po(o)||po(a)?Ys.create():io.create();if(0===e&&vo(t)&&pa(t)&&t.tupleTypeArguments&&!da(t)&&vo(n)&&pa(n)&&n.tupleTypeArguments&&!da(n)&&T&&_o(T))return Zs.cloneAsInstance(qa(T,[...t.tupleTypeArguments,...n.tupleTypeArguments]));const l=Ku[e][0];let c=gt(yt(o),[a],l,i,r);if(c||o===t||(c=gt(yt(t),[a],l,i,r)),c||a===n||(c=gt(yt(t),[n],l,i,r)),!c){const s=Ku[e][1];c=gt(yt(a),[o],s,i,r),c||a===n||(c=gt(yt(n),[o],s,i,r)),c||o===t||(c=gt(yt(n),[t],s,i,r))}return c||(r?s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperatorBidirectional().format({operator:Cr(e),leftType:ai(t),rightType:ai(n),expectedType:ai(r)})):s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e),leftType:ai(t),rightType:ai(n)}))),c})))))}return a&&ao(a)?void 0:a}function gt(e,t,n,i,r){let s=!0;const o=e=>{var o,a;let l;const c=Ie(e);if(vo(c)?l=null===(o=ee(i,c,n,void 0,void 0,64,e))||void 0===o?void 0:o.type:_o(c)&&(l=null===(a=te(i,c,n,void 0,void 0,96))||void 0===a?void 0:a.type),l){const e=t.map((e=>({argumentCategory:0,type:e})));let n;return kn(i,(()=>{n=et(i,e,l,void 0,!0,r)})),n.argumentErrors&&(s=!1),n.returnType}s=!1},a=Ko(e,(e=>{if(ho(e))return e;if(vo(e)||_o(e)||bo(e))return o(e);if(lo(e)){const e=Cn(i,"object");if(vo(e))return o(e)}s=!1}));if(s)return a}function yt(e){return(Eo(e)||ko(e))&&y?y:e}function _t(e,t,n){if(!vo(t=ta(t)))return;const i=[],r=[];let s=!1;if(Zs.isTypedDictClass(t)){if(Tt(e,i,r,!0,void 0,void 0,gl(li,t),n)&&(s=!0),Zs.isTypedDictClass(t)){const o=function(e,t,n,i,r){w(vo(t)),w(Zs.isTypedDictClass(t)),w(n.length===i.length);let s=!0;const o=new Map,a=gl(e,t);if(n.forEach(((n,l)=>{if(vo(n)&&Zs.isBuiltIn(n,"str")&&ra(n)){const c=n.literalValue,u=a.get(c);u?(e.canAssignType(u.valueType,i[l])||(r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldTypeMismatch().format({name:n.literalValue,type:e.printType(i[l])})),s=!1),u.isRequired||o.set(c,{valueType:i[l],isRequired:!1,isProvided:!0}),u.isProvided=!0):(s=!1,r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldUndefined().format({name:n.literalValue,type:e.printType(Zs.cloneAsInstance(t))})))}else s=!1})),s&&(a.forEach(((n,i)=>{n.isRequired&&!n.isProvided&&(r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldRequired().format({name:i,type:e.printType(t)})),s=!1)})),s))return 0===o.size?t:Zs.cloneForNarrowedTypedDictEntries(t,o)}(li,t,i,r,n);if(o)return{type:o,node:e,isIncomplete:s}}return}const o=Cn(e,"dict");if(!vo(o))return;const a=new jo(na(o));if(!Xe(o,t,a,Re(e)))return;const l=fa(Zs.cloneAsInstantiable(o),a);if(!l.typeArguments||2!==l.typeArguments.length)return;const c=l.typeArguments[0],u=l.typeArguments[1];Tt(e,i,r,!0,c,u,void 0,n)&&(s=!0);const p=vo(t)&&(Zs.isBuiltIn(t,"dict")||Zs.isBuiltIn(t,"MutableMapping")),d=It(c,i,!1),h=It(u,r,!p);return d&&h?{type:Cn(e,"dict",[d,h]),node:e,isIncomplete:s}:void 0}function vt(e,t){const n=t?io.create():Ys.create();let i=n,r=n,s=[],o=[],a=!1,l=!1;Tt(e,s,o,t)&&(l=!0),s=s.map((e=>Qo(e))),o=o.map((e=>Qo(e))),i=s.length>0?Oo(s):n,o.length>0?r=qt(e).diagnosticRuleSet.strictDictionaryInference||t?Oo(o):Yo(o,!0)?o[0]:n:(r=n,a=!0);const c=xn(e,"dict");return{type:_o(c)?Zs.cloneAsInstance(Zs.cloneForSpecialization(c,[i,r],!0,void 0,void 0,a)):Ys.create(),node:e,isIncomplete:l}}function Tt(e,t,n,i,r,s,o,a){let l=!1;return e.entries.forEach(((c,u)=>{var p;let d=!0;if(17===c.nodeType){const e=$(c.keyExpression,null!=r?r:i?no.createNever():void 0);e.isIncomplete&&(l=!0);let p,h=e.type;if(r){const e=Ie(r);ho(e)||Jn(e,h)&&(h=e)}p=o&&vo(h)&&Zs.isBuiltIn(h,"str")&&ra(h)&&o.has(h.literalValue)?$(c.valueExpression,o.get(h.literalValue).valueType):$(c.valueExpression,null!=s?s:i?no.createNever():void 0),a&&p.expectedTypeDiagAddendum&&a.addAddendum(p.expectedTypeDiagAddendum);const m=p.type;p.isIncomplete&&(l=!0),(i||u<64)&&(t.push(h),n.push(m)),d=!1}else if(16===c.nodeType){const r=$(c.expandExpression);r.isIncomplete&&(l=!0);const s=r.type;if(ho(s))d=!1;else{const r=ce(e,"Mapping");if(r&&_o(r)){const o=new jo(na(r));if(Jn(Zs.cloneAsInstance(r),s,void 0,o)){const e=fa(r,o).typeArguments;e&&e.length>=2&&((i||u<64)&&(t.push(e[0]),n.push(e[1])),d=!1)}else _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dictUnpackIsNotMapping(),c)}}}else if(32===c.nodeType){const e=wt(c,s,r),o=e.type;if(e.isIncomplete&&(l=!0),vo(o)&&pa(o)){const e=null===(p=o.tupleTypeArguments)||void 0===p?void 0:p.map((e=>e.type));e&&2===e.length&&((i||u<64)&&(t.push(e[0]),n.push(e[1])),d=!1)}}d&&(i||u<64)&&(t.push(Ys.create()),n.push(Ys.create()))})),l}function bt(e,t){const n=31===e.nodeType?"list":"set";t=ta(t);let i=!1;if(!vo(t))return;const r=Cn(e,n);if(!vo(r))return;const s=new jo(na(r));if(!Xe(r,t,s,Re(e)))return;const o=fa(Zs.cloneAsInstantiable(r),s);if(!o.typeArguments||1!==o.typeArguments.length)return;const a=o.typeArguments[0],l=[];e.entries.forEach((e=>{let t;t=32===e.nodeType?wt(e,a):$(e,a),l.push(t.type),t.isIncomplete&&(i=!0)}));const c=vo(t)&&Zs.isBuiltIn(t,n),u=It(a,l,!c);return u?{type:Cn(e,n,[u]),node:e,isIncomplete:i}:void 0}function It(e,t,n){const i=oo.createInstance("__typeArg");i.details.isSynthesized=!0,i.details.boundType=e,i.scopeId="__typeArgScopeId";let r=new jo($s);if(r.setTypeVarType(i,n?void 0:e,e),!t.some((e=>!Jn(i,Qo(e),void 0,r)))||(r=new jo($s),r.setTypeVarType(i,n?void 0:e,e,!0),!t.some((e=>!Jn(i,e,void 0,r)))))return fa(i,r)}function xt(e,t,n,i,r,s){if("none"===e)return;const o=n.value,a=Ro(i);if(po(a))_e(e,t,ml.Diagnostic.typeUnknown().format({name:o}),r);else if(La(a)&&(!s||!vo(i)||!i.isEmptyContainer)){const n=new il;n.addMessage(ml.DiagnosticAddendum.typeOfSymbol().format({name:o,type:ai(a,!0)})),_e(e,t,ml.Diagnostic.typePartiallyUnknown().format({name:o})+n.getString(),r)}}function Ct(e){let t=!1;if(33===e.nodeType){const n=$(e.iterableExpression);n.isIncomplete&&(t=!0);const i=ae(Qo(n.type),!!e.isAsync,e.iterableExpression)||Ys.create();xe(e.targetExpression,i,!!n.isIncomplete,e.iterableExpression)}else w(34===e.nodeType),c.isSpeculative(e.testExpression)||$(e.testExpression);return t}function wt(e,t,n){let i=!1;for(const t of e.forIfNodes)Ct(t)&&(i=!0);let r=Ys.create();if(17===e.expression.nodeType){const s=$(e.expression.keyExpression,n);s.isIncomplete&&(i=!0);let o=s.type;n&&oa(n)||(o=Qo(o));const a=$(e.expression.valueExpression,t);a.isIncomplete&&(i=!0);let l=a.type;t&&oa(t)||(l=Qo(l)),r=Ue([o,l])}else if(16===e.expression.nodeType)$(e.expression.expandExpression,t);else if(yr(e)){const n=$(e.expression,t);n.isIncomplete&&(i=!0),r=n.type}return{type:r,node:e,isIncomplete:i}}function Et(e,t){if(e.typeList){if(!(null==t?void 0:t.allowTypeArgList))return fe(ml.Diagnostic.typeArgListNotAllowed(),e.node),!1;e.typeList.forEach((e=>{Et(e)}))}if(ca(e.type)&&!(null==t?void 0:t.allowTypeArgList))return fe(ml.Diagnostic.ellipsisContext(),e.node),!1;if(To(e.type))return fe(ml.Diagnostic.moduleAsType(),e.node),!1;if(wo(e.type)&&!(null==t?void 0:t.allowParamSpec))return fe(ml.Diagnostic.paramSpecContext(),e.node),!1;if(Io(e.type)&&!e.type.isVariadicInUnion){if(!(null==t?void 0:t.allowVariadicTypeVar))return fe(ml.Diagnostic.typeVarTupleContext(),e.node),!1;Oe(e.type,e.node)}return!(null==t?void 0:t.allowEmptyTuple)&&e.isEmptyTupleShorthand?(fe(ml.Diagnostic.zeroLengthTupleNotAllowed(),e.node),!1):!(xo(e.type)&&!(null==t?void 0:t.allowUnpackedTuples)&&(fe(ml.Diagnostic.unpackedArgInTypeArgument(),e.node),1))}function kt(e,t,n){const i=Cn(e,t);return vo(i)?Zs.cloneWithLiteral(i,n):Ys.create()}function Nt(e,t,n){const i=xn(e,t);return _o(i)?Zs.cloneWithLiteral(i,n):Ys.create()}function Ot(e,t,n,i=!1,r=!1){const s=Zs.isTupleClass(e);if(t)if(s&&1===t.length&&t[0].isEmptyTupleShorthand)t=[];else{let e=!1;const r=t=>{e&&(o||(fe(ml.Diagnostic.variadicTypeArgsTooMany(),t.node),o=!0)),e=!0};let o=!1;t.forEach(((e,o)=>{ca(e.type)?s?2!==t.length||1!==o?fe(ml.Diagnostic.ellipsisSecondArg(),e.node):bo(t[0].type)&&Io(t[0].type)&&!t[0].type.isVariadicInUnion&&fe(ml.Diagnostic.typeVarTupleContext(),t[0].node):fe(ml.Diagnostic.ellipsisContext(),e.node):wo(e.type)&&i||(Io(e.type)&&void 0===n?(r(e),Oe(e.type,e.node)):void 0===n&&Co(e.type)?(r(e),Et(e,{allowUnpackedTuples:!0})):Et(e))}))}let o,a=t?t.map((e=>Fa(e.type))):[];if(void 0!==n)if(t&&a.length>n)fe(ml.Diagnostic.typeArgsTooMany().format({name:e.aliasName||e.details.name,expected:n,received:a.length}),t[n].node),a=a.slice(0,n);else if(a.length{1===t&&ca(a[t])?1!==n.length||n[0].isUnbounded?fe(ml.Diagnostic.ellipsisSecondArg(),e.node):n[0]={type:n[0].type,isUnbounded:!0}:xo(e.type)&&e.type.tupleTypeArguments?n.push(...e.type.tupleTypeArguments):n.push({type:a[t],isUnbounded:!1})})):n.push({type:Ys.create(),isUnbounded:!0}),o=qa(e,n,void 0!==t,!1)}else o=Zs.cloneForSpecialization(e,a,void 0!==t);return r||Ks.setSpecialForm(o),o}function Ut(e,t){var n,i,r,s;const o=Er(e,!0);if(o){const l=$t(o);if(l&&Zs.isEnumClass(l.classType)){let o=3===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)&&e.parent.leftExpression===e||54===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&e.parent.valueExpression===e&&3===(null===(r=e.parent.parent)||void 0===r?void 0:r.nodeType)||qt(e).isStubFile&&54===(null===(s=e.parent)||void 0===s?void 0:s.nodeType)&&e.parent.valueExpression===e;(a=e.value).length>2&&a.startsWith("_")&&a.endsWith("_")&&(o=!1),"name"!==e.value&&"value"!==e.value||(o=!1);const c=t();if(vo(c)&&c.details.fields.get("__get__")&&(o=!1),o)return Zs.cloneAsInstance(Zs.cloneWithLiteral(l.classType,new Hs(l.classType.details.name,e.value,c)))}}var a}function Vt(e,t,n){if(!Ks.isInstantiable(e))return e;if(ea(e))return e;let i=[];bo(e)&&!Ks.isAnnotated(e)||Jo(e,(e=>{Ia(i,Sa(e))})),i=i.filter((e=>!e.details.isSynthesized)),i=i.map((e=>Ks.isInstance(e)?e:Fa(e)));const r=i.filter((e=>Io(e)));r.length>1&&fe(ml.Diagnostic.variadicTypeParamTooManyAlias().format({names:r.map((e=>`"${e.details.name}"`)).join(", ")}),n);const s=qt(t),o=Pe(t),a=i.filter((e=>e.scopeId!==o&&0===e.scopeType));return a.length>0&&fe(ml.Diagnostic.genericTypeAliasBoundTypeVar().format({names:a.map((e=>`${e.details.name}`)).join(", ")}),n),Ks.cloneForTypeAlias(e,t.value,`${s.moduleName}.${t.value}`,o,i.length>0?i:void 0)}function Bt(e,t,n){const i=qt(e);let r=Zs.createInstantiable(t,br(e,i.moduleName,t),i.moduleName,i.filePath,3,0,void 0,void 0);i.isTypingExtensionsStubFile&&(r.details.flags|=65536);const s=n.alias||"object";let o;if("builtins"===n.module)o=xn(e,s);else if("collections"===n.module)o=ue(e,s,["collections"]);else if("self"===n.module){const t=wn(e,s,!1);t&&(o=Nn(t.symbol),_o(o)&&Zs.isBuiltIn(o,"_TypedDict")&&(o.details.flags&=-513))}return o&&_o(o)?n.alias?r=Zs.cloneForTypingAlias(o,t):(r.details.baseClasses.push(o),r.details.effectiveMetaclass=o.details.effectiveMetaclass,Ha(r)):(r.details.baseClasses.push(Ys.create()),r.details.effectiveMetaclass=Ys.create(),Ha(r)),r}function Wt(e){var t;const n=qt(e);if(F(e,0))return;let i,r=F(e.rightExpression,0),s=!1;if(!r&&((n.isTypingStubFile||n.isTypingExtensionsStubFile)&&(r=function(e){if(38!==e.leftExpression.nodeType)return;const t=e.leftExpression.value;if("Any"===t)return io.create();const n=new Map([["overload",{alias:"",module:"builtins"}],["TypeVar",{alias:"",module:"builtins"}],["_promote",{alias:"",module:"builtins"}],["no_type_check",{alias:"",module:"builtins"}],["NoReturn",{alias:"",module:"builtins"}],["Never",{alias:"",module:"builtins"}],["Counter",{alias:"Counter",module:"collections"}],["List",{alias:"list",module:"builtins"}],["Dict",{alias:"dict",module:"builtins"}],["DefaultDict",{alias:"defaultdict",module:"collections"}],["Set",{alias:"set",module:"builtins"}],["FrozenSet",{alias:"frozenset",module:"builtins"}],["Deque",{alias:"deque",module:"collections"}],["ChainMap",{alias:"ChainMap",module:"collections"}],["OrderedDict",{alias:"OrderedDict",module:"collections"}]]).get(t);return n?($(e.rightExpression),Bt(e,t,n)):void 0}(e),r&&N(e.rightExpression,r,0,!1)),!r)){const l=se(e.leftExpression,{method:"set"});let c,u=0;n.isStubFile&&(u|=256),38!==e.rightExpression.nodeType&&35!==e.rightExpression.nodeType||(u|=2);let p,d=!1;if(re(e.leftExpression))u|=232,u&=-3,c=e.leftExpression.valueExpression;else if(38===e.leftExpression.nodeType){const t=wn(e.leftExpression,e.leftExpression.value,!1);if(t){const n=t.symbol.getDeclarations();1===n.length&&os(n[0])&&(c=e.leftExpression,d=!0)}}if(c){p=oo.createInstantiable(`__type_alias_${c.value}`),p.details.isSynthesized=!0,p.details.recursiveTypeAliasName=c.value;const t=Pe(c);p.details.recursiveTypeAliasScopeId=t,p.scopeId=t,N(e,p,void 0,!1),N(e.leftExpression,p,void 0,!1),54===e.leftExpression.nodeType&&N(e.leftExpression.valueExpression,p,void 0,!1)}const h=$(e.rightExpression,l,u);let m=h.type;i=h.expectedTypeDiagAddendum,h.isIncomplete&&(s=!0);const f=Xc(e.rightExpression,n.executionEnvironment);if(void 0!==f){const t=Cn(e,"bool");vo(t)&&(m=Zs.cloneWithLiteral(t,f))}l&&Jn(l,m)&&(ho(m)||(m=ni(l,m))),r=m,38!==e.leftExpression.nodeType||e.typeAnnotationComment||(r=Ut(e.leftExpression,(()=>r))||r),c&&(M(e),M(e.leftExpression),54===e.leftExpression.nodeType&&M(e.leftExpression.valueExpression),(!d||Ks.isInstantiable(r)&&!po(r))&&(r=Vt(r,c,e.rightExpression),o=p,(9!==(a=r).category?a===o||mo(a)&&a.typeAliasInfo&&a.typeAliasInfo.name===o.details.recursiveTypeAliasName:void 0!==Mo(a,(e=>Ao(o,e))))&&_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAliasIsRecursiveDirect().format({name:c.value}),e.rightExpression),p.details.boundType=r,p.details.recursiveTypeParameters=null===(t=r.typeAliasInfo)||void 0===t?void 0:t.typeParameters),p.details.illegalRecursionDetected&&_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAliasIsRecursiveIndirect().format({name:c.value}),e.leftExpression))}var o,a;xe(e.leftExpression,r,s,e.rightExpression,!0,!0,i),N(e,r,0,s)}function jt(e){if(F(e,0))return;const t=ht(e,void 0);xe(e.destExpression,t.type,!!t.isIncomplete,e.rightExpression),N(e,t.type,0,!!t.isIncomplete)}function $t(e){const t=F(e.name,0);if(t){if(!_o(t))return;return{classType:t,decoratedType:F(e,0)||Ys.create()}}const n=zs(e),i=qt(e);let r=0;(4===(null==n?void 0:n.type)||i.isTypingStubFile||i.isTypingExtensionsStubFile||i.isBuiltInStubFile)&&(r|=1,i.isTypingExtensionsStubFile&&(r|=65536),"property"===e.name.value&&(r|=2048),"tuple"===e.name.value&&(r|=524288)),i.isStubFile&&(r|=8388608);const s=Zs.createInstantiable(e.name.value,br(e,i.moduleName,e.name.value),i.moduleName,i.filePath,r,0,void 0,void 0,Vr(e.suite.statements));s.details.typeVarScopeId=Pe(e);const o=null==n?void 0:n.lookUpSymbol(e.name.value);let a;const l=Mt(e);l&&(a=l),a&&o&&B(o,a,s),s.details.flags|=131072,N(e,s,void 0,!1),N(e.name,s,void 0,!1);const c=[];let u;const p=[];let d,h=272960;i.isStubFile&&(h|=4),e.arguments.forEach((e=>{if(e.name)if("metaclass"===e.name.value)d?fe(ml.Diagnostic.metaclassDuplicate(),e):d=e.valueExpression;else if("total"===e.name.value&&Zs.isTypedDictClass(s)){const t=Xc(e.valueExpression,i.executionEnvironment);void 0===t?fe(ml.Diagnostic.typedDictTotalParam(),e.valueExpression):t||(s.details.flags|=256)}else p.push({argumentCategory:0,node:e,name:e.name,valueExpression:e.valueExpression});else{let t=$(e.valueExpression,void 0,h).type;if(fo(t)&&(t=Ro(t)),ho(t)||mo(t)||(_o(t)?(Zs.isBuiltIn(t,"Protocol")&&(!i.isStubFile&&!Zs.isTypingExtensionClass(t)&&i.executionEnvironment.pythonVersion=De.V3_6&&Zs.isBuiltIn(t,"NamedTuple")&&(s.details.flags|=16777220),Zs.isBuiltIn(t,"TypedDict")||Zs.isTypedDictClass(t)?s.details.flags|=128:Zs.isTypedDictClass(s)&&!Zs.isTypedDictClass(t)&&fe(ml.Diagnostic.typedDictBaseClass(),e),Da(t,s,!0)&&(fe(ml.Diagnostic.baseClassCircular(),e),t=Ys.create())):(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.baseClassInvalid(),e),t=Ys.create())),po(t)&&_e(i.diagnosticRuleSet.reportUntypedBaseClass,$o.reportUntypedBaseClass,ml.Diagnostic.baseClassUnknown(),e),s.details.baseClasses.some((e=>_o(e)&&_o(t)&&Zs.isSameGenericClass(t,e)))&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.duplicateBaseClass(),e.name||e),s.details.baseClasses.push(t),_o(t)&&(Zs.isEnumClass(t)&&(s.details.flags|=1048576),(Zs.supportsAbstractMethods(t)||Zs.isProtocolClass(t)&&!Zs.isBuiltIn(t))&&(s.details.flags|=512),Zs.isPropertyClass(t)&&(s.details.flags|=2048),Zs.isFinal(t))){const n=oi(t);fe(ml.Diagnostic.baseClassFinal().format({type:n}),e.valueExpression)}Ia(c,Sa(t)),_o(t)&&Zs.isBuiltIn(t,"Generic")&&(u||(u=[],Ia(u,Sa(t))))}})),s.details.baseClasses.length>1&&s.details.baseClasses.some((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")))&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.namedTupleMultipleInheritance(),e.name),Zs.isBuiltIn(s,"object")||0!==s.details.baseClasses.filter((e=>yo(e))).length||s.details.baseClasses.push(xn(e,"object")),u&&function(e,t,n){const i=t.filter((e=>!n.some((t=>t.details.name===e.details.name))));if(i.length>0){const t=new il;t.addMessage(ml.DiagnosticAddendum.typeVarsMissing().format({names:i.map((e=>`"${e.details.name}"`)).join(", ")})),_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarsNotInGeneric()+t.getString(),e)}}(e.name,c,u),s.details.typeParameters=u||c;const m=s.details.typeParameters.filter((e=>Io(e)));m.length>1&&fe(ml.Diagnostic.variadicTypeParamTooManyClass().format({names:m.map((e=>`"${e.details.name}"`)).join(", ")}),e.name,dt.combine(e.arguments)||e.name),Ha(s)||fe(ml.Diagnostic.methodOrdering(),e.name);const f=zs(e.suite);s.details.fields=(null==f?void 0:f.symbolTable)||new Map;const y=null==f?void 0:f.getSlotsNames();if(y&&(s.details.localSlotsNames=y),Zs.isTypedDictClass(s)&&fl(li,e,s),!i.isStubFile&&0===s.details.typeParameters.length){const t=s.details.fields.get("__init__");if(t){const n=t.getTypedDeclarations();if(1===n.length&&3===n[0].type){const t=n[0].node,i=t.parameters;if(i.length>1&&!i.some(((e,n)=>!!ie(t,n)))){const n=i.filter(((e,t)=>t>0&&e.name&&0===e.category));n.length>0&&(s.details.flags|=16384,s.details.typeParameters=n.map((n=>{const i=oo.createInstance(`__type_of_${n.name.value}`);return i.details.isSynthesized=!0,i.scopeId=Pe(t),i.details.boundType=Ys.create(),oo.cloneForScopeId(i,Pe(e),e.name.value,0)})))}}}}if(0!==s.details.typeParameters.length||Zs.isBuiltIn(s,"type")||(s.details.baseClasses.some((e=>_o(e)&&Zs.hasCustomClassGetItem(e)))||s.details.fields.has("__class_getitem__"))&&(s.details.flags|=262144),d){const e=$(d,void 0,h).type;(_o(e)||po(e))&&($a(e)&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.metaclassIsGeneric(),d),s.details.declaredMetaclass=e,_o(e)&&(Zs.isBuiltIn(e,"EnumMeta")?s.details.flags|=1048576:Zs.isBuiltIn(e,"ABCMeta")&&(s.details.flags|=512)))}let v=s.details.declaredMetaclass,T=!1;if(!v||_o(v))for(const t of s.details.baseClasses){if(!_o(t)){v=Ys.create();break}{const n=t.details.effectiveMetaclass||_;if(!n||!_o(n)){v=n?Ys.create():void 0;break}v?Da(n,v,!1)?v=n:Da(v,n,!1)||T||(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.metaclassConflict(),e.name),T=!0):v=n}}if(!v){const t=xn(e,"type");v=t&&_o(t)?t:Ys.create()}s.details.effectiveMetaclass=v;let b,I=s,S=!1;for(let t=e.decorators.length-1;t>=0;t--){const n=e.decorators[t],r=Ht(I,s,n);Oa(r)?S||(_e(i.diagnosticRuleSet.reportUntypedClassDecorator,$o.reportUntypedClassDecorator,ml.Diagnostic.classDecoratorTypeUnknown(),e.decorators[t].expression),S=!0):I=r}if(_o(v)&&v.details.classDataClassTransform)b=v.details.classDataClassTransform;else{const e=s.details.mro.find((e=>yo(e)&&void 0!==e.details.classDataClassTransform));e&&(b=e.details.classDataClassTransform)}if(b&&(Wu(s,b),Bu(li,s,p)),s.details.flags&=-131073,Zs.isDataClass(s)){const t=Zs.isSkipSynthesizedDataClassInit(s);let n=t;if(!t){const e=va(s,"__init__",2);if(e){const t=Bn(e);Eo(t)&&Xs.isSynthesizedMethod(t)||(n=!0)}}let i=!1;const r=va(s,"__hash__",2);if(r){const e=Bn(r);Eo(e)&&!Xs.isSynthesizedMethod(e)&&(i=!0)}!function(e,t,n,i,r,s){w(Zs.isDataClass(n));const o=Aa(n,!0),a=Xs.createInstance("__new__","","",65),l=Xs.createInstance("__init__","","",64);Xs.addParameter(a,{category:0,name:"cls",type:o,hasDeclaredType:!0}),Xs.addDefaultParameters(a),a.details.declaredReturnType=Fa(o);const c={category:0,name:"self",type:Aa(n,!1),hasDeclaredType:!0};Xs.addParameter(l,c),l.details.declaredReturnType=to.createInstance();const u=[],p=[],d=function(e,t){let n=!0;for(let i=e.details.mro.length-1;i>=0;i--){const r=e.details.mro[i];if(_o(r)){const e=wa(r,!1);Zs.getDataClassEntries(r).forEach((n=>{const i=t.findIndex((e=>e.name===n.name)),r={...n};r.type=fa(r.type,e),n.isClassVar?i>=0&&t.splice(i,1):i>=0?t[i]=r:t.push(r)}))}else n=!1}return n}(n,p);d||Xs.addDefaultParameters(l);const h=[];let m=!1;t.suite.statements.forEach((r=>{47===r.nodeType&&r.statements.forEach((r=>{var s;let o,a,l,c,d=!1,f=Zs.isDataClassKeywordOnlyParams(n)||m,g=!0;if(3===r.nodeType){if(54===r.leftExpression.nodeType&&38===r.leftExpression.valueExpression.nodeType&&(o=r.leftExpression.valueExpression,l=()=>e.getTypeOfAnnotation(r.leftExpression.typeAnnotation,{isVariableAnnotation:!0,allowFinal:!0,allowClassVar:!0})),d=!0,c=r.rightExpression,9===r.rightExpression.nodeType){const i=e.getTypeOfExpression(r.rightExpression.leftExpression,void 0,2).type;if(function(e,t){let n;return Eo(e)?n=e.details.fullName:ko(e)?n=e.overloads[0].details.fullName:_o(e)&&(n=e.details.fullName),!!n&&t.some((e=>e===n))}(i,(null===(s=n.details.dataClassBehaviors)||void 0===s?void 0:s.fieldDescriptorNames)||[])){const n=r.rightExpression.arguments.find((e=>{var t;return"init"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(n&&n.valueExpression)!1===Xc(n.valueExpression,qt(t).executionEnvironment)&&(g=!1);else{let t;if(Eo(i))t=i;else if(ko(i))t=e.getBestOverloadForArguments(r.rightExpression,i,r.rightExpression.arguments);else if(_o(i)){const n=e.getBoundMethod(i,"__init__");n&&(Eo(n)?t=n:ko(n)&&(t=e.getBestOverloadForArguments(r.rightExpression,n,r.rightExpression.arguments)))}if(t){const e=t.details.parameters.find((e=>"init"===e.name));e&&e.defaultValueExpression&&e.hasDeclaredType&&yo(e.type)&&Zs.isBuiltIn(e.type,"bool")&&ra(e.type)&&!1===e.type.literalValue&&(g=!1)}}const s=r.rightExpression.arguments.find((e=>{var t;return"kw_only"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(s&&s.valueExpression){const e=Xc(s.valueExpression,qt(t).executionEnvironment);!1===e?f=!1:!0===e&&(f=!0)}const o=r.rightExpression.arguments.find((e=>{var t,n,i;return"default"===(null===(t=e.name)||void 0===t?void 0:t.value)||"default_factory"===(null===(n=e.name)||void 0===n?void 0:n.value)||"factory"===(null===(i=e.name)||void 0===i?void 0:i.value)}));d=!!o,(null==o?void 0:o.valueExpression)&&(c=o.valueExpression);const l=r.rightExpression.arguments.find((e=>{var t;return"alias"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(l){const t=e.getTypeOfExpression(l.valueExpression).type;vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)&&(a=t.literalValue)}}}}else if(54===r.nodeType&&38===r.valueExpression.nodeType&&(o=r.valueExpression,l=()=>e.getTypeOfAnnotation(r.typeAnnotation,{isVariableAnnotation:!0,allowFinal:!0,allowClassVar:!0}),"_"===r.valueExpression.value)){const e=l();vo(e)&&Zs.isBuiltIn(e,"KW_ONLY")&&(m=!0,o=void 0,l=void 0)}if(o&&l){const t=o.value,r=n.details.fields.get(t),s=null==r?void 0:r.getDeclarations().some((e=>1===e.type&&e.isFinal));if((null==r?void 0:r.isClassVar())&&!s){const e=p.findIndex((e=>e.name===t));e>=0&&p.splice(e,1);const i={name:t,classType:n,alias:a,isKeywordOnly:!1,hasDefault:d,defaultValueExpression:c,includeInInit:g,type:Ys.create(),isClassVar:!0};u.push(i)}else{const r={name:t,classType:n,alias:a,isKeywordOnly:f,hasDefault:d,defaultValueExpression:c,includeInInit:g,type:Ys.create(),isClassVar:!1};h.push({entry:r,evaluator:l});let s=u.findIndex((e=>e.name===t));if(s>=0?u[s]=r:u.push(r),s=p.findIndex((e=>e.name===t)),s>=0){const e=p[s];!r.hasDefault&&e.hasDefault&&(r.hasDefault=!0,r.defaultValueExpression=e.defaultValueExpression,d=!0),p[s]=r}else p.push(r),s=p.length-1;if(!f&&g&&!i&&!d){const t=p.findIndex((e=>e.hasDefault&&e.includeInInit&&!e.isKeywordOnly));t>=0&&t{e.entry.type=e.evaluator()}));const f=n.details.fields,g=[];i||r||!d||(p.forEach((t=>{var i;if(t.includeInInit){let r=t.type;if(t.classType!==n&&$a(r)){const e=new jo(na(t.classType));ma(e,t.classType,n),r=fa(r,e)}(null===(i=n.details.dataClassBehaviors)||void 0===i?void 0:i.transformDescriptorTypes)&&(r=function(e,t){if(!vo(t))return t;const n=_a(t,"__set__");if(!n)return t;const i=e.getTypeOfMember(n);if(!Eo(i))return t;const r=e.bindFunctionToClassOrObject(t,i);return!r||!Eo(r)||r.details.parameters.length<2?t:Xs.getEffectiveParameterType(r,1)}(e,r));const s={category:0,name:t.alias||t.name,hasDefault:t.hasDefault,defaultValueExpression:t.defaultValueExpression,type:r,hasDeclaredType:!0};t.isKeywordOnly?g.push(s):Xs.addParameter(l,s)}})),g.length>0&&(Xs.addParameter(l,{category:1,type:io.create()}),g.forEach((e=>{Xs.addParameter(l,e)}))),f.set("__init__",Vo.createWithType(4,l)),f.set("__new__",Vo.createWithType(4,a)));const y=e.getBuiltInType(t,"str"),_=e.getBuiltInType(t,"tuple");if(_&&_o(_)&&y&&_o(y)&&!f.has("__match_args__")){const e=[];p.forEach((t=>{t.includeInInit&&!t.isKeywordOnly&&e.push(t.name)}));const t=e.map((e=>({type:Zs.cloneAsInstance(Zs.cloneWithLiteral(y,e)),isUnbounded:!1}))),n=Zs.cloneAsInstance(qa(_,t));f.set("__match_args__",Vo.createWithType(4,n))}const v=(n,i)=>{const r=Xs.createInstance(n,"","",64);Xs.addParameter(r,c),Xs.addParameter(r,{category:0,name:"other",type:i,hasDeclaredType:!0}),r.details.declaredReturnType=e.getBuiltInObject(t,"bool"),f.set(n,Vo.createWithType(4,r))};if(Zs.isSkipSynthesizedDataClassEq(n)||v("__eq__",e.getBuiltInObject(t,"object")),Zs.isSynthesizedDataclassOrder(n)){const e=Zs.cloneAsInstance(n);["__lt__","__le__","__gt__","__ge__"].forEach((t=>{v(t,e)}))}let T=!Zs.isSkipSynthesizedDataClassEq(n)&&Zs.isFrozenDataClass(n);const b=!Zs.isSkipSynthesizedDataClassEq(n)&&!Zs.isFrozenDataClass(n);if(s&&(T=!1),Zs.isSynthesizeDataClassUnsafeHash(n)&&(T=!0),T){const n=Xs.createInstance("__hash__","","",64);Xs.addParameter(n,c),n.details.declaredReturnType=e.getBuiltInObject(t,"int"),f.set("__hash__",Vo.createWithType(4,n))}else b&&!s&&f.set("__hash__",Vo.createWithType(4,to.createInstance()));let I=e.getBuiltInType(t,"dict");_o(I)&&(I=Zs.cloneAsInstance(Zs.cloneForSpecialization(I,[e.getBuiltInObject(t,"str"),io.create()],!0))),f.set("__dataclass_fields__",Vo.createWithType(4,I)),Zs.isGeneratedDataClassSlots(n)&&void 0===n.details.localSlotsNames&&(n.details.localSlotsNames=u.map((e=>e.name))),Uu(n,p.map((e=>e.type)),!0)}(li,e,s,t,n,i)}if(s.details.localSlotsNames){let e=!0;const t=[...s.details.localSlotsNames];s.details.baseClasses.forEach((n=>{_o(n)?Zs.isBuiltIn(n,"object")||Zs.isBuiltIn(n,"type")||Zs.isBuiltIn(n,"Generic")||(void 0===n.details.inheritedSlotsNames?e=!1:t.push(...n.details.inheritedSlotsNames)):e=!1})),e&&(s.details.inheritedSlotsNames=t)}return N(e.name,s,0,!1),N(e,I,0,!1),function(e,t,n){const i=n.length>0?n[0].node.name:e.name,r=Ne(i,t,"__init_subclass__",{method:"get"},void 0,133,t);if(r){const e=r.type;e&&et(i,n,e,void 0,!1,to.createInstance())}else if(t.details.effectiveMetaclass&&yo(t.details.effectiveMetaclass)){const r=va(t.details.effectiveMetaclass,"__new__",32);if(r){const t=Bn(r);if(Eo(t)){const r=Ho(t);if(void 0!==r.firstKeywordOnlyIndex){const s=new Map;for(let e=r.firstKeywordOnlyIndex;e{var o,a,l;if(0===n.argumentCategory&&n.name){const c=null!==(o=s.get(n.name.value))&&void 0!==o?o:r.kwargsIndex;if(void 0!==c){const e=r.params[c];st({paramCategory:e.param.category,paramType:Xs.getEffectiveParameterType(t,e.index),requiresTypeVarMatching:!1,argument:n,errorNode:null!==(a=n.valueExpression)&&void 0!==a?a:i},new jo,t,!0,!0,!1,void 0),s.delete(n.name.value)}else _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.name.value}),null!==(l=n.name)&&void 0!==l?l:i)}}));const o=[];if(s.forEach(((e,t)=>{r.params[e].param.hasDefault||o.push(t)})),o.length>0){const e=o.map((e=>`"${e}"`)).join(", ");_e(qt(i).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===o.length?ml.Diagnostic.argMissingForParam().format({name:e}):ml.Diagnostic.argMissingForParams().format({names:e}),i)}}}}}n.forEach((e=>{e.valueExpression&&$(e.valueExpression)}))}(e,s,p),Zs.isBuiltIn(s,"UnionType")&&(g=Zs.cloneAsInstance(s)),{classType:s,decoratedType:I}}function Ht(e,t,n){let i=qt(n).isStubFile?4:0;9!==n.expression.nodeType&&(i|=2);const r=$(n.expression,void 0,i).type;if(9===n.expression.nodeType){const e=$(n.expression.leftExpression,void 0,2|i).type;Eo(e)&&("__dataclass_transform__"!==e.details.name&&"dataclass_transform"!==e.details.builtInName||(t.details.classDataClassTransform=Vu(li,n.expression)))}if(ko(r)){const n=qu(r);if(n)return ju(li,t,n,void 0),e}else if(Eo(r)){if("final"===r.details.builtInName)return t.details.flags|=4096,e;if("runtime_checkable"===r.details.builtInName)return t.details.flags|=32768,e;let s,o;if(9===n.expression.nodeType?(o=n.expression,s=qu($(o.leftExpression,void 0,2|i).type)):s=qu($(n.expression,void 0,i).type),s)return ju(li,t,s,o),e}return J(n,e)}function Gt(e){const t=qt(e),n=F(e.name,0);if(n){if(!Eo(n))return;return{functionType:n,decoratedType:F(e,0)||Ys.create()}}let i;const r=Mt(e);r&&(i=r);const s=Er(e,!0);let o;if(s){const e=$t(s);if(!e)return;o=e.classType}let a=en(e,!!s);(null==i?void 0:i.isGenerator)&&(a|=16),s&&"__class_getitem__"===e.name.value&&(a|=2),t.isStubFile?a|=2048:t.isInPyTypedPackage&&(a|=4096),e.isAsync&&(a|=512);const l=Xs.createInstance(e.name.value,function(e,t,n){const i=[n];let r=e;for(;r;)r=Dr(r),r&&i.push(r.name.value);return i.push(t),i.reverse().join(".")}(e,t.moduleName,e.name.value),t.moduleName,a,Vr(e.suite.statements));l.details.typeVarScopeId=Pe(e),(t.isBuiltInStubFile||t.isTypingStubFile||t.isTypingExtensionsStubFile)&&(l.details.builtInName=e.name.value),l.details.declaration=i;const c=zs(e),u=null==c?void 0:c.lookUpSymbolRecursive(e.name.value);i&&u&&B(u.symbol,i,l),N(e,l,void 0,!1),N(e.name,l,void 0,!1);const p=o&&Zs.isPseudoGenericClass(o)&&"__init__"===e.name.value,d=[];let h=0,m=0;if(o&&0==(4&l.details.flags)&&(m=1),e.functionAnnotationComment&&!e.functionAnnotationComment.isParamListEllipsis){const t=e.parameters.length-m,n=e.functionAnnotationComment.paramTypeAnnotations.length;m>0&&n===e.parameters.length?m=0:n!==t&&fe(ml.Diagnostic.annotatedParamCountMismatch().format({expected:t,received:n}),e.functionAnnotationComment)}const f=e=>{if(e.name){const n=wn(e.name,e.name.value,!1);n&&we(t,n.symbol,e.name)}};let g=!0;if(e.parameters.forEach(((n,i)=>{let r,s,a,c,u=!1;if(n.name&&(0===i&&o&&(Xs.isClassMethod(l)||Xs.isInstanceMethod(l)||Xs.isConstructorMethod(l))||Xs.isAbstractMethod(l)||o&&Zs.isProtocolClass(o))&&f(n),n.typeAnnotation)a=n.typeAnnotation;else if(n.typeAnnotationComment)a=n.typeAnnotationComment;else if(e.functionAnnotationComment&&!e.functionAnnotationComment.isParamListEllipsis){const t=i-m;t>=0&&t0&&0===n.category&&n.name&&(s=o.details.typeParameters[h],h++),s){const e=Jt(n,s);e!==s&&(s=e,u=!0)}if(n.defaultValue&&(c=$(n.defaultValue,s,1).type),s){if(n.defaultValue&&c){const i=new il,r=new jo(l.details.typeVarScopeId);if(o&&void 0!==o.details.typeVarScopeId&&("__init__"!==e.name.value&&"__new__"!==e.name.value||r.addSolveForScope(o.details.typeVarScopeId)),!Jn(s,c,i,r)){const e=_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAssignmentMismatch().format({sourceType:ai(c),paramType:ai(s)})+i.getString(),n.defaultValue);if(u&&a){const t={action:"pyright.addoptionalforparam",offsetOfTypeNode:a.start+1};e&&e.addAction(t)}}}r=s}const y=0===n.category&&n.name&&Kt(n.name.value),_=0===n.category&&!n.name;i>0&&g&&!y&&!_&&Xs.addParameter(l,{category:0,type:Ys.create()}),y&&!_||(g=!1);let v=!1;r||(v=!0,r=Qt(e,l.details.flags,i,o));const T={category:n.category,name:n.name?n.name.value:void 0,hasDefault:!!n.defaultValue,defaultValueExpression:n.defaultValue,defaultType:c,type:null!=r?r:Ys.create(),typeAnnotation:a,hasDeclaredType:!!a,isTypeInferred:v};if(Xs.addParameter(l,T),n.name){const t=Xt(e,n.category,T.type);d.push(t)}else d.push(T.type)})),g&&l.details.parameters.length>0&&Xs.addParameter(l,{category:0,type:Ys.create()}),d.forEach(((t,n)=>{const i=e.parameters[n].name;i&&(po(t)&&(l.details.flags|=16384),N(i,t,0,!1))})),d.length>=2){const e=d[d.length-2],t=d[d.length-1];wo(e)&&"args"===e.paramSpecAccess&&wo(t)&&"kwargs"===t.paramSpecAccess&&(l.details.flags|=32768)}if(e.returnTypeAnnotation){l.details.declaredReturnType=Ys.create();const t=K(e.returnTypeAnnotation,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});l.details.declaredReturnType=t}else if(e.functionAnnotationComment){l.details.declaredReturnType=Ys.create();const t=K(e.functionAnnotationComment.returnTypeAnnotation,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});l.details.declaredReturnType=t}else t.isStubFile&&("__init__"===e.name.value?l.details.declaredReturnType=to.createInstance():l.details.declaredReturnType=Ys.create());(t.isStubFile||Or(e.suite))&&l.details.declaredReturnType&&vo(l.details.declaredReturnType)&&Zs.isBuiltIn(l.details.declaredReturnType,["Generator","AsyncGenerator","AwaitableGenerator"])&&(l.details.flags|=16);let y=e.isAsync?function(e,t){const n=Xs.clone(t);return t.details.declaredReturnType&&(n.details.declaredReturnType=nn(e,t.details.declaredReturnType,Xs.isGenerator(t))),n.details.flags|=1024,n}(e,l):l,_=!1;for(let n=e.decorators.length-1;n>=0;n--){const i=e.decorators[n],r=tn(y,l,i,e);Oa(r)?_||(_e(t.diagnosticRuleSet.reportUntypedFunctionDecorator,$o.reportUntypedFunctionDecorator,ml.Diagnostic.functionDecoratorTypeUnknown(),e.decorators[n].expression),_=!0):y=r}return Eo(y)&&(Xs.isOverloaded(y)&&e.parameters.forEach((e=>{f(e)})),y=function(e,t){let n;const i=Mt(e);i&&(n=i);const r=wn(e,e.name.value,!1);if(r){const i=r.symbol.getDeclarations(),s=i.findIndex((e=>e===n));if(s>0){for(let e=0;e{var i,r;const s=e.parameters[n];return(null===(i=s.name)||void 0===i?void 0:i.value)===(null===(r=t.name)||void 0===r?void 0:r.value)&&s.category===t.category}))){const t=i.parameters[n],s=null!==(r=t.typeAnnotation)&&void 0!==r?r:t.typeAnnotationComment;if(s){let t=G(s,e.parameters[n].category);const i=qt(e);return i.isInPyTypedPackage&&!i.isStubFile&&(t=Ks.cloneForAmbiguousType(t)),t}}}}}const s=e.parameters[n].defaultValue;if(s){const t=$(s,void 0,1).type;let n;if(lo(t)?n=Oo([to.createInstance(),Ys.create()]):vo(t)&&Zs.isBuiltIn(t,["tuple","list","set","dict"])||(n=Qo(t)),n){const t=qt(e);t.isInPyTypedPackage&&!t.isStubFile&&(n=Ks.cloneForAmbiguousType(n))}return n}}function Xt(e,t,n){switch(t){case 0:return n;case 1:return bo(n)&&n.paramSpecAccess?n:xo(n)?Zs.cloneForUnpacked(n,!1):T&&_o(T)?Zs.cloneAsInstance(qa(T,[{type:n,isUnbounded:!Io(n)}],!0,!0)):Ys.create();case 2:{if(bo(n)&&n.paramSpecAccess)return n;if(vo(n)&&Zs.isTypedDictClass(n)&&n.isUnpacked)return n;const t=xn(e,"dict"),i=Cn(e,"str");return _o(t)&&vo(i)?Zs.cloneAsInstance(Zs.cloneForSpecialization(t,[i,n],!0)):Ys.create()}}}function en(e,t){const n=qt(e);let i=0;"__new__"===e.name.value&&t&&(i|=1),"__init_subclass__"===e.name.value&&t&&(i|=2);for(const r of e.decorators){let e=n.isStubFile?4:0;9!==r.expression.nodeType&&(e|=2);const s=$(r.expression,void 0,e).type;Eo(s)?"abstractmethod"===s.details.builtInName?t&&(i|=8):"final"===s.details.builtInName&&(i|=8192):_o(s)&&(Zs.isBuiltIn(s,"staticmethod")?t&&(i|=4):Zs.isBuiltIn(s,"classmethod")&&t&&(i|=2))}return i}function tn(e,t,n,i){let r=qt(n).isStubFile?4:0;9!==n.expression.nodeType&&(r|=2);const s=$(n.expression,void 0,r).type;if((_o(s)&&Zs.isSpecialBuiltIn(s,"overload")||Eo(s)&&"overload"===s.details.builtInName)&&Eo(e))return e.details.flags|=256,t.details.flags|=256,e;if(9===n.expression.nodeType){const i=$(n.expression.leftExpression,void 0,2|r).type;if(Eo(i)&&("__dataclass_transform__"===i.details.name||"dataclass_transform"===i.details.builtInName))return t.details.decoratorDataClassBehaviors=Vu(li,n.expression),e}let o=J(n,e);if(Eo(s)){if("abstractmethod"===s.details.builtInName)return e;if(35===n.expression.nodeType){const t=$(n.expression.leftExpression,void 0,2|r).type;if(ua(t)){const r=n.expression.memberName.value;if("setter"===r)return Eo(e)?($u(li,e,n),function(e,t,n,i){if(!ua(t))return t;const r=t,s=r.details.flags;let o=!!r.isAsymmetricDescriptor;const a=qt(i);if(i.parameters.length>=2){const t=e.getTypeAnnotationForParameter(i,1);if(t){const n=e.getGetterTypeFromProperty(r,!1);if(n&&!ho(n)){const i=e.getTypeOfAnnotation(t,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});if("none"!==a.diagnosticRuleSet.reportPropertyTypeMismatch){const r=new il;e.canAssignType(n,i,r)||e.addDiagnostic(a.diagnosticRuleSet.reportPropertyTypeMismatch,$o.reportPropertyTypeMismatch,ml.Diagnostic.setterGetterTypeMismatch()+r.getString(),t)}Ao(n,i)||(o=!0)}}}const l=Zs.createInstantiable(r.details.name,r.details.fullName,r.details.moduleName,qt(i).filePath,s,r.details.typeSourceId,r.details.declaredMetaclass,r.details.effectiveMetaclass);l.details.typeVarScopeId=r.details.typeVarScopeId,Ha(l);const c=Zs.cloneAsInstance(l);l.isAsymmetricDescriptor=o;const u=l.details.fields;r.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||u.set(t,e)}));const p=Vo.createWithType(4,n);u.set("fset",p);const d=Xs.createInstance("__set__","","",64);Xs.addParameter(d,{category:0,name:"self",type:t,hasDeclaredType:!0});let h=n.details.parameters.length>0?n.details.parameters[0].type:io.create();bo(h)&&h.details.isSynthesizedSelf&&(h=e.makeTopLevelTypeVarsConcrete(h)),Xs.addParameter(d,{category:0,name:"obj",type:Oo([h,to.createInstance()]),hasDeclaredType:!0}),d.details.declaredReturnType=to.createInstance();let m=Ys.create();n.details.parameters.length>=2&&0===n.details.parameters[1].category&&n.details.parameters[1].name&&(m=n.details.parameters[1].type),Xs.addParameter(d,{category:0,name:"value",type:m,hasDeclaredType:!0});const f=Vo.createWithType(4,d);return u.set("__set__",f),c}(li,t,e,i)):e;if("deleter"===r)return Eo(e)?($u(li,e,n),function(e,t,n,i){var r;if(!ua(t))return t;const s=t,o=Zs.createInstantiable(s.details.name,s.details.fullName,s.details.moduleName,qt(i).filePath,s.details.flags,s.details.typeSourceId,s.details.declaredMetaclass,s.details.effectiveMetaclass);o.details.typeVarScopeId=s.details.typeVarScopeId,Ha(o);const a=Zs.cloneAsInstance(o);o.isAsymmetricDescriptor=null!==(r=s.isAsymmetricDescriptor)&&void 0!==r&&r;const l=o.details.fields;s.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||l.set(t,e)}));const c=Vo.createWithType(4,n);l.set("fdel",c);const u=Xs.createInstance("__delete__","","",64);Xs.addParameter(u,{category:0,name:"self",type:t,hasDeclaredType:!0});let p=n.details.parameters.length>0?n.details.parameters[0].type:io.create();bo(p)&&p.details.isSynthesizedSelf&&(p=e.makeTopLevelTypeVarsConcrete(p)),Xs.addParameter(u,{category:0,name:"obj",type:Oo([p,to.createInstance()]),hasDeclaredType:!0}),u.details.declaredReturnType=to.createInstance();const d=Vo.createWithType(4,u);return l.set("__delete__",d),a}(li,t,e,i)):e}}}else if(_o(s)){if(Zs.isBuiltIn(s))switch(s.details.name){case"classmethod":case"staticmethod":{const t="classmethod"===s.details.name?2:4;if(Eo(e)&&0==(e.details.flags&t)){const n=Xs.clone(e);return n.details.flags&=-8,n.details.flags|=t,n}return e}}if(Zs.isPropertyClass(s)){if(Eo(e))return $u(li,e,n),Hu(li,n,s,e);if(vo(e)){const t=_a(e,"__call__");if(t){const i=Bn(t);if(Eo(i)||ko(i)){const t=ri(e,i);if(t&&Eo(t))return Hu(li,n,s,t)}}return Ys.create()}}}return Eo(e)&&Eo(o)&&(o=Xs.clone(o),Xs.isOverloaded(e)&&(o.details.flags|=256),o.details.docString||(o.details.docString=e.details.docString)),o}function nn(e,t,n){let i;if(vo(t)&&Zs.isBuiltIn(t))if("Generator"===t.details.name){const n=ce(e,"AsyncGenerator");if(n&&_o(n)){const e=[],r=t.typeArguments;r&&r.length>0&&e.push(r[0]),r&&r.length>1&&e.push(r[1]),i=Zs.cloneAsInstance(Zs.cloneForSpecialization(n,e,!0))}}else["AsyncGenerator","AsyncIterator","AsyncIterable"].some((e=>e===t.details.name))&&(i=t);if(!i||!n){const n=ce(e,"Coroutine");i=n&&_o(n)?Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[io.create(),io.create(),t],!0)):Ys.create()}return i}function rn(e,t){var n;if(e.returnTypeAnnotation||(null===(n=e.functionAnnotationComment)||void 0===n?void 0:n.returnTypeAnnotation))return;let r=F(e.suite,0);if(r)return r;if(!i.has(e.id)){i.set(e.id,!0);try{let n;const s=Mt(e);s&&(n=s);const o=!de(e),a=de(e.suite);if(qt(e).isStubFile)r=Ys.create();else{if(o)r=t||function(e){if(!e||!e.isMethod||e.returnStatements||e.yieldStatements||!e.raiseStatements)return!1;for(const t of e.raiseStatements){if(!t.typeExpression||t.valueExpression)return!1;const e=$(t.typeExpression).type,n=_o(e)||vo(e)?e:void 0;if(!n||!Zs.isBuiltIn(n,"NotImplementedError"))return!1}return!0}(n)?Ys.create():no.createNoReturn();else{const e=[];(null==n?void 0:n.returnStatements)&&n.returnStatements.forEach((t=>{if(pe(t))if(t.returnExpression){const n=$(t.returnExpression).type;e.push(n||Ys.create())}else e.push(to.createInstance())})),!o&&a&&e.push(to.createInstance()),r=Oo(e),r=Ro(r)}if(null==n?void 0:n.isGenerator){const t=[];let i=!1;n.yieldStatements&&n.yieldStatements.forEach((e=>{if(pe(e))if(61===e.nodeType){const n=$(e.expression).type;if(vo(n)&&Zs.isBuiltIn(n,"Coroutine"))t.push(),i=!0;else{const i=ae(n,!1,e);t.push(i||Ys.create())}}else if(e.expression){const n=$(e.expression).type;t.push(n||Ys.create())}else t.push(to.createInstance())})),0===t.length&&t.push(to.createInstance());const s=Oo(t),o=ce(e,i?"AwaitableGenerator":"Generator");if(o&&_o(o)){const e=[];i&&e.push(io.create()),e.push(s,to.createInstance(),ao(r)?to.createInstance():r),r=Zs.cloneAsInstance(Zs.cloneForSpecialization(o,e,!0))}else r=Ys.create()}}N(e.suite,r,0,!1)}finally{i.delete(e.id)}}return r}function sn(e){if(F(e,0))return;const t=$(e.iterableExpression),n=ae(t.type,!!e.isAsync,e.iterableExpression)||Ys.create();xe(e.targetExpression,n,!!t.isIncomplete,e.targetExpression),N(e,n,0,!!t.isIncomplete)}function on(e){if(w(void 0!==e.typeExpression),F(e,0))return;function t(e,t){return ho(e=Ie(e))?e:_o(e)?Zs.cloneAsInstance(e):vo(e)?Ko(ae(e,!1,t)||Ys.create(),(e=>ho(e)?e:Ys.create())):Ys.create()}const n=Ko($(e.typeExpression).type,(n=>{const i=ia(n);return i&&i.tupleTypeArguments?Oo(i.tupleTypeArguments.map((n=>t(n.type,e.typeExpression)))):t(n,e.typeExpression)}));e.name&&xe(e.name,n,!1,e.name),N(e,n,0,!1)}function an(e){if(F(e,0))return;const t=$(e.expression);let n=t.type;const i=e.parent&&58===e.parent.nodeType&&!!e.parent.isAsync;Go(n)&&(_e(qt(e).diagnosticRuleSet.reportOptionalContextManager,$o.reportOptionalContextManager,ml.Diagnostic.noneNotUsableWith(),e.expression),n=Fo(n));const r=i?"__aenter__":"__enter__",s=Ko(n,(t=>{var n;if(ho(t=Ie(t)))return t;const s=new il,o=new il;if(vo(t)){const a=null===(n=ee(e.expression,t,r,{method:"get"},s))||void 0===n?void 0:n.type;if(a){let t;return t=Eo(a)?Un(a):Ys.create(),i&&(t=oe(t,e)),t}i||ee(e.expression,t,"__aenter__",{method:"get"},s)&&o.addMessage(ml.DiagnosticAddendum.asyncHelp())}return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotUsableWith().format({type:ai(t),method:r})+o.getString(),e.expression),Ys.create()})),o=i?"__aexit__":"__exit__";Jo(n,(t=>{if(ho(t=Ie(t)))return;const n=new il;vo(t)&&ee(e.expression,t,o,{method:"get"},n)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotUsableWith().format({type:ai(t),method:o}),e.expression)})),e.target&&xe(e.target,s,!!t.isIncomplete,e.target),N(e,s,0,!!t.isIncomplete)}function ln(e){if(F(e,0))return;let t;if(t=e.alias?e.alias:e.module.nameParts[0],!t)return;let n=dn(e,t.value)||Ys.create();const i=F(e,0);i&&To(i)&&n&&Ao(n,i)&&(n=i),Te(t,n,!1),N(e,n,0,!1)}function cn(t){var n;if(F(t,0))return;const i=t.alias||t.name,r=qt(t);if((null===(n=t.alias)||void 0===n?void 0:n.value)===t.name.value){const e=wn(t,t.name.value,!0);e&&we(r,e.symbol,t)}let s=dn(t,i.value);if(!s){const n=t.parent;w(n&&22===n.nodeType),w(!n.isWildcardImport);const i=Rt(n.module);if(i&&i.isImportFound&&!i.isNativeLib){const n=i.resolvedPaths[i.resolvedPaths.length-1],o=e(n);let a=!1;if(o){if(a=!0,r.executionEnvironment.pythonVersion>=De.V3_7||r.isStubFile){const e=o.symbolTable.get("__getattr__");if(e){const t=Nn(e);Eo(t)&&(s=Un(t),a=!1)}}}else n||(a=!0);a&&_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.importSymbolUnknown().format({name:t.name.value,moduleName:i.importName}),t.name)}s||(s=Ys.create())}Te(i,s,!1),N(t,s,0,!1)}function un(e){if(F(e,0))return;if(!e.parent||63!==e.parent.nodeType)return void E("Expected parent of case statement to be match statement");const t=$(e.parent.subjectExpression);let n=t.type;for(const t of e.parent.cases){if(t===e)break;t.guardExpression||(n=fu(li,n,t.pattern,!1))}let i=!1;Jo(Ie(n),(e=>{vo(e)&&Zs.isBuiltIn(e,"object")&&(i=!0)})),n=fu(li,n,e.pattern,!0),bu(li,n,!!t.isIncomplete,i,e.pattern),N(e,n,0,!!t.isIncomplete)}function pn(e){if(F(e,0))return;const t=e.module.nameParts[0];let n=dn(e,t.value)||Ys.create();const i=F(e,0);i&&To(i)&&n&&Ao(n,i)&&(n=i),Te(t,n,!1),N(e,n,0,!1)}function dn(e,n){const i=wn(e,n,!0);if(!i)return;const r=i.symbol.getDeclarations().filter((t=>Mr(e,t.node)&&6===t.type));let s=r.length>0?r[r.length-1]:void 0;if(s||(s=i.symbol.getDeclarations().find((e=>6===e.type))),!s)return;w(6===s.type);const o=qt(e),a=Fn(s,!0,o.isStubFile);if(a){if(!a.declaration)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();if(23===e.nodeType&&(a.isPrivate&&_e(o.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfModule().format({name:e.name.value}),e.name),a.privatePyTypedImporter)){const t=new il;a.privatePyTypedImported&&t.addMessage(ml.DiagnosticAddendum.privateImportFromPyTypedSource().format({module:a.privatePyTypedImported})),_e(o.diagnosticRuleSet.reportPrivateImportUsage,$o.reportPrivateImportUsage,ml.Diagnostic.privateImportFromPyTypedModule().format({name:e.name.value,module:a.privatePyTypedImporter})+t.getString(),e.name)}return Pn(i.symbol,s)}}function hn(e){var t,n,i;let r=e,s=e;function o(e){var t,n,i,r,s;return 41===e.nodeType&&30===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)||1===e.nodeType&&(9===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)||24===(null===(i=e.parent)||void 0===i?void 0:i.nodeType))||54===(null===(r=e.parent)||void 0===r?void 0:r.nodeType)||41===(null===(s=e.parent)||void 0===s?void 0:s.nodeType)&&(e===e.parent.typeAnnotation||e===e.parent.typeAnnotationComment)||9===e.nodeType||24===e.nodeType||15===e.nodeType||27===e.nodeType||31===e.nodeType||30===e.nodeType||35===e.nodeType||45===e.nodeType||49===e.nodeType||48===e.nodeType||52===e.nodeType||56===e.nodeType||17===e.nodeType||16===e.nodeType||32===e.nodeType||33===e.nodeType||34===e.nodeType||65===e.nodeType||67===e.nodeType||68===e.nodeType||74===e.nodeType||66===e.nodeType||69===e.nodeType||70===e.nodeType||73===e.nodeType||71===e.nodeType||72===e.nodeType}if(38===e.nodeType&&e.parent){if(28===e.parent.nodeType&&e.parent.name===e)return void Gt(e.parent);if(10===e.parent.nodeType&&e.parent.name===e)return void $t(e.parent);if(29===e.parent.nodeType||39===e.parent.nodeType)return void $(e,void 0,4)}for(;s;){const e=o(s);if(!e&&!yr(s))break;e&&(r=s),s=s.parent}const a=r.parent;if(3===a.nodeType)return void(r===a.typeAnnotationComment?K(r,{isVariableAnnotation:!0,allowFinal:Fr(a.leftExpression),allowClassVar:Nr(a.leftExpression)}):Wt(a));if(14===a.nodeType)return void Ce(r);if(5===a.nodeType)return void jt(a);if(13===a.nodeType)return void(10===(null===(t=a.parent)||void 0===t?void 0:t.nodeType)?$t(a.parent):28===(null===(n=a.parent)||void 0===n?void 0:n.nodeType)&&Gt(a.parent));const l=e=>{const t=e.parent;if(3===(null==t?void 0:t.nodeType)&&t.leftExpression===a)Wt(t);else{const t=K(e.typeAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(e.valueExpression),allowClassVar:Nr(e.valueExpression)});N(e.valueExpression,t,0,!1)}};if(64===a.nodeType&&r!==a.guardExpression)return void un(a);if(54===a.nodeType)return void l(a);if(41===a.nodeType&&r!==a.defaultValue)return void mn(a);if(28===a.nodeType&&(r===a.returnTypeAnnotation||r===a.functionAnnotationComment))return void K(r,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});if(37===a.nodeType)return;if(1===a.nodeType&&r===a.name)return;if(1===a.nodeType&&10===(null===(i=a.parent)||void 0===i?void 0:i.nodeType))return void $t(a.parent);if(44===a.nodeType&&a.returnExpression){const t=kr(e),n=t?qn(t):void 0;return void $(a.returnExpression,n,0)}const c=yr(a)&&0!==a.nodeType?a:r;54===c.nodeType?l(c):$(c,void 0,qt(c).isStubFile?4:0)}function mn(e){if(!e.name)return;const t=e.parent;if(30===t.nodeType)return void hn(t);w(28===t.nodeType);const n=t,i=n.parameters.findIndex((t=>t===e)),r=ie(n,i);if(r){const t=n.parameters[i],s=G(r,n.parameters[i].category),o=Xt(e,e.category,Jt(t,s));return void N(e.name,o,0,!1)}const s=Er(n,!0);if(s){const t=$t(s);if(t){const r=Qt(n,en(n,!0),i,t.classType);if(r)return void N(e.name,Xt(e,e.category,r),0,!1)}}N(e.name,Xt(e,e.category,Ys.create()),0,!1)}function fn(e){z(e);let t=e;for(;t;){switch(t.nodeType){case 3:if(!t.parent||3!==t.parent.nodeType&&4!==t.parent.nodeType&&5!==t.parent.nodeType||t.parent.rightExpression!==t)return void Wt(t);break;case 4:return void $(t);case 5:return void jt(t);case 10:return void $t(t);case 41:return void mn(t);case 30:return void hn(t);case 28:return void Gt(t);case 26:return void sn(t);case 25:return void on(t);case 59:return void an(t);case 33:{const e=t.parent;if(w(32===e.nodeType),t===e.expression)hn(e);else for(const n of e.forIfNodes)if(Ct(n),n===t)break;return}case 21:return void ln(t);case 23:return void cn(t);case 22:return void pn(t);case 64:return void un(t)}t=t.parent}E("Unexpected statement")}function gn(e,t){let n=F(e,void 0);if(n)return{node:e,type:n};const i=C;try{if(C=new Map,t(),n=F(e,void 0),n)return{node:e,type:n};if(n=C.get(e.id),n)return{node:e,type:n,isIncomplete:!0};C=i}catch(e){throw C=i,e}}function yn(e){let t=r.get(e);return t||(t=ci.createCodeFlowAnalyzer(),r.set(e,t)),t}function _n(e,t,n,i,r){var s;const o=At(e),a=Rr(null!==(s=null==r?void 0:r.parent)&&void 0!==s?s:e),l=a.codeFlowExpressions;if(!l||!l.has(o))return{type:void 0,isIncomplete:!1};let c;c=L(a)?function(){const e=D.length;return w(e>0),D[e-1].codeFlowAnalyzer}():yn(a.id);const u=Lt(null!=r?r:e);return void 0===u?{type:void 0,isIncomplete:!1}:vn(c,u,e,t,n,i)}function vn(e,t,n,i,r,s){let o;d.enterTrackingScope();try{o=e.getTypeFromCodeFlow(t,n,i,r,s),d.exitTrackingScope()}catch(e){throw d.exitTrackingScope(),e}return o.isIncomplete&&d.enableUndoTracking(),o}function Tn(e,t,n,i){if(Zs.isSpecialBuiltIn(e)){const r=e.aliasName||e.details.name;switch(r){case"Callable":return function(e,t){const n=Xs.createInstantiable("","","",0);Ks.setSpecialForm(n),n.details.declaredReturnType=Ys.create();const i=Dr(t);if(n.details.typeVarScopeId=i?Pe(i):$s,e&&e.length>0){if(e[0].typeList){const t=e[0].typeList;let i=!1,r=!1;const s=e=>{i&&(r||(fe(ml.Diagnostic.variadicTypeArgsTooMany(),e.node),r=!0)),i=!0};t.forEach(((e,t)=>{let i=e.type,r=0;const o=`__p${t.toString()}`;Io(i)?(Oe(i,e.node),r=1,s(e)):Et(e,{allowUnpackedTuples:!0})?xo(i)&&(r=1,s(e)):i=Ys.create(),Xs.addParameter(n,{category:r,name:o,isNameSynthesized:!0,type:Fa(i),hasDeclaredType:!0})})),Xs.addParameter(n,{category:0,isNameSynthesized:!1,type:Ys.create()})}else if(ca(e[0].type))Xs.addDefaultParameters(n),n.details.flags|=32768;else if(wo(e[0].type))n.details.paramSpec=e[0].type;else if(_o(e[0].type)&&Zs.isBuiltIn(e[0].type,"Concatenate")){const t=e[0].type.typeArguments;t&&t.length>0&&t.forEach(((e,i)=>{i===t.length-1?(Xs.addParameter(n,{category:0,isNameSynthesized:!1,type:Ys.create()}),wo(e)&&(n.details.paramSpec=e)):Xs.addParameter(n,{category:0,name:`__p${i}`,isNameSynthesized:!0,hasDeclaredType:!0,type:e})}))}else fe(ml.Diagnostic.callableFirstArg(),e[0].node);if(e.length>1){let t=e[1].type;Et(e[1])||(t=Ys.create()),n.details.declaredReturnType=Fa(t)}else _e(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.callableSecondArg(),t),n.details.declaredReturnType=Ys.create();e.length>2&&fe(ml.Diagnostic.callableExtraArgs(),e[2].node)}else Xs.addDefaultParameters(n,!0),n.details.flags|=32768;return n}(t,i);case"Never":return t&&t.length>0&&fe(ml.Diagnostic.typeArgsExpectingNone().format({name:"Never"}),t[0].node),no.createNever();case"NoReturn":return t&&t.length>0&&fe(ml.Diagnostic.typeArgsExpectingNone().format({name:"NoReturn"}),t[0].node),no.createNoReturn();case"Optional":return function(e,t,n,i){if(!n)return 0!=(1024&i)?(fe(ml.Diagnostic.optionalExtraArgs(),t),Ys.create()):e;if(n.length>1)return fe(ml.Diagnostic.optionalExtraArgs(),t),Ys.create();let r=n[0].type;Et(n[0])?Ks.isInstantiable(r)||(ve(r,n[0].node),r=Ys.create()):r=Ys.create();const s=Oo([r,to.createType()]);return fo(s)&&Ks.setSpecialForm(s),s}(e,i,t,n);case"Type":{if(1===(null==t?void 0:t.length)&&ho(t[0].type)&&_&&_o(_))return _;let n=Ot(e,t,1);return _o(n)&&(n=Ua(n)),n}case"ClassVar":return function(e,t,n,i){var r;if(131072&i)return fe(ml.Diagnostic.classVarNotAllowed(),t),io.create();if(!n)return e;if(0===n.length)return fe(ml.Diagnostic.classVarFirstArgMissing(),t),Ys.create();if(n.length>1)return fe(ml.Diagnostic.classVarTooManyArgs(),n[1].node),Ys.create();const s=n[0].type;return $a(s,!0,!0)&&_e(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classVarWithTypeVar(),null!==(r=n[0].node)&&void 0!==r?r:t),s}(e,i,t,n);case"Protocol":return Ot(e,t,void 0,!0);case"Tuple":return Ot(e,t,void 0);case"Union":return function(e,t,n,i){const r=[];if(!n)return 0!=(1024&i)?(fe(ml.Diagnostic.unionTypeArgCount(),t),no.createNever()):e;for(const e of n){let t=e.type;Et(e,{allowVariadicTypeVar:!0,allowUnpackedTuples:!0})?Ks.isInstantiable(t)||(ve(t,e.node),t=Ys.create()):t=Ys.create(),xo(e.type)&&e.type.tupleTypeArguments?e.type.tupleTypeArguments.forEach((e=>{r.push(Na(e.type))})):(bo(t)&&Io(t)&&t.isVariadicUnpacked&&(t=oo.cloneForUnpacked(t,!0)),r.push(t))}1===r.length&&(Io(r[0])||Co(r[0])||lo(r[0])||fe(ml.Diagnostic.unionTypeArgCount(),t));const s=Oo(r);return fo(s)&&Ks.setSpecialForm(s),s}(e,i,t,n);case"Generic":return function(e,t,n,i){if(!n)return 0!=(263168&i)&&fe(ml.Diagnostic.genericTypeArgMissing(),t),e;const r=[];return n&&(0===n.length&&fe(ml.Diagnostic.genericTypeArgMissing(),t),n.forEach((e=>{bo(e.type)?(r.some((t=>Ao(t,e.type)))&&fe(ml.Diagnostic.genericTypeArgUnique(),e.node),r.push(e.type)):fe(ml.Diagnostic.genericTypeArgTypeVar(),e.node)}))),Ot(e,n,void 0,!0)}(e,i,t,n);case"Final":return function(e,t,n,i){return 16&i?(fe(ml.Diagnostic.finalContext(),t),io.create()):n&&0!==n.length?(n.length>1&&fe(ml.Diagnostic.finalTooManyArgs(),t),n[0].type):e}(e,i,t,n);case"Annotated":return function(e,t){return t&&t.length<2&&fe(ml.Diagnostic.annotatedTypeArgMissing(),e),t&&0!==t.length?Ks.cloneForAnnotated(t[0].type):io.create()}(i,t);case"Concatenate":return function(e,t,n){return n&&0!==n.length?n.forEach(((e,t)=>{t===n.length-1?wo(e.type)||fe(ml.Diagnostic.concatenateParamSpecMissing(),e.node):wo(e.type)&&fe(ml.Diagnostic.paramSpecContext(),e.node)})):fe(ml.Diagnostic.concatenateTypeArgsMissing(),e),Ot(t,n,void 0,!0)}(i,e,t);case"TypeGuard":case"StrictTypeGuard":return function(e,t,n,i){if(!n)return 0!=(1024&i)&&fe(ml.Diagnostic.typeGuardArgCount(),e),t;if(1!==n.length)return fe(ml.Diagnostic.typeGuardArgCount(),e),Ys.create();const r=n.map((e=>Fa(Et(e)?e.type:Ys.create())));return Zs.cloneForSpecialization(t,r,!0)}(i,e,t,n);case"Unpack":return function(e,t,n){if(!t||1!==t.length)return fe(ml.Diagnostic.unpackArgCount(),e),Ys.create();let i=t[0].type;fo(i)&&1===i.subtypes.length&&(i=i.subtypes[0]);const r=qt(e);return 0!=(2097152&n)?_o(i)&&!i.includeSubclasses&&pa(i)?Zs.cloneForUnpacked(i):Io(i)&&!i.isVariadicUnpacked?oo.cloneForUnpacked(i):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackExpectedTypeVarTuple(),e),Ys.create()):0!=(8388608&n)?_o(i)&&Zs.isTypedDictClass(i)?Zs.cloneForUnpacked(i):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackExpectedTypedDict(),e),Ys.create()):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackNotAllowed(),e),Ys.create())}(i,t,n);case"Required":case"NotRequired":return function(e,t,n,i,r){var s;if(!i&&0==(1024&r))return e;if(!i||1!==i.length)return fe(n?ml.Diagnostic.requiredArgCount():ml.Diagnostic.notRequiredArgCount(),t),e;const o=i[0].type,a=Er(t,!0),l=a?$t(a):void 0;let c=!1;return l&&_o(l.classType)&&Zs.isTypedDictClass(l.classType)&&54===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)&&t.parent.typeAnnotation===t&&(c=!0),0!=(1048576&r)&&(c=!0),c?o:(fe(n?ml.Diagnostic.requiredNotInTypedDict():ml.Diagnostic.notRequiredNotInTypedDict(),t),Zs.cloneForSpecialization(e,[Fa(o)],!!i))}(e,i,"Required"===r,t,n);case"Self":return function(e,t,n){var i;const r=qt(t);n&&_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsExpectingNone().format({name:e.details.name}),null!==(i=n[0].node)&&void 0!==i?i:t);const s=Er(t),o=s?$t(s):void 0;if(!o)return _e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeContext(),t),Ys.create();const a=kr(t);if(a){if(4&en(a,!0))return _e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeContext(),t),Ys.create();if(a.parameters.length>0){const e=ie(a,0);if(e&&!Mr(t,e)){const n=K(e,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});bo(n)&&n.details.isSynthesizedSelf||_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeWithTypedSelfOrCls(),t)}}}return Aa(o.classType,!0)}(e,i,t);case"LiteralString":return Ot(e,t,0)}}const r=qt(i);if(r.isStubFile||r.executionEnvironment.pythonVersion>=De.V3_9||H(qt(i))||0!=(4&n)){if(Zs.isBuiltIn(e,"type")&&t){if(1===t.length&&ho(t[0].type))return e;const n=ce(i,"Type");if(n&&_o(n)){let e=Ot(n,t,1,void 0,!0);return _o(e)&&(e=Ua(e)),e}}if(pa(e))return Ot(e,t,void 0,void 0,!0)}let s=t?t.length:0;const o=Zs.isPseudoGenericClass(e)?[]:Zs.getTypeParameters(e);if(0===o.length&&0===s)return e;const a=o.findIndex((e=>Io(e)));if(t){if(s>o.length){if(!Zs.isPartiallyConstructed(e)&&!Zs.isTupleClass(e)){const n=qt(i);0===o.length?_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsExpectingNone().format({name:e.aliasName||e.details.name}),t[o.length].node):1===o.length&&wo(o[0])||_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsTooMany().format({name:e.aliasName||e.details.name,expected:o.length,received:s}),t[o.length].node)}s=o.length}else s0?t[0].node.parent:i);t.forEach(((e,t)=>{if(t===a){if(vo(e.type)&&pa(e.type))return;if(Io(e.type))return void Oe(e.type,e.node)}const n=t!ca(e.type)&&!e.typeList&&!wo(e.type))))1===t.length&&_o(t[0].type)&&Zs.isBuiltIn(t[0].type,"Concatenate")||(t=[{type:Ys.create(),node:t[0].node,typeList:t}]);else if(t.length>1){const e=t.find((e=>wo(e.type)));e&&fe(ml.Diagnostic.paramSpecContext(),e.node);const n=t.find((e=>!!e.typeList));n&&fe(ml.Diagnostic.typeArgListNotAllowed(),n.node)}return c.forEach(((e,n)=>{if(t&&n{Xs.addParameter(i,{category:0,name:`__p${t}`,isNameSynthesized:!0,type:Fa(e.type),hasDeclaredType:!0})})),void l.push(i);if(_o(e.type)&&Zs.isBuiltIn(e.type,"Concatenate")){const t=e.type.typeArguments;return t&&t.length>0&&t.forEach(((e,n)=>{n===t.length-1?wo(e)&&(i.details.paramSpec=e):Xs.addParameter(i,{category:0,name:`__p${n}`,isNameSynthesized:!0,hasDeclaredType:!0,type:e})})),void l.push(i)}}l.push(Fa(t[n].type))}else l.push(Ys.create())})),l=l.map(((e,n)=>{if(nGs)return t;if(r++,ho(t))return t;let s=t;if(bo(t)){if(Ao(t,e,void 0,void 0,r))return t;s=Ie(t)}if(e.details.boundType&&!Jn(e.details.boundType,s,n.createAddendum(),void 0,i,r))return void(e.details.isSynthesized||n.addMessage(ml.DiagnosticAddendum.typeBound().format({sourceType:ai(s),destType:ai(e.details.boundType),name:oo.getReadableName(e)})));if(e.details.isParamSpec)return wo(t)||Eo(t)&&Xs.isParamSpecValue(t)||vo(t)&&Zs.isBuiltIn(t,"Concatenate")?t:void n.addMessage(ml.DiagnosticAddendum.typeParamSpec().format({type:ai(t),name:oo.getReadableName(e)}));if(bo(t)&&t.details.isParamSpec)return void n.addMessage(ml.Diagnostic.paramSpecContext());const o=e.details.constraints;if(0===o.length)return t;if(bo(t)&&t.details.constraints.length>0){if(t.details.constraints.every((e=>o.some((t=>Jn(t,e,void 0,void 0,void 0,r))))))return t}else{let e;for(const t of o)Jn(t,s,void 0,void 0,void 0,r)&&(e&&!Jn(e,t,void 0,void 0,void 0,r)||(e=t));if(e)return e}n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(t),name:oo.getReadableName(e)}))}(o[n],e,i);r?e=r:vo(e)&&Zs.isPartiallyConstructed(e)||_e(qt(t[n].node).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarAssignmentMismatch().format({type:ai(e),name:oo.getReadableName(o[n])})+i.getString(),t[n].node)}return e})),Zs.cloneForSpecialization(e,l,void 0!==t)}function bn(e){return e.type?{type:e.type}:e.valueExpression?$(e.valueExpression):{type:Ys.create()}}function In(e){return e.type?{type:e.type}:Sn(e.valueExpression)}function Sn(e,t=!1,n=!1,i=!1){let r=131304;return qt(e).isStubFile?r|=4:r|=4194304,t||(r|=16),n&&(r|=1048576),$(e,void 0,r)}function xn(e,t){const n=zs(e);if(n){const e=function(e){let t=e;for(;4!==t.type;)t=t.parent;return t}(n).lookUpSymbol(t);if(e)return Nn(e)}return Ys.create()}function Cn(e,t,n){const i=xn(e,t);if(_o(i)){let e=i;return n&&(e=Zs.cloneForSpecialization(e,n,void 0!==n)),Zs.cloneAsInstance(e)}return i}function wn(e,t,n,i=!1){var r;const s=zs(e);let o=null==s?void 0:s.lookUpSymbolRecursive(t);const a=null!==(r=null==s?void 0:s.type)&&void 0!==r?r:3;if(o&&n&&1!==a&&0!==a&&0===o.symbol.getDeclarations().filter((t=>{if(6!==t.type&&0!==t.type){const n=Rr(e),i=4===t.type||3===t.type?t.node.name:t.node;if(n===Rr(i)&&!he(i,e)){const t=Lt(e);return!(t&&ci.isFlowNodeReachable(t))}}return!0})).length&&(o=1!==o.scope.type&&o.scope.parent?o.scope.parent.lookUpSymbolRecursive(t,o.isOutsideCallerModule||3===o.scope.type,o.isBeyondExecutionScope||o.scope.isIndependentlyExecutable()):void 0),o&&i){let e=o;for(;3!==e.scope.type&&4!==e.scope.type&&e.scope.parent&&(e=e.scope.parent.lookUpSymbolRecursive(t,e.isOutsideCallerModule,e.isBeyondExecutionScope||e.scope.isIndependentlyExecutable()),e););3!==(null==e?void 0:e.scope.type)&&4!==(null==e?void 0:e.scope.type)||(o=e)}return o}function En(e,t){p.push(e);try{const e=t();return p.pop(),e}catch(e){throw p.pop(),e}}function kn(e,t,n=!0){c.enterSpeculativeContext(e,n);try{const e=t();return c.leaveSpeculativeContext(),e}catch(e){throw c.leaveSpeculativeContext(),e}}function Dn(e,t){if(Eo(e)&&e.details.declaration){const n=e.details.declaration;if(3===n.type){const e=Ft(n.node);if(e){const n=e.lookUpSymbol(t);if(n)return n.getDeclarations().find((e=>2===e.type))}}}}function An(e){var t,n;switch(e.type){case 0:{if("Any"===e.intrinsicType)return io.create();if("class"===e.intrinsicType){const t=$t(Er(e.node));return t?t.classType:void 0}const t=Cn(e.node,"str"),n=Cn(e.node,"int");if(vo(n)&&vo(t)){if("str"===e.intrinsicType)return t;if("str | None"===e.intrinsicType)return Oo([t,to.createInstance()]);if("int"===e.intrinsicType)return n;if("Iterable[str]"===e.intrinsicType){const n=xn(e.node,"Iterable");if(_o(n))return Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[t],!0))}if("Dict[str, Any]"===e.intrinsicType){const n=xn(e.node,"dict");if(_o(n))return Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[t,io.create()],!0))}}return Ys.create()}case 4:{const t=$t(e.node);return t?t.decoratedType:void 0}case 5:return K(e.node.typeAnnotation);case 3:{const t=Gt(e.node);return t?t.decoratedType:void 0}case 2:{let n=e.node.typeAnnotation||e.node.typeAnnotationComment;if(!n&&28===(null===(t=e.node.parent)||void 0===t?void 0:t.nodeType)){const t=e.node.parent;if(t.functionAnnotationComment&&!t.functionAnnotationComment.isParamListEllipsis){const i=t.parameters.findIndex((t=>t===e.node));n=ie(t,i)}}if(n){const t=G(n,e.node.category);return Xt(e.node,e.node.category,Jt(e.node,t))}return}case 1:{const t=e.typeAnnotationNode;if(t){const i=re(t)?function(e){let t=e,n=e.parent;for(;n;){if(54===n.nodeType){if(n.typeAnnotation===t)return n;break}t=n,n=n.parent}}(t):void 0;let r;if(e.isRuntimeTypeExpression)r=Fa(Sn(t,!0,!0).type);else{const i=e.isDefinedByMemberAccess&&35===(null===(n=e.node.parent)||void 0===n?void 0:n.nodeType)?e.node.parent:e.node;r=K(t,{isVariableAnnotation:!0,allowClassVar:Nr(i),allowFinal:Fr(i)})}if(r)return 38===e.node.nodeType&&(r=Ut(e.node,(()=>r))||r),i&&38===i.valueExpression.nodeType&&(r=Vt(r,i.valueExpression,e.node)),r}return}case 6:return}}function Pn(n,i){var r,s;const o=Rn(i,!0,qt(i.node).isStubFile);if(!o)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();function a(e,n,i){if(n.path&&n.loadSymbolsFromPath){const r=i(n.path);if(!r)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();e.fields=r.symbolTable,e.docString=r.docString}return n.implicitImports&&n.implicitImports.forEach(((t,n)=>{const r=e.moduleName?e.moduleName+"."+n:"",s=a(Qs.create(r,t.path),t,i),o=Vo.createWithType(0,s);e.loaderFields.set(n,o)})),e}if(6===o.type){let t=o.moduleName;if(6===i.type&&(i.symbolName&&(t+="."+i.symbolName),t.startsWith("."))){const e=qt(i.node).moduleName.split(".");for(t=t.substr(1);t.startsWith(".")&&e.length>0;)t=t.substr(1),e.pop();t=e.join(".")+"."+t}const n=Qs.create(t,o.path);return o.symbolName&&o.submoduleFallback?a(n,o.submoduleFallback,e):a(n,o,e)}const l=An(o);if(l)return l;const c=qt(o.node);let u=!c.isInPyTypedPackage||c.isStubFile;if(!u&&1===o.type){const e=Er(o.node,!0);if(e){const t=$t(e);t&&Zs.isEnumClass(t.classType)&&(u=!0)}(o.isFinal||o.isConstant)&&(u=!0)}if(2===o.type)return null===(r=gn(o.node.name,(()=>{mn(o.node)})))||void 0===r?void 0:r.type;if(1===o.type&&o.inferredTypeSource){const e=o.typeAliasName&&o.inferredTypeSource.parent?o.inferredTypeSource.parent:o.inferredTypeSource;let t=null===(s=gn(o.node,(()=>{fn(e)})))||void 0===s?void 0:s.type;if(t&&38===o.node.nodeType){const e=Ut(o.node,(()=>{var e;return(null===(e=gn(o.inferredTypeSource,(()=>{fn(o.inferredTypeSource)})))||void 0===e?void 0:e.type)||Ys.create()}));e&&(t=e)}return t&&o.typeAliasName&&(!Ks.isInstantiable(t)||po(t)||ca(t)||(t=Vt(t,o.typeAliasName,o.node),u=!0)),t&&c.isInPyTypedPackage&&!c.isStubFile&&(u||function(e,t,n){var i;const r=e.getDeclarations().filter((e=>1!==e.type||!e.isInferenceAllowedInPyTyped));if(r.length>1)return!1;if(1!==t.type)return!1;if(0===r.length)return!0;if(bo(n))return!0;let s;const o=t.node.parent;if(o&&(3===o.nodeType?s=o:35===o.nodeType&&3===(null===(i=o.parent)||void 0===i?void 0:i.nodeType)&&(s=o.parent)),!s)return!1;const a=$(s.rightExpression).type;return!(!vo(a)||!ra(a))||38===s.rightExpression.nodeType&&!Ks.isAmbiguous(a)}(n,i,t)&&(u=!0),u||(t=Ks.cloneForAmbiguousType(t))),t}}function Rn(t,n,i=!1){var r;return null===(r=Rc(e,t,n,i))||void 0===r?void 0:r.declaration}function Fn(t,n,i=!1){return Rc(e,t,n,i)}function Nn(e){return Mn(e).type}function Mn(e,t,n=!1){if(e.hasTypedDeclarations()){const n=On(e,t);return{type:n||Ys.create(),isIncomplete:!1,includesVariableDecl:e.getTypedDeclarations().some((e=>1===e.type)),isRecursiveDefinition:!n}}let i=u.get(e.id);const r=t?t.id:void 0;if(i)for(const e of i)if(e.usageNodeId===r&&e.useLastDecl===n)return e.result;const s=[],o=e.getDeclarations(),a=Wo(e);let l,p=!1,d=!1,h=!1;if(n&&o.forEach(((e,t)=>{e.isInExceptSuite||(l=t)})),o.forEach(((n,i)=>{var r,o;let u=void 0===l||i===l;if(void 0!==t&&6!==n.type&&Rr(t)===Rr(n.node)&&(he(n.node,t)||(u=!1)),u){const t=ss(n);if((t||os(n))&&1===n.type&&3===(null===(o=null===(r=n.inferredTypeSource)||void 0===r?void 0:r.parent)||void 0===o?void 0:o.nodeType)&&(Wt(n.inferredTypeSource.parent),n.typeAliasAnnotation&&K(n.typeAliasAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(n.node),allowClassVar:Nr(n.node)})),V(e,n))try{let i=Pn(e,n);if(q(e)||(p=!0),i){if(1===n.type){d=!0;let e=1===n.type&&!!n.isConstant;vo(i)&&Zs.isEnumClass(i)&&function(e){const t=Er(e.node,!0);if(!t)return!1;const n=$t(t);return!!n&&Zs.isEnumClass(n.classType)}(n)&&(e=!0),!Ks.isInstance(i)||t||e||a||(i=Qo(i))}s.push(i),c.isSpeculative(n.node)&&(h=!0)}else p=!0}catch(t){throw q(e),t}else p=!0}})),s.length>0){const t={type:Oo(s),isIncomplete:!1,includesVariableDecl:d,isRecursiveDefinition:!1};return h||(i||(i=[],u.set(e.id,i)),i.push({usageNodeId:r,useLastDecl:n,result:t})),t}return{type:Js.create(),isIncomplete:p,includesVariableDecl:d,isRecursiveDefinition:!1}}function On(e,t){const n=e.getSynthesizedType();if(n)return n;let i=e.getTypedDeclarations();if(0===i.length)return;if(i.length>1&&t){const e=i.filter((e=>!(6!==e.type&&Rr(t)===Rr(e.node)&&!he(e.node,t,!1))));e.length>0&&(i=e)}let r=i.length-1;for(;r>=0;){const t=i[r],n=W(e,t);if(n)return n;if(U(e,t)<0&&V(e,t))try{const n=An(t);if(q(e)||4===t.type)return n}catch(t){throw q(e),t}r--}}function Ln(e){Eo(e)?Un(e):ko(e)&&e.overloads.forEach((e=>{Un(e)}))}function Un(e,t,n=!0){return Xs.getSpecializedReturnType(e)||(n?Vn(e,t):Ys.create())}function Vn(e,n){var i;let r;if(Xs.isStubDefinition(e))return Ys.create();if(e.inferredReturnType)r=e.inferredReturnType;else{if(Xs.isInstanceMethod(e)&&"__init__"===e.details.name)r=to.createInstance();else if(e.details.declaration){const n=e.details.declaration.node;if(t.analyzeUnannotatedFunctions){const t=function(e){var t;return null!==(t=e.codeFlowComplexity)&&void 0!==t?t:0}(n);(e.details.parameters.length<=1||e.details.parameters.some((e=>e.hasDeclaredType))||t<15)&&(function(t){const i=c.disableSpeculativeMode();try{r=rn(n,Xs.isAbstractMethod(e)),c.enableSpeculativeMode(i)}catch(e){throw c.enableSpeculativeMode(i),e}}(),r&&Xs.isWrapReturnTypeInAwait(e)&&(r=nn(n,r,!!(null===(i=e.details.declaration)||void 0===i?void 0:i.isGenerator))))}}r||(r=Ys.create()),e.inferredReturnType=r}if(t.analyzeUnannotatedFunctions&&La(r)&&Xs.hasUnannotatedParams(e)&&!Xs.isStubDefinition(e)&&!Xs.isPyTypedDefinition(e)&&n){const t=function(e,t){var n;let i;if(!e.details.declaration)return;const r=e.details.declaration.node;if(t.some((e=>!e.paramName)))return;if(D.some((e=>e.functionNode===r)))return;const s=Gt(r);return s&&!(t.length>6||D.length>=2)?(En(r,(()=>{const n=A;D.push({functionNode:r,codeFlowAnalyzer:ci.createCodeFlowAnalyzer()});try{A=new Map;let o=!0;r.parameters.forEach(((e,n)=>{if(e.name){let i;const a=t.find((t=>e.name.value===t.paramName));a&&a.argument.valueExpression?(i=$(a.argument.valueExpression).type,po(i)||(o=!1)):e.defaultValue?(i=$(e.defaultValue).type,po(i)||(o=!1)):0===n&&(Xs.isInstanceMethod(s.functionType)||Xs.isClassMethod(s.functionType))&&s.functionType.details.parameters.length>0&&r.parameters[0].name&&(i=s.functionType.details.parameters[0].type),i||(i=Ys.create()),N(e.name,i,0,!1)}})),o||(i=rn(r,Xs.isAbstractMethod(e)))}finally{D.pop(),A=n}})),i?(i=Ro(i),Xs.isWrapReturnTypeInAwait(e)&&!ao(i)&&(i=nn(r,i,!!(null===(n=e.details.declaration)||void 0===n?void 0:n.isGenerator))),i):void 0):void 0}(e,n);t&&(r=t)}return r}function qn(e){const t=Gt(e);return t?Xs.isAbstractMethod(t.functionType)?io.create():Xs.isGenerator(t.functionType)?Pa(t.functionType):t.functionType.details.declaredReturnType:io.create()}function Bn(e){return _o(e.classType)?ha(Nn(e.symbol),e.classType):Ys.create()}function Wn(e,t,n,i,r,s,o){if(o>Gs)return!0;if(o++,h.some((n=>Ao(n.srcType,t)&&Ao(n.destType,e))))return!0;h.push({srcType:t,destType:e});let a=!0;try{a=function(e,t,n,i,r,s,o){const a=e.details.fields,l=Zs.cloneForSpecialization(e,void 0,!1),c=new jo(na(e)),u=new jo(na(e));ma(u,e,t),Zs.isTypedDictClass(t)&&x&&_o(x)&&(t=x);let p=!0;const d=wa(t),h=oa(t,!0)?128:0;if(a.forEach(((e,i)=>{if(e.isClassMember()&&!e.isIgnoredForProtocolMatch()){let r,a=!1;if(!s&&"__class_getitem__"===i)return;if("__slots__"===i)return;if(s&&t.details.effectiveMetaclass&&_o(t.details.effectiveMetaclass)&&(r=va(t.details.effectiveMetaclass,i),r&&(d.addSolveForScope(na(t.details.effectiveMetaclass)),a=!0)),r||(r=va(t,i)),r){let l=On(e);if(l){let d=_o(r.classType)?ha(Nn(r.symbol),r.classType,t):Ys.create();if(Eo(d)||ko(d)){if(a){const e=ri(t,d,void 0,void 0,o,!1,t);if(e&&(d=Ba(e)),Eo(l)||ko(l)){const e=ri(t,l,void 0,void 0,o,!1,t);e&&(l=Ba(e))}}else if(_o(r.classType)){l=fa(l,u);const e=ri(s?t:Zs.cloneAsInstance(t),d,r.classType,void 0,o);if(e&&(d=Ba(e)),Eo(l)||ko(l)){const e=ri(Zs.cloneAsInstance(t),l,r.classType,void 0,o);e&&(l=Ba(e))}}}else l=fa(l,u);const m=null==n?void 0:n.createAddendum();if(vo(l)&&Zs.isPropertyClass(l))if(vo(d)&&Zs.isPropertyClass(d)&&!s)Gu(li,Zs.cloneAsInstantiable(l),Zs.cloneAsInstantiable(d),t,null==m?void 0:m.createAddendum(),c,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1);else{const e=Hn(l,!0);e&&Jn(e,d,null==m?void 0:m.createAddendum(),c,h,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1)}else Jn(l,d,null==m?void 0:m.createAddendum(),c,h,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1);const f=e.getTypedDeclarations().some((e=>1===e.type&&!!e.isFinal));f!==r.symbol.getTypedDeclarations().some((e=>1===e.type&&!!e.isFinal))&&(f?m&&m.addMessage(ml.DiagnosticAddendum.memberIsFinalInProtocol().format({name:i})):m&&m.addMessage(ml.DiagnosticAddendum.memberIsNotFinalInProtocol().format({name:i})),p=!1)}e.isClassVar()&&!r.symbol.isClassMember()&&(n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberClassVar().format({name:i})),p=!1)}else n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberMissing().format({name:i})),p=!1}})),e.details.baseClasses.forEach((a=>{!_o(a)||Zs.isBuiltIn(a,"object")||Zs.isBuiltIn(a,"Protocol")||Wn(ka(e,a),t,null==n?void 0:n.createAddendum(),i,r,s,o)||(p=!1)})),p&&e.details.typeParameters.length>0&&e.typeArguments){const t=fa(l,c);Gn(e,t,n,i,r,o)||(p=!1)}return p}(e,t,n,i,r,s,o)}catch(e){throw h.pop(),e}return h.pop(),a}function jn(e,t,n,i,r,s){if(s>Gs)return!0;s++;let o=!0;const a=e.details.fields,l=Zs.cloneForSpecialization(e,void 0,!1),c=new jo(na(e));if(a.forEach(((i,r)=>{if(i.isClassMember()&&!i.isIgnoredForProtocolMatch()){const a=t.fields.get(r);if(a){let t=On(i);if(t){const i=Nn(a);if((Eo(i)||ko(i))&&(Eo(t)||ko(t))){const n=ri(Zs.cloneAsInstance(e),t,e,void 0,s);n&&(t=n)}const l=null==n?void 0:n.createAddendum();Jn(t,i,null==l?void 0:l.createAddendum(),c,0,s)||(l&&l.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:r})),o=!1)}}else n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberMissing().format({name:r})),o=!1}})),e.details.baseClasses.forEach((a=>{!_o(a)||Zs.isBuiltIn(a,"object")||Zs.isBuiltIn(a,"Protocol")||jn(ka(e,a),t,null==n?void 0:n.createAddendum(),i,r,s)||(o=!1)})),o&&e.details.typeParameters.length>0&&e.typeArguments){const t=fa(l,c);Gn(e,t,n,i,r,s)||(o=!1)}return o}function zn(e,t,n,i,r,s,o){if(Zs.isTypedDictClass(e)&&Zs.isTypedDictClass(t))return!!_l(li,e,t,n,s)&&(Zs.isFinal(e)!==Zs.isFinal(t)?(n&&n.addMessage(ml.DiagnosticAddendum.typedDictFinalMismatch().format({sourceType:ai(Fa(t)),destType:ai(Fa(e))})),!1):!(0!=(1&r)&&!Zs.isSameGenericClass(e,t))||_l(li,t,e,void 0,s));const a=Qu.get(e.details.fullName);if(a&&a.some((e=>t.details.mro.some((t=>yo(t)&&e===t.details.fullName))))&&0==(1&r))return!0;const l=[],c=Zs.isDerivedFrom(t,e,l);if(Zs.isProtocolClass(e)&&!c)return!!Wn(e,t,null==n?void 0:n.createAddendum(),i,r,!1,s)||(n&&n.addMessage(ml.DiagnosticAddendum.protocolIncompatible().format({sourceType:ai(Fa(t)),destType:ai(Fa(e))})),!1);if((0==(1&r)||Zs.isSameGenericClass(t,e))&&c)return w(l.length>0),function(e,t,n,i,r,s,o){let a=t,l=r||new jo(na(e)),c=s;r||(c&=-9);for(let t=n.length-1;t>=0;t--){const r=n[t];if(po(r))return!0;if(Zs.isBuiltIn(r,"object"))return!0;if(t0&&a.typeArguments&&!r.isLocked()){const t=a.typeArguments;for(let n=0;nIo(e.type))),p=l.findIndex((e=>e.isUnbounded)),d=c.findIndex((e=>e.isUnbounded));if(d>=0){const e=u>=0||p>=0?l.length-1:l.length,t=c.length>0?c[d].type:io.create();for(;c.length=0&&d>=0)return n&&n.addMessage(ml.DiagnosticAddendum.typeVarTupleRequiresKnownLength()),!1;if(p>=0||u>=0){const e=c.length-l.length+1;if(e>=0)if(u>=0){if(T&&_o(T)){const t=c.splice(u,e),n=Fa(qa(T,t.map((e=>({type:Qo(e.type),isUnbounded:!1}))),!0,!0,!0));c.splice(u,0,{type:n,isUnbounded:!1})}}else{const t=c.splice(p,e);c.splice(p,0,{type:t.length>0?Oo(t.map((e=>e.type))):io.create(),isUnbounded:!1})}}if(c.length===l.length)for(let e=0;e=0))return n&&n.addMessage(ml.DiagnosticAddendum.tupleSizeMismatch().format({expected:l.length,received:c.length})),!1;if(!e.isUnpacked)return n&&n.addMessage(ml.DiagnosticAddendum.tupleSizeMismatchIndeterminate().format({expected:l.length})),!1}return!0}function Hn(e,t){if(!Zs.isPropertyClass(e))return;const n=e.details.fields.get("fget");if(n){const e=On(n);if(e&&Eo(e))return Un(e,void 0,t)}}function Gn(e,t,n,i,r,s){var o,a,l;w(Zs.isSameGenericClass(e,t));const c=Zs.getTypeParameters(e);let u,p;if(!e.typeArguments||!t.typeArguments)return!0;if(Zs.isTupleClass(e)?(u=null!==(a=null===(o=e.tupleTypeArguments)||void 0===o?void 0:o.map((e=>e.type)))&&void 0!==a?a:[],p=null===(l=t.tupleTypeArguments)||void 0===l?void 0:l.map((e=>e.type))):(u=e.typeArguments,p=t.typeArguments),p)for(let t=0;t=u.length?u.length-1:t,l=a>=0?u[a]:Ys.create(),d=a({category:e.category,name:e.name,isNameSynthesized:e.isNameSynthesized,hasDefault:!!e.hasDefault,type:Xs.getEffectiveParameterType(n,t)}))),o=i.getParamSpec(e);if(!o)return!i.isLocked()&&i.hasSolveForScope(e.scopeId)&&i.setParamSpec(e,{parameters:s,typeVarScopeId:t.details.typeVarScopeId,flags:t.details.flags,docString:t.details.docString,paramSpec:void 0}),!0;if(!o.paramSpec&&o.parameters.length===s.length&&!o.parameters.some(((e,t)=>{const n=s[t];return e.category!==n.category||e.name!==n.name||e.hasDefault!==n.hasDefault||!Ao(e.type,n.type,void 0,void 0,r)})))return!0}else if(ho(t))return!0;return n&&n.addMessage(ml.DiagnosticAddendum.typeParamSpec().format({type:ai(t),name:e.details.name})),!1}(e,t,n,i,s);e.details.isVariadic&&(Co(t)||(t=T&&_o(T)?Fa(qa(T,[{type:t,isUnbounded:!1}],!0,!0,!0)):Ys.create())),Ks.isInstantiable(e)&&vo(t)&&Zs.isBuiltIn(t,"type")&&!t.typeArguments&&(t=io.create());const c=i.getTypeVar(e),u=null==c?void 0:c.narrowBound,p=null!==(o=null==c?void 0:c.wideBound)&&void 0!==o?o:e.details.boundType;if(e.details.constraints.length>0){let r;const o=Ie(t);if(bo(t))Jn(e,o,void 0,new jo(e.scopeId),void 0,s)&&(r=t,Ks.isInstantiable(t)&&(r=Fa(t)));else{let t,n=!0;r=Ko(o,(i=>{let r,o;return ho(i)?i:(e.details.constraints.forEach(((t,n)=>{const a=Ks.isInstantiable(e)?Na(t):t;Jn(a,i,void 0,void 0,void 0,s)&&(r&&!Jn(r,a,void 0,void 0,void 0,s)||(r=Zo(t,Xo(i)),o=n))})),r||l||(n=!1),void 0===o||Xo(i)||(void 0!==t&&t!==o&&(n=!1),t=o),r)})),!ao(r)&&n||(r=void 0),!r&&fo(o)&&(r=e.details.constraints.find((t=>Jn(Ks.isInstantiable(e)?Na(t):t,o,void 0,void 0,void 0,s))))}if(!r)return n&&n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(t),name:e.details.name})),!1;if(u&&!ho(u)){if(!Jn(u,r,void 0,void 0,void 0,s)){if(!Jn(r,u,void 0,void 0,void 0,s))return n&&n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(r),name:ai(u)})),!1;!i.isLocked()&&a&&i.setTypeVarType(e,r)}}else!i.isLocked()&&a&&i.setTypeVarType(e,r);return!0}let d=u,h=p;const m=n?new il:void 0,f=0!=(128&r)||i.getRetainLiterals(e)||e.details.boundType&&oa(e.details.boundType)||e.details.constraints.some((e=>oa(e)));let g=f?t:Qo(t);if(Ks.isInstantiable(e)){if(!Ra(g))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(e)})),!1;g=Fa(g)}if(l||0!=(4&r)){if(p){if(!Ao(p,g,void 0,void 0,s))if(Jn(p,Ie(g),m,void 0,512&r,s))h=g;else if(!Jn(g,p,m,void 0,512&r,s))return n&&m&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(p)})),n.addAddendum(m)),!1}else h=g;if(u&&!Jn(h,u,void 0,void 0,512&r,s))return n&&m&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(u)})),n.addAddendum(m)),!1}else{if(u){if(!Ao(u,g,void 0,void 0,s))if(Jn(u,g,m,i,r,s))d=La(u)&&!po(g)&&Jn(g,u,void 0,i,512&r,s)?g:u;else{if(i.isLocked()||bo(g))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(u),destType:ai(g)})),!1;if(Io(e))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(u),destType:ai(g)})),!1;d=Jn(g,u,void 0,i,512&r,s)?g:fo(u)&&u.subtypes.length>64&&void 0!==e.details.boundType&&y&&vo(y)?Oo([u,y]):Oo([u,g])}}else d=g;if(p&&d&&!Ao(p,d,void 0,void 0,s)){let e=!0;if(bo(p)&&(Ao(d,p)||fo(d)&&d.subtypes.some((e=>Ao(e,p))))&&(e=!1),!Jn(e?Ie(p):p,d,void 0,i,512&r,s))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(p)})),!1}}if(e.details.boundType){const o=d||h;if(Ks.isInstantiable(e)&&!Ks.isInstantiable(t))return!1;if(!Jn(e.details.boundType,Ie(o),null==n?void 0:n.createAddendum(),i,512&r,s))return e.details.isSynthesized||n&&n.addMessage(ml.DiagnosticAddendum.typeBound().format({sourceType:ai(o),destType:ai(e.details.boundType),name:oo.getReadableName(e)})),!1}return!i.isLocked()&&a&&i.setTypeVarType(e,d,h,f),!0}function Jn(e,t,n,i,r=0,s=0){var o,a;if(fo(e)&&1===e.subtypes.length&&Io(e.subtypes[0])&&(e=e.subtypes[0]),fo(t)&&1===t.subtypes.length&&Io(t.subtypes[0])&&(t=t.subtypes[0]),e===t)return!bo(e)||e.details.isParamSpec||e.details.isVariadic||0!==e.scopeType||!i||i.isLocked()||!i.hasSolveForScope(e.scopeId)||i.getTypeVar(e)||0!=(10&r)||i.setTypeVarType(e,t),!0;if(s>Gs)return!0;if(s++,bo(e)&&e.details.recursiveTypeAliasScopeId&&bo(t)&&t.details.recursiveTypeAliasScopeId){if((null===(o=e.typeAliasInfo)||void 0===o?void 0:o.typeArguments)&&(null===(a=t.typeAliasInfo)||void 0===a?void 0:a.typeArguments)&&e.details.recursiveTypeAliasScopeId===t.details.recursiveTypeAliasScopeId){let o=!0;const a=t.typeAliasInfo.typeArguments;return e.typeAliasInfo.typeArguments.forEach(((e,t)=>{Jn(e,t{var i;if(Ao(e,t,!0,void 0,n))return!1;const r=oo.getNameWithScope(e),s=(null!==(i=Xo(t))&&void 0!==i?i:[]).filter((e=>e.typeVarName===r));return 0===s.length||!s.some((i=>e.details.boundType?(w(0===i.constraintIndex,"Expected constraint for bound TypeVar to have index of 0"),Jn(e.details.boundType,t,void 0,void 0,void 0,n)):!(e.details.constraints.length>0)||(w(i.constraintIndex{Kn(t,e,n,i,4|l,s)&&(o=!0)})),o}return Jn(Ie(e),Ie(t),n,void 0,l,s)}if(0!=(1&r))return!!ho(e)||!!(wo(t)&&Eo(e)&&Xs.shouldSkipArgsKwargsCompatibilityCheck(e)&&e.details.parameters.length<=2)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}if(ho(e))return!0;if(ho(t)){if(i){const n=ca(t)?io.create():t;Ca(e,n,i,s)}if(0==(16&r))return!0}if(ao(t))return i&&Ca(e,Ys.create(),i,s),!0;if(fo(t)&&Ks.isSpecialForm(t)&&(t=g||y||io.create()),fo(e))if(fo(t)){if(Yn(e,t,void 0,i,l,s))return!0}else{const n=i?i.clone():void 0;if(Qn(e,t,void 0,n,l,s))return i&&n&&i.copyFromClone(n),!0}const c=Ie(t);if(fo(c))return Yn(e,c,n,i,l,s);if(fo(e))return Qn(e,t,n,i,l,s);if(lo(e)&&lo(t))return!0;if(co(e)){if(co(t))return!0;if(_o(t)&&Zs.isBuiltIn(t,"NoneType"))return!0}if(vo(t)&&Zs.isBuiltIn(t,"type")){const o=t.typeArguments;if(o&&o.length>=1){if(ho(o[0]))return!(!vo(e)||!Zs.isBuiltIn(t,"type"))||Ks.isInstantiable(e);if(vo(o[0])||bo(o[0]))return!!Jn(e,Na(o[0]),null==n?void 0:n.createAddendum(),i,r,s)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}}if(_o(e)){const o=Ie(t);if(_o(o))return Zs.isProtocolClass(e)&&Zs.isProtocolClass(o)&&_o(t)&&!t.includeSubclasses?(n&&n.addMessage(ml.DiagnosticAddendum.protocolSourceIsNotConcrete().format({sourceType:ai(Fa(t)),destType:ai(e)})),!1):!!zn(e,o,n,i,r,s,!1)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}if(vo(e)){if(Zs.isBuiltIn(e,"Type")){const o=e.typeArguments;if(o&&o.length>=1&&Ks.isInstance(o[0])&&Ks.isInstantiable(t))return Jn(o[0],Fa(t),n,i,r,s)}else if(Zs.isBuiltIn(e,"type")){if(Ks.isInstantiable(t))return!(yo(t)&&void 0!==t.literalValue)}else if(Zs.isBuiltIn(e,["TypeGuard","StrictTypeGuard"])&&0!=(64&l)&&vo(t)&&Zs.isBuiltIn(t,"bool"))return!0;const o=Ie(t);if(yo(o)&&Ks.isInstance(o)){if(void 0!==e.literalValue&&(void 0===o.literalValue||!Zs.isLiteralValueSame(o,e)))return n&&n.addMessage(ml.DiagnosticAddendum.literalAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1;if(Zs.isBuiltIn(e,"LiteralString")&&Zs.isBuiltIn(o,"str")){if(void 0!==o.literalValue)return!0}else if(Zs.isBuiltIn(o,"LiteralString")&&Zs.isBuiltIn(e,"str")&&void 0===e.literalValue)return!0;return!!zn(Zs.cloneAsInstantiable(e),Zs.cloneAsInstantiable(o),n,i,r,s,!0)}if(Eo(o)||ko(o)){const t=Xn(e);if(t)return Jn(t,o,n,i,r,s);if(y&&vo(y))return Jn(e,y,n,i,r,s)}else if(To(o)){if(Zs.isBuiltIn(e,"ModuleType"))return!0;if(Zs.isProtocolClass(e))return jn(Zs.cloneAsInstantiable(e),o,n,i,r,s)}else if(_o(o)){const t=Xn(e);if(t)return Jn(t,o,n,i,r,s);if(Zs.isProtocolClass(e))return Wn(Zs.cloneAsInstantiable(e),o,n,i,r,!0,s);const a=o.details.effectiveMetaclass;if(a)return!!ho(a)||zn(Zs.cloneAsInstantiable(e),a,n,i,r,s,!1)}else{if(ho(o))return 0==(16&r);if(fo(o))return Jn(e,o,n,i,r,s)}}if(Eo(e)){let o,a=Ie(t);if(vo(a)){const e=_a(a,"__call__");if(e){const t=Bn(e);if(Eo(t)||ko(t)){const e=ri(a,t,void 0,void 0,s);e&&(a=Ba(e))}}}if(_o(a)&&void 0===a.literalValue){const e=Zn(a,s);e&&(a=e)}if(ko(a)){if(e.details.paramSpec)return n&&n.addMessage(ml.DiagnosticAddendum.paramSpecOverload()),!1;const t=a.overloads,l=t.findIndex((t=>{if(!Xs.isOverloaded(t))return!1;const o=i?i.clone():void 0;return Jn(e,t,null==n?void 0:n.createAddendum(),o,r,s)}));if(l<0)return n&&n.addMessage(ml.DiagnosticAddendum.noOverloadAssignable().format({type:ai(e)})),!1;o=t[l]}else if(Eo(a))o=a;else if(ho(a))return 0==(16&r);if(o&&function(e,t,n,i,r,s){var o,a,l,c,u,p,d,h,m;let f=!0;const g=0==(32&r);r&=-33,e=Wa(e),t=Wa(t);const y=Ho(e),_=Ho(t);!function(e,t){var n;if(void 0===t.argsIndex)return;if(e.params.lengthn>=t.argsIndex&&e.source===zo.KeywordOnly));i<0&&(i=e.params.length);const r=(null!==(n=t.firstKeywordOnlyIndex)&&void 0!==n?n:t.params.length)-t.argsIndex-1,s=e.params.slice(t.argsIndex,i-r),o=[];if(s.forEach((e=>{1===e.param.category?So(e.type)?o.push({type:e.type,isUnbounded:!1}):xo(e.type)&&e.type.tupleTypeArguments?o.push(...e.type.tupleTypeArguments):o.push({type:e.type,isUnbounded:!0}):o.push({type:e.type,isUnbounded:!1})})),1!==o.length||!Io(o[0].type)){let n;n=T&&_o(T)?Fa(qa(T,o,!0,!0,!0)):Ys.create(),e.params=[...e.params.slice(0,t.argsIndex),{param:{category:1,name:"_arg_combined",isNameSynthesized:!0,hasDeclaredType:!0,type:n},type:n,index:-1,source:zo.PositionOrKeyword},...e.params.slice(t.argsIndex+s.length,e.params.length)];const i=e.params.findIndex((e=>1===e.param.category));e.argsIndex=i>=0?i:void 0;const r=e.params.findIndex((e=>2===e.param.category));e.kwargsIndex=r>=0?r:void 0;const a=e.params.findIndex((e=>e.source===zo.KeywordOnly));e.firstKeywordOnlyIndex=a>=0?a:void 0}}(_,y);const v=0==(2&r)?i:new jo(na(e)),I=0!=(2&r)?i:new jo(na(t)),S=0!=(2&r)?!!t.details.paramSpec:!!e.details.paramSpec,x=null!==(a=null!==(o=y.argsIndex)&&void 0!==o?o:y.firstKeywordOnlyIndex)&&void 0!==a?a:y.params.length,C=null!==(c=null!==(l=_.argsIndex)&&void 0!==l?l:_.firstKeywordOnlyIndex)&&void 0!==c?c:_.params.length,w=Math.min(x,C);for(let i=0;i!!e.param.name&&!e.param.hasDefault&&0===e.param.category)).length;if(void 0===y.argsIndex)x0&&y.firstPositionOrKeywordIndex{n>=y.firstKeywordOnlyIndex&&e.param.name&&0===e.param.category&&t.set(e.param.name,e)}));let i=void 0!==_.firstKeywordOnlyIndex?_.firstKeywordOnlyIndex:_.params.length;x=0&&_.params.forEach(((e,o)=>{if(o>=i&&e.param.name&&0===e.param.category){const i=t.get(e.param.name),o=null==n?void 0:n.createAddendum(),a=e.type;if(i){const l=i.type,c=v?fa(l,v):l;Jn(a,c,null==o?void 0:o.createAddendum(),void 0,r,s)||(o&&o.addMessage(ml.DiagnosticAddendum.namedParamTypeMismatch().format({name:e.param.name,sourceType:ai(c),destType:ai(a)})),f=!1),i.param.hasDefault&&!e.param.hasDefault&&(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.functionParamDefaultMissing().format({name:e.param.name})),f=!1),t.delete(e.param.name)}else void 0!==y.kwargsIndex||e.param.hasDefault?void 0!==y.kwargsIndex&&(ei(y.params[y.kwargsIndex].type,a,y.params[y.kwargsIndex].index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1)):(o&&o.addMessage(ml.DiagnosticAddendum.namedParamMissingInDest().format({name:e.param.name})),f=!1)}})),t.forEach(((e,i)=>{void 0!==_.kwargsIndex&&e.param.name?(ei(e.param.type,_.params[_.kwargsIndex].type,e.index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1),t.delete(i)):(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.namedParamMissingInSource().format({name:i})),f=!1)})),void 0!==_.kwargsIndex&&void 0!==y.kwargsIndex&&(ei(y.params[y.kwargsIndex].type,_.params[_.kwargsIndex].type,y.params[y.kwargsIndex].index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1)),Xs.shouldSkipArgsKwargsCompatibilityCheck(e)||void 0!==_.kwargsIndex||void 0===y.kwargsIndex||(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.kwargsParamMissing().format({paramName:y.params[y.kwargsIndex].param.name})),f=!1)}if(S&&(null===(h=t.details.paramSpec)||void 0===h?void 0:h.nameWithScope)===(null===(m=e.details.paramSpec)||void 0===m?void 0:m.nameWithScope)){const n=t.details.parameters.length,i=e.details.parameters.length;n!==i&&(n!==i-1||0!==e.details.parameters[i-1].category||e.details.parameters[i-1].name)&&(f=!1)}if(i&&!i.isLocked()){const n=0==(2&r)?I:v;if(n.getTypeVars().forEach((e=>{Jn(e.typeVar,n.getTypeVarType(e.typeVar),void 0,i,void 0,s)})),i.getTypeVars().forEach((e=>{if(e.narrowBound){const t=fa(e.narrowBound,i);t!==e.narrowBound&&i.setTypeVarType(e.typeVar,t,e.wideBound,e.retainLiteral)}})),S){const n=0==(2&r)?e:t,s=0==(2&r)?t:e;if(n.details.paramSpec){const e=n.details.parameters.filter((e=>!(!e.name||0===e.category&&wo(e.type)))).length;let t=0;const r=[];s.details.parameters.forEach(((n,i)=>{t!Xs.isOverloaded(e)||(i&&i.addSolveForScope(na(e)),Jn(e,t,null==o?void 0:o.createAddendum(),i||new jo(na(e)),r,s))))||(o&&o.addMessage(ml.DiagnosticAddendum.overloadNotAssignable().format({name:e.overloads[0].details.name})),!1)}return!(!vo(e)||!Zs.isBuiltIn(e,"object")||0!=(1&r))||(lo(t)&&vo(e)&&Zs.isProtocolClass(e)&&f&&_o(f)?Wn(Zs.cloneAsInstantiable(e),f,n,i,r,!1,s):lo(e)?(n&&n.addMessage(ml.DiagnosticAddendum.assignToNone()),!1):(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1))}function Yn(e,t,n,i,r,s){if(Ao(t,e,void 0,void 0,s))return!0;if(fo(e)){if(0!=(4&r)){const n=e.subtypes.filter((e=>!ho(e)));if(1===n.length&&bo(n[0]))return Jn(n[0],t,void 0,i,r,s),!0}const o=[];let a=[...t.subtypes],l=!1;if(e.subtypes.forEach((e=>{if($a(e))o.push(e);else{const t=a.findIndex((t=>Ao(t,e,void 0,void 0,s)));t>=0?a.splice(t,1):l=!0}})),l||[...a].forEach((e=>{const t=o.findIndex((t=>yo(e)&&yo(t)&&Ks.isInstance(e)===Ks.isInstance(t)&&Zs.isSameGenericClass(e,t)));t>=0&&(Jn(o[t],e,null==n?void 0:n.createAddendum(),i,r,s)||(l=!0),o.splice(t,1),a=a.filter((t=>t!==e)))})),l||0===o.length&&0===a.length||1===o.length&&bo(o[0])&&Jn(o[0],Oo(a),null==n?void 0:n.createAddendum(),i,r,s)||(l=!0),!l)return!0}let o=!1;return Jo(t,(t=>{Jn(e,t,void 0,i,r,s)||Jn(e,Ie(t),null==n?void 0:n.createAddendum(),i,r,s)||(o=!0)})),!o||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}function Qn(e,t,n,i,r,s){if(1&r){let o=!1;return Jo(e,((a,l)=>{if(!o&&!Jn(a,t,null==n?void 0:n.createAddendum(),i,r,s)){let t=!1;ho(a)||Jo(e,((e,n)=>{l===n||t||Jn(e,a,void 0,void 0,0,s)&&(t=!0)})),t||(o=!0)}})),!o||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}const o=n?new il:void 0;let a=!1;if(lo(t)&&Go(e))a=!0;else{let n,l;if(vo(t)&&ra(t)&&so.containsType(e,t,s))return!0;Jo(e,(e=>{const c=null==i?void 0:i.clone();if(Jn(e,t,null==o?void 0:o.createAddendum(),c,r,s)&&(a=!0,c)){const e=c.getScore();(void 0===l||l<=e)&&(l=e,n=c)}})),i&&n&&i.copyFromClone(n)}return a||bo(t)&&t.details.constraints.length>0&&(a=Jn(e,Ie(t),null==o?void 0:o.createAddendum(),i,r,s)),!!a||(n&&o&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),n.addAddendum(o)),!1)}function Zn(e,t=0){const n=va(e,"__init__",12);if(n){const i=Bn(n),r=Zs.cloneAsInstance(e),s=e=>{let n=ri(r,e,void 0,void 0,t);return n&&(n=Xs.clone(n),n.details.declaredReturnType=r,n.specializedTypes&&(n.specializedTypes.returnType=r)),n};if(Eo(i))return s(i);if(ko(i)){const e=[];if(i.overloads.forEach((t=>{const n=s(t);n&&e.push(n)})),0===e.length)return;return 1===e.length?e[0]:eo.create(e)}}const i=va(e,"__new__",12);if(i){const t=Bn(i),n=t=>ri(e,t,void 0,void 0,void 0,!0);if(Eo(t))return n(t);if(ko(t)){const e=[];if(t.overloads.forEach((t=>{const i=n(t);i&&e.push(i)})),0===e.length)return;return 1===e.length?e[0]:eo.create(e)}}const r=Xs.createInstance("__new__","","",65);return r.details.declaredReturnType=Zs.cloneAsInstance(e),Xs.addDefaultParameters(r),r}function Xn(e){if(!vo(e)||!Zs.isProtocolClass(e))return;for(const t of e.details.mro)if(yo(t)&&Zs.isProtocolClass(t))for(const e of t.details.fields)if("__call__"!==e[0]&&!e[1].isIgnoredForProtocolMatch()){let t=!1;if(v&&yo(v)&&v.details.fields.has(e[0])&&(t=!0),!t)return}const t=_a(e,"__call__");if(!t)return;const n=Bn(t);if(Eo(n)||ko(n)){const t=ri(e,n);if(t)return Ba(t)}}function ei(e,t,n,i,r,s,o,a){if(bo(e)&&e.details.isSynthesized&&e.details.boundType&&vo(e.details.boundType)&&Zs.isProtocolClass(e.details.boundType))return!0;if(Io(e)&&!Co(t))return!1;let l=t,c=e,u=!1;if(0==(2&o))c=fa(e,r),$a(c)&&(u=!Jn(l,c,void 0,r,642|o,a),c=fa(e,r));else if(l=fa(t,s),$a(l)&&$a(l)&&(u=!Jn(l,c,void 0,s,-3&o|512,a),l=fa(t,s)),u)return i&&i.addMessage(ml.DiagnosticAddendum.paramAssignment().format({index:n+1,sourceType:ai(e),destType:ai(t)})),!1;return bo(c)&&c.details.isSynthesizedSelf||bo(l)&&l.details.isSynthesizedSelf&&l.details.boundType&&(l=fa(l.details.boundType,new jo(na(l)),!0)),!(!Jn(l,c,null==i?void 0:i.createAddendum(),0==(2&o)?s:r,o,a)&&!Ao(e,t)&&(i&&i.addMessage(ml.DiagnosticAddendum.paramAssignment().format({index:n+1,sourceType:ai(e),destType:ai(t)})),1))}function ti(e,t){if(t.details.typeParameters.length>0&&t.typeArguments&&t.typeArguments.length<=t.details.typeParameters.length){const n=new jo(na(t));Xe(Zs.cloneForSpecialization(t,void 0,!1),e,n,[]);let i=!1;const r=t.typeArguments.map(((e,r)=>{const s=t.details.typeParameters[r],o=n.getTypeVarType(s);return o&&(uo(o)||ho(e))?(i=!0,o):e}));if(i)return Zs.cloneForSpecialization(t,r,!0)}}function ni(e,t){const n=new il,i=Ko(t,(t=>{const i=Ko(e,(i=>{if(ho(e))return e;if(Jn(i,t,n)){if(_o(i)&&_o(t)){const e=ti(i,t);e&&(t=e)}else if(vo(i)&&vo(t)){const e=ti(Zs.cloneAsInstantiable(i),Zs.cloneAsInstantiable(t));e&&(t=Zs.cloneAsInstance(e))}else{if(!bo(i)&&bo(t))return i;if(ho(t))return i}return t}}));return ao(i)?t:i}));return ho(t)?e:i}function ii(e){const t=new Map;e.details.mro.forEach((e=>{_o(e)&&e.details.fields.forEach(((n,i)=>{if(n.isClassMember()){let r;const s=qo(n);r=!(!s||3!==s.type)&&!!(8&en(s.node,!0)),t.has(i)||t.set(i,{symbol:n,symbolName:i,isAbstract:r,classType:e})}}))}));const n=[];return t.forEach((e=>{e.isAbstract&&n.push(e)})),n}function ri(e,t,n,i,r=0,s=!1,o){if(Eo(t)){if(!e)return Xs.clone(t,!0);if(Xs.isInstanceMethod(t)){const s=vo(e)?e:Zs.cloneAsInstance(xa(e));return si(e,t,n||Zs.cloneAsInstantiable(s),i,r,o||s,vo(e))}if(Xs.isClassMethod(t)||s&&Xs.isConstructorMethod(t)){const s=_o(e)?e:Zs.cloneAsInstantiable(e),a=o?_o(e)?o:Na(o):s;return si(Ks.isInstance(e)?Zs.cloneAsInstantiable(e):e,t,n||s,i,r,a,!0)}if(Xs.isStaticMethod(t)){const s=_o(e)?e:Zs.cloneAsInstantiable(e);return si(Ks.isInstance(e)?Zs.cloneAsInstantiable(e):e,t,n||s,i,r,void 0,!1)}}else if(ko(t)){const a=eo.create([]);return t.overloads.forEach((t=>{if(Xs.isOverloaded(t)){const i=ri(e,t,n,void 0,r,s,o);i&&eo.addOverload(a,i)}})),1===a.overloads.length?a.overloads[0]:0===a.overloads.length?void(i&&t.overloads.forEach((t=>{ri(e,t,n,i,r,s,o)}))):a}return t}function si(e,t,n,i,r,s,o=!0){const a=new jo(na(n));if(s&&t.details.parameters.length>0){const n=t.details.parameters[0],o=Xs.getEffectiveParameterType(t,0),l=Qo(s);a.addSolveForScope(na(t));const c=new il;if(bo(o)&&o.details.boundType&&vo(o.details.boundType)&&Zs.isProtocolClass(o.details.boundType))a.isLocked()||a.setTypeVarType(o,Ks.isInstantiable(o)?Fa(l):l);else if(!Jn(o,l,c,a,void 0,r)&&n.name&&!n.isNameSynthesized&&n.hasDeclaredType){if(!i)return;{const r=t.details.name||"(unnamed)";_e(qt(i).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.bindTypeMismatch().format({type:ai(e),methodName:r,paramName:n.name})+c.getString(),i)}}}Un(t);const l=fa(t,a);return Xs.clone(l,o,e,na(e))}function oi(e){return Fl(e,t.printTypeFlags,Un)}function ai(e,n=!1){let i=t.printTypeFlags;return n&&(i|=32),Pl(e,i,Un)}const li={runWithCancellationToken:function(e,t){try{return m=e,t()}finally{m=void 0}},getType:j,getTypeOfExpression:$,getTypeOfAnnotation:K,getTypeOfClass:$t,getTypeOfFunction:Gt,getTypeForExpressionExpectingType:Sn,getExpectedType:function(e){hn(e);let t=e;for(;void 0!==t;){const e=l.get(t.id);if(e)return{type:e,node:t};t=t.parent}},evaluateTypeForSubnode:gn,evaluateTypesForStatement:fn,evaluateTypesForMatchNode:function(e){if(F(e,0))return;const t=$(e.subjectExpression);let n=t.type;for(const t of e.cases)t.guardExpression||(n=fu(li,n,t.pattern,!1));N(e,n,0,!!t.isIncomplete)},evaluateTypesForCaseNode:un,evaluateTypeOfParameter:mn,canBeTruthy:Q,canBeFalsy:Y,removeTruthinessFromType:Z,removeFalsinessFromType:X,verifyRaiseExceptionType:function(e){const t=xn(e,"BaseException");if(e.typeExpression){const n=$(e.typeExpression).type;if(n&&t&&_o(t)){const i=new il;Jo(n,(n=>{const r=Ie(n);if(!ho(r))if(_o(r)&&void 0===r.literalValue)if(Da(r,t,!1)){let t;En(e.typeExpression,(()=>{t=Ye(e.typeExpression,[],r,!1,void 0)})),t&&t.argumentErrors&&i.addMessage(ml.Diagnostic.exceptionTypeNotInstantiable().format({type:ai(n,!1)}))}else i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:ai(n,!1)}));else vo(r)&&Da(Zs.cloneAsInstantiable(r),t,!1)||i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:ai(n,!1)}))})),i.isEmpty()||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.expectedExceptionClass()+i.getString(),e.typeExpression)}}},verifyDeleteExpression:Ce,isAfterNodeReachable:de,isNodeReachable:pe,isAsymmetricDescriptorAssignment:function(e){return a.has(e.id)},suppressDiagnostics:En,getDeclarationsForNameNode:function(e){var t;if(zt(e))return;const n=[];if(e.parent&&23===e.parent.nodeType&&e.parent.alias&&e===e.parent.name){const t=zs(e);if(t){const i=t.lookUpSymbolRecursive(e.parent.alias.value);if(i){const t=i.symbol.getDeclarations().filter((t=>6===t.type&&t.node===e.parent));n.push(...ls(t))}}}else if(e.parent&&35===e.parent.nodeType&&e===e.parent.memberName){let t=j(e.parent.leftExpression);if(t){t=Ie(t);const i=e.parent.memberName.value;Jo(t,(e=>{let t;if(_o(e=Ie(e))){let n=va(e,i,16);if(n||(n=va(e,i)),!n){const t=e.details.effectiveMetaclass;t&&_o(t)&&(n=va(t,i))}n&&(t=n.symbol)}else if(vo(e)){let n=_a(e,i,16);n||(n=_a(e,i)),n&&(t=n.symbol)}else To(e)&&(t=Qs.getField(e,i));if(t){const e=t.getTypedDeclarations();e.length>0?n.push(...e):n.push(...t.getDeclarations())}}))}}else if(e.parent&&37===e.parent.nodeType){const t=e.parent.nameParts.findIndex((t=>t===e)),i=Rt(e.parent);t>=0&&i&&!i.isNativeLib&&t{const t=Dn(e,r);t&&n.push(t)}));else if(_o(e)){const s=null===(t=ee(i.parent.leftExpression,Zs.cloneAsInstance(e),"__init__",{method:"get"},void 0,4))||void 0===t?void 0:t.type;if(s&&Eo(s)){const t=Dn(s,r);if(t)n.push(t);else if(Zs.isDataClass(e)){const t=va(e,r);t&&n.push(...t.symbol.getDeclarations())}}}}}else{const t=qt(e),i=function(e,t){let n,i=e,r=!1;for(;i;){if(41===i.nodeType&&(n===i.typeAnnotation||n===i.typeAnnotationComment))return r||!t;if(28===i.nodeType&&n===i.returnTypeAnnotation)return r||!t;if(28===i.nodeType&&n===i.functionAnnotationComment)return!0;if(54===i.nodeType&&n===i.typeAnnotation)return r||!t;if(3===i.nodeType&&n===i.typeAnnotationComment)return!0;if(48===i.nodeType&&n===i.typeAnnotation&&(r=!0),30===i.nodeType||28===i.nodeType||10===i.nodeType||36===i.nodeType)return!1;n=i,i=i.parent}return!1}(e,!H(qt(e))),r=i||t.isStubFile,s=wn(e,e.value,!r,i);s&&n.push(...s.symbol.getDeclarations())}return n},getTypeForDeclaration:An,resolveAliasDeclaration:Rn,resolveAliasDeclarationWithInfo:Fn,getTypeFromIterable:le,getTypeFromIterator:ae,getGetterTypeFromProperty:Hn,getTypeForArgument:bn,markNamesAccessed:function(e,t){const n=qt(e),i=zs(e);i&&t.forEach((t=>{const r=i.lookUpSymbolRecursive(t);r&&we(n,r.symbol,e)}))},getScopeIdForNode:Pe,makeTopLevelTypeVarsConcrete:Ie,mapSubtypesExpandTypeVars:Se,populateTypeVarMapBasedOnExpectedType:Xe,lookUpSymbolRecursive:wn,getDeclaredTypeOfSymbol:On,getEffectiveTypeOfSymbol:Nn,getEffectiveTypeOfSymbolForUsage:Mn,getInferredTypeOfDeclaration:Pn,getDeclaredTypeForExpression:se,getFunctionDeclaredReturnType:qn,getFunctionInferredReturnType:Vn,getBestOverloadForArguments:Ge,getBuiltInType:xn,getTypeOfMember:Bn,getTypeFromObjectMember:ee,getBoundMethod:ne,getTypeFromMagicMethodReturn:gt,bindFunctionToClassOrObject:ri,getCallSignatureInfo:function(e,t,n){const i=e.leftExpression,r=j(i);if(void 0===r)return;const s=[];let o=0;function a(){s.push({argumentCategory:o,type:Ys.create(),active:!0})}e.arguments.forEach(((e,i)=>{let r=!1;i===t&&(n?r=!0:a()),o=e.argumentCategory,s.push({valueExpression:e.valueExpression,argumentCategory:e.argumentCategory,name:e.name,active:r})})),e.arguments.length{n=rt(i,s,t,new jo(na(t)),!0)})),l.push({type:t,activeParam:null==n?void 0:n.activeParam})}function u(e){Eo(e)?c(e):e.overloads.forEach((e=>{Xs.isOverloaded(e)&&c(e)}))}return Jo(r,(e=>{switch(e.category){case 5:case 6:u(e);break;case 7:if(Ks.isInstantiable(e)){let t;t=ne(e,"__init__");const n=!!t&&Eo(t)&&"builtins.object.__init__"===t.details.fullName,i=!!t&&Eo(t)&&Xs.isSkipConstructorCheck(t);if(!t||n||i){const n=ne(e,"__new__",!0);n&&(Eo(n)&&"builtins.object.__new__"===n.details.fullName||(t=n))}t&&u(t)}else{const t=ne(e,"__call__");t&&u(t)}}})),0!==l.length?{callNode:e,signatures:l}:void 0},getTypeAnnotationForParameter:ie,getAbstractMethods:ii,narrowConstrainedTypeVar:function(e,t){const n=Lt(e);if(n)return ci.narrowConstrainedTypeVar(n,t)},canAssignType:Jn,canOverrideMethod:function(e,t,n,i=!0){if(ko(e)&&(e=e.overloads[e.overloads.length-1],Xs.isOverloaded(e)))return!0;if(!Eo(e))return n.addMessage(ml.DiagnosticAddendum.overrideType().format({type:ai(e)})),!1;const r=Ho(e),s=Ho(t);let o=!0,a=!1;if(s.params.lengthr.params.length)for(let e=r.params.length;e=r.positionOnlyParamCount&&!Yt(l.name||"")&&0===l.category&&l.name!==c.name)0===c.category&&i&&(s.params[a].source===zo.PositionOnly?n.addMessage(ml.DiagnosticAddendum.overrideParamNamePositionOnly().format({index:a+1,baseName:l.name||"*"})):n.addMessage(ml.DiagnosticAddendum.overrideParamName().format({index:a+1,baseName:l.name||"*",overrideName:c.name||"*"})),o=!1);else{const i=Xs.getEffectiveParameterType(e,a),r=Xs.getEffectiveParameterType(t,a),s=bo(i)&&i.details.isSynthesized,u=bo(r)&&r.details.isSynthesized;s||u||l.category===c.category&&Jn(r,i,n.createAddendum(),new jo(na(t)),8)||(n.addMessage(ml.DiagnosticAddendum.overrideParamType().format({index:a+1,baseType:ai(i),overrideType:ai(r)})),o=!1)}}const c=Un(e),u=Un(t);return Jn(c,u,n.createAddendum(),new jo(na(e)),8)||(n.addMessage(ml.DiagnosticAddendum.overrideReturnType().format({baseType:ai(c),overrideType:ai(u)})),o=!1),o},canAssignProtocolClassToSelf:function e(t,n,i=0){w(Zs.isProtocolClass(t)),w(Zs.isProtocolClass(n)),w(Zs.isSameGenericClass(t,n)),w(t.details.typeParameters.length>0);const r=new il,s=new jo;let o=!0;return t.details.fields.forEach(((e,a)=>{if(o&&e.isClassMember()&&!e.isIgnoredForProtocolMatch()){const l=va(n,a);w(void 0!==l);let c=On(e);if(c){const a=Bn(l);if(c=ha(c,t),vo(c)&&Zs.isPropertyClass(c)&&vo(a)&&Zs.isPropertyClass(a))Gu(li,Zs.cloneAsInstantiable(c),Zs.cloneAsInstantiable(a),n,r,s,i)||(o=!1);else{const t=e.getDeclarations()[0],n=1!==(null==t?void 0:t.type)||t.isFinal?0:1;Jn(c,a,r,s,n,i)||(o=!1)}}}})),t.details.baseClasses.forEach((r=>{_o(r)&&Zs.isProtocolClass(r)&&!Zs.isBuiltIn(r,"object")&&!Zs.isBuiltIn(r,"Protocol")&&r.details.typeParameters.length>0&&(e(ka(t,r),ka(n,r),i)||(o=!1))})),o},assignTypeToExpression:xe,getBuiltInObject:Cn,getTypingType:ce,inferReturnTypeIfNecessary:Ln,addError:fe,addWarning:function(e,t,n){return ge("warning",e,t,n)},addInformation:me,addUnusedCode:function(e,t){ye(e)||qt(e).diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unreachableCode(),t)},addDeprecated:function(e,t){ye(t)||qt(t).diagnosticSink.addDeprecatedWithTextRange(e,t)},addDiagnostic:_e,addDiagnosticForTextRange:function(e,t,n,i,r){if("none"===t)return;const s=e.diagnosticSink.addDiagnosticWithTextRange(t,i,r);return n&&s.setRule(n),s},printType:ai,printFunctionParts:function(e){return Nl(e,t.printTypeFlags,Un)},getTypeCacheSize:function(){return s.size},useSpeculativeMode:kn,setTypeForNode:O,checkForCancellation:P},ci=function(e,t){const n=new Map,i=new Map,r=new Map;let s=0,o=1;function a(e,t){const i=new Set;if(n.has(e.id))return!0;n.set(e.id,!0);try{return function e(t,n,r=0){if(r>64)return!0;r++;let s=t;for(;;){if(i.has(s.id))return!1;if(i.add(s.id),s.flags&ft.Unreachable)return!1;if(s===n)return!0;if(s.flags&(ft.VariableAnnotation|ft.Assignment|ft.TrueCondition|ft.FalseCondition|ft.WildcardImport|ft.TrueNeverCondition|ft.FalseNeverCondition|ft.NarrowForPattern|ft.ExhaustedMatch))s=s.antecedent;else{if(!(s.flags&ft.Call)){if(s.flags&(ft.BranchLabel|ft.LoopLabel)){if(s.flags&ft.PostContextManager){const e=s;if(!e.expressions.some((t=>u(t,e.isAsync))))return!1}const t=s;for(const i of t.antecedents)if(e(i,n,r))return!0;return!1}if(s.flags&ft.Start)return!n;if(s.flags&ft.PreFinallyGate)return!s.isGateClosed;if(s.flags&ft.PostFinally){const t=s,i=t.preFinallyGate.isGateClosed;try{return t.preFinallyGate.isGateClosed=!0,e(t.antecedent,n,r)}finally{t.preFinallyGate.isGateClosed=i}}return E("Unexpected flow node flags"),!1}{const e=s;if(c(e.node))return!1;s=e.antecedent}}}}(e,t)}finally{n.delete(e.id)}}function l(e,t){let n=!0;return Jo(e,(e=>{bo(e)?Ao(e,t)||(n=!1):e.condition&&e.condition.some((e=>e.isConstrainedTypeVar&&e.typeVarName===t.nameWithScope))||(n=!1)})),n}function c(t){if(i.has(t.id))return i.get(t.id);i.set(t.id,!1);let n=0,r=0;const s=h(t.leftExpression);s&&Jo(s,(i=>{var s;let o;if(r++,_o(i)){if(i.details.effectiveMetaclass&&yo(i.details.effectiveMetaclass)&&!Zs.isBuiltIn(i.details.effectiveMetaclass,"type")&&va(i.details.effectiveMetaclass,"__call__",12))return;let t=va(i,"__init__",12);if(void 0===t&&(t=va(i,"__new__",12)),t){const n=e.getTypeOfMember(t);if(n&&(Eo(n)||ko(n))){const t=e.bindFunctionToClassOrObject(void 0,n);t&&(i=t)}}}else if(vo(i)){const t=va(i,"__call__",8);if(t){const n=e.getTypeOfMember(t);if(n&&(Eo(n)||ko(n))){const t=e.bindFunctionToClassOrObject(void 0,n);t&&(i=t)}}}if(Eo(i))o=i;else if(ko(i)){const e=i;o=e.overloads[e.overloads.length-1]}if(o){const i=o.details.declaredReturnType;if(Xs.isAsync(o))i&&vo(i)&&Zs.isBuiltIn(i,"Coroutine")&&i.typeArguments&&i.typeArguments.length>=3&&ao(i.typeArguments[2])&&6===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)&&n++;else if(i)ao(i)&&n++;else if(o.details.declaration&&!(o.details.declaration.yieldStatements||Xs.isAbstractMethod(o)||Xs.isStubDefinition(o)||Xs.isPyTypedDefinition(o))){const t=o.details.declaration.node.suite.statements;let i=!1;for(const e of t){if(47!==e.nodeType||1!==e.statements.length)break;const t=e.statements[0];if(48!==t.nodeType){if(43===t.nodeType&&t.typeExpression){const e=e=>38===(null==e?void 0:e.nodeType)&&"NotImplementedError"===e.value;(e(t.typeExpression)||9===t.typeExpression.nodeType&&e(t.typeExpression.leftExpression))&&(i=!0)}break}}i||e.isAfterNodeReachable(o.details.declaration.node)||n++}}}));const o=r>0&&n===r;return i.set(t.id,o),o}function u(t,n){var i;if(r.has(t.id))return r.get(t.id);r.set(t.id,!1);let s,o=!1;if(9===t.nodeType){const e=h(t.leftExpression);if(e)if(_o(e))s=Fa(e);else if(Eo(e))s=e.details.declaredReturnType;else if(ko(e)){const t=e.overloads.find((e=>Xs.isOverloaded(e)));t&&(s=t.details.declaredReturnType)}}else 38===t.nodeType&&(s=e.getDeclaredTypeForExpression(t));if(s&&vo(s)){const r=n?"__aexit__":"__exit__",a=null===(i=e.getTypeFromObjectMember(t,s,r))||void 0===i?void 0:i.type;if(a&&Eo(a)&&a.details.declaredReturnType){const e=a.details.declaredReturnType;o=vo(e)&&Zs.isBuiltIn(e,"bool")}}return r.set(t.id,o),o}function p(t,n){const i=Rt(t.node.module);w(void 0!==i&&i.isImportFound),w(t.node.isWildcardImport);const r=e.lookUpSymbolRecursive(t.node,n,!1);w(void 0!==r);const s=r.symbol.getDeclarations().find((e=>e.node===t.node));return s&&e.getInferredTypeOfDeclaration(r.symbol,s)||Ys.create()}function d(t,n){var i;const r=e.getDeclaredTypeOfSymbol(t);if(r)return r;const s=t.getDeclarations().filter((e=>!e.isInExceptSuite));if(0===s.length)return;const o=s[s.length-1];return 2===o.type?null===(i=e.evaluateTypeForSubnode(o.node.name,(()=>{e.evaluateTypeOfParameter(o.node)})))||void 0===i?void 0:i.type:6===o.type||n?e.getInferredTypeOfDeclaration(t,o):void 0}function h(t){if(38===t.nodeType){const n=e.lookUpSymbolRecursive(t,t.value,!1);if(!n)return;return d(n.symbol,n.isBeyondExecutionScope)}if(35===t.nodeType){const n=t.memberName.value;let i=h(t.leftExpression);if(!i)return;i=e.makeTopLevelTypeVarsConcrete(i);const r=Ko(i,(e=>{var t;let i;if(To(e))i=Qs.getField(e,n);else if(yo(e)){const t=va(e,n);i=t?t.symbol:void 0}return i&&null!==(t=d(i,!1))&&void 0!==t?t:Ys.create()}));if(!ao(r))return r}if(9===t.nodeType){const e=h(t.leftExpression);if(!e)return;if(e&&_o(e))return Fa(e);if(Eo(e))return e.details.declaredReturnType}}return{createCodeFlowAnalyzer:function(){const n=new Map;return{getTypeFromCodeFlow:function(i,r,l,d,h){const m=void 0!==r?At(r):void 0;let f;const g=void 0!==m&&void 0!==l?m+`.${l.toString()}`:".";let y=n.get(g);function _(e,n,i){if(i){const t=y.get(e.id);if(void 0===t)o++;else if(n&&t.isIncompleteType){const e=t;e.type&&!Ao(e.type,n)&&o++}}else o++;const r=i?{isIncompleteType:!0,type:n,incompleteSubtypes:[],generationCount:o}:n;return y.set(e.id,r),t.trackEntry(y,e.id),{type:n,isIncomplete:i,generationCount:o,incompleteSubtypes:i?[]:void 0}}function v(e,t,n,i,r){const s=y.get(e.id);void 0!==s&&Nu(s)||E("setIncompleteSubtype can be called only on a valid incomplete cache entry");const a=s.incompleteSubtypes;if(t0){const e=[];t.incompleteSubtypes.forEach((t=>{t.type&&e.push(t.type)})),n=e.length>0?Oo(e):void 0}return{type:n,isIncomplete:!0,incompleteSubtypes:t.incompleteSubtypes,generationCount:t.generationCount}}function S(e){y.delete(e.id)}function x(t){let n=t.node;const i=t.node.parent;return i&&(28!==i.nodeType&&10!==i.nodeType||(n=i)),e.evaluateTypeForSubnode(n,(()=>{e.evaluateTypesForStatement(t.node)}))}return y||(y=new Map,n.set(g,y)),i?function t(n,i,r,l,d){var h;let g=n;const y=s;for(s++,e.checkForCancellation();;){const C=I(g);if(C){if(!C.isIncomplete)return C;if(C.generationCount===o)return{type:(null==C?void 0:C.type)?Po(C.type):void 0,isIncomplete:!0}}if(g.flags&ft.Unreachable)return _(g,void 0,!1);if(g.flags&ft.VariableAnnotation)g=g.antecedent;else if(g.flags&ft.Call){const e=g;if(c(e.node))return _(g,void 0,!1);g=e.antecedent}else if(g.flags&ft.Assignment){const t=g;if(i){if(r===t.targetSymbolId&&Lr(i,t.node)){if(g.flags&ft.Unbind)return _(g,Js.create(),!1);if(C&&void 0===C.type)return{type:void 0,isIncomplete:!0};_(g,i?void 0:l,!0);let n=x(t);return n&&(ea(n.type)||35===i.nodeType&&e.isAsymmetricDescriptorAssignment(t.node))&&(n=void 0),_(g,null==n?void 0:n.type,!!(null==n?void 0:n.isIncomplete))}if(Ur(i,t.node))return{type:l,isIncomplete:d}}g=t.antecedent}else{if(g.flags&ft.BranchLabel){const e=g;if(g.flags&ft.PostContextManager){const e=g;if(e.expressions.some((t=>u(t,e.isAsync)))===e.blockIfSwallowsExceptions)return _(g,void 0,!1)}if(i&&e.preBranchAntecedent&&e.affectedExpressions&&(f||(f=Pt(i)),!f.some((t=>e.affectedExpressions.has(t)))&&a(g,e.preBranchAntecedent))){g=e.preBranchAntecedent;continue}const n=g,o=[];let c=!1;_(g,i?void 0:l,!0),n.antecedents.forEach((e=>{const n=t(e,i,r,l,d);n.isIncomplete&&(c=!0),n.type&&o.push(n.type)}));const p=i||o.length>0?Oo(o):void 0;return s-y>16384&&(c=!1),_(g,p,c)}if(g.flags&ft.LoopLabel){const e=g;if(i&&(f||(f=Pt(i)),!f.some((t=>e.affectedExpressions.has(t))))){g=e.antecedents[0];continue}let o,a=!1,c=I(g);void 0===c?c=_(g,i?void 0:l,!0):o=c.type;const u=void 0!==c.incompleteSubtypes&&c.incompleteSubtypes.some((e=>e.isPending)),p=T(g);if(u&&(null===(h=c.incompleteSubtypes)||void 0===h?void 0:h.every((e=>e.isPending))))return{type:c.type,isIncomplete:!0};if(e.antecedents.forEach(((e,n)=>{var s;c=I(g);const o=void 0!==c.incompleteSubtypes&&n=64?c.incompleteSubtypes[0].isIncomplete:void 0!==i;return s-y>16384&&(e=!1),{type:c.type,isIncomplete:e}}return a&&o&&c.type&&(Ao(o,c.type)?b(n)>2&&(a=!1):b(n,!0)),a?{type:(null==c?void 0:c.type)?Po(c.type):void 0,isIncomplete:!1}:_(g,c.type,!1)}if(g.flags&(ft.TrueCondition|ft.FalseCondition)){const n=g;if(i){_(g,i?void 0:l,!0);try{const s=ou(e,i,n.expression,!!(n.flags&(ft.TrueCondition|ft.TrueNeverCondition)));if(s){const e=t(n.antecedent,i,r,l,d);let o=e.type;return o&&(o=s(o)),_(g,o,e.isIncomplete)}S(g)}catch(e){throw S(g),e}}g=n.antecedent}else if(g.flags&(ft.TrueNeverCondition|ft.FalseNeverCondition)){const t=g;if(t.reference&&At(t.reference)!==m){const n=e.lookUpSymbolRecursive(t.reference,t.reference.value,!1);if(n&&n.symbol.getTypedDeclarations().length>0){_(g,i?void 0:l,!0);try{const n=ou(e,t.reference,t.expression,!!(t.flags&(ft.TrueCondition|ft.TrueNeverCondition)));if(n){const i=e.getTypeOfExpression(t.reference);if(ao(n(i.type)||i.type))return _(g,void 0,!!i.isIncomplete)}S(g)}catch(e){throw S(g),e}}}g=t.antecedent}else if(g.flags&ft.ExhaustedMatch){const t=g,n=e.evaluateTypeForSubnode(t.node,(()=>{e.evaluateTypesForMatchNode(t.node)}));if(n&&ao(n.type))return _(g,void 0,!!n.isIncomplete);g=t.antecedent}else if(g.flags&ft.NarrowForPattern){const t=g;if(!i||Lr(i,t.subjectExpression)){const n=e.evaluateTypeForSubnode(t.statement,(()=>{64===t.statement.nodeType?e.evaluateTypesForCaseNode(t.statement):e.evaluateTypesForMatchNode(t.statement)}));if(n){if(i)return _(g,n.type,!!n.isIncomplete);if(ao(n.type))return _(g,void 0,!!n.isIncomplete)}}g=t.antecedent}else{if(g.flags&ft.PreFinallyGate){const e=g;if(e.isGateClosed)return{type:void 0,isIncomplete:!1};_(g,i?void 0:l,!0);try{const n=t(e.antecedent,i,r,l,d);return S(g),{type:n.type,isIncomplete:n.isIncomplete}}catch(e){throw S(g),e}}if(g.flags&ft.PostFinally){const n=g,s=n.preFinallyGate.isGateClosed;try{let o;return n.preFinallyGate.isGateClosed=!0,e.useSpeculativeMode(n.finallyNode,(()=>{o=t(n.antecedent,i,r,l,d)})),o.isIncomplete?o:_(g,o.type,!1)}finally{n.preFinallyGate.isGateClosed=s}}if(g.flags&ft.Start)return _(g,l,d);if(!(g.flags&ft.WildcardImport))return E("Unexpected flow node flags"),_(g,void 0,!1);{const e=g;if(i&&38===i.nodeType){const t=i.value;if(e.names.some((e=>e===t))){_(g,i?void 0:l,!0);try{const n=p(e,t);return _(g,n,!1)}catch(e){throw S(g),e}}}g=e.antecedent}}}}}(i,r,l,d,h):{type:d,isIncomplete:h}}}},isFlowNodeReachable:a,narrowConstrainedTypeVar:function(t,n){w(!n.details.isParamSpec),w(!n.details.isVariadic),w(!n.details.boundType),w(n.details.constraints.length>0);const i=new Set,r=[];for(const e of n.details.constraints){if(!vo(e))return;r.push(e)}const s=function t(n,s){let o=n;for(;;){if(i.has(o.id))return r;if(o.flags&(ft.Unreachable|ft.Start))return r;if(o.flags&(ft.VariableAnnotation|ft.Assignment|ft.WildcardImport|ft.TrueNeverCondition|ft.FalseNeverCondition|ft.NarrowForPattern|ft.ExhaustedMatch|ft.PostFinally|ft.PreFinallyGate|ft.Call))o=o.antecedent;else{if(!(o.flags&(ft.TrueCondition|ft.FalseCondition))){if(o.flags&(ft.BranchLabel|ft.LoopLabel)){const e=o,n=[];i.add(o.id);for(const i of e.antecedents){const e=t(i,s);for(const t of e)n.some((e=>Ao(e,t)))||n.push(t)}return i.delete(o.id),n}return E("Unexpected flow node flags"),r}{const n=o,r=n.expression,a=0!=(o.flags&ft.TrueCondition);if(9===r.nodeType&&38===r.leftExpression.nodeType&&"isinstance"===r.leftExpression.value&&2===r.arguments.length){const c=r.arguments[0].valueExpression;if(l(e.getTypeOfExpression(c).type,s)){i.add(o.id);const l=t(n.antecedent,s);i.delete(o.id);const c=r.arguments[1].valueExpression,u=e.getTypeOfExpression(c,void 0,168).type;if(_o(u))return l.filter((e=>Zs.isSameGenericClass(e,u)?a:!a))}}o=n.antecedent}}}}(t,n);return 1===s.length?s[0]:void 0}}}(li,c);return li}class Xu{constructor(e){this.importName=e,this.isAccessed=!1}}class ep extends Xu{constructor(e,t,n){super(e),this.alias=t,this.symbol=n}}class tp extends Xu{constructor(e,t,n){super(e),this.isWildcardImport=t,this.node=n,this.symbols=[]}addSymbol(e,t,n,i=!1){this.symbols.find((e=>e.name===t))||this.symbols.push({symbol:e,name:t,alias:n,isAccessed:i})}}class np extends _r{constructor(e,t){super(),this._accessedImportedSymbols=e,this._treatStringsAsSymbols=t}analyze(e){this.walk(e)}walk(e){zt(e)||super.walk(e)}visitName(e){return this._accessedImportedSymbols.set(e.value,!0),!0}visitMemberAccess(e){const t=this._getRecursiveModuleAccessExpression(e.leftExpression);return t&&this._accessedImportedSymbols.set(`${t}.${e.memberName.value}`,!0),!0}visitString(e){return this._treatStringsAsSymbols&&this._accessedImportedSymbols.set(e.value,!0),!0}_getRecursiveModuleAccessExpression(e){if(38===e.nodeType)return e.value;if(35===e.nodeType){const t=this._getRecursiveModuleAccessExpression(e.leftExpression);if(!t)return;return`${t}.${e.memberName.value}`}}}class ip extends _r{constructor(e,t,n){super(),this._stubPath=e,this._sourceFile=t,this._evaluator=n,this._indentAmount=0,this._includeAllImports=!1,this._typeStubText="",this._lineEnd="\n",this._tab=" ",this._classNestCount=0,this._functionNestCount=0,this._ifNestCount=0,this._emittedSuite=!1,this._emitDocString=!0,this._trackedImportAs=new Map,this._trackedImportFrom=new Map,this._accessedImportedSymbols=new Map,this._stubPath.endsWith("__init__.pyi")&&(this._includeAllImports=!0)}write(){const e=this._sourceFile.getParseResults();this._lineEnd=e.tokenizerOutput.predominantEndOfLineSequence,this._tab=e.tokenizerOutput.predominantTabSequence,this.walk(e.parseTree),this._writeFile()}walk(e){zt(e)||super.walk(e)}visitClass(e){const t=e.name.value;this._emittedSuite=!0,this._emitDocString=!0,this._emitDecorators(e.decorators);let n=`class ${t}`;const i=e.arguments.filter((e=>void 0!==e.name||0!==e.argumentCategory||38!==e.valueExpression.nodeType||"object"!==e.valueExpression.value));return i.length>0&&(n+=`(${i.map((e=>{let t="";return e.name&&(t=e.name.value+"="),t+=this._printExpression(e.valueExpression),t})).join(", ")})`),n+=":",this._emitLine(n),this._emitSuite((()=>{this._classNestCount++,this.walk(e.suite),this._classNestCount--})),this._emitLine(""),this._emitLine(""),!1}visitFunction(e){const t=e.name.value;if(0===this._functionNestCount&&!Yt(t)){this._emittedSuite=!0,this._emitDocString=!0,this._emitDecorators(e.decorators);let n,i=e.isAsync?"async ":"";if(i+=`def ${t}`,i+=`(${e.parameters.map(((t,n)=>this._printParameter(t,e,n))).join(", ")})`,e.returnTypeAnnotation?n=this._printExpression(e.returnTypeAnnotation,!0):e.functionAnnotationComment?n=this._printExpression(e.functionAnnotationComment.returnTypeAnnotation,!0):"__init__"===e.name.value?n="None":"__str__"===e.name.value?n="str":["__int__","__hash__"].some((t=>t===e.name.value))?n="int":["__eq__","__ne__","__gt__","__lt__","__ge__","__le__"].some((t=>t===e.name.value))&&(n="bool"),n&&(i+=" -> "+n),i+=":",!n){const t=this._evaluator.getTypeOfFunction(e);if(t&&Eo(t.functionType)){let e=this._evaluator.getFunctionInferredReturnType(t.functionType);e=Po(e),ao(e)||po(e)||(i+=` # -> ${this._evaluator.printType(e,!1)}:`)}}this._emitLine(i),this._emitSuite((()=>{this._functionNestCount++,this.walk(e.suite),this._functionNestCount--})),this._emitLine("")}return!1}visitWhile(e){return this._emitDocString=!1,!1}visitFor(e){return this._emitDocString=!1,!1}visitTry(e){return this._emitDocString=!1,!1}visitWith(e){return this._emitDocString=!1,!1}visitIf(e){if(this._emitDocString=!1,0===this._functionNestCount&&0===this._ifNestCount){this._ifNestCount++,this._emittedSuite=!0,this._emitLine("if "+this._printExpression(e.testExpression)+":"),this._emitSuite((()=>{this.walkMultiple(e.ifSuite.statements)}));const t=e.elseSuite;t&&(this._emitLine("else:"),this._emitSuite((()=>{19===t.nodeType?this.walkMultiple([t.testExpression,t.ifSuite,t.elseSuite]):this.walkMultiple(t.statements)}))),this._ifNestCount--}return!1}visitAssignment(e){let t=!1,n="";if(38===e.leftExpression.nodeType){if("__all__"===e.leftExpression.value)return 0===this._functionNestCount&&0===this._ifNestCount&&(this._emittedSuite=!0,n=this._printExpression(e.leftExpression),n+=" = ",n+=this._printExpression(e.rightExpression),this._emitLine(n)),!1;if(0===this._functionNestCount){n=this._printExpression(e.leftExpression),e.typeAnnotationComment&&(n+=": "+this._printExpression(e.typeAnnotationComment,!0));const i=this._evaluator.getType(e.leftExpression);if(null==i?void 0:i.typeAliasInfo)t=!0;else if(9===e.rightExpression.nodeType){const n=this._evaluator.getType(e.rightExpression.leftExpression);n&&_o(n)&&Zs.isBuiltIn(n,["TypeVar","TypeVarTuple","ParamSpec","NewType"])&&(t=!0)}}}else if(54===e.leftExpression.nodeType){const t=e.leftExpression.valueExpression;38===t.nodeType&&0===this._functionNestCount&&(n=`${this._printExpression(t)}: ${this._printExpression(e.leftExpression.typeAnnotation,!0)}`)}return n&&(this._emittedSuite=!0,n+=" = ",n+=t?this._printExpression(e.rightExpression):"...",this._emitLine(n)),!1}visitAugmentedAssignment(e){if(38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value&&1===e.operator&&0===this._functionNestCount&&0===this._ifNestCount){let t=this._printExpression(e.leftExpression);t+=" += ",t+=this._printExpression(e.rightExpression),this._emitLine(t)}return!1}visitTypeAnnotation(e){if(0===this._functionNestCount){let t="";if(38===e.valueExpression.nodeType)t=this._printExpression(e.valueExpression);else if(35===e.valueExpression.nodeType){const n=e.valueExpression.leftExpression;38===n.nodeType&&"self"===n.value&&(Yt(e.valueExpression.memberName.value)||(t=this._printExpression(e.valueExpression)))}t&&(t+=": "+this._printExpression(e.typeAnnotation,!0),this._emitLine(t))}return!1}visitImport(e){if(this._functionNestCount>0||this._classNestCount>0)return!1;const t=zs(e);return t&&e.list.forEach((e=>{const n=this._printModuleName(e.module);if(!this._trackedImportAs.has(n)){const i=e.alias?e.alias.value:e.module.nameParts.length>0?e.module.nameParts[0].value:"",r=t.lookUpSymbolRecursive(i);if(r){const t=new ep(n,e.alias?e.alias.value:void 0,r.symbol);this._trackedImportAs.set(n,t)}}})),!1}visitImportFrom(e){if(this._functionNestCount>0||this._classNestCount>0)return!1;const t=zs(e);if(t){const n=this._printModuleName(e.module);let i=this._trackedImportFrom.get(n);i||(i=new tp(n,e.isWildcardImport,e),this._trackedImportFrom.set(n,i)),e.imports.forEach((e=>{const n=e.alias?e.alias.value:e.name.value,r=t.lookUpSymbolRecursive(n);r&&i.addSymbol(r.symbol,e.name.value,e.alias?e.alias.value:void 0,!1)}))}return!1}visitStatementList(e){return e.statements.length>0&&48===e.statements[0].nodeType&&!this._emittedSuite&&this._emitDocString&&this._emitLine(this._printExpression(e.statements[0])),this._emitDocString=!1,this.walkMultiple(e.statements),!1}_emitSuite(e){this._increaseIndent((()=>{const t=this._emittedSuite;this._emittedSuite=!1,e(),this._emittedSuite||this._emitLine("..."),this._emittedSuite=t}))}_increaseIndent(e){this._indentAmount++,e(),this._indentAmount--}_emitDecorators(e){e.forEach((e=>{this._emitLine("@"+this._printExpression(e.expression))}))}_printHeaderDocString(){return'"""'+this._lineEnd+"This type stub file was generated by pyright."+this._lineEnd+'"""'+this._lineEnd+this._lineEnd}_emitLine(e){for(let e=0;ee.value)).join("."),t}_printParameter(e,t,n){let i="";1===e.category?i+="*":2===e.category&&(i+="**"),e.name&&(i+=e.name.value);const r=this._evaluator.getTypeAnnotationForParameter(t,n);let s="";return r&&(s=this._printExpression(r,!0)),s&&(i+=": "+s),e.defaultValue&&(i+=s?" = ...":"=..."),i}_printExpression(e,t=!1,n=!1){return new np(this._accessedImportedSymbols,n).analyze(e),xr(e,t?1:0)}_printTrackedImports(){let e="",t=!1;return this._trackedImportAs.forEach((n=>{this._accessedImportedSymbols.get(n.alias||n.importName)&&(n.isAccessed=!0),(n.isAccessed||this._includeAllImports)&&(e+=`import ${n.importName}`,n.alias&&(e+=` as ${n.alias}`),e+=this._lineEnd,t=!0)})),this._trackedImportFrom.forEach((n=>{n.symbols.forEach((e=>{this._accessedImportedSymbols.get(e.alias||e.name)&&(e.isAccessed=!0)})),n.isWildcardImport&&(e+=`from ${n.importName} import *`+this._lineEnd,t=!0);const i=n.symbols.filter((e=>e.isAccessed||this._includeAllImports)).sort(((e,t)=>e.namet.name?1:0));i.length>0&&(e+=`from ${n.importName} import `,e+=i.map((e=>{let t=e.name;return e.alias&&(t+=" as "+e.alias),t})).join(", "),e+=this._lineEnd,t=!0)})),t&&(e+=this._lineEnd),e}_writeFile(){let e=this._printHeaderDocString();e+=this._printTrackedImports(),e+=this._typeStubText,this._sourceFile.fileSystem.writeFileSync(this._stubPath,e,"utf8")}}class rp{constructor(e,t,n,i,r,s){this._extension=i,this._disableChecker=s,this._sourceFileList=[],this._sourceFileMap=new Map,this._parsedFileCount=0,this._lookUpImport=e=>{var t;let n;if("string"==typeof e)n=this._getSourceFileInfoFromPath(e);else{const t=this._importResolver.resolveImport(e.importingFilePath,this._configOptions.findExecEnvironment(e.importingFilePath),{leadingDots:0,nameParts:e.nameParts,importedSymbols:void 0});if(t.isImportFound&&!t.isNativeLib&&t.resolvedPaths.length>0){let e=t.resolvedPaths[t.resolvedPaths.length-1];e&&(n=this._getSourceFileInfoFromPath(e),n||(e=ke(this._fs,e),this.addTrackedFile(e),n=this._getSourceFileInfoFromPath(e)))}}if(!n)return;n.sourceFile.isBindingRequired()&&Fn.typeCheckerTime.subtractFromTime((()=>{this._bindFile(n)}));const i=n.sourceFile.getModuleSymbolTable();if(!i)return;const r=n.sourceFile.getParseResults(),s=r.parseTree,o=Wt(r.parseTree);return{symbolTable:i,dunderAllNames:null==o?void 0:o.names,usesUnsupportedDunderAllForm:null!==(t=null==o?void 0:o.usesUnsupportedDunderAllForm)&&void 0!==t&&t,get docString(){return Vr(s.statements)}}},this._console=n||new Un,this._logTracker=null!=r?r:new Bn(n,"FG"),this._importResolver=e,this._configOptions=t,this._createNewEvaluator()}get evaluator(){return this._evaluator}setConfigOptions(e){this._configOptions=e,this._createNewEvaluator()}setImportResolver(e){this._importResolver=e,this._createNewEvaluator()}setTrackedFiles(e){if(this._sourceFileList.length>0){const t=new Map;e.forEach((e=>{t.set(ke(this._fs,e),e)})),this._sourceFileList.forEach((e=>{const n=ke(this._fs,e.sourceFile.getFilePath());t.has(n)||(e.isTracked=!1)}))}return this.addTrackedFiles(e),this._removeUnneededFiles()}setPreCheckCallback(e){this._preCheckCallback=e}setAllowedThirdPartyImports(e){this._allowedThirdPartyImports=e}addTrackedFiles(e,t=!1,n=!1){e.forEach((e=>{this.addTrackedFile(e,t,n)}))}addTrackedFile(e,t=!1,n=!1){let i=this._getSourceFileInfoFromPath(e);if(i)return i.isTracked=!0,i.sourceFile;const r=this._getImportNameForFile(e),s=new Ru(this._fs,e,r,t,n,this._console,this._logTracker);return i={sourceFile:s,isTracked:!0,isOpenByClient:!1,isTypeshedFile:!1,isThirdPartyImport:t,isThirdPartyPyTypedPresent:n,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(i),s}setFileOpened(e,t,n,i){var r,s;let o=this._getSourceFileInfoFromPath(e);if(o)o.isOpenByClient=!0,o.diagnosticsVersion=0;else{const t=this._getImportNameForFile(e),n=new Ru(this._fs,e,t,!1,!1,this._console,this._logTracker,null!==(r=null==i?void 0:i.ipythonMode)&&void 0!==r&&r),a=null==i?void 0:i.chainedFilePath;o={sourceFile:n,isTracked:null!==(s=null==i?void 0:i.isTracked)&&void 0!==s&&s,chainedSourceFile:a?this._getSourceFileInfoFromPath(a):void 0,isOpenByClient:!0,isTypeshedFile:!1,isThirdPartyImport:!1,isThirdPartyPyTypedPresent:!1,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(o)}o.sourceFile.setClientVersion(t,n)}setFileClosed(e){const t=this._getSourceFileInfoFromPath(e);return t&&(t.isOpenByClient=!1,t.sourceFile.setClientVersion(null,[]),t.sourceFile.didContentsChangeOnDisk()&&(t.sourceFile.markDirty(),this._markFileDirtyRecursive(t,new Map))),this._removeUnneededFiles()}markAllFilesDirty(e,t=!0){const n=new Map;this._sourceFileList.forEach((i=>{e?i.sourceFile.markDirty(t):i.sourceFile.didContentsChangeOnDisk()&&(i.sourceFile.markDirty(t),this._markFileDirtyRecursive(i,n))})),n.size>0&&this._createNewEvaluator()}markFilesDirty(e,t,n=!0){const i=new Map;e.forEach((e=>{const r=this._getSourceFileInfoFromPath(e);if(r){const s=de(e);if("builtins.pyi"===s||"__builtins__.pyi"===s)return void this.markAllFilesDirty(t,n);(t||!r.isOpenByClient&&r.sourceFile.didContentsChangeOnDisk())&&(r.sourceFile.markDirty(n),this._markFileDirtyRecursive(r,i))}})),i.size>0&&this._createNewEvaluator()}getFileCount(){return this._sourceFileList.length}getTracked(){return this._sourceFileList.filter((e=>e.isTracked))}getOpened(){return this._sourceFileList.filter((e=>e.isOpenByClient))}getFilesToAnalyzeCount(){let e=0;return this._disableChecker||this._sourceFileList.forEach((t=>{t.sourceFile.isCheckingRequired()&&this._shouldCheckFile(t)&&e++})),e}isCheckingOnlyOpenFiles(){return this._configOptions.checkOnlyOpenFiles||!1}getSourceFile(e){const t=this._getSourceFileInfoFromPath(e);if(t)return t.sourceFile}getBoundSourceFile(e){const t=this._getSourceFileInfoFromPath(e);if(t)return this._bindFile(t),this.getSourceFile(e)}analyze(e,t=ot.CancellationToken.None){return this._runEvaluatorWithCancellationToken(t,(()=>{const t=new Pn,n=this._sourceFileList.filter((e=>e.isOpenByClient&&e.sourceFile.isCheckingRequired()));if(n.length>0){const i=e?e.openFilesTimeInMs:Number.MAX_VALUE;for(const e of n)if(this._checkTypes(e)&&t.getDurationInMilliseconds()>i)return!0;if(void 0!==e)return!0}if(!this._configOptions.checkOnlyOpenFiles){const n=e?e.noOpenFilesTimeInMs:Number.MAX_VALUE;for(const e of this._sourceFileList)if(this._isUserCode(e)&&this._checkTypes(e)&&t.getDurationInMilliseconds()>n)return!0}return!1}))}indexWorkspace(e,t){return this._configOptions.indexing?this._runEvaluatorWithCancellationToken(t,(()=>{const i=new Set;for(const e of this._sourceFileList)e.sourceFile.isParseRequired()||i.add(e);let r=0;for(const s of this._sourceFileList){if(!this._isUserCode(s)||!s.sourceFile.isIndexingRequired())continue;this._bindFile(s);const o=s.sourceFile.index({indexingForAutoImportMode:!1},t);if(o){if(++r>2e3)return this._console.warn("Workspace indexing has hit its upper limit: 2000 files"),n(this._sourceFileList,i),r;e(s.sourceFile.getFilePath(),o)}this._handleMemoryHighUsage()}return n(this._sourceFileList,i),r})):0;function n(e,t){for(const n of e)n.sourceFile.isParseRequired()||t.has(n)||n.sourceFile.dropParseAndBindInfo()}}printDependencies(e,t){const n=this._sourceFileList.filter((e=>!e.isTypeshedFile)).sort(((e,t)=>e.sourceFile.getFilePath(){this._console.info("");let r=n.sourceFile.getFilePath();const s=Y(r,e);s&&(r=s),this._console.info(`${r}`),this._console.info(` Imports ${n.imports.length} file`+(1===n.imports.length?"":"s")),t&&n.imports.forEach((e=>{this._console.info(` ${e.sourceFile.getFilePath()}`)})),this._console.info(` Imported by ${n.importedBy.length} file`+(1===n.importedBy.length?"":"s")),t&&n.importedBy.forEach((e=>{this._console.info(` ${e.sourceFile.getFilePath()}`)})),0===n.importedBy.length&&i.push(n.sourceFile)})),i.length>0&&(this._console.info(""),this._console.info(`${i.length} file${1===i.length?"":"s"} not explicitly imported`),i.forEach((e=>{this._console.info(` ${e.getFilePath()}`)})))}writeTypeStub(e,t,n,i){for(const r of this._sourceFileList){ct(i);const s=Y(r.sourceFile.getFilePath(),e);if(void 0!==s){let e=me(te(n,s));e=t?te($(e),"__init__.pyi"):he(e)+".pyi";const o=$(e);try{Q(this._fs,o,n)}catch(e){throw new Error(`Could not create directory for '${o}'`)}this._bindFile(r),this._runEvaluatorWithCancellationToken(i,(()=>{new ip(e,r.sourceFile,this._evaluator).write()})),this._handleMemoryHighUsage()}}}getTypeForSymbol(e){return this._handleMemoryHighUsage(),(this._evaluator||this._createNewEvaluator()).getEffectiveTypeOfSymbol(e)}printType(e,t){return this._handleMemoryHighUsage(),(this._evaluator||this._createNewEvaluator()).printType(e,t)}static _getPrintTypeFlags(e){let t=0;return e.diagnosticRuleSet.printUnknownAsAny&&(t|=1),e.diagnosticRuleSet.omitConditionalConstraint&&(t|=64),e.diagnosticRuleSet.omitTypeArgsIfAny&&(t|=2),e.diagnosticRuleSet.omitUnannotatedParamType&&(t|=4),e.diagnosticRuleSet.pep604Printing&&(t|=8),t}get _fs(){return this._importResolver.fileSystem}_getImportNameForFile(e){return this._importResolver.getModuleNameForImport(e,this._configOptions.getDefaultExecEnvironment()).moduleName}_addShadowedFile(e,t){let n=this._getSourceFileInfoFromPath(t);if(!n){const e=this._getImportNameForFile(t);n={sourceFile:new Ru(this._fs,t,e,!1,!1,this._console,this._logTracker),isTracked:!1,isOpenByClient:!1,isTypeshedFile:!1,isThirdPartyImport:!1,isThirdPartyPyTypedPresent:!1,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(n)}return n.shadows.includes(e)||n.shadows.push(e),e.shadowedBy.includes(n)||e.shadowedBy.push(n),n.sourceFile}_createNewEvaluator(){return this._evaluator=function(e,t,n,i){if(!t.logCalls&&o())return Zu(e,t);function r(e,r,s){return t.logCalls?n.log(e,(e=>(e.add(null==i?void 0:i.print(s)),Fn.typeEvaluationTime.timeOperation(r))),t.minimumLoggingThreshold,!0):Fn.typeEvaluationTime.timeOperation(r)}const s=Zu(t.logCalls?r=>n.log("import lookup",(t=>(t.add(null==i?void 0:i.printFileOrModuleName(r)),e(r))),t.minimumLoggingThreshold,!0):e,t);return{runWithCancellationToken:s.runWithCancellationToken,getType:e=>r("getType",(()=>s.getType(e)),e),getTypeOfExpression:(e,t,n)=>r("getTypeOfExpression",(()=>s.getTypeOfExpression(e,t,n)),e),getTypeOfAnnotation:s.getTypeOfAnnotation,getTypeOfClass:e=>r("getTypeOfClass",(()=>s.getTypeOfClass(e)),e),getTypeOfFunction:e=>r("getTypeOfFunction",(()=>s.getTypeOfFunction(e)),e),getTypeForExpressionExpectingType:s.getTypeForExpressionExpectingType,evaluateTypeForSubnode:s.evaluateTypeForSubnode,evaluateTypesForStatement:e=>r("evaluateTypesForStatement",(()=>s.evaluateTypesForStatement(e)),e),evaluateTypesForMatchNode:s.evaluateTypesForMatchNode,evaluateTypesForCaseNode:s.evaluateTypesForCaseNode,evaluateTypeOfParameter:s.evaluateTypeOfParameter,canBeTruthy:s.canBeTruthy,canBeFalsy:s.canBeFalsy,removeTruthinessFromType:s.removeTruthinessFromType,removeFalsinessFromType:s.removeFalsinessFromType,getExpectedType:e=>r("getExpectedType",(()=>s.getExpectedType(e)),e),verifyRaiseExceptionType:e=>r("verifyRaiseExceptionType",(()=>s.verifyRaiseExceptionType(e)),e),verifyDeleteExpression:e=>r("verifyDeleteExpression",(()=>s.verifyDeleteExpression(e)),e),isAfterNodeReachable:e=>r("isAfterNodeReachable",(()=>s.isAfterNodeReachable(e)),e),isNodeReachable:(e,t)=>r("isNodeReachable",(()=>s.isNodeReachable(e,t)),e),isAsymmetricDescriptorAssignment:s.isAsymmetricDescriptorAssignment,suppressDiagnostics:(e,t)=>r("suppressDiagnostics",(()=>s.suppressDiagnostics(e,t))),getDeclarationsForNameNode:e=>r("getDeclarationsForNameNode",(()=>s.getDeclarationsForNameNode(e)),e),getTypeForDeclaration:e=>r("getTypeForDeclaration",(()=>s.getTypeForDeclaration(e)),e),resolveAliasDeclaration:(e,t,n)=>r("resolveAliasDeclaration",(()=>s.resolveAliasDeclaration(e,t,n)),e),resolveAliasDeclarationWithInfo:(e,t,n)=>r("resolveAliasDeclarationWithInfo",(()=>s.resolveAliasDeclarationWithInfo(e,t,n)),e),getTypeFromIterable:(e,t,n)=>r("getTypeFromIterable",(()=>s.getTypeFromIterable(e,t,n)),e),getTypeFromIterator:(e,t,n)=>r("getTypeFromIterator",(()=>s.getTypeFromIterator(e,t,n)),e),getGetterTypeFromProperty:(e,t)=>r("getGetterTypeFromProperty",(()=>s.getGetterTypeFromProperty(e,t)),e),getTypeForArgument:s.getTypeForArgument,markNamesAccessed:(e,t)=>r("markNamesAccessed",(()=>s.markNamesAccessed(e,t)),e),getScopeIdForNode:s.getScopeIdForNode,makeTopLevelTypeVarsConcrete:e=>r("makeTopLevelTypeVarsConcrete",(()=>s.makeTopLevelTypeVarsConcrete(e)),e),mapSubtypesExpandTypeVars:s.mapSubtypesExpandTypeVars,populateTypeVarMapBasedOnExpectedType:s.populateTypeVarMapBasedOnExpectedType,lookUpSymbolRecursive:s.lookUpSymbolRecursive,getDeclaredTypeOfSymbol:s.getDeclaredTypeOfSymbol,getEffectiveTypeOfSymbol:e=>r("getEffectiveTypeOfSymbol",(()=>s.getEffectiveTypeOfSymbol(e)),e),getEffectiveTypeOfSymbolForUsage:(e,t,n)=>r("getEffectiveTypeOfSymbolForUsage",(()=>s.getEffectiveTypeOfSymbolForUsage(e,t,n)),e),getInferredTypeOfDeclaration:s.getInferredTypeOfDeclaration,getDeclaredTypeForExpression:s.getDeclaredTypeForExpression,getFunctionDeclaredReturnType:e=>r("getFunctionDeclaredReturnType",(()=>s.getFunctionDeclaredReturnType(e)),e),getFunctionInferredReturnType:(e,t)=>r("getFunctionInferredReturnType",(()=>s.getFunctionInferredReturnType(e,t)),e),getBestOverloadForArguments:(e,t,n)=>s.getBestOverloadForArguments(e,t,n),getBuiltInType:(e,t)=>r("getBuiltInType",(()=>s.getBuiltInType(e,t)),e),getTypeOfMember:e=>r("getTypeOfMember",(()=>s.getTypeOfMember(e)),e.symbol),getTypeFromObjectMember:s.getTypeFromObjectMember,getBoundMethod:s.getBoundMethod,getTypeFromMagicMethodReturn:s.getTypeFromMagicMethodReturn,bindFunctionToClassOrObject:s.bindFunctionToClassOrObject,getCallSignatureInfo:(e,t,n)=>r("getCallSignatureInfo",(()=>s.getCallSignatureInfo(e,t,n)),e),getTypeAnnotationForParameter:(e,t)=>r("getTypeAnnotationForParameter",(()=>s.getTypeAnnotationForParameter(e,t)),e),getAbstractMethods:e=>r("getAbstractMethods",(()=>s.getAbstractMethods(e)),e),narrowConstrainedTypeVar:s.narrowConstrainedTypeVar,canAssignType:(e,t,n,i,o)=>r("canAssignType",(()=>s.canAssignType(e,t,n,i,o)),e),canOverrideMethod:(e,t,n,i)=>r("canOverrideMethod",(()=>s.canOverrideMethod(e,t,n,i)),t),canAssignProtocolClassToSelf:(e,t)=>r("canAssignProtocolClassToSelf",(()=>s.canAssignProtocolClassToSelf(e,t))),assignTypeToExpression:s.assignTypeToExpression,getBuiltInObject:s.getBuiltInObject,getTypingType:s.getTypingType,inferReturnTypeIfNecessary:s.inferReturnTypeIfNecessary,addError:(e,t)=>r("addError",(()=>s.addError(e,t)),t),addWarning:(e,t)=>r("addWarning",(()=>s.addWarning(e,t)),t),addInformation:(e,t)=>r("addInformation",(()=>s.addInformation(e,t)),t),addUnusedCode:(e,t)=>r("addUnusedCode",(()=>s.addUnusedCode(e,t)),e),addDeprecated:(e,t)=>r("addDeprecated",(()=>s.addDeprecated(e,t)),t),addDiagnostic:(e,t,n,i)=>r("addDiagnostic",(()=>s.addDiagnostic(e,t,n,i)),i),addDiagnosticForTextRange:(e,t,n,i,o)=>r("addDiagnosticForTextRange",(()=>s.addDiagnosticForTextRange(e,t,n,i,o))),printType:(e,t)=>r("printType",(()=>s.printType(e,t)),e),printFunctionParts:e=>r("printFunctionParts",(()=>s.printFunctionParts(e)),e),getTypeCacheSize:s.getTypeCacheSize,useSpeculativeMode:s.useSpeculativeMode,setTypeForNode:s.setTypeForNode,checkForCancellation:s.checkForCancellation}}(this._lookUpImport,{printTypeFlags:rp._getPrintTypeFlags(this._configOptions),logCalls:this._configOptions.logTypeEvaluationTime,minimumLoggingThreshold:this._configOptions.typeEvaluationTimeThreshold,analyzeUnannotatedFunctions:this._configOptions.analyzeUnannotatedFunctions,evaluateUnknownImportsAsAny:!!this._configOptions.evaluateUnknownImportsAsAny,verifyTypeCacheEvaluatorFlags:!!this._configOptions.internalTestMode},this._logTracker,this._configOptions.logTypeEvaluationTime?Fu(this._importResolver.getImportRoots(this._configOptions.findExecEnvironment(this._configOptions.projectRoot))):void 0),this._evaluator}_parseFile(e,t){if(this._isFileNeeded(e)&&e.sourceFile.isParseRequired()&&(e.sourceFile.parse(this._configOptions,this._importResolver,t)&&(this._parsedFileCount++,this._updateSourceFileImports(e,this._configOptions)),e.sourceFile.isFileDeleted())){e.isTracked=!1;const t=new Map;this._markFileDirtyRecursive(e,t),this._importResolver.invalidateCache()}}_bindFile(e,t){var n,i;if(!this._isFileNeeded(e)||!e.sourceFile.isBindingRequired())return;this._parseFile(e,t);const r=t=>{if(!t||t===e)return;if(this._bindFile(t),t.sourceFile.isFileDeleted())return;const n=t.sourceFile.getParseResults();if(!n)return;const i=Ft(n.parseTree);return w(void 0!==i),i};let s;e.builtinsImport&&e.builtinsImport!==e&&(s=null!==(i=null!==(n=r(e.chainedSourceFile))&&void 0!==n?n:r(e.ipythonDisplayImport))&&void 0!==i?i:r(e.builtinsImport)),e.sourceFile.bind(this._configOptions,this._lookUpImport,s)}_buildModuleSymbolsMap(e,t,n,i){return function(e,t,n){const i=new Map;return ct(n),e.forEach((e=>{if(e.shadows.length>0)return;const n=e.sourceFile.getFilePath(),r=e.sourceFile.getModuleSymbolTable();if(r){if(Yt(he(de(n))))return;return void i.set(n,{forEach(e){r.forEach(((t,n)=>{if(t.isExternallyHidden())return;const i=t.getDeclarations();if(!i||0===i.length)return;const r=i[0];if(!r)return;if(6===r.type)return;const s=1!==r.type||r.isConstant||r.isFinal?void 0:ot.SymbolKind.Variable;e({symbol:t,kind:s},n,!1)}))}})}const s=e.sourceFile.getCachedIndexResults();s&&t&&!s.privateOrProtected&&i.set(n,Gl(s,!1))})),i}(this._sourceFileList.filter((n=>n!==e&&(!t||this._isUserCode(n)))),n,i)}_shouldCheckFile(e){return!!e.isOpenByClient||!(this._configOptions.checkOnlyOpenFiles||!e.isTracked)}_checkTypes(e){return this._logTracker.log(`analyzing: ${e.sourceFile.getFilePath()}`,(t=>{if(!this._isFileNeeded(e))return t.suppress(),!1;if(!e.sourceFile.isCheckingRequired())return t.suppress(),!1;if(!this._shouldCheckFile(e))return t.suppress(),!1;if(this._bindFile(e),this._preCheckCallback){const t=e.sourceFile.getParseResults();t&&this._preCheckCallback(t,this._evaluator)}if(this._disableChecker||e.sourceFile.check(this._evaluator),this._handleMemoryHighUsage(),"none"!==this._configOptions.diagnosticRuleSet.reportImportCycles&&!this._allowedThirdPartyImports){const t=new Map;this._getImportsRecursive(e,t,0),t.forEach((e=>{Fn.cycleDetectionTime.timeOperation((()=>{this._detectAndReportImportCycles(e)}))}))}return!0}))}_getImportsRecursive(e,t,n){const i=ke(this._fs,e.sourceFile.getFilePath());if(!t.has(i))if(n>256)e.sourceFile.setHitMaxImportDepth(256);else{t.set(i,e);for(const i of e.imports)this._getImportsRecursive(i,t,n+1)}}_detectAndReportImportCycles(e,t=[],n=new Map){if(e.sourceFile.isStubFile()||e.isThirdPartyImport)return;const i=ke(this._fs,e.sourceFile.getFilePath());if(n.has(i))t.length>1&&e===t[0]&&this._logImportCycle(t);else{if(n.has(i))return;n.set(i,!0),t.push(e);for(const i of e.imports)this._detectAndReportImportCycles(i,t,n);n.set(i,!1),t.pop()}}_logImportCycle(e){const t=new _c;e.forEach((e=>{t.appendPath(e.sourceFile.getFilePath())})),t.normalizeOrder();const n=t.getPaths()[0],i=this._getSourceFileInfoFromPath(n);w(void 0!==i),i.sourceFile.addCircularDependency(t)}_markFileDirtyRecursive(e,t,n=!1){const i=ke(this._fs,e.sourceFile.getFilePath());t.has(i)||(e.sourceFile.markReanalysisRequired(n),t.set(i,!0),e.importedBy.forEach((n=>{const i=n.chainedSourceFile===e;this._markFileDirtyRecursive(n,t,i)})))}getTextOnRange(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;const r=i.sourceFile,s=r.getOpenFileContents();return void 0!==s?this._runEvaluatorWithCancellationToken(n,(()=>{this._parseFile(i);const e=r.getParseResults(),n=Ct(t,e.tokenizerOutput.lines);if(n)return s.substr(n.start,n.length)})):void 0}getAutoImports(e,t,n,i,r,s,o,a){const l=this._getSourceFileInfoFromPath(e);if(!l)return[];const c=l.sourceFile,u=c.getOpenFileContents();return void 0===u?[]:this._runEvaluatorWithCancellationToken(a,(()=>{this._bindFile(l);const p=c.getParseResults(),d=Ct(t,p.tokenizerOutput.lines);if(!d)return[];const h=Tr(p.parseTree,d.start);if(!h)return[];const m=u.substr(d.start,d.length),f=this._buildModuleSymbolsMap(l,!!r,!0,a),g=new Hl(this._configOptions.findExecEnvironment(e),this._importResolver,p,t.start,new $l,f,{lazyEdit:s,allowVariableInAll:o,libraryMap:r,patternMatcher:(e,t)=>function(e,t){if(t.startsWith(e))return 1;const n=t.toLocaleLowerCase(),i=e.toLocaleLowerCase();if(n.startsWith(i))return.75;let r=n.length,s=Number.MAX_VALUE;for(;r>0;){const e=F()(n.substr(0,r),i);e=e.length?0:(e.length-s)/e.length*.5}(e,t)>n}),y=[],_=zs(h);if(_){const e=null==i?void 0:i.get(m);e&&y.push(...g.getAutoImportCandidatesForAbbr(m,e,a)),y.push(...g.getAutoImportCandidates(m,n,void 0,a).filter((e=>!_.lookUpSymbolRecursive(e.name))))}return y}))}getDiagnostics(e){const t=this._removeUnneededFiles();return this._sourceFileList.forEach((n=>{if(this._shouldCheckFile(n)){const i=n.sourceFile.getDiagnostics(e,n.diagnosticsVersion);void 0!==i&&(t.push({filePath:n.sourceFile.getFilePath(),version:n.sourceFile.getClientVersion(),diagnostics:i}),n.diagnosticsVersion=n.sourceFile.getDiagnosticVersion())}else!n.isOpenByClient&&e.checkOnlyOpenFiles&&void 0!==n.diagnosticsVersion&&(t.push({filePath:n.sourceFile.getFilePath(),version:n.sourceFile.getClientVersion(),diagnostics:[]}),n.diagnosticsVersion=void 0)})),t}getDiagnosticsForRange(e,t){const n=this.getSourceFile(e);if(!n)return[];const i=n.getDiagnostics(this._configOptions);return i?i.filter((e=>yt(e.range,t))):[]}getDefinitionsForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getDefinitionsForPosition(this._createSourceMapper(s),t,n,this._evaluator,i)}))}getTypeDefinitionsForPosition(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e);return i.sourceFile.getTypeDefinitionsForPosition(this._createSourceMapper(r,!1,!0),t,this._evaluator,e,n)}))}reportReferencesForPosition(e,t,n,i,r){this._runEvaluatorWithCancellationToken(r,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;const o=this._isUserCode(s);this._bindFile(s);const a=this._configOptions.findExecEnvironment(e),l=s.sourceFile.getDeclarationForPosition(this._createSourceMapper(a),t,this._evaluator,i,r);if(l)if(l.requiresGlobalSearch){for(const e of this._sourceFileList)if(ct(r),e.isOpenByClient||!o||this._isUserCode(e)){const t=e.sourceFile.getFileContent();(!t||t.search(l.symbolName)>=0)&&(this._bindFile(e),e.sourceFile.addReferences(l,n,this._evaluator,r)),this._handleMemoryHighUsage()}if(n)for(const e of l.declarations){if(ct(r),l.locations.some((t=>t.path===e.path)))continue;const t=this._getSourceFileInfoFromPath(e.path);if(!t)continue;const i=new Xl(l.requiresGlobalSearch,l.nodeAtOffset,l.symbolName,l.declarations);t.sourceFile.addReferences(i,n,this._evaluator,r);for(const t of i.locations)t.path===e.path&&_t(e.range,t.range)&&l.addLocations(t)}}else s.sourceFile.addReferences(l,n,this._evaluator,r)}))}getFileIndex(e,t,n){if(!t.indexingForAutoImportMode||!Yt(he(de(e))))return this._handleMemoryHighUsage(),this._runEvaluatorWithCancellationToken(n,(()=>{var i;const r=this._getSourceFileInfoFromPath(e);if(!r)return;const s=null!==(i=r.sourceFile.getFileContent())&&void 0!==i?i:"";return t.indexingForAutoImportMode&&!r.sourceFile.isStubFile()&&!r.sourceFile.isThirdPartyPyTypedPresent()&&s.indexOf("__all__")<0?void 0:(this._bindFile(r,s),r.sourceFile.index(t,n))}))}addSymbolsForDocument(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);i&&(i.sourceFile.getCachedIndexResults()||this._bindFile(i),i.sourceFile.addHierarchicalSymbolsForDocument(t,n))}))}reportSymbolsForWorkspace(e,t,n){this._runEvaluatorWithCancellationToken(n,(()=>{if(e)for(const i of this._sourceFileList){if(!this._isUserCode(i))continue;i.sourceFile.getCachedIndexResults()||this._bindFile(i);const r=i.sourceFile.getSymbolsForDocument(e,n);r.length>0&&t(r),this._handleMemoryHighUsage()}}))}getHoverForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getHoverForPosition(this._createSourceMapper(s,!0),t,n,this._evaluator,i)}))}getDocumentHighlight(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e);return i.sourceFile.getDocumentHighlight(this._createSourceMapper(r),t,this._evaluator,n)}))}getSignatureHelpForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getSignatureHelpForPosition(t,this._createSourceMapper(s,!0),this._evaluator,n,i)}))}async getCompletionsForPosition(e,t,n,i,r,s,o){var a,l;const c=this._getSourceFileInfoFromPath(e);if(!c)return;const u=this._logTracker.log(`completion at ${e}:${t.line}:${t.character}`,(a=>{var l,u;const p=this._runEvaluatorWithCancellationToken(o,(()=>{this._bindFile(c);const a=this._configOptions.findExecEnvironment(e);return c.sourceFile.getCompletionsForPosition(t,n,this._configOptions,this._importResolver,this._lookUpImport,this._evaluator,i,this._createSourceMapper(a,!0),r,s,(()=>this._buildModuleSymbolsMap(c,!!s,!1,o)),o)}));return a.add(`found ${null!==(u=null===(l=null==p?void 0:p.completionMap)||void 0===l?void 0:l.size)&&void 0!==u?u:"null"} items`),p})),p={completionList:Ln.CompletionList.create(null===(a=null==u?void 0:u.completionMap)||void 0===a?void 0:a.toArray()),memberAccessInfo:null==u?void 0:u.memberAccessInfo,autoImportInfo:null==u?void 0:u.autoImportInfo,extensionInfo:null==u?void 0:u.extensionInfo};if(!(null==u?void 0:u.completionMap)||!(null===(l=this._extension)||void 0===l?void 0:l.completionListExtension))return p;const d=c.sourceFile.getParseResults();if((null==d?void 0:d.parseTree)&&(null==d?void 0:d.text)){const e=xt(t,d.tokenizerOutput.lines);void 0!==e&&await this._extension.completionListExtension.updateCompletionResults(p,d,e,o)}return p}resolveCompletionItem(e,t,n,i,r,s){return this._runEvaluatorWithCancellationToken(s,(()=>{const o=this._getSourceFileInfoFromPath(e);if(!o)return;this._bindFile(o);const a=this._configOptions.findExecEnvironment(e);o.sourceFile.resolveCompletionItem(this._configOptions,this._importResolver,this._lookUpImport,this._evaluator,n,this._createSourceMapper(a,!0),i,r,(()=>this._buildModuleSymbolsMap(o,!!r,!1,s)),t,s)}))}renameModule(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{if(ge(this._fs,e)&&!this._getSourceFileInfoFromPath(e))return;const i=gc.createForModule(this._importResolver,this._configOptions,this._evaluator,e,t,n);return i?(this._processModuleReferences(i,i.lastModuleName,e),i.getEdits()):void 0}))}moveSymbolAtPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=r.sourceFile.getParseResults();if(!s)return;const o=xt(n,s.tokenizerOutput.lines);if(void 0===o)return;const a=Tr(s.parseTree,o);if(void 0===a)return;if(38!==a.nodeType)return;const l=this._configOptions.findExecEnvironment(e),c=Ml.getDeclarationsForNode(a,this._evaluator,!1,i,this._createSourceMapper(l)),u=gc.createForSymbol(this._importResolver,this._configOptions,this._evaluator,e,t,c,i);return u?(this._processModuleReferences(u,a.value,e),{edits:u.getEdits(),fileOperations:[]}):void 0}))}renameSymbolAtPosition(e,t,n,i,r){return this._runEvaluatorWithCancellationToken(r,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;this._bindFile(s);const o=this._configOptions.findExecEnvironment(e),a=s.sourceFile.getDeclarationForPosition(this._createSourceMapper(o),t,this._evaluator,void 0,r);if(!a)return;if(m(a.declarations,(e=>{var t;return!(!Gn(e)||e.usesLocalName&&e.node&&22!==e.node.nodeType&&(null===(t=e.node.alias)||void 0===t?void 0:t.value)===a.symbolName)})),0===a.declarations.length)return;if(!i&&a.declarations.some((e=>!this._isUserCode(this._getSourceFileInfoFromPath(e.path)))))return;if(a.requiresGlobalSearch&&!i)for(const e of this._sourceFileList)this._isUserCode(e)&&(this._bindFile(e),e.sourceFile.addReferences(a,!0,this._evaluator,r)),this._handleMemoryHighUsage();else(i||this._isUserCode(s))&&s.sourceFile.addReferences(a,!0,this._evaluator,r);const l=[];return a.locations.forEach((e=>{l.push({filePath:e.path,range:e.range,replacementText:n})})),l}))}getCallForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);return Jl.getCallForDeclaration(s.symbolName,o,this._evaluator,n)}getIncomingCallsForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);let a=[];for(const e of this._sourceFileList)if(this._isUserCode(e)||e.isOpenByClient){this._bindFile(e);const t=Jl.getIncomingCallsForDeclaration(e.sourceFile.getFilePath(),s.symbolName,o,e.sourceFile.getParseResults(),this._evaluator,n);t&&(a=a.concat(...t)),this._handleMemoryHighUsage()}return a}getOutgoingCallsForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);return Jl.getOutgoingCallsForDeclaration(o,i.sourceFile.getParseResults(),this._evaluator,n)}performQuickAction(e,t,n,i){const r=this._getSourceFileInfoFromPath(e);if(r)return this._bindFile(r),r.sourceFile.performQuickAction(t,n,i)}getApiDocs(e,t){const n=[...t,Ln.MarkupKind.PlainText].map((e=>{switch(e){case Ln.MarkupKind.Markdown:return ds;case Ln.MarkupKind.PlainText:return hs;default:return}})).filter(Boolean)[0],i=e=>e?n(e):void 0,r=Object.create(null);for(const t of e){const e={leadingDots:0,nameParts:t.split("."),importedSymbols:[]},n=this._importResolver.resolveImport("",this._configOptions.findExecEnvironment("."),e);if(n.isImportFound){const e=n.resolvedPaths[n.resolvedPaths.length-1];this.addTrackedFiles([e],!0,!1);const s=this.getBoundSourceFile(e);if(s){const e=s.getParseResults().parseTree,n={id:t,name:t,kind:"module",fullName:t,docString:i(Vr(e.statements)),children:[]};r[t]=n;const o=zs(e),a=(e,t,n)=>{n.forEach(((n,r)=>{if(!n.isExternallyHidden()&&!n.isPrivateMember()){const s=this.getTypeForSymbol(n),o=n.getDeclarations(),l=e=>o.some((t=>t.type===e));if(l(4)&&yo(s)){const n=s.details.fullName;e.push({id:n,name:r,children:[],docString:i(s.details.docString),fullName:n,kind:"class",baseClasses:s.details.baseClasses.map((e=>({name:e.details.name,fullName:e.details.fullName}))).filter((e=>"builtins.object"!==e.fullName))}),a(e[e.length-1].children,[...t,r],s.details.fields)}else if(l(3)&&Eo(s)){const t=s.details.fullName;e.push({id:t,name:r,docString:i(s.details.docString),fullName:t,kind:"function",params:this.apiDocsParamsInfo(s)})}else if(l(3)&&ko(s)){let t=1;for(const n of s.overloads){const s=n.details.fullName;e.push({id:`${s}-${t++}`,name:r,docString:i(n.details.docString),fullName:s,kind:"function",params:this.apiDocsParamsInfo(n)})}}else if(l(1)){const n=o.find((e=>1===e.type)),s=[...t,r].join(".");e.push({id:s,name:r,fullName:s,kind:"variable",docString:i(n.docString)})}else if(l(6)&&To(s)){const n=s.moduleName;e.push({id:n,name:r,children:[],docString:i(s.docString),fullName:n,kind:"module"}),a(e[e.length-1].children,[...t,r],s.fields)}}}))};a(n.children,[t],o.symbolTable)}}}return this._removeUnneededFiles(),r}apiDocsParamsInfo(e){return e.details.parameters.map((e=>({name:e.name,defaultValue:e.defaultValueExpression?xr(e.defaultValueExpression,0):void 0,category:0===e.category?"simple":1===e.category?"varargList":"varargDict"})))}test_createSourceMapper(e){return this._createSourceMapper(e,!1)}_processModuleReferences(e,t,n){var i;for(const r of this._sourceFileList){if(!this._isUserCode(r))continue;const s=r.sourceFile.getFilePath(),o=null!==(i=r.sourceFile.getFileContent())&&void 0!==i?i:"";if(s!==n&&o.indexOf(t)<0)continue;this._bindFile(r,o);const a=r.sourceFile.getParseResults();a&&(e.renameReferences(s,a),this._handleMemoryHighUsage())}}_handleMemoryHighUsage(){if(this._evaluator.getTypeCacheSize()>75e4||this._parsedFileCount>1e3){const e={heapUsed:0,rss:1};if(e.heapUsed>.9*e.rss){const t=Math.round(e.rss/1048576),n=Math.round(e.heapUsed/1048576);this._console.info(`Emptying type cache to avoid heap overflow. Used ${n}MB out of ${t}MB`),this._createNewEvaluator(),this._discardCachedParseResults(),this._parsedFileCount=0}}}_discardCachedParseResults(){for(const e of this._sourceFileList)e.sourceFile.dropParseAndBindInfo()}_isUserCode(e){return e&&e.isTracked&&!e.isThirdPartyImport&&!e.isTypeshedFile}_runEvaluatorWithCancellationToken(e,t){try{return e?this._evaluator.runWithCancellationToken(e,t):t()}catch(e){throw e instanceof lt||this._createNewEvaluator(),e}}_removeUnneededFiles(){const e=[];for(let t=0;t{const r=i.importedBy.findIndex((e=>e===n));if(!(r<0||(i.importedBy.splice(r,1),this._isFileNeeded(i)))){const n=this._sourceFileList.findIndex((e=>e===i));n>=0&&n{e.shadows=e.shadows.filter((e=>e!==n))})),n.shadowedBy=[])}return e}_isFileNeeded(e){return!e.sourceFile.isFileDeleted()&&(!(!e.isTracked&&!e.isOpenByClient)||e.shadows.length>0||0!==e.importedBy.length&&this._isImportNeededRecursive(e,new Map))}_isImportNeededRecursive(e,t){if(e.isTracked||e.isOpenByClient||e.shadows.length>0)return!0;const n=ke(this._fs,e.sourceFile.getFilePath());if(t.has(n))return!1;t.set(n,!0);for(const n of e.importedBy)if(this._isImportNeededRecursive(n,t))return!0;return!1}_createSourceMapper(e,t,n){return new Xa(this._importResolver,e,this._evaluator,((e,t)=>{const n=this._getSourceFileInfoFromPath(e);if(n)return this._addShadowedFile(n,t),this.getBoundSourceFile(t)}),(e=>this.getBoundSourceFile(e)),null!=t&&t,null!=n&&n)}_isImportAllowed(e,t,n){if(t.isNativeLib)return!1;let i=this._configOptions.useLibraryCodeForTypes||1===t.importType&&!!t.pyTypedInfo||2===t.importType&&e.isThirdPartyPyTypedPresent;return!((1===t.importType||e.isThirdPartyImport&&2===t.importType)&&(this._allowedThirdPartyImports&&(t.isRelative||this._allowedThirdPartyImports.some((e=>t.importName===e||!!t.importName.startsWith(e+"."))))&&(i=!0),!n))||i}_updateSourceFileImports(e,t){const n=[],i=e.sourceFile.getImports(),r=t=>{let n=!1,i=!1;return 1===t.importType?(n=!0,t.pyTypedInfo&&(i=!0)):e.isThirdPartyImport&&2===t.importType&&(n=!0,e.isThirdPartyPyTypedPresent&&(i=!0)),{isThirdPartyImport:n,isPyTypedPresent:i}},s=new Map;if(e.chainedSourceFile)if(e.chainedSourceFile.sourceFile.isFileDeleted())e.chainedSourceFile=void 0;else{const t=e.chainedSourceFile.sourceFile.getFilePath();s.set(ke(this._fs,t),{path:t,isTypeshedFile:!1,isThirdPartyImport:!1,isPyTypedPresent:!1})}i.forEach((n=>{if(n.isImportFound){if(this._isImportAllowed(e,n,n.isStubFile)&&n.resolvedPaths.length>0){const e=n.resolvedPaths[n.resolvedPaths.length-1];if(e){const t=r(n);s.set(ke(this._fs,e),{path:e,isTypeshedFile:!!n.isTypeshedFile,isThirdPartyImport:t.isThirdPartyImport,isPyTypedPresent:t.isPyTypedPresent})}}n.filteredImplicitImports.forEach((t=>{if(this._isImportAllowed(e,n,t.isStubFile)&&!t.isNativeLib){const e=r(n);s.set(ke(this._fs,t.path),{path:t.path,isTypeshedFile:!!n.isTypeshedFile,isThirdPartyImport:e.isThirdPartyImport,isPyTypedPresent:e.isPyTypedPresent})}}))}else t.verboseOutput&&(this._console.info(`Could not import '${n.importName}' in file '${e.sourceFile.getFilePath()}'`),n.importFailureInfo&&n.importFailureInfo.forEach((e=>{this._console.info(` ${e}`)})))}));const o=new Map;e.imports.forEach((t=>{const n=ke(this._fs,t.sourceFile.getFilePath());s.has(n)?o.set(n,t):t.importedBy=t.importedBy.filter((t=>ke(this._fs,t.sourceFile.getFilePath())!==ke(this._fs,e.sourceFile.getFilePath())))})),s.forEach(((t,i)=>{if(!o.has(i)){let r;if(this._getSourceFileInfoFromPath(t.path))r=this._getSourceFileInfoFromPath(t.path);else{const e=this._getImportNameForFile(t.path);r={sourceFile:new Ru(this._fs,t.path,e,t.isThirdPartyImport,t.isPyTypedPresent,this._console,this._logTracker),isTracked:!1,isOpenByClient:!1,isTypeshedFile:t.isTypeshedFile,isThirdPartyImport:t.isThirdPartyImport,isThirdPartyPyTypedPresent:t.isPyTypedPresent,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(r),n.push(r)}r.importedBy.push(e),o.set(i,r)}})),e.imports=[],s.forEach(((t,n)=>{this._getSourceFileInfoFromPath(n)&&e.imports.push(this._getSourceFileInfoFromPath(n))})),e.builtinsImport=void 0;const a=e.sourceFile.getBuiltinsImport();if(a&&a.isImportFound){const t=a.resolvedPaths[a.resolvedPaths.length-1];e.builtinsImport=this._getSourceFileInfoFromPath(t)}e.ipythonDisplayImport=void 0;const l=e.sourceFile.getIPythonDisplayImport();if(l&&l.isImportFound){const t=l.resolvedPaths[l.resolvedPaths.length-1];e.ipythonDisplayImport=this._getSourceFileInfoFromPath(t)}return n}_getSourceFileInfoFromPath(e){return this._sourceFileMap.get(ke(this._fs,e))}_removeSourceFileFromListAndMap(e,t){this._sourceFileMap.delete(ke(this._fs,e)),this._sourceFileList.splice(t,1)}_addToSourceFileListAndMap(e){const t=ke(this._fs,e.sourceFile.getFilePath());w(!this._sourceFileMap.has(t)),this._sourceFileList.push(e),this._sourceFileMap.set(t,e)}}function sp(e,t){try{const n=e();t.postMessage({kind:"ok",data:n})}catch(e){if(lt.is(e))return void t.postMessage({kind:"cancelled",data:e.message});t.postMessage({kind:"failed",data:`Exception: ${e.message} in ${e.stack}`})}}function op(e){return new Promise(((t,n)=>{e.on("message",(e=>{switch(e.kind){case"ok":t(e.data);break;case"cancelled":n(new lt);break;case"failed":n(e.data);break;default:E(`unknown kind ${e.kind}`)}}))}))}var ap=__webpack_require__(6341);__webpack_require__(198);class lp{static shouldCheck(){const e=Date.now().valueOf();return e-this._lastCheckTimestamp>=5&&(this._lastCheckTimestamp=e,!0)}}lp._lastCheckTimestamp=0;class cp{constructor(e){this.cancellationFilePath=e,this.isCancelled=!1}cancel(){this.isCancelled||(this.isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this._disposeEmitter()))}get isCancellationRequested(){return!!this.isCancelled||(lp.shouldCheck()&&this._pipeExists()&&this.cancel(),this.isCancelled)}get onCancellationRequested(){return this._emitter||(this._emitter=new ot.Emitter),this._emitter.event}dispose(){this._disposeEmitter()}_disposeEmitter(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}_pipeExists(){try{return ap.statSync(this.cancellationFilePath),!0}catch(e){return!1}}}function up(e){return e?new cp(e):ot.CancellationToken.None}function pp(e){return e instanceof cp?e.cancellationFilePath:void 0}function dp(e){return e.diagnostics=e.diagnostics.map((e=>({filePath:e.filePath,version:e.version,diagnostics:hp(e.diagnostics)}))),e}function hp(e){return e.map((e=>{const t=new nl(e.category,e.message,e.range);if(e._actions)for(const n of e._actions)t.addAction(n);if(e._rule&&t.setRule(e._rule),e._relatedInfo)for(const n of e._relatedInfo)t.addRelatedInfo(n.message,n.filePath,n.range);return t}))}class mp{constructor(e,t){this.fileSpecs=[],this.logTypeEvaluationTime=!1,this.typeEvaluationTimeThreshold=50,this.enableAmbientAnalysis=!0,this.analyzeUnannotatedFunctions=!0,this.executionRoot=e,this.fromVsCodeExtension=t}}class fp{constructor(e=null){this._scope=e,this._resolved=!1,this._rejected=!1,this._promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}resolve(e){this._resolve.apply(this._scope?this._scope:this,arguments),this._resolved=!0}reject(e){this._reject.apply(this._scope?this._scope:this,arguments),this._rejected=!0}get promise(){return this._promise}get resolved(){return this._resolved}get rejected(){return this._rejected}get completed(){return this._rejected||this._resolved}}function gp(e=null){return new fp(e)}class yp{static runWithOptions(e,t,n,i,r=!0){const s=function(e,t,n,i,r){var s,o;const a=new mp(t,!0);return a.checkOnlyOpenFiles=n.openFilesOnly,a.useLibraryCodeForTypes=n.useLibraryCodeForTypes,a.typeCheckingMode=n.typeCheckingMode,a.autoImportCompletions=n.autoImportCompletions,a.indexing=n.indexing,a.logTypeEvaluationTime=null!==(s=n.logTypeEvaluationTime)&&void 0!==s&&s,a.typeEvaluationTimeThreshold=null!==(o=n.typeEvaluationTimeThreshold)&&void 0!==o?o:50,a.enableAmbientAnalysis=i,i?(a.watchForSourceChanges=n.watchForSourceChanges,a.watchForLibraryChanges=n.watchForLibraryChanges,a.watchForConfigChanges=n.watchForConfigChanges):(a.watchForSourceChanges=!1,a.watchForLibraryChanges=!1,a.watchForConfigChanges=!1),n.venvPath&&(a.venvPath=te(t||e,n.venvPath)),n.pythonPath&&(gn(n.pythonPath)||(a.pythonPath=te(t||e,n.pythonPath))),n.typeshedPath&&(a.typeshedPath=n.typeshedPath),n.stubPath&&(a.stubPath=n.stubPath),n.logLevel===On.Log&&(a.verboseOutput=!0),r&&(a.typeStubTargetImportName=r),a.autoSearchPaths=n.autoSearchPaths,a.extraPaths=n.extraPaths,a.diagnosticSeverityOverrides=n.diagnosticSeverityOverrides,a}(e,t.rootPath,n,r,i);t.serviceInstance.setOptions(s)}static async cloneService(e,t,n,i,r){const s={workspaceName:"temp workspace for cloned service",rootPath:t.rootPath,rootUri:t.rootUri,serviceInstance:t.serviceInstance.clone("cloned service",i,r),disableLanguageServices:!0,disableOrganizeImports:!0,isInitialized:gp()},o=await e.getSettings(t);return yp.runWithOptions(e.rootPath,s,o,n,!1),s.serviceInstance}}class _p{constructor(e){this._ls=e}async execute(e,t){if(e.arguments&&e.arguments.length>=2){const n=e.arguments[0],i=e.arguments[1],r=e.arguments[2],s=await yp.cloneService(this._ls,await this._ls.getWorkspaceForFile(null!=r?r:n),i,this._ls.createBackgroundAnalysis());try{await s.writeTypeStubInBackground(t),s.dispose();const e=`Type stub was successfully created for '${i}'.`;this._ls.window.showInformationMessage(e),this._ls.reanalyze()}catch(e){if(lt.is(e)){const e=`Type stub creation for '${i}' was canceled`;this._ls.console.error(e)}else{let t="";e instanceof Error&&(t=": "+e.message),t=`An error occurred when creating type stub for '${i}'`+t,this._ls.console.error(t),this._ls.window.showErrorMessage(t)}}}}}class vp{constructor(e){this._ls=e}async execute(e,t){if(e.arguments&&e.arguments.length>=1){const n=e.arguments[0],i=e.arguments.slice(1),r=this._ls.decodeTextDocumentUri(n),s=await this._ls.getWorkspaceForFile(r);return"pyright.organizeimports"===e.command&&s.disableOrganizeImports?[]:function(e,t){if(!t)return{};const n=[];return t.forEach((e=>{n.push({range:e.range,newText:e.replacementText})})),{changes:{[e]:n}}}(n,s.serviceInstance.performQuickAction(r,e.command,i,t))}}}class Tp{constructor(e){this._ls=e}async execute(e){this._ls.restart()}}class bp{constructor(e){this._createStub=new _p(e),this._restartServer=new Tp(e),this._quickAction=new vp(e)}async execute(e,t){switch(e.command){case"pyright.organizeimports":case"pyright.addoptionalforparam":return this._quickAction.execute(e,t);case"pyright.createtypestub":return this._createStub.execute(e,t);case"pyright.restartserver":return this._restartServer.execute(e);default:return new ot.ResponseError(1,"Unsupported command")}}isLongRunningCommand(e){switch(e){case"pyright.createtypestub":return!0;default:return!1}}}class Ip{get kind(){return 2}getPythonSearchPaths(e,t){return null==t||t.push("No access to python executable."),{paths:[],prefix:""}}getPythonVersion(e,t){}getPythonPlatform(e){}}var Sp=__webpack_require__(7256);class xp{constructor(e,t,n,i,r,s,o){this._console=e,this._configOptions=t,this._importResolver=n,this._backgroundAnalysis=r,this._maxAnalysisTime=s,this._disableChecker=o,this._program=new rp(this._importResolver,this._configOptions,this._console,i,void 0,this._disableChecker)}get configOptions(){return this._configOptions}get importResolver(){return this._importResolver}get program(){return this._program}get host(){return this._importResolver.host}get backgroundAnalysis(){return this._backgroundAnalysis}setConfigOptions(e){var t;this._configOptions=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setConfigOptions(e),this._program.setConfigOptions(e)}setImportResolver(e){var t;this._importResolver=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setImportResolver(e),this._program.setImportResolver(e),this._configOptions.getExecutionEnvironments().forEach((e=>this._ensurePartialStubPackages(e)))}setTrackedFiles(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setTrackedFiles(e);const n=this._program.setTrackedFiles(e);this._reportDiagnosticsForRemovedFiles(n)}setAllowedThirdPartyImports(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setAllowedThirdPartyImports(e),this._program.setAllowedThirdPartyImports(e)}setFileOpened(e,t,n,i){var r;null===(r=this._backgroundAnalysis)||void 0===r||r.setFileOpened(e,t,[{text:n}],i),this._program.setFileOpened(e,t,[{text:n}],i)}initializeFileSystem(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.initializeFileSystem(e)}updateOpenFileContents(e,t,n,i){var r;null===(r=this._backgroundAnalysis)||void 0===r||r.setFileOpened(e,t,n,i),this._program.setFileOpened(e,t,n,i),this.markFilesDirty([e],!0)}setFileClosed(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setFileClosed(e);const n=this._program.setFileClosed(e);this._reportDiagnosticsForRemovedFiles(n)}markAllFilesDirty(e,t=!0){var n;null===(n=this._backgroundAnalysis)||void 0===n||n.markAllFilesDirty(e,t),this._program.markAllFilesDirty(e,t)}markFilesDirty(e,t,n=!0){var i;null===(i=this._backgroundAnalysis)||void 0===i||i.markFilesDirty(e,t,n),this._program.markFilesDirty(e,t,n)}setCompletionCallback(e){var t;this._onAnalysisCompletion=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setCompletionCallback(e)}startAnalysis(e){return this._backgroundAnalysis?(this._backgroundAnalysis.startAnalysis(this._indices,e),!1):Mn(this._program,this._maxAnalysisTime,this._configOptions,this._onAnalysisCompletion,this._console,e)}test_setIndexing(e,t){const n=this._getIndices();for(const[t,i]of e)n.setWorkspaceIndex(t,i);for(const[e,i]of t)for(const[t,r]of i)n.setIndex(e,t,r)}startIndexing(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.startIndexing(e,this._configOptions,this.importResolver,this.host.kind,this._getIndices())}refreshIndexing(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.refreshIndexing(this._configOptions,this.importResolver,this.host.kind,this._indices)}cancelIndexing(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.cancelIndexing(this._configOptions)}getIndexing(e){var t;return null===(t=this._indices)||void 0===t?void 0:t.getIndex(this._configOptions.findExecEnvironment(e).root)}async getDiagnosticsForRange(e,t,n){return this._backgroundAnalysis?this._backgroundAnalysis.getDiagnosticsForRange(e,t,n):this._program.getDiagnosticsForRange(e,t)}async writeTypeStub(e,t,n,i){return this._backgroundAnalysis?this._backgroundAnalysis.writeTypeStub(e,t,n,i):(Mn(this._program,void 0,this._configOptions,this._onAnalysisCompletion,this._console,i),this._program.writeTypeStub(e,t,n,i))}invalidateAndForceReanalysis(e,t){var n;t&&this.refreshIndexing(),null===(n=this._backgroundAnalysis)||void 0===n||n.invalidateAndForceReanalysis(e),this._importResolver.invalidateCache(),this._program.markAllFilesDirty(!0,e)}restart(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.restart()}_ensurePartialStubPackages(e){var t;return null===(t=this._backgroundAnalysis)||void 0===t||t.ensurePartialStubPackages(e.root),this._importResolver.ensurePartialStubPackages(e)}_getIndices(){if(!this._indices){const e=this._program,t=new Map;this._indices={setWorkspaceIndex(t,n){var i;null===(i=e.getSourceFile(t))||void 0===i||i.cacheIndexResults(n)},getIndex:e=>t.get(e),setIndex(e,n,i){let r=t.get(e);r||(r=new Map,t.set(e,r)),r.set(n,i)},reset(){t.clear()}}}return this._indices}_reportDiagnosticsForRemovedFiles(e){e.length>0&&!this._backgroundAnalysis&&this._onAnalysisCompletion&&this._onAnalysisCompletion({diagnostics:e,filesInProgram:this._program.getFileCount(),filesRequiringAnalysis:this._program.getFilesToAnalyzeCount(),checkingOnlyOpenFiles:this._program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:0})}}var Cp,wp=__webpack_require__(2125);function Ep(e){return 32===e||9===e||11===e||12===e||160===e||5760===e||e>=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function kp(e){return 10===e||13===e||8232===e||8233===e}function Dp(e){return e>=48&&e<=57}function Ap(e,t,n){void 0===n&&(n=Cp.DEFAULT);var i=function(e,t){void 0===t&&(t=!1);var n=e.length,i=0,r="",s=0,o=16,a=0,l=0,c=0,u=0,p=0;function d(t,n){for(var r=0,s=0;r=48&&o<=57)s=16*s+o-48;else if(o>=65&&o<=70)s=16*s+o-65+10;else{if(!(o>=97&&o<=102))break;s=16*s+o-97+10}i++,r++}return r=n)return s=n,o=17;var t=e.charCodeAt(i);if(Ep(t)){do{i++,r+=String.fromCharCode(t),t=e.charCodeAt(i)}while(Ep(t));return o=15}if(kp(t))return i++,r+=String.fromCharCode(t),13===t&&10===e.charCodeAt(i)&&(i++,r+="\n"),a++,c=i,o=14;switch(t){case 123:return i++,o=1;case 125:return i++,o=2;case 91:return i++,o=3;case 93:return i++,o=4;case 58:return i++,o=6;case 44:return i++,o=5;case 34:return i++,r=function(){for(var t="",r=i;;){if(i>=n){t+=e.substring(r,i),p=2;break}var s=e.charCodeAt(i);if(34===s){t+=e.substring(r,i),i++;break}if(92!==s){if(s>=0&&s<=31){if(kp(s)){t+=e.substring(r,i),p=2;break}p=6}i++}else{if(t+=e.substring(r,i),++i>=n){p=2;break}switch(e.charCodeAt(i++)){case 34:t+='"';break;case 92:t+="\\";break;case 47:t+="/";break;case 98:t+="\b";break;case 102:t+="\f";break;case 110:t+="\n";break;case 114:t+="\r";break;case 116:t+="\t";break;case 117:var o=d(4,!0);o>=0?t+=String.fromCharCode(o):p=4;break;default:p=5}r=i}}return t}(),o=10;case 47:var h=i-1;if(47===e.charCodeAt(i+1)){for(i+=2;i=12&&e<=15);return e}:h,getToken:function(){return o},getTokenValue:function(){return r},getTokenOffset:function(){return s},getTokenLength:function(){return i-s},getTokenStartLine:function(){return l},getTokenStartCharacter:function(){return s-u},getTokenError:function(){return p}}}(e,!1);function r(e){return e?function(){return e(i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter())}:function(){return!0}}function s(e){return e?function(t){return e(t,i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter())}:function(){return!0}}var o=r(t.onObjectBegin),a=s(t.onObjectProperty),l=r(t.onObjectEnd),c=r(t.onArrayBegin),u=r(t.onArrayEnd),p=s(t.onLiteralValue),d=s(t.onSeparator),h=r(t.onComment),m=s(t.onError),f=n&&n.disallowComments,g=n&&n.allowTrailingComma;function y(){for(;;){var e=i.scan();switch(i.getTokenError()){case 4:_(14);break;case 5:_(15);break;case 3:_(13);break;case 1:f||_(11);break;case 2:_(12);break;case 6:_(16)}switch(e){case 12:case 13:f?_(10):h();break;case 16:_(1);break;case 15:case 14:break;default:return e}}}function _(e,t,n){if(void 0===t&&(t=[]),void 0===n&&(n=[]),m(e),t.length+n.length>0)for(var r=i.getToken();17!==r;){if(-1!==t.indexOf(r)){y();break}if(-1!==n.indexOf(r))break;r=y()}}function v(e){var t=i.getTokenValue();return e?p(t):a(t),y(),!0}return y(),17===i.getToken()?!!n.allowEmptyContent||(_(4,[],[]),!1):function e(){switch(i.getToken()){case 3:return function(){c(),y();for(var t=!1;4!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(t||_(4,[],[]),d(","),y(),4===i.getToken()&&g)break}else t&&_(6,[],[]);e()||_(4,[],[4,5]),t=!0}return u(),4!==i.getToken()?_(8,[4],[]):y(),!0}();case 1:return function(){o(),y();for(var t=!1;2!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(t||_(4,[],[]),d(","),y(),2===i.getToken()&&g)break}else t&&_(6,[],[]);(10!==i.getToken()?(_(3,[],[2,5]),0):(v(!1),6===i.getToken()?(d(":"),y(),e()||_(4,[],[2,5])):_(5,[],[2,5]),1))||_(4,[],[2,5]),t=!0}return l(),2!==i.getToken()?_(7,[2],[]):y(),!0}();case 10:return v(!0);default:return function(){switch(i.getToken()){case 11:var e=i.getTokenValue(),t=Number(e);isNaN(t)&&(_(2),t=0),p(t);break;case 7:p(null);break;case 8:p(!0);break;case 9:p(!1);break;default:return!1}return y(),!0}()}}()?(17!==i.getToken()&&_(9,[],[]),!0):(_(4,[],[]),!1)}!function(e){e.DEFAULT={allowTrailingComma:!1}}(Cp||(Cp={}));const Pp=["pyrightconfig.json"],Rp=X("/.git/"),Fp=/\.pyi?$/;class Np{constructor(e,t,n,i,r,s,o,a,l,c,u){this._typeStubTargetIsSingleFile=!1,this._requireTrackedFileUpdate=!0,this._lastUserInteractionTime=Date.now(),this._disposed=!1,this._instanceName=e,this._console=n||new Un,this._executionRootPath="",this._extension=o,this._importResolverFactory=r||Np.createImportResolver,this._maxAnalysisTimeInForeground=l,this._backgroundAnalysisProgramFactory=c,this._cancellationProvider=null!=u?u:new pt,this._hostFactory=null!=i?i:()=>new Ip,s=null!=s?s:new Ec("/");const p=this._importResolverFactory(t,s,this._hostFactory());this._backgroundAnalysisProgram=void 0!==c?c(this._console,s,p,this._extension,a,this._maxAnalysisTimeInForeground):new xp(this._console,s,p,this._extension,a,this._maxAnalysisTimeInForeground)}clone(e,t,n){const i=new Np(e,null!=n?n:this._fs,this._console,this._hostFactory,this._importResolverFactory,this._backgroundAnalysisProgram.configOptions,this._extension,t,this._maxAnalysisTimeInForeground,this._backgroundAnalysisProgramFactory,this._cancellationProvider);for(const e of this.backgroundAnalysisProgram.program.getOpened()){const t=e.sourceFile.getClientVersion();void 0!==t&&i.setFileOpened(e.sourceFile.getFilePath(),t,e.sourceFile.getOpenFileContents())}return i}dispose(){this._disposed=!0,this._removeSourceFileWatchers(),this._removeConfigFileWatcher(),this._removeLibraryFileWatcher(),this._clearReloadConfigTimer(),this._clearReanalysisTimer(),this._clearLibraryReanalysisTimer()}get backgroundAnalysisProgram(){return this._backgroundAnalysisProgram}static createImportResolver(e,t,n){return new In(e,t,n)}setCompletionCallback(e){this._onCompletionCallback=e,this._backgroundAnalysisProgram.setCompletionCallback(e)}setOptions(e){this._commandLineOptions=e;const t=this._hostFactory(),n=this._getConfigOptions(t,e);n.pythonPath&&n.ensureDefaultPythonVersion(t,this._console),n.ensureDefaultPythonPlatform(t,this._console),this._backgroundAnalysisProgram.setConfigOptions(n),this._executionRootPath=me(te(e.executionRoot,n.projectRoot)),this._applyConfigOptions(t)}isTracked(e){for(const t of this._configOptions.include)if(this._matchIncludeFileSpec(t.regExp,this._configOptions.exclude,e))return!0;return!1}setFileOpened(e,t,n,i=!1,r){this._backgroundAnalysisProgram.setFileOpened(e,t,n,{isTracked:this.isTracked(e),ipythonMode:i,chainedFilePath:r}),this._scheduleReanalysis(!1)}updateOpenFileContents(e,t,n,i=!1,r){this._backgroundAnalysisProgram.updateOpenFileContents(e,t,n,{isTracked:this.isTracked(e),ipythonMode:i,chainedFilePath:r}),this._scheduleReanalysis(!1)}test_setIndexing(e,t){this._backgroundAnalysisProgram.test_setIndexing(e,t)}startIndexing(e){this._backgroundAnalysisProgram.startIndexing(e)}setFileClosed(e){this._backgroundAnalysisProgram.setFileClosed(e),this._scheduleReanalysis(!1)}getParseResult(e){var t;return null===(t=this._program.getBoundSourceFile(e))||void 0===t?void 0:t.getParseResults()}getTextOnRange(e,t,n){return this._program.getTextOnRange(e,t,n)}getAutoImports(e,t,n,i,r,s,o){return this._program.getAutoImports(e,t,n,i,this._backgroundAnalysisProgram.getIndexing(e),r,s,o)}getDefinitionForPosition(e,t,n,i){return this._program.getDefinitionsForPosition(e,t,n,i)}getTypeDefinitionForPosition(e,t,n){return this._program.getTypeDefinitionsForPosition(e,t,n)}reportReferencesForPosition(e,t,n,i,r){this._program.reportReferencesForPosition(e,t,n,i,r)}addSymbolsForDocument(e,t,n){this._program.addSymbolsForDocument(e,t,n)}reportSymbolsForWorkspace(e,t,n){this._program.reportSymbolsForWorkspace(e,t,n)}getApiDocs(e,t){return this._program.getApiDocs(e,t)}getHoverForPosition(e,t,n,i){return this._program.getHoverForPosition(e,t,n,i)}getDocumentHighlight(e,t,n){return this._program.getDocumentHighlight(e,t,n)}getSignatureHelpForPosition(e,t,n,i){return this._program.getSignatureHelpForPosition(e,t,n,i)}getCompletionsForPosition(e,t,n,i,r,s){return this._program.getCompletionsForPosition(e,t,n,i,r,this._backgroundAnalysisProgram.getIndexing(e),s)}getEvaluator(){return this._program.evaluator}resolveCompletionItem(e,t,n,i,r){this._program.resolveCompletionItem(e,t,n,i,this._backgroundAnalysisProgram.getIndexing(e),r)}performQuickAction(e,t,n,i){return this._program.performQuickAction(e,t,n,i)}renameModule(e,t,n){return this._program.renameModule(e,t,n)}renameSymbolAtPosition(e,t,n,i,r){return this._program.renameSymbolAtPosition(e,t,n,i,r)}getCallForPosition(e,t,n){return this._program.getCallForPosition(e,t,n)}getIncomingCallsForPosition(e,t,n){return this._program.getIncomingCallsForPosition(e,t,n)}getOutgoingCallsForPosition(e,t,n){return this._program.getOutgoingCallsForPosition(e,t,n)}printStats(){this._console.info(""),this._console.info("Analysis stats");const e=this._program.getFileCount();this._console.info("Total files analyzed: "+e.toString())}printDependencies(e){this._program.printDependencies(this._executionRootPath,e)}getDiagnosticsForRange(e,t,n){return this._backgroundAnalysisProgram.getDiagnosticsForRange(e,t,n)}getConfigOptions(){return this._configOptions}getImportResolver(){return this._backgroundAnalysisProgram.importResolver}recordUserInteractionTime(){this._lastUserInteractionTime=Date.now(),this._analyzeTimer&&this._scheduleReanalysis(!1)}get test_program(){return this._program}test_getConfigOptions(e){return this._getConfigOptions(this._backgroundAnalysisProgram.host,e)}test_getFileNamesFromFileSpecs(){return this._getFileNamesFromFileSpecs()}_getConfigOptions(e,t){var n,i,r;let s,o,a=t.executionRoot;t.configFilePath?(s=te(t.executionRoot,me(t.configFilePath)),this._fs.existsSync(s)?s.toLowerCase().endsWith(".json")?a=$(s):(a=s,s=this._findConfigFile(s),s||this._console.info(`Configuration file not found at ${a}.`)):(this._console.info(`Configuration file not found at ${s}.`),s=t.executionRoot)):a&&(s=this._findConfigFile(a),s||t.fromVsCodeExtension||(s=this._findConfigFileHereOrUp(a)),s?a=$(s):(this._console.info("No configuration file found."),s=void 0)),s||(o=this._findPyprojectTomlFile(a),o||t.fromVsCodeExtension||(o=this._findPyprojectTomlFileHereOrUp(a)),o?(a=$(o),this._console.info(`pyproject.toml file found at ${a}.`)):this._console.info("No pyproject.toml file found."));const l=new Ec(a,this._typeCheckingMode),c=["**/node_modules","**/__pycache__","**/.*"];let u;if(t.pythonPath&&(this._console.info(`Setting pythonPath for service "${this._instanceName}": "${t.pythonPath}"`),l.pythonPath=t.pythonPath),l.defaultPythonPlatform=t.pythonPlatform,l.defaultPythonVersion=t.pythonVersion,l.ensureDefaultExtraPaths(this._fs,t.autoSearchPaths||!1,t.extraPaths),t.fileSpecs.length>0?t.fileSpecs.forEach((e=>{l.include.push(be(a,e))})):s||t.executionRoot&&(l.include.push(be(t.executionRoot,".")),c.forEach((e=>{l.exclude.push(be(t.executionRoot,e))}))),this._configFilePath=s||o,s?(this._console.info(`Loading configuration file at ${s}`),u=this._parseJsonConfigFile(s)):o&&(this._console.info(`Loading pyproject.toml file at ${o}`),u=this._parsePyprojectTomlFile(o)),u){l.initializeFromJson(u,this._typeCheckingMode,this._console,e,t.diagnosticSeverityOverrides,t.fileSpecs.length>0);const n=$(this._configFilePath);0===l.include.length&&(this._console.info(`No include entries specified; assuming ${n}`),l.include.push(be(n,"."))),0===l.exclude.length&&(c.forEach((e=>{this._console.info(`Auto-excluding ${e}`),l.exclude.push(be(n,e))})),void 0===l.autoExcludeVenv&&(l.autoExcludeVenv=!0))}else l.autoExcludeVenv=!0,l.applyDiagnosticOverrides(t.diagnosticSeverityOverrides);l.analyzeUnannotatedFunctions=null===(n=t.analyzeUnannotatedFunctions)||void 0===n||n;const p=(e,n)=>{const i=t.fromVsCodeExtension?"the client settings":"a command-line option";this._console.warn(`The ${e} has been specified in both the config file and ${i}. The value in the config file (${n}) will take precedence`)};if(t.venvPath&&(l.venvPath?p("venvPath",l.venvPath):l.venvPath=t.venvPath),t.typeshedPath&&(l.typeshedPath?p("typeshedPath",l.typeshedPath):l.typeshedPath=t.typeshedPath),l.verboseOutput=null!==(i=t.verboseOutput)&&void 0!==i?i:l.verboseOutput,l.checkOnlyOpenFiles=!!t.checkOnlyOpenFiles,l.autoImportCompletions=!!t.autoImportCompletions,l.indexing=!!t.indexing,l.logTypeEvaluationTime=!!t.logTypeEvaluationTime,l.typeEvaluationTimeThreshold=t.typeEvaluationTimeThreshold,void 0===l.useLibraryCodeForTypes?l.useLibraryCodeForTypes=!!t.useLibraryCodeForTypes:void 0!==t.useLibraryCodeForTypes&&p("useLibraryCodeForTypes",l.useLibraryCodeForTypes),t.stubPath?l.stubPath?p("stubPath",l.stubPath):l.stubPath=t.stubPath:l.stubPath||(l.stubPath=me(te(l.projectRoot,"typings"))),l.venvPath&&(this._fs.existsSync(l.venvPath)&&fe(this._fs,l.venvPath)||this._console.error(`venvPath ${l.venvPath} is not a valid directory.`),l.venv=null!==(r=l.venv)&&void 0!==r?r:this._configOptions.venv,l.venv)){const t=te(l.venvPath,l.venv);if(this._fs.existsSync(t)&&fe(this._fs,t)){const t=[];void 0===fn(this._fs,l,e,t)&&(this._console.error(`site-packages directory cannot be located for venvPath ${l.venvPath} and venv ${l.venv}.`),l.verboseOutput&&t.forEach((e=>{this._console.error(` ${e}`)})))}else this._console.error(`venv ${l.venv} subdirectory not found in venv path ${l.venvPath}.`)}return l.venv&&(l.venvPath||this._console.warn("venvPath not specified, so venv settings will be ignored.")),l.typeshedPath&&(this._fs.existsSync(l.typeshedPath)&&fe(this._fs,l.typeshedPath)||this._console.error(`typeshedPath ${l.typeshedPath} is not a valid directory.`)),l.stubPath&&(this._fs.existsSync(l.stubPath)&&fe(this._fs,l.stubPath)||this._console.warn(`stubPath ${l.stubPath} is not a valid directory.`)),l}writeTypeStub(e){var t;const n=this._getTypeStubFolder();this._program.writeTypeStub(null!==(t=this._typeStubTargetPath)&&void 0!==t?t:"",this._typeStubTargetIsSingleFile,n,e)}writeTypeStubInBackground(e){var t;const n=this._getTypeStubFolder();return this._backgroundAnalysisProgram.writeTypeStub(null!==(t=this._typeStubTargetPath)&&void 0!==t?t:"",this._typeStubTargetIsSingleFile,n,e)}invalidateAndForceReanalysis(e=!0,t=!0,n=!1){n&&this._updateTrackedFileList(!1),this._backgroundAnalysisProgram.invalidateAndForceReanalysis(e,t)}restart(){this._applyConfigOptions(this._hostFactory()),this._backgroundAnalysisProgram.restart()}get _fs(){return this._backgroundAnalysisProgram.importResolver.fileSystem}get _program(){return this._backgroundAnalysisProgram.program}get _configOptions(){return this._backgroundAnalysisProgram.configOptions}get _watchForSourceChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForSourceChanges)}get _watchForLibraryChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForLibraryChanges)}get _watchForConfigChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForConfigChanges)}get _typeCheckingMode(){var e;return null===(e=this._commandLineOptions)||void 0===e?void 0:e.typeCheckingMode}get _verboseOutput(){return!!this._configOptions.verboseOutput}get _typeStubTargetImportName(){var e;return null===(e=this._commandLineOptions)||void 0===e?void 0:e.typeStubTargetImportName}_getTypeStubFolder(){const e=this._configOptions.stubPath;if(!this._typeStubTargetPath||!this._typeStubTargetImportName){const e=`Import '${this._typeStubTargetImportName}' could not be resolved`;throw this._console.error(e),new Error(e)}if(!e){const e="No typings path was specified";throw this._console.info(e),new Error(e)}const t=this._typeStubTargetImportName.split(".");if(0===t[0].length){const e=`Import '${this._typeStubTargetImportName}' could not be resolved`;throw this._console.error(e),new Error(e)}try{this._fs.existsSync(e)||this._fs.mkdirSync(e)}catch(t){const n=`Could not create typings directory '${e}'`;throw this._console.error(n),new Error(n)}const n=te(e,t[0]),i=te(e,...t);try{this._fs.existsSync(i)||Q(this._fs,i,e)}catch(e){const t=`Could not create typings subdirectory '${i}'`;throw this._console.error(t),new Error(t)}return n}_findConfigFileHereOrUp(e){return z(e,(e=>this._findConfigFile(e)))}_findConfigFile(e){for(const t of Pp){const n=te(e,t);if(this._fs.existsSync(n))return n}}_findPyprojectTomlFileHereOrUp(e){return z(e,(e=>this._findPyprojectTomlFile(e)))}_findPyprojectTomlFile(e){const t=te(e,"pyproject.toml");if(this._fs.existsSync(t))return t}_parseJsonConfigFile(e){return this._attemptParseFile(e,(e=>function(e,t,n){void 0===t&&(t=[]),void 0===n&&(n=Cp.DEFAULT);var i=null,r=[],s=[];function o(e){Array.isArray(r)?r.push(e):null!==i&&(r[i]=e)}return Ap(e,{onObjectBegin:function(){var e={};o(e),s.push(r),r=e,i=null},onObjectProperty:function(e){i=e},onObjectEnd:function(){r=s.pop()},onArrayBegin:function(){var e=[];o(e),s.push(r),r=e,i=null},onArrayEnd:function(){r=s.pop()},onLiteralValue:o,onError:function(e,n,i){t.push({error:e,offset:n,length:i})}},n),r[0]}(e)))}_parsePyprojectTomlFile(e){return this._attemptParseFile(e,((t,n)=>{try{const e=wp.parse(t);if(e&&e.tool&&e.tool.pyright)return e.tool.pyright}catch(e){throw this._console.error(`Pyproject file parse attempt ${n} error: ${JSON.stringify(e)}`),e}this._console.error(`Pyproject file "${e}" is missing "[tool.pyright]" section.`)}))}_attemptParseFile(e,t){let n="",i=0;for(;;){try{n=this._fs.readFileSync(e,"utf8")}catch{return this._console.error(`Config file "${e}" could not be read.`),void this._reportConfigParseError()}let r=!1;try{return t(n,i+1)}catch(e){r=!0}if(!r)break;if(i++>=5)return this._console.error(`Config file "${e}" could not be parsed. Verify that format is correct.`),void this._reportConfigParseError()}}_getFileNamesFromFileSpecs(){const e=new Map;return Fn.findFilesTime.timeOperation((()=>{const t=this._matchFiles(this._configOptions.include,this._configOptions.exclude);for(const n of t)e.set(n,n)})),[...e.values()]}_updateTrackedFileList(e){if(this._typeStubTargetImportName){const e=this._configOptions.findExecEnvironment(this._executionRootPath),t=vn(this._typeStubTargetImportName),n=this._backgroundAnalysisProgram.importResolver.resolveImport("",e,t);if(n.isImportFound){const e=[],t=n.resolvedPaths[n.resolvedPaths.length-1],i=ge(this._fs,t),r=i&&"__init__"===he(de(t));let s=t;i&&(s=$(s));for(let e=n.resolvedPaths.length-2;e>=0;e--)s=n.resolvedPaths[e]?n.resolvedPaths[e]:$(s);fe(this._fs,s)?this._typeStubTargetPath=s:ge(this._fs,s)&&(this._typeStubTargetPath=$(s)),t?(e.push(t),this._typeStubTargetIsSingleFile=1===n.resolvedPaths.length&&!r):this._typeStubTargetIsSingleFile=!1,n.filteredImplicitImports.forEach((t=>{e.push(t.path)})),this._backgroundAnalysisProgram.setAllowedThirdPartyImports([this._typeStubTargetImportName]),this._backgroundAnalysisProgram.setTrackedFiles(e)}else this._console.error(`Import '${this._typeStubTargetImportName}' not found`)}else{let t=[];this._console.info("Searching for source files"),t=this._getFileNamesFromFileSpecs(),this._backgroundAnalysisProgram.setTrackedFiles(t),this._backgroundAnalysisProgram.markAllFilesDirty(e),0===t.length?this._console.info("No source files found."):this._console.info(`Found ${t.length} source `+(1===t.length?"file":"files"))}this._requireTrackedFileUpdate=!1}_matchFiles(e,t){const n=[["bin","activate"],["Scripts","activate"],["pyvenv.cfg"]],i=[],r=Date.now();let s=!1;const o=(e,o)=>{if(s||.001*(Date.now()-r)>=10&&(this._console.error('Enumeration of workspace source files is taking longer than 10 seconds.\nThis may be because:\n* You have opened your home directory or entire hard drive as a workspace\n* Your workspace contains a very large number of directories and files\n* Your workspace contains a symlink to a directory with many files\n* Your workspace is remote, and file enumeration is slow\nTo reduce this time, open a workspace directory with fewer files or add a pyrightconfig.json configuration file with an "exclude" section to exclude subdirectories from your workspace. For more details, refer to https://github.com/microsoft/pyright/blob/main/docs/configuration.md.'),s=!0),this._configOptions.autoExcludeVenv&&n.some((t=>this._fs.existsSync(te(e,...t)))))return void this._console.info(`Auto-excluding ${e}`);const{files:a,directories:c}=ve(this._fs,e);for(const n of a){const r=te(e,n);this._matchIncludeFileSpec(o,t,r)&&i.push(r)}for(const n of c){const i=te(e,n);o.test(i)&&(this._isInExcludePath(i,t)||l(i,o))}},a=new Set,l=(e,t)=>{const n=_e(this._fs,e);if(n)if(a.has(n))this._console.warn(`Skipping recursive symlink "${e}" -> "${n}"`);else{a.add(n);try{o(e,t)}finally{a.delete(n)}}else this._console.warn(`Skipping broken link "${e}"`)};return e.forEach((e=>{if(!this._isInExcludePath(e.wildcardRoot,t)){let t=!1;const n=ye(this._fs,e.wildcardRoot);(null==n?void 0:n.isFile())?this._shouldIncludeFile(e.wildcardRoot)&&(i.push(e.wildcardRoot),t=!0):(null==n?void 0:n.isDirectory())&&(l(e.wildcardRoot,e.regExp),t=!0),t||this._console.error(`File or directory "${e.wildcardRoot}" does not exist.`)}})),i}_removeSourceFileWatchers(){this._sourceFileWatcher&&(this._sourceFileWatcher.close(),this._sourceFileWatcher=void 0)}_updateSourceFileWatchers(){if(this._removeSourceFileWatchers(),this._watchForSourceChanges&&this._configOptions.include.length>0){const e=this._configOptions.include.map((e=>te(this._executionRootPath,e.wildcardRoot)));try{this._verboseOutput&&this._console.info(`Adding fs watcher for directories:\n ${e.join("\n")}`);const t=et(e);this._sourceFileWatcher=this._fs.createFileSystemWatcher(e,((e,n)=>{if(!n)return;if(this._verboseOutput&&this._console.info(`SourceFile: Received fs event '${e}' for path '${n}'`),t(n))return;if(n.endsWith(".tmp")||n.endsWith(".git")||n.includes(Rp))return;const i=ye(this._fs,n);if(!i||!i.isFile()||n.endsWith(".py")||n.endsWith(".pyi"))if("change"===e&&i)this._backgroundAnalysisProgram.markFilesDirty([n],!1),this._scheduleReanalysis(!1);else{const e=de(n).split(".");let t=!1;4===e.length&&e[3]===e[1]&&32===e[2].length&&(t=!0),t||(this.invalidateAndForceReanalysis(!1,!1),this._scheduleReanalysis(!0))}}))}catch{this._console.error(`Exception caught when installing fs watcher for:\n ${e.join("\n")}`)}}}_removeLibraryFileWatcher(){this._libraryFileWatcher&&(this._libraryFileWatcher.close(),this._libraryFileWatcher=void 0)}_updateLibraryFileWatcher(){if(this._removeLibraryFileWatcher(),!this._watchForLibraryChanges)return;const e=fn(this._fs,this._backgroundAnalysisProgram.configOptions,this._backgroundAnalysisProgram.host,[],!0,this._executionRootPath);if(e&&e.length>0)try{this._verboseOutput&&this._console.info(`Adding fs watcher for library directories:\n ${e.join("\n")}`);const t=et(e);this._libraryFileWatcher=this._fs.createFileSystemWatcher(e,((e,n)=>{n&&(this._verboseOutput&&this._console.info(`LibraryFile: Received fs event '${e}' for path '${n}'`),t(n)||this._scheduleLibraryAnalysis())}))}catch{this._console.error(`Exception caught when installing fs watcher for:\n ${e.join("\n")}`)}}_clearLibraryReanalysisTimer(){var e;this._libraryReanalysisTimer&&(clearTimeout(this._libraryReanalysisTimer),this._libraryReanalysisTimer=void 0,null===(e=this._backgroundAnalysisProgram)||void 0===e||e.cancelIndexing())}_scheduleLibraryAnalysis(){this._disposed||(this._clearLibraryReanalysisTimer(),this._libraryReanalysisTimer=setTimeout((()=>{this._clearLibraryReanalysisTimer(),this.invalidateAndForceReanalysis(!1),this._scheduleReanalysis(!1)}),6e5))}_removeConfigFileWatcher(){this._configFileWatcher&&(this._configFileWatcher.close(),this._configFileWatcher=void 0)}_updateConfigFileWatcher(){this._removeConfigFileWatcher(),this._watchForConfigChanges&&(this._configFilePath?this._configFileWatcher=this._fs.createFileSystemWatcher([this._configFilePath],(e=>{this._verboseOutput&&this._console.info(`Received fs event '${e}' for config file`),this._scheduleReloadConfigFile()})):this._executionRootPath&&(this._configFileWatcher=this._fs.createFileSystemWatcher([this._executionRootPath],((e,t)=>{if(t&&("add"===e||"change"===e)){const n=de(t);n&&Pp.some((e=>e===n))&&(this._verboseOutput&&this._console.info(`Received fs event '${e}' for config file`),this._commandLineOptions&&this.setOptions(this._commandLineOptions))}}))))}_clearReloadConfigTimer(){this._reloadConfigTimer&&(clearTimeout(this._reloadConfigTimer),this._reloadConfigTimer=void 0)}_scheduleReloadConfigFile(){this._clearReloadConfigTimer(),this._reloadConfigTimer=setTimeout((()=>{this._clearReloadConfigTimer(),this._reloadConfigFile()}),100)}_reloadConfigFile(){if(this._updateConfigFileWatcher(),this._configFilePath){this._console.info(`Reloading configuration file at ${this._configFilePath}`);const e=this._backgroundAnalysisProgram.host,t=this._getConfigOptions(e,this._commandLineOptions);this._backgroundAnalysisProgram.setConfigOptions(t),this._applyConfigOptions(e)}}_applyConfigOptions(e){var t;const n=this._importResolverFactory(this._fs,this._backgroundAnalysisProgram.configOptions,e);if(this._backgroundAnalysisProgram.setImportResolver(n),(null===(t=this._commandLineOptions)||void 0===t?void 0:t.fromVsCodeExtension)||this._configOptions.verboseOutput){const e=this._configOptions.verboseOutput?On.Info:On.Log;for(const t of this._configOptions.getExecutionEnvironments())qn(this._console,e,`Search paths for ${t.root||""}`),n.getImportRoots(t,!0).forEach((t=>{qn(this._console,e,` ${t}`)}))}this._updateLibraryFileWatcher(),this._updateConfigFileWatcher(),this._updateSourceFileWatchers(),this._updateTrackedFileList(!0),this._scheduleReanalysis(!1)}_clearReanalysisTimer(){this._analyzeTimer&&(clearTimeout(this._analyzeTimer),this._analyzeTimer=void 0)}_scheduleReanalysis(e){var t,n;if(this._disposed||!(null===(t=this._commandLineOptions)||void 0===t?void 0:t.enableAmbientAnalysis))return;e&&(this._requireTrackedFileUpdate=!0),null===(n=this._backgroundAnalysisCancellationSource)||void 0===n||n.cancel(),this._clearReanalysisTimer();const i=Date.now()-this._lastUserInteractionTime,r=Math.max(250-i,20);this._analyzeTimer=setTimeout((()=>{this._analyzeTimer=void 0,this._requireTrackedFileUpdate&&this._updateTrackedFileList(!1),this._backgroundAnalysisCancellationSource=this._cancellationProvider.createCancellationTokenSource(),this._backgroundAnalysisProgram.startAnalysis(this._backgroundAnalysisCancellationSource.token)&&this._scheduleReanalysis(!1)}),r)}_reportConfigParseError(){this._onCompletionCallback&&this._onCompletionCallback({diagnostics:[],filesInProgram:0,filesRequiringAnalysis:0,checkingOnlyOpenFiles:!0,fatalErrorOccurred:!1,configParseErrorOccurred:!0,elapsedTime:0})}_shouldIncludeFile(e){return Fp.test(e)}_isInExcludePath(e,t){return!!t.find((t=>t.regExp.test(e)))}_matchIncludeFileSpec(e,t,n){return!(!e.test(n)||this._isInExcludePath(n,t)||!this._shouldIncludeFile(n))}}var Mp;!function(e){e.is=function(e){return e&&e.edits&&Ln.WorkspaceEdit.is(e.edits)}}(Mp||(Mp={})),__webpack_require__(6755);class Op{constructor(e){this._reporter=e,this._isDisplayingProgress=!1}isEnabled(e){var t;return!!this._isDisplayingProgress||null!==(t=this._reporter.isEnabled(e))&&void 0!==t&&t}begin(){this._isDisplayingProgress||(this._isDisplayingProgress=!0,this._reporter.begin())}report(e){this._isDisplayingProgress&&this._reporter.report(e)}end(){this._isDisplayingProgress&&(this._isDisplayingProgress=!1,this._reporter.end())}}class Lp{constructor(e){this._fs=e}decodeTextDocumentPosition(e,t){return{filePath:we(this._fs,e.uri),position:t}}decodeTextDocumentUri(e){return we(this._fs,e)}}const Up=(0,Sp.attachWorkDone)(void 0,void 0);var Vp=__webpack_require__(8764).Buffer;class qp{constructor(e,t){if(this._keys=[],this._values=[],this._version=0,this._copyOnWrite=!1,this._comparer="object"==typeof e?e.comparer:e,this._order="object"==typeof e&&"insertion"===e.sort?[]:void 0,t){const e=Bp(t);try{for(let t=Wp(e);t;t=Wp(e)){const[e,n]=t.value;this.set(e,n)}}finally{jp(e)}}}get size(){return this._keys.length}get comparer(){return this._comparer}get[Symbol.toStringTag](){return"SortedMap"}has(e){return d(this._keys,e,t,this._comparer)>=0}get(e){const n=d(this._keys,e,t,this._comparer);return n>=0?this._values[n]:void 0}set(e,n){const i=d(this._keys,e,t,this._comparer);return i>=0?this._values[i]=n:(this._writePreamble(),u(this._keys,~i,e),u(this._values,~i,n),this._order&&u(this._order,~i,this._version),this._writePostScript()),this}delete(e){const n=d(this._keys,e,t,this._comparer);return n>=0&&(this._writePreamble(),this._orderedRemoveItemAt(this._keys,n),this._orderedRemoveItemAt(this._values,n),this._order&&this._orderedRemoveItemAt(this._order,n),this._writePostScript(),!0)}clear(){this.size>0&&(this._writePreamble(),this._keys.length=0,this._values.length=0,this._order&&(this._order.length=0),this._writePostScript())}forEach(e,t){const n=this._keys,i=this._values,r=this._getIterationOrder(),s=this._version;this._copyOnWrite=!0;try{if(r)for(const s of r)e.call(t,i[s],n[s],this);else for(let r=0;rt)).sort(((t,n)=>e[t]-e[n]))}}_orderedRemoveItemAt(e,t){for(let n=t;n=2&&"_"===e.charAt(0)&&"_"===e.charAt(1)?"_"+e:e}static _unescapeKey(e){return e.length>=3&&"_"===e.charAt(0)&&"_"===e.charAt(1)&&"_"===e.charAt(2)?e.slice(1):e}}zp._undefinedValue={};const $p=Object.freeze({EACCES:"access denied",EIO:"an I/O error occurred",ENOENT:"no such file or directory",EEXIST:"file already exists",ELOOP:"too many symbolic links encountered",ENOTDIR:"no such directory",EISDIR:"path is a directory",EBADF:"invalid file descriptor",EINVAL:"invalid value",ENOTEMPTY:"directory not empty",EPERM:"operation not permitted",EROFS:"file system is read-only"});function Hp(e,t=""){const n=new Error(`${e}: ${$p[e]} ${t}`);return n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,Hp),n}const Gp=function(){const e=Ie();return new RegExp(`^(?!(${e}|${e}${e}w+${e}|[a-zA-Z]:${e}?|)$)`)}(),Kp=/[:*?"<>|]/,Jp=/[:"<>|]/,Yp=/^\.{1,2}$|[:*?"<>|]/,Qp=/^\.{1,2}$|[:"<>|]/,Zp=/\.\w+$/;function Xp(e,t=2016){const n=G(e),i=ce(e);if(!function(e,t,n){const i=!!e[0],r=e.length>2,s=e.length>1,o=s&&Zp.test(e[e.length-1]),a=1024&t?2048&t?Jp:Kp:2048&t?Qp:Yp;if(1&t&&!i)return!1;if(2&t&&!r)return!1;if(4&t&&!s)return!1;if(8&t&&!o)return!1;if(16&t&&!n)return!1;if(1&t&&(t|=32),2&t&&(t|=64),4&t&&(t|=128),8&t&&(t|=256),16&t&&(t|=512),32&~t&&i)return!1;if(64&~t&&r)return!1;if(128&~t&&s)return!1;if(256&~t&&o)return!1;if(512&~t&&n)return!1;if(Gp.test(e[0]))return!1;for(let t=1;t1&&i?J(K(n))+S.sep:J(K(n))}var ed=__webpack_require__(8764).Buffer;const td=X("/");let nd=0,id=0;class rd{constructor(e,t={}){this._lazy={},this._tmpfileCounter=0;const{time:n=-1,files:i,meta:r}=t;if(this.ignoreCase=e,this.stringComparer=this.ignoreCase?ae:oe,this._time=n,r)for(const e of Object.keys(r))this.meta.set(e,r[e]);i&&this._applyFiles(i,"");let s=t.cwd;if((!s||!Se(s))&&this._lazy.links){const e=Bp(this._lazy.links.keys());try{for(let t=Wp(e);t;t=Wp(e)){const e=t.value;s=s?ee(e,s):e;break}}finally{jp(e)}}s&&(Xp(s,2017),this.mkdirpSync(s)),this._cwd=s||""}get meta(){return this._lazy.meta||(this._lazy.meta=new zp(this._shadowRoot?this._shadowRoot.meta:void 0)),this._lazy.meta}get isReadonly(){return Object.isFrozen(this)}makeReadonly(){return Object.freeze(this),this}get shadowRoot(){return this._shadowRoot}snapshot(){if(this.isReadonly)return;const e=new rd(this.ignoreCase,{time:this._time});e._lazy=this._lazy,e._cwd=this._cwd,e._time=this._time,e._shadowRoot=this._shadowRoot,e._dirStack=this._dirStack,e.makeReadonly(),this._lazy={},this._shadowRoot=e}shadow(e=this.ignoreCase){if(!this.isReadonly)throw new Error("Cannot shadow a mutable file system.");if(e&&!this.ignoreCase)throw new Error("Cannot create a case-insensitive file system from a case-sensitive one.");const t=new rd(e,{time:this._time});return t._shadowRoot=this,t._cwd=this._cwd,t}time(e){if(void 0!==e&&this.isReadonly)throw Hp("EPERM");let t=this._time;return"function"==typeof t&&(t=t()),"object"==typeof t&&(t=t.getTime()),-1===t&&(t=Date.now()),void 0!==e&&(this._time=e),t}filemeta(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");return this._filemeta(t)}_filemeta(e){if(!e.meta){const t=e.shadowRoot&&this._shadowRoot&&this._shadowRoot._filemeta(e.shadowRoot);e.meta=new zp(t)}return e.meta}cwd(){if(!this._cwd)throw new Error("The current working directory has not been set.");const{node:e}=this._walk(this._cwd);if(!e)throw Hp("ENOENT");if(!vd(e))throw Hp("ENOTDIR");return this._cwd}chdir(e){if(this.isReadonly)throw Hp("EPERM");e=this._resolve(e);const{node:t}=this._walk(e);if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");this._cwd=e}pushd(e){if(this.isReadonly)throw Hp("EPERM");e&&(e=this._resolve(e)),this._cwd&&(this._dirStack||(this._dirStack=[]),this._dirStack.push(this._cwd)),e&&e!==this._cwd&&this.chdir(e)}popd(){if(this.isReadonly)throw Hp("EPERM");const e=this._dirStack&&this._dirStack.pop();e&&this.chdir(e)}apply(e){this._applyFiles(e,this._cwd)}scanSync(e,t,n){e=this._resolve(e);const i=[];return this._scan(e,this._stat(this._walk(e)),t,n,!1,i),i}lscanSync(e,t,n){e=this._resolve(e);const i=[];return this._scan(e,this._stat(this._walk(e,!0)),t,n,!0,i),i}createFileSystemWatcher(e,t){return{close:()=>{}}}getModulePath(){return td}tmpdir(){return this.mkdirpSync("/tmp"),X("/tmp")}tmpfile(e){const t=(null==e?void 0:e.prefix)||"tmp",n=(null==e?void 0:e.prefix)?"-"+e.prefix:"",i=`${t}-${this._tmpfileCounter++}${n}`,r=te(this.tmpdir(),i);return this.writeFileSync(r,""),r}realCasePath(e){return e}isMappedFilePath(e){return!1}getOriginalFilePath(e){return e}getMappedFilePath(e){return e}getUri(e){return x.file(e).toString()}_scan(e,t,n,i,r,s){if("ancestors-or-self"!==n&&"self"!==n&&"descendants-or-self"!==n||i.accept&&!i.accept(e,t)||s.push(e),"ancestors-or-self"===n||"ancestors"===n){const t=$(e);if(t!==e)try{const e=this._stat(this._walk(t,r));i.traverse&&!i.traverse(t,e)||this._scan(t,e,"ancestors-or-self",i,r,s)}catch{}}if(("descendants-or-self"===n||"descendants"===n)&&t.isDirectory()&&(!i.traverse||i.traverse(e,t)))for(const t of this.readdirSync(e))try{const n=te(e,t),o=this._stat(this._walk(n,r));this._scan(n,o,"descendants-or-self",i,r,s)}catch{}}mountSync(e,t,n){if(this.isReadonly)throw Hp("EROFS");e=Xp(e,2017);const{parent:i,links:r,node:s,basename:o}=this._walk(this._resolve(t),!0);if(s)throw Hp("EEXIST");const a=this.time(),l=this._mknod(i?i.dev:++nd,fd,511,a);l.source=e,l.resolver=n,this._addLink(i,r,o,l,a)}rimrafSync(e){try{const t=this.lstatSync(e);if(t.isFile()||t.isSymbolicLink())this.unlinkSync(e);else if(t.isDirectory()){for(const t of this.readdirSync(e))this.rimrafSync(te(e,t));this.rmdirSync(e)}}catch(e){if("ENOENT"===e.code)return;throw e}}mkdirpSync(e){e=this._resolve(e);const t=this._walk(e,!0,((e,t)=>"ENOENT"===e.code?(this._mkdir(t),"retry"):"throw"));t.node||this._mkdir(t)}getFileListing(){let e="";const t=(n,i)=>{const r=Bp(i);try{for(let i=Wp(r);i;i=Wp(r)){const[r,c]=i.value,u=n?te(n,r):r,p=0===(s=this._cwd,o=u,a=this.ignoreCase,l=void 0,s=me(s),o=me(o),"string"==typeof a?(s=te(a,s),o=te(a,o)):"boolean"==typeof a&&(l=a),xe(s,o,U(l)))?"*":" ";e&&(e+="\n"),e+=p,vd(c)?(e+=le(u),t(u,this._getLinks(c))):_d(c)?e+=u:Td(c)&&(e+=`${u} -> ${c.symlink}`)}}finally{jp(r)}var s,o,a,l};return t(void 0,this._getRootLinks()),e}debugPrint(){console.log(this.getFileListing())}existsSync(e){const t=this._walk(this._resolve(e),!0,(()=>"stop"));return void 0!==t&&void 0!==t.node}statSync(e){return this._stat(this._walk(this._resolve(e)))}utimesSync(e,t,n){if(this.isReadonly)throw Hp("EROFS");if(!isFinite(+t)||!isFinite(+n))throw Hp("EINVAL");const i=this._walk(this._resolve(e));if(!i||!i.node)throw Hp("ENOENT");i.node.atimeMs=+t,i.node.mtimeMs=+n,i.node.ctimeMs=this.time()}lstatSync(e){return this._stat(this._walk(this._resolve(e),!0))}_stat(e){const t=e.node;if(!t)throw Hp("ENOENT",e.realpath);return new Id(t.dev,t.ino,t.mode,t.nlink,0,_d(t)?this._getSize(t):Td(t)?t.symlink.length:0,4096,0,t.atimeMs,t.mtimeMs,t.ctimeMs,t.birthtimeMs)}readdirSync(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");return Array.from(this._getLinks(t).keys())}readdirEntriesSync(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");return Array.from(this._getLinks(t).entries()).map((([e,t])=>function(e,t){return{isFile:()=>_d(t),isDirectory:()=>vd(t),isBlockDevice:()=>!1,isCharacterDevice:()=>!1,isFIFO:()=>!1,isSocket:()=>!1,isSymbolicLink:()=>Td(t),name:e}}(e,t)))}mkdirSync(e){if(this.isReadonly)throw Hp("EROFS");this._mkdir(this._walk(this._resolve(e),!0))}_mkdir({parent:e,links:t,node:n,basename:i}){if(n)throw Hp("EEXIST");const r=this.time(),s=this._mknod(e?e.dev:++nd,fd,511,r);this._addLink(e,t,i,s,r)}rmdirSync(e){if(this.isReadonly)throw Hp("EROFS");e=this._resolve(e);const{parent:t,links:n,node:i,basename:r}=this._walk(e,!0);if(!t)throw Hp("EPERM");if(!vd(i))throw Hp("ENOTDIR");if(0!==this._getLinks(i).size)throw Hp("ENOTEMPTY");this._removeLink(t,n,r,i)}linkSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{node:n}=this._walk(this._resolve(e));if(!n)throw Hp("ENOENT");if(vd(n))throw Hp("EPERM");const{parent:i,links:r,basename:s,node:o}=this._walk(this._resolve(t),!0);if(!i)throw Hp("EPERM");if(o)throw Hp("EEXIST");this._addLink(i,r,s,n)}unlinkSync(e){if(this.isReadonly)throw Hp("EROFS");const{parent:t,links:n,node:i,basename:r}=this._walk(this._resolve(e),!0);if(!t)throw Hp("EPERM");if(!i)throw Hp("ENOENT");if(vd(i))throw Hp("EISDIR");this._removeLink(t,n,r,i)}renameSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{parent:n,links:i,node:r,basename:s}=this._walk(this._resolve(e),!0);if(!n)throw Hp("EPERM");if(!r)throw Hp("ENOENT");const{parent:o,links:a,node:l,basename:c}=this._walk(this._resolve(t),!0);if(!o)throw Hp("EPERM");const u=this.time();if(l){if(vd(r)){if(!vd(l))throw Hp("ENOTDIR");if(this._getLinks(l).size>0)throw Hp("ENOTEMPTY")}else if(vd(l))throw Hp("EISDIR");this._removeLink(o,a,c,l,u)}this._replaceLink(n,i,s,o,a,c,r,u)}symlinkSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{parent:n,links:i,node:r,basename:s}=this._walk(this._resolve(t),!0);if(!n)throw Hp("EPERM");if(r)throw Hp("EEXIST");const o=this.time(),a=this._mknod(n.dev,hd,438,o);a.symlink=Xp(e,2016),this._addLink(n,i,s,a,o)}realpathSync(e){const{realpath:t}=this._walk(this._resolve(e));return t}readFileSync(e,t=null){const{node:n}=this._walk(this._resolve(e));if(!n)throw Hp("ENOENT");if(vd(n))throw Hp("EISDIR");if(!_d(n))throw Hp("EBADF");const i=this._getBuffer(n).slice();return t?i.toString(t):i}writeFileSync(e,t,n=null){if(this.isReadonly)throw Hp("EROFS");const{parent:i,links:r,node:s,basename:o}=this._walk(this._resolve(e),!1);if(!i)throw Hp("EPERM");const a=this.time();let l=s;if(l||(l=this._mknod(i.dev,md,438,a),this._addLink(i,r,o,l,a)),vd(l))throw Hp("EISDIR");if(!_d(l))throw Hp("EBADF");l.buffer=ed.isBuffer(t)?t.slice():function(e,t){return Vp.from&&Vp.from!==Int8Array.from?Vp.from(e,t):new Vp(e,t)}(""+t,n||"utf8"),l.size=l.buffer.byteLength,l.mtimeMs=a,l.ctimeMs=a}readFile(e){return Promise.resolve(this.readFileSync(e))}readFileText(e,t){return Promise.resolve(this.readFileSync(e,t||"utf8"))}createReadStream(e){throw new Error("Not implemented in test file system.")}createWriteStream(e){throw new Error("Not implemented in test file system.")}copyFileSync(e,t){throw new Error("Not implemented in test file system.")}diff(e=this.shadowRoot,t={}){const n={};return(e?rd._rootDiff(n,this,e,t):rd._trackCreatedInodes(n,this,this._getRootLinks()))?n:void 0}static diff(e,t,n={}){const i={};return rd._rootDiff(i,e,t,n)?i:void 0}isInZipOrEgg(e){return!1}static _diffWorker(e,t,n,i,r,s){if(n&&!r)return rd._trackCreatedInodes(e,t,n);if(r&&!n)return rd._trackDeletedInodes(e,r);if(n&&r){let o=!1;return r.forEach(((t,i)=>{n.has(i)||(e[i]=vd(t)?new cd:new ud,o=!0)})),n.forEach(((n,a)=>{const l=r.get(a);if(l){if(vd(n)&&vd(l))return o=rd._directoryDiff(e,a,t,n,i,l,s)||o;if(_d(n)&&_d(l))return o=rd._fileDiff(e,a,t,n,i,l,s)||o;if(Td(n)&&Td(l))return o=rd._symlinkDiff(e,a,n,l)||o}return o=rd._trackCreatedInode(e,a,t,n)||o})),o}return!1}static _rootDiff(e,t,n,i){for(;!t._lazy.links&&t._shadowRoot;)t=t._shadowRoot;for(;!n._lazy.links&&n._shadowRoot;)n=n._shadowRoot;return t!==n&&!!(t._lazy.links||t._shadowRoot||n._lazy.links||n._shadowRoot)&&rd._diffWorker(e,t,t._getRootLinks(),n,n._getRootLinks(),i)}static _directoryDiff(e,t,n,i,r,s,o){for(;!i.links&&i.shadowRoot;)i=i.shadowRoot;for(;!s.links&&s.shadowRoot;)s=s.shadowRoot;if(i===s)return!1;if(gd(i)&&gd(s))return!1;if(!i.links&&!s.links&&i.resolver&&void 0!==i.source&&s.resolver===i.resolver&&s.source===i.source)return!1;const a={};return!!rd._diffWorker(a,n,n._getLinks(i),r,r._getLinks(s),o)&&(e[t]=new sd(a),!0)}static _fileDiff(e,t,n,i,r,s,o){for(;!i.buffer&&i.shadowRoot;)i=i.shadowRoot;for(;!s.buffer&&s.shadowRoot;)s=s.shadowRoot;if(i===s)return!1;if(yd(i)&&yd(s))return!1;if(!i.buffer&&!s.buffer&&i.resolver&&void 0!==i.source&&s.resolver===i.resolver&&s.source===i.source)return!1;const a=n._getBuffer(i),l=r._getBuffer(s);return a!==l&&(0===ed.compare(a,l)?!!o.includeChangedFileWithSameContent&&(e[t]=new ad(a),!0):(e[t]=new od(a),!0))}static _symlinkDiff(e,t,n,i){return n.symlink!==i.symlink&&(e[t]=new pd(n.symlink),!0)}static _trackCreatedInode(e,t,n,i){if(vd(i)){const r={};rd._trackCreatedInodes(r,n,n._getLinks(i)),e[t]=new sd(r)}else Td(i)?e[t]=new pd(i.symlink):e[t]=new od(i.buffer||"");return!0}static _trackCreatedInodes(e,t,n){return!!n.size&&(n.forEach(((n,i)=>{rd._trackCreatedInode(e,i,t,n)})),!0)}static _trackDeletedInodes(e,t){return!!t.size&&(t.forEach(((t,n)=>{e[n]=vd(t)?new cd:new ud})),!0)}_mknod(e,t,n,i=this.time()){return{dev:e,ino:++id,mode:n&~dd&-19&4095|t&dd,atimeMs:i,mtimeMs:i,ctimeMs:i,birthtimeMs:i,nlink:0}}_addLink(e,t,n,i,r=this.time()){t.set(n,i),i.nlink++,i.ctimeMs=r,e&&(e.mtimeMs=r),e||this._cwd||(this._cwd=n)}_removeLink(e,t,n,i,r=this.time()){t.delete(n),i.nlink--,i.ctimeMs=r,e&&(e.mtimeMs=r)}_replaceLink(e,t,n,i,r,s,o,a){e!==i?(this._removeLink(e,t,n,o,a),this._addLink(i,r,s,o,a)):(t.delete(n),t.set(s,o),e.mtimeMs=a,i.mtimeMs=a)}_getRootLinks(){if(!this._lazy.links){const e=new qp(this.stringComparer);this._shadowRoot&&this._copyShadowLinks(this._shadowRoot._getRootLinks(),e),this._lazy.links=e}return this._lazy.links}_getLinks(e){if(!e.links){const t=new qp(this.stringComparer),{source:n,resolver:i}=e;if(n&&i){e.source=void 0,e.resolver=void 0;for(const r of i.readdirSync(n)){const s=te(n,r),o=i.statSync(s);switch(o.mode&dd){case fd:{const s=this._mknod(e.dev,fd,511);s.source=te(n,r),s.resolver=i,this._addLink(e,t,r,s);break}case md:{const s=this._mknod(e.dev,md,438);s.source=te(n,r),s.resolver=i,s.size=o.size,this._addLink(e,t,r,s);break}}}}else this._shadowRoot&&e.shadowRoot&&this._copyShadowLinks(this._shadowRoot._getLinks(e.shadowRoot),t);e.links=t}return e.links}_getShadow(e){const t=this._lazy.shadows||(this._lazy.shadows=new Map);let n=t.get(e.ino);return n||(n={dev:e.dev,ino:e.ino,mode:e.mode,atimeMs:e.atimeMs,mtimeMs:e.mtimeMs,ctimeMs:e.ctimeMs,birthtimeMs:e.birthtimeMs,nlink:e.nlink,shadowRoot:e},Td(e)&&(n.symlink=e.symlink),t.set(n.ino,n)),n}_copyShadowLinks(e,t){const n=Bp(e);try{for(let e=Wp(n);e;e=Wp(n)){const[n,i]=e.value;t.set(n,this._getShadow(i))}}finally{jp(n)}}_getSize(e){return e.buffer?e.buffer.byteLength:void 0!==e.size?e.size:e.source&&e.resolver?e.size=e.resolver.statSync(e.source).size:this._shadowRoot&&e.shadowRoot?e.size=this._shadowRoot._getSize(e.shadowRoot):0}_getBuffer(e){if(!e.buffer){const{source:t,resolver:n}=e;t&&n?(e.source=void 0,e.resolver=void 0,e.size=void 0,e.buffer=n.readFileSync(t)):this._shadowRoot&&e.shadowRoot?e.buffer=this._shadowRoot._getBuffer(e.shadowRoot):e.buffer=ed.allocUnsafe(0)}return e.buffer}_walk(e,t,n){let i,r=this._getRootLinks(),s=G(e),o=0,a=0,l=!1;for(;;){if(a>=40)throw Hp("ELOOP");const e=o===s.length-1,n=s[o],u=r.get(n);if(e&&(t||!Td(u)))return{realpath:J(s),basename:n,parent:i,links:r,node:u};if(void 0===u){if(c(Hp("ENOENT"),u))continue;return}if(Td(u)){const e=ee(J(s.slice(0,o)),u.symlink);r=this._getRootLinks(),i=void 0,s=G(e).concat(s.slice(o+1)),o=0,a++,l=!1}else if(vd(u))r=this._getLinks(u),i=u,o++,l=!1;else if(!c(Hp("ENOTDIR"),u))return}function c(e,t){const a=J(s.slice(0,o+1)),c=s[o],u=!l&&n?n(e,{realpath:a,basename:c,parent:i,links:r,node:t}):"throw";if("stop"===u)return!1;if("retry"===u)return l=!0,!0;throw e}}_resolve(e){return this._cwd?ee(this._cwd,Xp(e,4064)):Xp(e,4065)}_applyFiles(e,t){const n=[];this._applyFilesWorker(e,t,n);for(const[e,i]of n){if(this.mkdirpSync($(i)),this.pushd($(i)),e instanceof pd){if(0===this.stringComparer($(i),i))throw new TypeError("Roots cannot be symbolic links.");this.symlinkSync(ee(t,e.symlink),i),this._applyFileExtendedOptions(i,e)}else if(e instanceof ld){if(0===this.stringComparer($(i),i))throw new TypeError("Roots cannot be hard links.");this.linkSync(e.path,i)}else this.mountSync(e.source,i,e.resolver),this._applyFileExtendedOptions(i,e);this.popd()}}_applyFileExtendedOptions(e,t){const{meta:n}=t;if(void 0!==n){const t=this.filemeta(e);for(const e of Object.keys(n))t.set(e,n[e])}}_applyFilesWorker(e,t,n){for(const i of Object.keys(e)){const r=bd(e[i]),s=t?ee(t,i):i;if(Xp(s,2017),null==r||r instanceof cd||r instanceof ud){if(0===this.stringComparer($(s),s))throw new TypeError("Roots cannot be deleted.");this.rimrafSync(s)}else if(r instanceof od){if(0===this.stringComparer($(s),s))throw new TypeError("Roots cannot be files.");this.mkdirpSync($(s)),this.writeFileSync(s,r.data,r.encoding),this._applyFileExtendedOptions(s,r)}else r instanceof sd?(this.mkdirpSync(s),this._applyFileExtendedOptions(s,r),this._applyFilesWorker(r.files,s,n)):n.push([r,s])}}}class sd{constructor(e,{meta:t}={}){this.files=e,this.meta=t}}class od{constructor(e,{meta:t,encoding:n}={}){this.data=e,this.encoding=n,this.meta=t}}class ad extends od{constructor(e,t){super(e,t)}}class ld{constructor(e){this.path=e}}class cd{}class ud{}class pd{constructor(e,{meta:t}={}){this.symlink=e,this.meta=t}}const dd=61440,hd=40960,md=32768,fd=16384;function gd(e){return!(e.links||e.shadowRoot||e.resolver||e.source)}function yd(e){return!(e.buffer||e.shadowRoot||e.resolver||e.source)}function _d(e){return void 0!==e&&(e.mode&dd)===md}function vd(e){return void 0!==e&&(e.mode&dd)===fd}function Td(e){return void 0!==e&&(e.mode&dd)===hd}function bd(e){return null==e||e instanceof sd||e instanceof od||e instanceof ld||e instanceof pd||e instanceof class{constructor(e,t,{meta:n}={}){this.source=e,this.resolver=t,this.meta=n}}||e instanceof cd||e instanceof ud?e:"string"==typeof e||ed.isBuffer(e)?new od(e):new sd(e)}class Id{constructor(e=0,t=0,n=0,i=0,r=0,s=0,o=0,a=0,l=0,c=0,u=0,p=0){this.dev=e,this.ino=t,this.mode=n,this.nlink=i,this.uid=0,this.gid=0,this.rdev=r,this.size=s,this.blksize=o,this.blocks=a,this.atimeMs=l,this.mtimeMs=c,this.ctimeMs=u,this.birthtimeMs=p,this.atime=new Date(this.atimeMs),this.mtime=new Date(this.mtimeMs),this.ctime=new Date(this.ctimeMs),this.birthtime=new Date(this.birthtimeMs)}isFile(){return(this.mode&dd)===md}isDirectory(){return(this.mode&dd)===fd}isSymbolicLink(){return(this.mode&dd)===hd}isBlockDevice(){return 24576==(this.mode&dd)}isCharacterDevice(){return 8192==(this.mode&dd)}isFIFO(){return 4096==(this.mode&dd)}isSocket(){return 49152==(this.mode&dd)}}class Sd extends Map{constructor(){super(...arguments),this._defaultWorkspacePath=""}getNonDefaultWorkspaces(){const e=[];return this.forEach((t=>{t.rootPath&&e.push(t)})),e}getWorkspaceForFile(e,t){let n,i;if(this.forEach((e=>{e.rootPath&&t.startsWith(e.rootPath)&&(void 0===n||e.rootPath.startsWith(n))&&(n=e.rootPath,i=e)})),void 0===i){let t=this.get(this._defaultWorkspacePath);if(!t){const n=[...this.keys()];if(1===n.length)return this.get(n[0]);t={workspaceName:"",rootPath:"",rootUri:"",serviceInstance:e.createAnalyzerService(this._defaultWorkspacePath),disableLanguageServices:!1,disableOrganizeImports:!1,isInitialized:gp()},this.set(this._defaultWorkspacePath,t),e.updateSettingsForWorkspace(t).ignoreErrors()}return t}return i}}var xd=__webpack_require__(7630);const Cd={openFilesTimeInMs:50,noOpenFilesTimeInMs:200};class wd extends class{constructor(e,t,n){var i,r;this._serverOptions=e,this._connection=t,this.console=n,this._lastTriggerKind=ot.CompletionTriggerKind.Invoked,this.rootPath="",this.client={hasConfigurationCapability:!1,hasVisualStudioExtensionsCapability:!1,hasWorkspaceFoldersCapability:!1,hasWatchFileCapability:!1,hasActiveParameterCapability:!1,hasSignatureLabelOffsetCapability:!1,hasHierarchicalDocumentSymbolCapability:!1,hasWindowProgressCapability:!1,hasGoToDeclarationCapability:!1,hasDocumentChangeCapability:!1,hasDocumentAnnotationCapability:!1,hoverContentFormat:ot.MarkupKind.PlainText,completionDocFormat:ot.MarkupKind.PlainText,completionSupportsSnippet:!1,signatureDocFormat:ot.MarkupKind.PlainText,supportsDeprecatedDiagnosticTag:!1,supportsUnnecessaryDiagnosticTag:!1,completionItemResolveSupportsAdditionalTextEdits:!1},this.diagnosticTextSettings={},__webpack_require__.g.__rootDirectory=e.rootDirectory,this.console.info(`${e.productName} language server ${e.version&&e.version+" "}starting`),this.console.info(`Server root directory: ${e.rootDirectory}`),this._workspaceMap=this._serverOptions.workspaceMap,this._fileWatcherProvider=this._serverOptions.fileWatcherProvider,this.fs=new rt(this._serverOptions.fileSystem),this._uriParser=new Lp(this.fs);const s=this.fs.getModulePath();s&&this.fs.chdir(s),this.setupConnection(null!==(i=e.supportedCommands)&&void 0!==i?i:[],null!==(r=e.supportedCodeActions)&&void 0!==r?r:[]),this._progressReporter=new Op(this.createProgressReporter()),this._connection.listen()}decodeTextDocumentUri(e){return this._uriParser.decodeTextDocumentUri(e)}async getConfiguration(e,t){if(this.client.hasConfigurationCapability){const n={};return void 0!==e&&(n.scopeUri=e),void 0!==t&&(n.section=t),this._connection.workspace.getConfiguration(n)}if(this._defaultClientConfig)return n=this._defaultClientConfig,t.split(".").reduce(((e,t)=>e&&e[t]),n);var n}isOpenFilesOnly(e){return"workspace"!==e}getSeverityOverrides(e){const t=e;if(["error","warning","information","none"].includes(t))return t}getDiagnosticRuleName(e){const t=e;if(wc().includes(t))return t}createBackgroundAnalysisProgram(e,t,n,i,r,s){return new xp(e,t,n,i,r,s)}setExtension(e){this._serverOptions.extension=e}get window(){return this._connection.window}get supportAdvancedEdits(){return this.client.hasDocumentChangeCapability&&this.client.hasDocumentAnnotationCapability}createAnalyzerService(e){this.console.log(`Starting service instance "${e}"`);const t=new Np(e,this.fs,this.console,this.createHost.bind(this),this.createImportResolver.bind(this),void 0,this._serverOptions.extension,this.createBackgroundAnalysis(),this._serverOptions.maxAnalysisTimeInForeground,this.createBackgroundAnalysisProgram.bind(this),this._serverOptions.cancellationProvider);return t.setCompletionCallback((e=>this.onAnalysisCompletedHandler(e))),t}async getWorkspaceForFile(e){const t=this._workspaceMap.getWorkspaceForFile(this,e);return await t.isInitialized.promise,t}reanalyze(){this._workspaceMap.forEach((e=>{e.serviceInstance.invalidateAndForceReanalysis()}))}restart(){this._workspaceMap.forEach((e=>{e.serviceInstance.restart()}))}setupConnection(e,t){this._connection.onInitialize((n=>this.initialize(n,e,t))),this._connection.onInitialized((()=>this.onInitialized())),this._connection.onDidChangeConfiguration((e=>this.onDidChangeConfiguration(e))),this._connection.onCodeAction(((e,t)=>this.executeCodeAction(e,t))),this._connection.onDefinition((async(e,t)=>this.onDefinition(e,t))),this._connection.onDeclaration((async(e,t)=>this.onDeclaration(e,t))),this._connection.onTypeDefinition((async(e,t)=>this.onTypeDefinition(e,t))),this._connection.onReferences((async(e,t,n,i)=>this.onReferences(e,t,n,i))),this._connection.onDocumentSymbol((async(e,t)=>this.onDocumentSymbol(e,t))),this._connection.onWorkspaceSymbol((async(e,t,n,i)=>this.onWorkspaceSymbol(e,t,i))),this._connection.onHover((async(e,t)=>this.onHover(e,t))),this._connection.onDocumentHighlight((async(e,t)=>this.onDocumentHighlight(e,t))),this._connection.onSignatureHelp((async(e,t)=>this.onSignatureHelp(e,t))),this._connection.onCompletion(((e,t)=>this.onCompletion(e,t))),this._connection.onCompletionResolve((async(e,t)=>this.onCompletionResolve(e,t))),this._connection.onRenameRequest((async(e,t)=>this.onRenameRequest(e,t)));const n=this._connection.languages.callHierarchy;n.onPrepare((async(e,t)=>this.onPrepare(e,t))),n.onIncomingCalls((async(e,t)=>this.onIncomingCalls(e,t))),n.onOutgoingCalls((async(e,t)=>this.onOutgoingCalls(e,t))),this._connection.onDidOpenTextDocument((async e=>this.onDidOpenTextDocument(e))),this._connection.onDidChangeTextDocument((async e=>this.onDidChangeTextDocument(e))),this._connection.onDidCloseTextDocument((async e=>this.onDidCloseTextDocument(e))),this._connection.onDidChangeWatchedFiles((e=>this.onDidChangeWatchedFiles(e))),this._connection.onExecuteCommand((async(e,t,n)=>this.onExecuteCommand(e,t,n)))}async initialize(e,t,n){var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,V,q;this.diagnosticTextSettings={locale:e.locale,style:e.initializationOptions.diagnosticStyle},await dl(this.diagnosticTextSettings),this.rootPath=e.rootPath||"";const B=e.capabilities;this.client.hasConfigurationCapability=!!(null===(i=B.workspace)||void 0===i?void 0:i.configuration),this.client.hasWatchFileCapability=!!(null===(s=null===(r=B.workspace)||void 0===r?void 0:r.didChangeWatchedFiles)||void 0===s?void 0:s.dynamicRegistration),this.client.hasWorkspaceFoldersCapability=!!(null===(o=B.workspace)||void 0===o?void 0:o.workspaceFolders),this.client.hasVisualStudioExtensionsCapability=!!B.supportsVisualStudioExtensions,this.client.hasActiveParameterCapability=!!(null===(c=null===(l=null===(a=B.textDocument)||void 0===a?void 0:a.signatureHelp)||void 0===l?void 0:l.signatureInformation)||void 0===c?void 0:c.activeParameterSupport),this.client.hasSignatureLabelOffsetCapability=!!(null===(h=null===(d=null===(p=null===(u=B.textDocument)||void 0===u?void 0:u.signatureHelp)||void 0===p?void 0:p.signatureInformation)||void 0===d?void 0:d.parameterInformation)||void 0===h?void 0:h.labelOffsetSupport),this.client.hasHierarchicalDocumentSymbolCapability=!!(null===(f=null===(m=B.textDocument)||void 0===m?void 0:m.documentSymbol)||void 0===f?void 0:f.hierarchicalDocumentSymbolSupport),this.client.hasDocumentChangeCapability=!!(null===(y=null===(g=B.workspace)||void 0===g?void 0:g.workspaceEdit)||void 0===y?void 0:y.documentChanges)&&!!(null===(_=B.workspace.workspaceEdit)||void 0===_?void 0:_.resourceOperations),this.client.hasDocumentAnnotationCapability=!!(null===(T=null===(v=B.workspace)||void 0===v?void 0:v.workspaceEdit)||void 0===T?void 0:T.changeAnnotationSupport),this.client.hoverContentFormat=this._getCompatibleMarkupKind(null===(I=null===(b=B.textDocument)||void 0===b?void 0:b.hover)||void 0===I?void 0:I.contentFormat),this.client.completionDocFormat=this._getCompatibleMarkupKind(null===(C=null===(x=null===(S=B.textDocument)||void 0===S?void 0:S.completion)||void 0===x?void 0:x.completionItem)||void 0===C?void 0:C.documentationFormat),this.client.completionSupportsSnippet=!!(null===(k=null===(E=null===(w=B.textDocument)||void 0===w?void 0:w.completion)||void 0===E?void 0:E.completionItem)||void 0===k?void 0:k.snippetSupport),this.client.signatureDocFormat=this._getCompatibleMarkupKind(null===(P=null===(A=null===(D=B.textDocument)||void 0===D?void 0:D.signatureHelp)||void 0===A?void 0:A.signatureInformation)||void 0===P?void 0:P.documentationFormat);const W=(null===(N=null===(F=null===(R=B.textDocument)||void 0===R?void 0:R.publishDiagnostics)||void 0===F?void 0:F.tagSupport)||void 0===N?void 0:N.valueSet)||[];return this.client.supportsUnnecessaryDiagnosticTag=W.some((e=>e===ot.DiagnosticTag.Unnecessary)),this.client.supportsDeprecatedDiagnosticTag=W.some((e=>e===ot.DiagnosticTag.Deprecated)),this.client.hasWindowProgressCapability=!!(null===(M=B.window)||void 0===M?void 0:M.workDoneProgress),this.client.hasGoToDeclarationCapability=!!(null===(O=B.textDocument)||void 0===O?void 0:O.declaration),this.client.completionItemResolveSupportsAdditionalTextEdits=!!(null===(q=null===(V=null===(U=null===(L=B.textDocument)||void 0===L?void 0:L.completion)||void 0===U?void 0:U.completionItem)||void 0===V?void 0:V.resolveSupport)||void 0===q?void 0:q.properties.some((e=>"additionalTextEdits"===e))),e.workspaceFolders?e.workspaceFolders.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._workspaceMap.set(t,this.createWorkspaceServiceInstance(e,t))})):e.rootPath&&this._workspaceMap.set(e.rootPath,this.createWorkspaceServiceInstance(void 0,e.rootPath)),this.updateSettingsForAllWorkspaces(),{capabilities:{textDocumentSync:ot.TextDocumentSyncKind.Incremental,definitionProvider:{workDoneProgress:!0},declarationProvider:{workDoneProgress:!0},typeDefinitionProvider:{workDoneProgress:!0},referencesProvider:{workDoneProgress:!0},documentSymbolProvider:{workDoneProgress:!0},workspaceSymbolProvider:{workDoneProgress:!0},hoverProvider:{workDoneProgress:!0},documentHighlightProvider:{workDoneProgress:!0},renameProvider:{workDoneProgress:!0},completionProvider:{triggerCharacters:this.client.hasVisualStudioExtensionsCapability?[".","[","@"]:[".","["],resolveProvider:!0,workDoneProgress:!0},signatureHelpProvider:{triggerCharacters:["(",",",")"],workDoneProgress:!0},codeActionProvider:{codeActionKinds:n,workDoneProgress:!0},executeCommandProvider:{commands:t,workDoneProgress:!0},callHierarchyProvider:!0}}}onInitialized(){this.client.hasWorkspaceFoldersCapability&&this._connection.workspace.onDidChangeWorkspaceFolders((e=>{e.removed.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._workspaceMap.delete(t)})),e.added.forEach((async e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri),n=this.createWorkspaceServiceInstance(e,t);this._workspaceMap.set(t,n),await this.updateSettingsForWorkspace(n)}))})),this.client.hasWatchFileCapability&&this._connection.client.register(ot.DidChangeWatchedFilesNotification.type,{watchers:[...Pp.map((e=>({globPattern:`**/${e}`,kind:ot.WatchKind.Create|ot.WatchKind.Change|ot.WatchKind.Delete}))),{globPattern:"**",kind:ot.WatchKind.Create|ot.WatchKind.Change|ot.WatchKind.Delete}]})}onDidChangeConfiguration(e){this.console.log("Received updated settings"),(null==e?void 0:e.settings)&&(this._defaultClientConfig=null==e?void 0:e.settings),this.updateSettingsForAllWorkspaces()}async onDefinition(e,t){return this.getDefinitions(e,t,this.client.hasGoToDeclarationCapability?sc.PreferSource:sc.All,((e,t,n,i,r)=>e.serviceInstance.getDefinitionForPosition(t,n,i,r)))}async onDeclaration(e,t){return this.getDefinitions(e,t,this.client.hasGoToDeclarationCapability?sc.PreferStubs:sc.All,((e,t,n,i,r)=>e.serviceInstance.getDefinitionForPosition(t,n,i,r)))}async onTypeDefinition(e,t){return this.getDefinitions(e,t,sc.All,((e,t,n,i,r)=>e.serviceInstance.getTypeDefinitionForPosition(t,n,r)))}async getDefinitions(e,t,n,i){this.recordUserInteractionTime();const{filePath:r,position:s}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),o=await this.getWorkspaceForFile(r);if(o.disableLanguageServices)return;const a=i(o,r,s,n,t);return a?a.filter((e=>!this.fs.isInZipOrEgg(e.path))).map((e=>ot.Location.create(Ee(this.fs,e.path),e.range))):void 0}async onReferences(e,t,n,i){this._pendingFindAllRefsCancellationSource&&(this._pendingFindAllRefsCancellationSource.cancel(),this._pendingFindAllRefsCancellationSource=void 0);const r=await this._getProgressReporter(n,ml.CodeAction.findingReferences(),t),s=r.source;this._pendingFindAllRefsCancellationSource=s;try{const{filePath:t,position:n}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),o=await this.getWorkspaceForFile(t);if(o.disableLanguageServices)return;const a=e=>e.filter((e=>!this.fs.isInZipOrEgg(e.path))).map((e=>ot.Location.create(Ee(this.fs,e.path),e.range))),l=[],c=i?e=>i.report(a(e)):e=>l.push(...a(e));return o.serviceInstance.reportReferencesForPosition(t,n,e.context.includeDeclaration,c,s.token),l}finally{r.reporter.done(),s.dispose()}}async onDocumentSymbol(e,t){this.recordUserInteractionTime();const n=this._uriParser.decodeTextDocumentUri(e.textDocument.uri),i=await this.getWorkspaceForFile(n);if(i.disableLanguageServices)return;const r=[];return i.serviceInstance.addSymbolsForDocument(n,r,t),this.client.hasHierarchicalDocumentSymbolCapability?r:function(e,t){const n=[];for(const i of t)Uc(n,e,i);return n}(e.textDocument.uri,r)}async onWorkspaceSymbol(e,t,n){const i=[],r=n?e=>n.report(e):e=>i.push(...e);for(const n of this._workspaceMap.values())await n.isInitialized.promise,n.disableLanguageServices||n.disableWorkspaceSymbol||n.serviceInstance.reportSymbolsForWorkspace(e.query,r,t);return i}async onHover(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=(await this.getWorkspaceForFile(n)).serviceInstance.getHoverForPosition(n,i,this.client.hoverContentFormat,t);return function(e,t){if(!t)return;const n=t.parts.map((t=>{if(t.python){if(e===ot.MarkupKind.Markdown)return"```python\n"+t.text+"\n```\n";if(e===ot.MarkupKind.PlainText)return t.text+"\n\n";E(`Unsupported markup type: ${e}`)}return t.text})).join("").trimEnd();return{contents:{kind:e,value:n},range:t.range}}(this.client.hoverContentFormat,r)}async onDocumentHighlight(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position);return(await this.getWorkspaceForFile(n)).serviceInstance.getDocumentHighlight(n,i,t)}async onSignatureHelp(e,t){var n,i,r,s;const{filePath:o,position:a}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),l=await this.getWorkspaceForFile(o);if(l.disableLanguageServices)return;const c=l.serviceInstance.getSignatureHelpForPosition(o,a,this.client.signatureDocFormat,t);if(!c)return;const u=c.signatures.map((e=>{let t=[];e.parameters&&(t=e.parameters.map((e=>ot.ParameterInformation.create(this.client.hasSignatureLabelOffsetCapability?[e.startOffset,e.endOffset]:e.text,e.documentation))));const n=ot.SignatureInformation.create(e.label,void 0,...t);return void 0!==e.documentation&&(n.documentation=e.documentation),void 0!==e.activeParameter&&(n.activeParameter=e.activeParameter),n})),p=e=>{var t;return void 0!==e.activeParameter||!c.callHasParameters&&!(null===(t=e.parameters)||void 0===t?void 0:t.length)};let d=u.findIndex(p);-1===d&&(d=null);let h=null!==d?u[d].activeParameter:null;if((null===(n=e.context)||void 0===n?void 0:n.isRetrigger)&&e.context.triggerKind!==ot.SignatureHelpTriggerKind.Invoked){const t=null!==(r=null===(i=e.context.activeSignatureHelp)||void 0===i?void 0:i.activeSignature)&&void 0!==r?r:null;if(null!==t&&t{var t,n;return null!==(n=null===(t=e.parameters)||void 0===t?void 0:t.length)&&void 0!==n?n:0})))),{signatures:u,activeSignature:d,activeParameter:h}}async onCompletion(e,t){var n,i;const r=this._lastTriggerKind!==ot.CompletionTriggerKind.TriggerForIncompleteCompletions||(null===(n=e.context)||void 0===n?void 0:n.triggerKind)!==ot.CompletionTriggerKind.TriggerForIncompleteCompletions;this._lastTriggerKind=null===(i=e.context)||void 0===i?void 0:i.triggerKind;const{filePath:s,position:o}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),a=await this.getWorkspaceForFile(s);if(a.disableLanguageServices)return;const l=await this.getWorkspaceCompletionsForPosition(a,s,o,a.rootPath,this.getCompletionOptions(e),t);return l&&l.completionList&&(l.completionList.isIncomplete=r),null==l?void 0:l.completionList}async onCompletionResolve(e,t){const n=e.data;if(n&&n.filePath){const i=await this.getWorkspaceForFile(n.workspacePath);this.resolveWorkspaceCompletionItem(i,n.filePath,e,t)}return e}async onRenameRequest(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return;const s=r.serviceInstance.renameSymbolAtPosition(n,i,e.newName,""===r.rootPath,t);return s?function(e,t){const n={changes:{}};return t.forEach((t=>{const i=Ee(e,t.filePath);n.changes[i]=n.changes[i]||[],n.changes[i].push({range:t.range,newText:t.replacementText})})),n}(this.fs,s):void 0}async onPrepare(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;const s=r.serviceInstance.getCallForPosition(n,i,t)||null;return s?this.fs.isInZipOrEgg(s.uri)?null:(s.uri=Ee(this.fs,s.uri),[s]):null}async onIncomingCalls(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.item,e.item.range.start),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;let s=r.serviceInstance.getIncomingCallsForPosition(n,i,t)||null;return s&&0!==s.length?(s=s.filter((e=>!this.fs.isInZipOrEgg(e.from.uri))),s.forEach((e=>{e.from.uri=Ee(this.fs,e.from.uri)})),s):null}async onOutgoingCalls(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.item,e.item.range.start),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;let s=r.serviceInstance.getOutgoingCallsForPosition(n,i,t)||null;return s&&0!==s.length?(s=s.filter((e=>!this.fs.isInZipOrEgg(e.to.uri))),s.forEach((e=>{e.to.uri=Ee(this.fs,e.to.uri)})),s):null}async onDidOpenTextDocument(e){const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.addUriMap(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.setFileOpened(t,e.textDocument.version,e.textDocument.text)}async onDidChangeTextDocument(e){this.recordUserInteractionTime();const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.hasUriMapEntry(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.updateOpenFileContents(t,e.textDocument.version,e.contentChanges)}async onDidCloseTextDocument(e){const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.removeUriMap(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.setFileClosed(t)}onDidChangeWatchedFiles(e){e.changes.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri),n=1===e.type?"add":"change";this._fileWatcherProvider.onFileChange(n,t)}))}async onExecuteCommand(e,t,n){this._pendingCommandCancellationSource&&(this._pendingCommandCancellationSource.cancel(),this._pendingCommandCancellationSource=void 0);const i=async t=>{const n=await this.executeCommand(e,t);return ot.WorkspaceEdit.is(n)&&this._connection.workspace.applyEdit({label:`Command '${e.command}'`,edit:n}),Mp.is(n)&&await this._connection.workspace.applyEdit({label:n.label,edit:n.edits}),n};if(!this.isLongRunningCommand(e.command))return await i(t);{const e=await this._getProgressReporter(n,ml.CodeAction.executingCommand(),t),r=e.source;this._pendingCommandCancellationSource=r;try{return await i(r.token)}finally{e.reporter.done(),r.dispose()}}}resolveWorkspaceCompletionItem(e,t,n,i){e.serviceInstance.resolveCompletionItem(t,n,this.getCompletionOptions(),void 0,i)}getWorkspaceCompletionsForPosition(e,t,n,i,r,s){return e.serviceInstance.getCompletionsForPosition(t,n,i,r,void 0,s)}updateSettingsForAllWorkspaces(){this._workspaceMap.forEach((e=>{this.updateSettingsForWorkspace(e).ignoreErrors()}))}getCompletionOptions(e){return{format:this.client.completionDocFormat,snippet:this.client.completionSupportsSnippet,lazyEdit:this.client.completionItemResolveSupportsAdditionalTextEdits,autoImport:!0}}createWorkspaceServiceInstance(e,t){var n,i,r;return{workspaceName:null!==(n=null==e?void 0:e.name)&&void 0!==n?n:"",rootPath:t,rootUri:null!==(i=null==e?void 0:e.uri)&&void 0!==i?i:"",serviceInstance:this.createAnalyzerService(null!==(r=null==e?void 0:e.name)&&void 0!==r?r:t),disableLanguageServices:!1,disableOrganizeImports:!1,disableWorkspaceSymbol:!1,isInitialized:gp()}}convertDiagnostics(e){return[{uri:Ee(this.fs,e.filePath),version:e.version,diagnostics:this._convertDiagnostics(e.diagnostics)}]}onAnalysisCompletedHandler(e){if(e.diagnostics.forEach((e=>{this.fs.isInZipOrEgg(e.filePath)||(this._sendDiagnostics(this.convertDiagnostics(e)),this.fs.pendingRequest(e.filePath,e.diagnostics.length>0))})),this._progressReporter.isEnabled(e))if(e.filesRequiringAnalysis>0){this._progressReporter.begin();const t=1===e.filesRequiringAnalysis?ml.CodeAction.filesToAnalyzeOne():ml.CodeAction.filesToAnalyzeCount().format({count:e.filesRequiringAnalysis});this._progressReporter.report(t)}else this._progressReporter.end();else this._progressReporter.end()}async updateSettingsForWorkspace(e,t){var n;t=null!=t?t:await this.getSettings(e),this.console.level=null!==(n=t.logLevel)&&void 0!==n?n:On.Info,this.updateOptionsAndRestartService(e,t),e.disableLanguageServices=!!t.disableLanguageServices,e.disableOrganizeImports=!!t.disableOrganizeImports,e.isInitialized.resolve(!0)}updateOptionsAndRestartService(e,t,n){yp.runWithOptions(this.rootPath,e,t,n)}convertLogLevel(e){if(!e)return On.Info;switch(e.toLowerCase()){case"error":return On.Error;case"warning":return On.Warn;case"information":return On.Info;case"trace":return On.Log;default:return On.Info}}_sendDiagnostics(e){for(const t of e)this._connection.sendDiagnostics(t)}_getCompatibleMarkupKind(e){const t=[ot.MarkupKind.PlainText,ot.MarkupKind.Markdown];for(const n of null!=e?e:[])if(t.includes(n))return n;return ot.MarkupKind.PlainText}async _getProgressReporter(e,t,n){if(e.constructor!==Up.constructor)return{reporter:e,source:ut(n)};const i=await this._connection.window.createWorkDoneProgress();return i.begin(t,void 0,void 0,!0),{reporter:i,source:ut(n,i.token)}}_convertDiagnostics(e){const t=[];return e.forEach((e=>{const n=function(e){switch(e){case 0:return ot.DiagnosticSeverity.Error;case 1:return ot.DiagnosticSeverity.Warning;case 2:return ot.DiagnosticSeverity.Information;case 3:case 4:return ot.DiagnosticSeverity.Hint}}(e.category),i=e.getRule(),r=ot.Diagnostic.create(e.range,e.message,n,i,this._serverOptions.productName);if(3===e.category){if(r.tags=[ot.DiagnosticTag.Unnecessary],r.severity=ot.DiagnosticSeverity.Hint,!this.client.supportsUnnecessaryDiagnosticTag)return}else if(4===e.category&&(r.tags=[ot.DiagnosticTag.Deprecated],r.severity=ot.DiagnosticSeverity.Hint,!this.client.supportsDeprecatedDiagnosticTag))return;if(i){const e=this.getDocumentationUrlForDiagnosticRule(i);e&&(r.codeDescription={href:e})}const s=e.getRelatedInfo();s.length>0&&(r.relatedInformation=s.filter((e=>!this.fs.isInZipOrEgg(e.filePath))).map((e=>ot.DiagnosticRelatedInformation.create(ot.Location.create(Ee(this.fs,e.filePath),e.range),e.message)))),t.push(r)})),t}recordUserInteractionTime(){this._workspaceMap.forEach((e=>{e.serviceInstance.recordUserInteractionTime()}))}getDocumentationUrlForDiagnosticRule(e){return"https://github.com/microsoft/pyright/blob/main/docs/configuration.md"}expandPathVariables(e,t){return t.replace(/\$\{(.*?)\}/g,((t,n)=>{const i=n.trim();return"workspaceFolder"===i?e:"env:HOME"===i&&void 0!=={}.HOME?{}.HOME:"env:USERNAME"===i&&void 0!=={}.USERNAME?{}.USERNAME:"env:VIRTUAL_ENV"===i&&void 0!=={}.VIRTUAL_ENV?{}.VIRTUAL_ENV:t}))}}{constructor(e){const t=__webpack_require__(306).i8||"",n=__webpack_require__.g.__rootDirectory||"/",i=new Vn(e.console),r=new Sd,s=nt;super({productName:"Pyright",rootDirectory:n,version:t,workspaceMap:r,fileSystem:new rd(!1,{cwd:X("/")}),fileWatcherProvider:s,cancellationProvider:new pt,maxAnalysisTimeInForeground:Cd,supportedCodeActions:[xd.CodeActionKind.QuickFix,xd.CodeActionKind.SourceOrganizeImports]},e,i),this._controller=new bp(this)}setupConnection(e,t){super.setupConnection(e,t),this._connection.onNotification("pyright/createFile",(e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._serverOptions.fileSystem.apply({[t]:""}),this._workspaceMap.forEach((t=>{const n=t.serviceInstance.backgroundAnalysisProgram.backgroundAnalysis;null==n||n.createFile(e),t.serviceInstance.invalidateAndForceReanalysis()}))})),this._connection.onNotification("pyright/deleteFile",(e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._serverOptions.fileSystem.unlinkSync(t),this._workspaceMap.forEach((t=>{const n=t.serviceInstance.backgroundAnalysisProgram.backgroundAnalysis;null==n||n.deleteFile(e),t.serviceInstance.invalidateAndForceReanalysis()}))})),this._connection.onRequest(Sn,(e=>{var t;return this._workspaceMap.getWorkspaceForFile(this,e.path).serviceInstance.getApiDocs(e.modules,null!==(t=e.documentationFormat)&&void 0!==t?t:[xd.MarkupKind.PlainText])}))}async initialize(e,t,n){const{files:i}=e.initializationOptions;return"object"==typeof i&&(this._initialFiles=i,this._serverOptions.fileSystem.apply(i)),super.initialize(e,t,n)}async getSettings(e){const t={watchForSourceChanges:!1,watchForLibraryChanges:!1,watchForConfigChanges:!1,openFilesOnly:!0,useLibraryCodeForTypes:!1,disableLanguageServices:!1,disableOrganizeImports:!1,typeCheckingMode:"basic",diagnosticSeverityOverrides:{},logLevel:On.Info,autoImportCompletions:!0};try{const n=await this.getConfiguration(e.rootUri,"python");if(n){const i=n.pythonPath;i&&r(i)&&!gn(i)&&(t.pythonPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,i)));const s=n.venvPath;s&&r(s)&&(t.venvPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,s)))}const i=await this.getConfiguration(e.rootUri,"python.analysis");if(i){const n=i.typeshedPaths;if(n&&Array.isArray(n)&&n.length>0){const i=n[0];i&&r(i)&&(t.typeshedPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,i)))}const s=i.stubPath;s&&r(s)&&(t.stubPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,s)));const o=i.diagnosticSeverityOverrides;if(o)for(const[e,n]of Object.entries(o)){const i=this.getDiagnosticRuleName(e),r=this.getSeverityOverrides(n);i&&r&&(t.diagnosticSeverityOverrides[i]=r)}void 0!==i.diagnosticMode?t.openFilesOnly=this.isOpenFilesOnly(i.diagnosticMode):void 0!==i.openFilesOnly&&(t.openFilesOnly=!!i.openFilesOnly),void 0!==i.useLibraryCodeForTypes&&(t.useLibraryCodeForTypes=!!i.useLibraryCodeForTypes),t.logLevel=this.convertLogLevel(i.logLevel),t.autoSearchPaths=!!i.autoSearchPaths;const a=i.extraPaths;a&&Array.isArray(a)&&a.length>0&&(t.extraPaths=a.filter((e=>e&&r(e))).map((t=>ee(e.rootPath,this.expandPathVariables(e.rootPath,t))))),void 0!==i.typeCheckingMode&&(t.typeCheckingMode=i.typeCheckingMode),void 0!==i.autoImportCompletions&&(t.autoImportCompletions=i.autoImportCompletions),t.logLevel===On.Log&&void 0!==i.logTypeEvaluationTime&&(t.logTypeEvaluationTime=i.logTypeEvaluationTime),void 0!==i.typeEvaluationTimeThreshold&&(t.typeEvaluationTimeThreshold=i.typeEvaluationTimeThreshold)}else t.autoSearchPaths=!0;const s=await this.getConfiguration(e.rootUri,"pyright");if(s){void 0!==s.openFilesOnly&&(t.openFilesOnly=!!s.openFilesOnly),void 0!==s.useLibraryCodeForTypes&&(t.useLibraryCodeForTypes=!!s.useLibraryCodeForTypes),t.disableLanguageServices=!!s.disableLanguageServices,t.disableOrganizeImports=!!s.disableOrganizeImports;const e=s.typeCheckingMode;e&&r(e)&&(t.typeCheckingMode=e)}}catch(e){this.console.error(`Error reading settings: ${e}`)}return t}createBackgroundAnalysis(){const e=new Ed(this.console,this.diagnosticTextSettings);return this._initialFiles&&e.initializeFileSystem(this._initialFiles),e}createHost(){return new Ip}createImportResolver(e,t,n){return new In(e,t,n)}executeCommand(e,t){return this._controller.execute(e,t)}isLongRunningCommand(e){return this._controller.isLongRunningCommand(e)}async executeCodeAction(e,t){this.recordUserInteractionTime();const n=this._uriParser.decodeTextDocumentUri(e.textDocument.uri),i=await this.getWorkspaceForFile(n);return class{static async getCodeActionsForPosition(e,t,n,i){ct(i);const r=[];if(!e.disableLanguageServices){const s=await e.serviceInstance.getDiagnosticsForRange(t,n,i),o=s.find((e=>{const t=e.getActions();return t&&t.find((e=>"pyright.createtypestub"===e.action))}));if(o){const n=o.getActions().find((e=>"pyright.createtypestub"===e.action));if(n){const i=ot.CodeAction.create(ml.CodeAction.createTypeStubFor().format({moduleName:n.moduleName}),ot.Command.create(ml.CodeAction.createTypeStub(),"pyright.createtypestub",e.rootPath,n.moduleName,t),ot.CodeActionKind.QuickFix);r.push(i)}}const a=s.find((e=>{const t=e.getActions();return t&&t.find((e=>"pyright.addoptionalforparam"===e.action))}));if(a){const n=a.getActions().find((e=>"pyright.addoptionalforparam"===e.action));if(n){const i=e.serviceInstance.getImportResolver().fileSystem,s=ot.CodeAction.create(ml.CodeAction.addOptionalToAnnotation(),ot.Command.create(ml.CodeAction.addOptionalToAnnotation(),"pyright.addoptionalforparam",Ee(i,t),n.offsetOfTypeNode),ot.CodeActionKind.QuickFix);r.push(s)}}}return r}}.getCodeActionsForPosition(i,n,e.range,t)}createProgressReporter(){let e;return{isEnabled:e=>!0,begin:()=>{this.client.hasWindowProgressCapability?(e=this._connection.window.createWorkDoneProgress(),e.then((e=>{e.begin("")})).ignoreErrors()):this._connection.sendNotification("pyright/beginProgress")},report:t=>{e?e.then((e=>{e.report(t)})).ignoreErrors():this._connection.sendNotification("pyright/reportProgress",t)},end:()=>{e?(e.then((e=>{e.done()})).ignoreErrors(),e=void 0):this._connection.sendNotification("pyright/endProgress")}}}}class Ed extends class{constructor(e){this.console=e,this._onAnalysisCompletion=Nn}setup(e){this._worker=e,e.on("message",(e=>this.onMessage(e))),e.on("error",(e=>{this.log(On.Error,`Error occurred on background thread: ${JSON.stringify(e)}`)}))}onMessage(e){switch(e.requestType){case"log":{const t=e.data;this.log(t.level,t.message);break}case"analysisResult":this._onAnalysisCompletion(dp(e.data));break;default:E(`${e.requestType} is not expected`)}}setCompletionCallback(e){this._onAnalysisCompletion=null!=e?e:Nn}initializeFileSystem(e){this.enqueueRequest({requestType:"initializeFileSystem",data:e})}createFile(e){this.enqueueRequest({requestType:"createFile",data:e})}deleteFile(e){this.enqueueRequest({requestType:"deleteFile",data:e})}setImportResolver(e){this.enqueueRequest({requestType:"setImportResolver",data:e.host.kind})}setConfigOptions(e){this.enqueueRequest({requestType:"setConfigOptions",data:e})}setTrackedFiles(e){this.enqueueRequest({requestType:"setTrackedFiles",data:e})}setAllowedThirdPartyImports(e){this.enqueueRequest({requestType:"setAllowedThirdPartyImports",data:e})}ensurePartialStubPackages(e){this.enqueueRequest({requestType:"ensurePartialStubPackages",data:{executionRoot:e}})}setFileOpened(e,t,n,i){this.enqueueRequest({requestType:"setFileOpened",data:{filePath:e,version:t,contents:n,options:i}})}setFileClosed(e){this.enqueueRequest({requestType:"setFileClosed",data:e})}markAllFilesDirty(e,t){this.enqueueRequest({requestType:"markAllFilesDirty",data:{evenIfContentsAreSame:e,indexingNeeded:t}})}markFilesDirty(e,t,n){this.enqueueRequest({requestType:"markFilesDirty",data:{filePaths:e,evenIfContentsAreSame:t,indexingNeeded:n}})}startAnalysis(e,t){this._startOrResumeAnalysis("analyze",e,t)}_startOrResumeAnalysis(e,t,n){const{port1:i,port2:r}=En();i.on("message",(e=>{switch(e.requestType){case"analysisResult":this._onAnalysisCompletion(dp(e.data));break;case"analysisPaused":r.close(),i.close(),this._startOrResumeAnalysis("resumeAnalysis",t,n);break;case"indexResult":{const{path:n,indexResults:i}=e.data;null==t||t.setWorkspaceIndex(n,i);break}case"analysisDone":!function(e){e instanceof cp&&e.dispose()}(n),r.close(),i.close();break;default:E(`${e.requestType} is not expected`)}})),i.start(),r.start();const s=pp(n);this.enqueueRequest({requestType:e,data:s,port:r})}startIndexing(e,t,n,i,r){}refreshIndexing(e,t,n,i){}cancelIndexing(e){}async getDiagnosticsForRange(e,t,n){ct(n);const{port1:i,port2:r}=En();i.start(),r.start();const s=op(i),o=pp(n);this.enqueueRequest({requestType:"getDiagnosticsForRange",data:{filePath:e,range:t,cancellationId:o},port:r});const a=await s;return r.close(),i.close(),hp(a)}async writeTypeStub(e,t,n,i){ct(i);const{port1:r,port2:s}=En(),o=op(r),a=pp(i);this.enqueueRequest({requestType:"writeTypeStub",data:{targetImportPath:e,targetIsSingleFile:t,stubPath:n,cancellationId:a},port:s}),await o,s.close(),r.close()}invalidateAndForceReanalysis(e){this.enqueueRequest({requestType:"invalidateAndForceReanalysis",data:e})}restart(){this.enqueueRequest({requestType:"restart",data:null})}enqueueRequest(e){this._worker&&this._worker.postMessage(e,e.port?[e.port]:void 0)}log(e,t){qn(this.console,e,t)}}{constructor(e,t){super(e);const n=(i={rootDirectory:__webpack_require__.g.__rootDirectory,cancellationFolderName:void 0,runner:void 0,diagnosticTextSettings:t},wn().createWorker(i));var i;this.setup(n)}}class kd extends class extends class{constructor(e,t){var n;this.parentPort=e,n=t.cancellationFolderName,at=n,__webpack_require__.g.__rootDirectory=t.rootDirectory,this._realFs=this.createRealFileSystem(),this.fs=new rt(this._realFs)}log(e,t){var n;null===(n=this.parentPort)||void 0===n||n.postMessage({requestType:"log",data:{level:e,message:t}})}getConsole(){return{log:e=>{this.log(On.Log,e)},info:e=>{this.log(On.Info,e)},warn:e=>{this.log(On.Warn,e)},error:e=>{this.log(On.Error,e)},level:On.Log}}}{constructor(e,t,n){super(e,t),this._extension=n;const i=t;this.log(On.Info,`Background analysis(${Dn()}) root directory: ${i.rootDirectory}`),this._configOptions=new Ec(i.rootDirectory),this._host=this.createHost(),this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host);const r=this.getConsole();this._logTracker=new Bn(r,`BG(${Dn()})`),this._program=new rp(this._importResolver,this._configOptions,r,this._extension,this._logTracker)}get program(){return this._program}start(){var e,t,n,i;this.log(On.Info,`Background analysis(${Dn()}) started`),null===(e=this.parentPort)||void 0===e||e.on("message",(e=>this.onMessage(e))),null===(t=this.parentPort)||void 0===t||t.on("error",(e=>E(`failed ${e}`))),null===(n=this.parentPort)||void 0===n||n.on("exit",(e=>{0!==e&&E(`worker stopped with exit code ${e}`)})),null===(i=this.parentPort)||void 0===i||i.start()}onMessage(e){switch(this.log(On.Log,`Background analysis message: ${e.requestType}`),e.requestType){case"initializeFileSystem":this._realFs.apply(e.data);break;case"createFile":{const t=we(this.fs,e.data.uri);this._realFs.apply({[t]:""});break}case"deleteFile":{const t=we(this.fs,e.data.uri);this.fs.unlinkSync(t);break}case"analyze":{const t=e.port,n=up(e.data),i=this.program.getFilesToAnalyzeCount();this._onAnalysisCompletion(t,{diagnostics:[],filesInProgram:this.program.getFileCount(),filesRequiringAnalysis:i,checkingOnlyOpenFiles:this.program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:0}),this._analyzeOneChunk(t,n,e);break}case"resumeAnalysis":{const t=e.port,n=up(e.data);this._analyzeOneChunk(t,n,e);break}case"getDiagnosticsForRange":sp((()=>{const{filePath:t,range:n,cancellationId:i}=e.data;return ct(up(i)),this.program.getDiagnosticsForRange(t,n)}),e.port);break;case"writeTypeStub":sp((()=>{const{targetImportPath:t,targetIsSingleFile:n,stubPath:i,cancellationId:r}=e.data,s=up(r);Mn(this.program,void 0,this._configOptions,Nn,this.getConsole(),s),this.program.writeTypeStub(t,n,i,s)}),e.port);break;case"setImportResolver":this._importResolver=this.createImportResolver(this.fs,this._configOptions,this.createHost()),this.program.setImportResolver(this._importResolver);break;case"setConfigOptions":this._configOptions=function(e){const t=new Ec(e.projectRoot),n=e=>({wildcardRoot:e.wildcardRoot,regExp:new RegExp(e.regExp.source)});return t.pythonPath=e.pythonPath,t.typeshedPath=e.typeshedPath,t.stubPath=e.stubPath,t.autoExcludeVenv=e.autoExcludeVenv,t.verboseOutput=e.verboseOutput,t.checkOnlyOpenFiles=e.checkOnlyOpenFiles,t.useLibraryCodeForTypes=e.useLibraryCodeForTypes,t.internalTestMode=e.internalTestMode,t.indexGenerationMode=e.indexGenerationMode,t.venvPath=e.venvPath,t.venv=e.venv,t.defaultPythonVersion=e.defaultPythonVersion,t.defaultPythonPlatform=e.defaultPythonPlatform,t.defaultExtraPaths=e.defaultExtraPaths,t.diagnosticRuleSet=e.diagnosticRuleSet,t.executionEnvironments=e.executionEnvironments,t.autoImportCompletions=e.autoImportCompletions,t.indexing=e.indexing,t.logTypeEvaluationTime=e.logTypeEvaluationTime,t.typeEvaluationTimeThreshold=e.typeEvaluationTimeThreshold,t.include=e.include.map((e=>n(e))),t.exclude=e.exclude.map((e=>n(e))),t.ignore=e.ignore.map((e=>n(e))),t.strict=e.strict.map((e=>n(e))),t}(e.data),this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host),this.program.setConfigOptions(this._configOptions),this.program.setImportResolver(this._importResolver);break;case"setTrackedFiles":{const t=this.program.setTrackedFiles(e.data);this._reportDiagnostics(t,this.program.getFilesToAnalyzeCount(),0);break}case"setAllowedThirdPartyImports":this.program.setAllowedThirdPartyImports(e.data);break;case"ensurePartialStubPackages":{const{executionRoot:t}=e.data,n=this._configOptions.getExecutionEnvironments().find((e=>e.root===t));n&&this._importResolver.ensurePartialStubPackages(n);break}case"setFileOpened":{const{filePath:t,version:n,contents:i,options:r}=e.data;this.program.setFileOpened(t,n,i,r);break}case"setFileClosed":{const t=this.program.setFileClosed(e.data);this._reportDiagnostics(t,this.program.getFilesToAnalyzeCount(),0);break}case"markAllFilesDirty":{const{evenIfContentsAreSame:t,indexingNeeded:n}=e.data;this.program.markAllFilesDirty(t,n);break}case"markFilesDirty":{const{filePaths:t,evenIfContentsAreSame:n,indexingNeeded:i}=e.data;this.program.markFilesDirty(t,n,i);break}case"invalidateAndForceReanalysis":this._importResolver.invalidateCache(),this.program.markAllFilesDirty(!0,e.data);break;case"restart":this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host),this.program.setImportResolver(this._importResolver);break;default:E(`${e.requestType} is not expected`)}}_analyzeOneChunk(e,t,n){Mn(this.program,{openFilesTimeInMs:50,noOpenFilesTimeInMs:200},this._configOptions,(t=>this._onAnalysisCompletion(e,t)),this.getConsole(),t)?this._analysisPaused(e,n.data):(this.processIndexing(e,t),this.analysisDone(e,n.data))}processIndexing(e,t){}reportIndex(e,t){e.postMessage({requestType:"indexResult",data:t})}_reportDiagnostics(e,t,n){this.parentPort&&this._onAnalysisCompletion(this.parentPort,{diagnostics:e,filesInProgram:this.program.getFileCount(),filesRequiringAnalysis:t,checkingOnlyOpenFiles:this.program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:n})}_onAnalysisCompletion(e,t){e.postMessage({requestType:"analysisResult",data:t})}_analysisPaused(e,t){e.postMessage({requestType:"analysisPaused",data:t})}analysisDone(e,t){e.postMessage({requestType:"analysisDone",data:t})}}{constructor(e){super(kn(),e)}createRealFileSystem(){return new rd(!1,{cwd:X("/")})}createHost(){return new Ip}createImportResolver(e,t,n){return new In(e,t,n)}}class Dd{constructor(e){this._parentPort=e}threadId(){return self.name}parentPort(){return this._parentPort?new Ad(this._parentPort):null}createWorker(e){const t=new globalThis.MessageChannel;return self.postMessage({type:"browser/newWorker",initialData:e,port:t.port1},[t.port1]),t.port1.start(),t.port2.start(),new Ad(t.port2)}createMessageChannel(){const e=new globalThis.MessageChannel;return{port1:new Ad(e.port1),port2:new Ad(e.port2)}}}class Ad{constructor(e){this.delegate=e}unwrap(){return this.delegate}postMessage(e,t){t?this.delegate.postMessage(Pd(e),Pd(t)):this.delegate.postMessage(e)}on(e,t){"message"===e&&this.delegate.addEventListener(e,(e=>{const n=e.data;t(An(n,(e=>e instanceof globalThis.MessagePort?new Ad(e):e)))}))}start(){this.delegate.start()}close(){this.delegate.close()}}function Pd(e){return An(e,(e=>e instanceof Ad?e.unwrap():e))}const Rd=self;Rd.addEventListener("message",(async t=>{if("browser/boot"===t.data.type){const n=t.data,{mode:i,port:r,initialData:s}=n;try{if("foreground"===i)Cn(new Dd),Rd.app=new wd((0,e.createConnection)(new e.BrowserMessageReader(Rd),new e.BrowserMessageWriter(Rd)));else{if("background"!==i)throw new Error(`Invalid "mode" boot parameter: ${i}`);if(!s)throw new Error('Missing "initialData" background boot parameter.');if(!(r instanceof MessagePort))throw new Error(`Invalid "port" parameter: ${r}`);Cn(new Dd(r)),await dl(s.diagnosticTextSettings),Rd.app=new kd(s),Rd.app.start()}}catch(t){throw Rd.close(),t}}}))})()})(); -//# sourceMappingURL=pyright-main-c53c357c089fab5f5c10.worker.js.map \ No newline at end of file diff --git a/public/workers/pyright-main-c53c357c089fab5f5c10.worker.js.map b/public/workers/pyright-main-c53c357c089fab5f5c10.worker.js.map deleted file mode 100644 index 3e0950b09..000000000 --- a/public/workers/pyright-main-c53c357c089fab5f5c10.worker.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["pyright/node_modules/base64-js/index.js","pyright/node_modules/buffer/index.js","pyright/node_modules/ieee754/index.js","pyright/node_modules/path-browserify/index.js","pyright-internal/src/common/extensions.ts","pyright/node_modules/vscode-jsonrpc/browser.js","pyright/node_modules/vscode-jsonrpc/lib/browser/main.js","pyright/node_modules/vscode-jsonrpc/lib/browser/ril.js","pyright/node_modules/vscode-jsonrpc/lib/common/api.js","pyright/node_modules/vscode-jsonrpc/lib/common/cancellation.js","pyright/node_modules/vscode-jsonrpc/lib/common/connection.js","pyright/node_modules/vscode-jsonrpc/lib/common/disposable.js","pyright/node_modules/vscode-jsonrpc/lib/common/events.js","pyright/node_modules/vscode-jsonrpc/lib/common/is.js","pyright/node_modules/vscode-jsonrpc/lib/common/linkedMap.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageReader.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageWriter.js","pyright/node_modules/vscode-jsonrpc/lib/common/messages.js","pyright/node_modules/vscode-jsonrpc/lib/common/ral.js","pyright/node_modules/vscode-jsonrpc/lib/common/semaphore.js","pyright/node_modules/vscode-languageserver-protocol/browser.js","pyright/node_modules/vscode-languageserver-protocol/lib/browser/main.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/api.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/connection.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/messages.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolders.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js","pyright/node_modules/vscode-languageserver-types/lib/esm/main.js","pyright/node_modules/vscode-languageserver/browser.js","pyright/node_modules/vscode-languageserver/lib/browser/main.js","pyright/node_modules/vscode-languageserver/lib/common/api.js","pyright/node_modules/vscode-languageserver/lib/common/callHierarchy.js","pyright/node_modules/vscode-languageserver/lib/common/configuration.js","pyright/node_modules/vscode-languageserver/lib/common/fileOperations.js","pyright/node_modules/vscode-languageserver/lib/common/linkedEditingRange.js","pyright/node_modules/vscode-languageserver/lib/common/moniker.js","pyright/node_modules/vscode-languageserver/lib/common/progress.js","pyright/node_modules/vscode-languageserver/lib/common/semanticTokens.js","pyright/node_modules/vscode-languageserver/lib/common/server.js","pyright/node_modules/vscode-languageserver/lib/common/showDocument.js","pyright/node_modules/vscode-languageserver/lib/common/utils/is.js","pyright/node_modules/vscode-languageserver/lib/common/utils/uuid.js","pyright/node_modules/vscode-languageserver/lib/common/workspaceFolders.js","pyright-internal/node_modules/@iarna/toml/lib/create-date.js","pyright-internal/node_modules/@iarna/toml/lib/create-datetime-float.js","pyright-internal/node_modules/@iarna/toml/lib/create-datetime.js","pyright-internal/node_modules/@iarna/toml/lib/create-time.js","pyright-internal/node_modules/@iarna/toml/lib/format-num.js","pyright-internal/node_modules/@iarna/toml/lib/parser.js","pyright-internal/node_modules/@iarna/toml/lib/toml-parser.js","pyright-internal/node_modules/@iarna/toml/parse-async.js","pyright-internal/node_modules/@iarna/toml/parse-pretty-error.js","pyright-internal/node_modules/@iarna/toml/parse-stream.js","pyright-internal/node_modules/@iarna/toml/parse-string.js","pyright-internal/node_modules/@iarna/toml/parse.js","pyright-internal/node_modules/@iarna/toml/stringify.js","pyright-internal/node_modules/@iarna/toml/toml.js","pyright-internal/node_modules/leven/index.js","pyright-internal/node_modules/vscode-jsonrpc/browser.js","pyright-internal/node_modules/vscode-jsonrpc/lib/browser/main.js","pyright-internal/node_modules/vscode-jsonrpc/lib/browser/ril.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/api.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/cancellation.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/connection.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/disposable.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/events.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/is.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/linkedMap.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageReader.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageWriter.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messages.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/ral.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/semaphore.js","pyright-internal/node_modules/vscode-languageserver-protocol/browser.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/browser/main.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/api.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/connection.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/messages.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolders.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js","pyright-internal/node_modules/vscode-languageserver-types/lib/esm/main.js","pyright-internal/node_modules/vscode-languageserver/lib/browser/main.js","pyright-internal/node_modules/vscode-languageserver/lib/common/api.js","pyright-internal/node_modules/vscode-languageserver/lib/common/callHierarchy.js","pyright-internal/node_modules/vscode-languageserver/lib/common/configuration.js","pyright-internal/node_modules/vscode-languageserver/lib/common/fileOperations.js","pyright-internal/node_modules/vscode-languageserver/lib/common/linkedEditingRange.js","pyright-internal/node_modules/vscode-languageserver/lib/common/moniker.js","pyright-internal/node_modules/vscode-languageserver/lib/common/progress.js","pyright-internal/node_modules/vscode-languageserver/lib/common/semanticTokens.js","pyright-internal/node_modules/vscode-languageserver/lib/common/server.js","pyright-internal/node_modules/vscode-languageserver/lib/common/showDocument.js","pyright-internal/node_modules/vscode-languageserver/lib/common/utils/is.js","pyright-internal/node_modules/vscode-languageserver/lib/common/utils/uuid.js","pyright-internal/node_modules/vscode-languageserver/lib/common/workspaceFolders.js","webpack/bootstrap","webpack/runtime/create fake namespace object","webpack/runtime/compat get default export","webpack/runtime/define property getters","webpack/runtime/ensure chunk","webpack/runtime/get javascript chunk filename","webpack/runtime/global","webpack/runtime/hasOwnProperty shorthand","webpack/runtime/make namespace object","webpack/runtime/publicPath","webpack/runtime/importScripts chunk loading","pyright-internal/src/common/core.ts","pyright-internal/src/common/collectionUtils.ts","pyright-internal/src/common/pathConsts.ts","pyright-internal/node_modules/vscode-uri/lib/esm/index.js","pyright-internal/src/common/debug.ts","pyright-internal/src/common/crypto.ts","pyright-internal/src/common/stringUtils.ts","pyright-internal/src/common/pathUtils.ts","pyright-internal/src/common/pythonVersion.ts","pyright-internal/src/parser/characters.ts","pyright-internal/src/parser/unicode.ts","pyright-internal/src/analyzer/pyTypedUtils.ts","pyright-internal/src/common/fileSystem.ts","pyright-internal/src/pyrightFileSystem.ts","pyright-internal/src/readonlyAugmentedFileSystem.ts","pyright-internal/src/common/cancellationUtils.ts","pyright-internal/src/common/textRange.ts","pyright-internal/src/analyzer/codeFlowTypes.ts","pyright-internal/src/common/positionUtils.ts","pyright-internal/src/analyzer/analyzerNodeInfo.ts","pyright-internal/src/analyzer/symbolNameUtils.ts","pyright-internal/src/analyzer/importStatementUtils.ts","pyright-internal/src/analyzer/parentDirectoryCache.ts","pyright-internal/src/analyzer/pythonPathUtils.ts","pyright-internal/src/analyzer/importResolver.ts","pyright-internal/src/apidocsProtocol.ts","pyright-internal/src/common/workersHost.ts","pyright-internal/src/common/timing.ts","pyright-internal/src/analyzer/analysis.ts","pyright-internal/src/common/console.ts","pyright-internal/src/common/logTracker.ts","pyright-internal/src/analyzer/declaration.ts","pyright-internal/src/parser/parseNodes.ts","pyright-internal/src/analyzer/parseTreeWalker.ts","pyright-internal/src/analyzer/parseTreeUtils.ts","pyright-internal/src/analyzer/declarationUtils.ts","pyright-internal/src/analyzer/docStringUtils.ts","pyright-internal/src/analyzer/docStringConversion.ts","pyright-internal/src/analyzer/scopeUtils.ts","pyright-internal/src/analyzer/types.ts","pyright-internal/src/analyzer/symbol.ts","pyright-internal/src/analyzer/symbolUtils.ts","pyright-internal/src/analyzer/typeVarMap.ts","pyright-internal/src/analyzer/typeUtils.ts","pyright-internal/src/common/diagnosticRules.ts","pyright-internal/src/analyzer/sourceMapper.ts","pyright-internal/src/common/diagnostic.ts","pyright-internal/src/localization/localize.ts","pyright-internal/src/analyzer/typedDicts.ts","pyright-internal/src/analyzer/typeDocStringUtils.ts","pyright-internal/src/analyzer/typePrinter.ts","pyright-internal/src/languageService/documentSymbolCollector.ts","pyright-internal/src/languageService/tooltipUtils.ts","pyright-internal/src/languageService/completionProvider.ts","pyright-internal/src/languageService/autoImporter.ts","pyright-internal/src/languageService/callHierarchyProvider.ts","pyright-internal/src/languageService/referencesProvider.ts","pyright-internal/src/languageService/renameModuleProvider.ts","pyright-internal/node_modules/vscode-languageserver-textdocument/lib/esm/main.js","pyright-internal/src/common/configOptions.ts","pyright-internal/src/languageService/definitionProvider.ts","pyright-internal/src/parser/tokenizerTypes.ts","pyright-internal/src/analyzer/circularDependency.ts","pyright-internal/src/common/diagnosticSink.ts","pyright-internal/src/common/textRangeCollection.ts","pyright-internal/src/analyzer/aliasDeclarationUtils.ts","pyright-internal/src/languageService/documentSymbolProvider.ts","pyright-internal/src/languageService/importSorter.ts","pyright-internal/src/parser/stringTokenUtils.ts","pyright-internal/src/parser/characterStream.ts","pyright-internal/src/parser/tokenizer.ts","pyright-internal/src/parser/parser.ts","pyright-internal/src/analyzer/scope.ts","pyright-internal/src/analyzer/staticExpressions.ts","pyright-internal/src/analyzer/binder.ts","pyright-internal/src/analyzer/typeGuards.ts","pyright-internal/src/analyzer/patternMatching.ts","pyright-internal/src/analyzer/checker.ts","pyright-internal/src/analyzer/commentUtils.ts","pyright-internal/src/analyzer/parseTreeCleaner.ts","pyright-internal/src/analyzer/testWalker.ts","pyright-internal/src/analyzer/sourceFile.ts","pyright-internal/src/languageService/hoverProvider.ts","pyright-internal/src/languageService/documentHighlightProvider.ts","pyright-internal/src/languageService/signatureHelpProvider.ts","pyright-internal/src/languageService/quickActions.ts","pyright-internal/src/analyzer/tracePrinter.ts","pyright-internal/src/analyzer/typeCache.ts","pyright-internal/src/analyzer/namedTuples.ts","pyright-internal/src/analyzer/dataClasses.ts","pyright-internal/src/analyzer/functionTransform.ts","pyright-internal/src/analyzer/properties.ts","pyright-internal/src/analyzer/typeEvaluator.ts","pyright-internal/src/analyzer/constructorTransform.ts","pyright-internal/src/analyzer/codeFlowEngine.ts","pyright-internal/src/analyzer/typeStubWriter.ts","pyright-internal/src/analyzer/program.ts","pyright-internal/src/analyzer/typeEvaluatorWithTracker.ts","pyright-internal/src/backgroundThreadBase.ts","pyright-internal/src/common/fileBasedCancellationUtils.ts","pyright-internal/src/backgroundAnalysisBase.ts","pyright-internal/src/common/commandLineOptions.ts","pyright-internal/src/common/deferred.ts","pyright-internal/src/languageService/analyzerServiceExecutor.ts","pyright-internal/src/commands/createTypeStub.ts","pyright-internal/src/commands/quickActionCommand.ts","pyright-internal/src/common/textEditUtils.ts","pyright-internal/src/commands/restartServer.ts","pyright-internal/src/commands/commandController.ts","pyright-internal/src/common/host.ts","pyright-internal/src/analyzer/backgroundAnalysisProgram.ts","pyright-internal/node_modules/jsonc-parser/lib/esm/impl/parser.js","pyright-internal/node_modules/jsonc-parser/lib/esm/impl/scanner.js","pyright-internal/src/analyzer/service.ts","pyright-internal/src/commands/commandResult.ts","pyright-internal/src/common/progressReporter.ts","pyright-internal/src/common/uriParser.ts","pyright-internal/src/languageServerBase.ts","pyright-internal/src/tests/harness/utils.ts","pyright-internal/src/tests/harness/vfs/pathValidation.ts","pyright-internal/src/tests/harness/vfs/filesystem.ts","pyright-internal/src/workspaceMap.ts","pyright/src/browser-server.ts","pyright-internal/src/common/workspaceEditUtils.ts","pyright-internal/src/languageService/codeActionProvider.ts","pyright/src/browserWorkersHost.ts","pyright/src/worker.ts"],"names":["exports","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","i","arr","Arr","_byteLength","curByte","len","revLookup","charCodeAt","fromByteArray","uint8","length","extraBytes","parts","maxChunkLength","len2","push","encodeChunk","lookup","join","Uint8Array","Array","code","Error","indexOf","start","end","num","output","base64","ieee754","customInspectSymbol","Symbol","Buffer","SlowBuffer","alloc","INSPECT_MAX_BYTES","K_MAX_LENGTH","createBuffer","RangeError","buf","Object","setPrototypeOf","prototype","arg","encodingOrOffset","TypeError","allocUnsafe","from","value","string","encoding","isEncoding","actual","write","slice","fromString","ArrayBuffer","isView","arrayView","isInstance","copy","fromArrayBuffer","buffer","byteOffset","fromArrayLike","fromArrayView","SharedArrayBuffer","valueOf","b","obj","isBuffer","checked","undefined","numberIsNaN","type","isArray","data","fromObject","toPrimitive","assertSize","size","array","toString","mustMatch","arguments","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","this","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","m","bidirectionalIndexOf","val","dir","arrayIndexOf","call","lastIndexOf","indexSize","arrLength","valLength","String","read","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","asciiToBytes","base64Write","ucs2Write","units","c","hi","lo","utf16leToBytes","Math","min","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","apply","decodeCodePointsArray","kMaxLength","TYPED_ARRAY_SUPPORT","proto","foo","e","typedArraySupport","console","error","defineProperty","enumerable","get","poolSize","fill","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","set","swap16","swap32","swap64","toLocaleString","equals","inspect","max","replace","trim","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","ret","out","hexSliceLookupTable","bytes","checkOffset","ext","checkInt","wrtBigUInt64LE","checkIntBI","BigInt","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","first","last","boundsError","readBigUInt64BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","errors","E","sym","getMessage","Base","constructor","super","writable","configurable","name","stack","message","addNumericalSeparator","range","ERR_OUT_OF_RANGE","checkBounds","ERR_INVALID_ARG_TYPE","floor","ERR_BUFFER_OUT_OF_BOUNDS","input","msg","received","isInteger","abs","INVALID_BASE64_RE","Infinity","leadSurrogate","split","base64clean","src","dst","alphabet","table","i16","fn","BufferBigIntNotDefined","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","s","NaN","rt","isNaN","log","LN2","assertPath","path","JSON","stringify","normalizeStringPosix","allowAboveRoot","lastSegmentLength","lastSlash","dots","lastSlashIndex","posix","resolve","cwd","resolvedPath","resolvedAbsolute","normalize","isAbsolute","trailingSeparator","joined","relative","to","fromStart","fromEnd","fromLen","toStart","toLen","lastCommonSep","fromCode","_makeLong","dirname","hasRoot","matchedSlash","basename","extIdx","firstNonSlashEnd","extname","startDot","startPart","preDotState","format","pathObject","sep","root","base","_format","parse","delimiter","win32","module","Promise","ignoreErrors","catch","__createBinding","create","o","k","k2","__exportStar","p","hasOwnProperty","createMessageConnection","BrowserMessageWriter","BrowserMessageReader","default","install","api_1","AbstractMessageReader","context","_onData","Emitter","_messageListener","event","fire","addEventListener","fireError","onmessage","listen","callback","AbstractMessageWriter","errorCount","postMessage","handleError","reject","reader","writer","logger","options","NullLogger","ConnectionStrategy","is","connectionStrategy","ral_1","disposable_1","events_1","messageBuffer_1","MessageBuffer","AbstractMessageBuffer","asciiDecoder","TextDecoder","emptyBuffer","_encoding","TextEncoder","encode","decode","asNative","allocNative","ReadableStreamWrapper","socket","arrayBuffer","then","onClose","listener","Disposable","removeEventListener","onError","onEnd","onData","WritableStreamWrapper","send","close","_textEncoder","_ril","freeze","messageBuffer","applicationJson","encoder","charset","decoder","stream","asReadableStream","asWritableStream","timer","setTimeout","ms","args","clearTimeout","handle","setImmediate","clearImmediate","RIL","CancellationSenderStrategy","CancellationReceiverStrategy","ConnectionError","ConnectionErrors","LogTraceNotification","SetTraceNotification","TraceFormat","Trace","ProgressType","ConnectionOptions","WriteableStreamMessageWriter","MessageWriter","ReadableStreamMessageReader","MessageReader","CancellationToken","CancellationTokenSource","Event","ParameterStructures","NotificationType9","NotificationType8","NotificationType7","NotificationType6","NotificationType5","NotificationType4","NotificationType3","NotificationType2","NotificationType1","NotificationType0","NotificationType","ErrorCodes","ResponseError","RequestType9","RequestType8","RequestType7","RequestType6","RequestType5","RequestType4","RequestType3","RequestType2","RequestType1","RequestType0","RequestType","RAL","CancellationStrategy","messages_1","cancellation_1","messageReader_1","messageWriter_1","connection_1","Is","None","isCancellationRequested","onCancellationRequested","Cancelled","candidate","boolean","shortcutEvent","bind","dispose","MutableToken","_isCancelled","cancel","_emitter","_token","linkedMap_1","CancelNotification","ProgressNotification","StarRequestHandler","ConnectionState","func","warn","info","Off","Messages","Verbose","Text","cancelUndispatched","Message","createCancellationTokenSource","_","sendCancellation","conn","id","sendNotification","cleanup","receiver","sender","cancellationStrategy","messageReader","messageWriter","_logger","sequenceNumber","notificationSquenceNumber","unknownResponseSquenceNumber","version","starRequestHandler","requestHandlers","starNotificationHandler","notificationHandlers","progressHandlers","Map","tracer","messageQueue","LinkedMap","responsePromises","requestTokens","trace","traceFormat","state","New","errorEmitter","closeEmitter","unhandledNotificationEmitter","unhandledProgressEmitter","disposeEmitter","createRequestQueueKey","_message","isListening","Listening","isClosed","Closed","isDisposed","Disposed","closeHandler","triggerMessageQueue","shift","isRequestMessage","requestMessage","reply","resultOrError","method","startTime","jsonrpc","toJson","result","traceSendingResponse","replyError","params","logLSPMessage","traceReceivedRequest","element","requestHandler","handler","Date","now","tokenKey","cancellationSource","handlerResult","numberOfParams","InvalidParams","token","parameterStructures","byName","byPosition","promise","InternalError","replySuccess","MethodNotFound","handleRequest","isNotificationMessage","notificationHandler","source","traceReceivedNotification","handleNotification","isResponseMessage","responseMessage","key","responsePromise","timerStart","traceReceivedResponse","handleResponse","number","responseHandler","handleInvalidMessage","processMessageQueue","toCancel","strategy","response","delete","queue","addMessageToQueue","lspMessage","isLSPMessage","timestamp","throwIfClosedOrDisposed","undefinedToNull","param","nullToUndefined","isNamedParam","computeSingleParam","auto","computeMessageParams","connection","messageParams","paramStart","paramEnd","map","notificationMessage","traceSendingNotification","onNotification","onProgress","_type","has","sendProgress","onUnhandledProgress","sendRequest","throwIfNotListening","disposable","r","traceSendingRequest","MessageWriteError","onRequest","_value","_tracer","sendNotificationOrTraceOptions","_sendNotification","_traceFormat","onUnhandledNotification","onDispose","keys","forEach","AlreadyListening","throwIfListening","verbose","_disposable","CallbackList","add","bucket","_callbacks","_contexts","remove","foundCallbackWithDifferentContext","splice","invoke","callbacks","contexts","isEmpty","_options","_event","thisArgs","disposables","onFirstListenerAdd","_noop","onLastListenerRemove","stringArray","every","elem","Touch","LRUCache","First","AsOld","Last","AsNew","toStringTag","_map","_head","_tail","_size","_state","clear","_a","touch","item","next","previous","addItemLast","addItemFirst","removeItem","callbackfn","thisArg","current","iterator","done","values","entries","trimOld","newSize","currentSize","fromJSON","ratio","_limit","_ratio","checkTrim","peek","round","_chunks","_totalLength","append","chunk","toAppend","tryReadHeaders","chunkIndex","chunkBytesRead","row","_read","headers","header","index","tryReadBody","byteCount","resultOffset","chunkPart","ResolvedMessageReaderOptions","onPartialMessage","partialMessageEmitter","asError","fireClose","firePartialMessage","fromOptions","contentDecoder","contentDecoders","contentTypeDecoder","contentTypeDecoders","readable","_partialMessageTimeout","nextMessageLength","messageToken","timeout","partialMessageTimer","contentLength","body","setPartialMessageTimer","clearPartialMessageTimer","waitingTime","semaphore_1","ResolvedMessageWriterOptions","count","_b","contentTypeEncoder","contentEncoder","writeSemaphore","Semaphore","lock","async","doWrite","AbstractMessageSignature","ParseError","InvalidRequest","jsonrpcReservedErrorRangeStart","serverErrorStart","MessageReadError","ServerNotInitialized","UnknownErrorCode","jsonrpcReservedErrorRangeEnd","serverErrorEnd","kind","_parameterStructures","_ral","ral","capacity","_capacity","_active","_waiting","thunk","runNext","doRunNext","err","createProtocolConnection","browser_1","LSPErrorCodes","lspReservedErrorRangeStart","ContentModified","RequestCancelled","lspReservedErrorRangeEnd","vscode_jsonrpc_1","ProtocolNotificationType","ProtocolNotificationType0","ProtocolRequestType","ProtocolRequestType0","RegistrationType","CallHierarchyOutgoingCallsRequest","CallHierarchyIncomingCallsRequest","CallHierarchyPrepareRequest","ColorPresentationRequest","DocumentColorRequest","ConfigurationRequest","DeclarationRequest","WillDeleteFilesRequest","DidDeleteFilesNotification","DidRenameFilesNotification","WillRenameFilesRequest","DidCreateFilesNotification","WillCreateFilesRequest","FileOperationPatternKind","file","folder","FoldingRangeRequest","FoldingRangeKind","ImplementationRequest","DocumentLinkRequest","CodeLensRefreshRequest","CodeLensResolveRequest","CodeLensRequest","WorkspaceSymbolRequest","CodeActionResolveRequest","CodeActionRequest","DocumentSymbolRequest","DocumentHighlightRequest","ReferencesRequest","DefinitionRequest","SignatureHelpRequest","SignatureHelpTriggerKind","HoverRequest","CompletionResolveRequest","CompletionRequest","CompletionTriggerKind","PublishDiagnosticsNotification","WatchKind","FileChangeType","DidChangeWatchedFilesNotification","WillSaveTextDocumentWaitUntilRequest","WillSaveTextDocumentNotification","TextDocumentSaveReason","DidSaveTextDocumentNotification","DidCloseTextDocumentNotification","DidChangeTextDocumentNotification","TextDocumentContentChangeEvent","DidOpenTextDocumentNotification","TextDocumentSyncKind","TelemetryEventNotification","LogMessageNotification","ShowMessageRequest","ShowMessageNotification","MessageType","DidChangeConfigurationNotification","ExitNotification","ShutdownRequest","InitializedNotification","InitializeError","InitializeRequest","WorkDoneProgressOptions","TextDocumentRegistrationOptions","StaticRegistrationOptions","FailureHandlingKind","ResourceOperationKind","UnregistrationRequest","RegistrationRequest","DocumentSelector","DocumentFilter","MonikerRequest","MonikerKind","UniquenessLevel","LinkedEditingRangeRequest","ShowDocumentRequest","SemanticTokensRegistrationType","SemanticTokensRefreshRequest","SemanticTokensRangeRequest","SemanticTokensDeltaRequest","SemanticTokensRequest","TokenFormat","SemanticTokens","SemanticTokenModifiers","SemanticTokenTypes","WorkDoneProgressCancelNotification","WorkDoneProgressCreateRequest","WorkDoneProgress","SelectionRangeRequest","DidChangeWorkspaceFoldersNotification","WorkspaceFoldersRequest","TypeDefinitionRequest","ApplyWorkspaceEditRequest","ExecuteCommandRequest","PrepareRenameRequest","RenameRequest","PrepareSupportDefaultBehavior","DocumentOnTypeFormattingRequest","DocumentRangeFormattingRequest","DocumentFormattingRequest","DocumentLinkResolveRequest","protocol_implementation_1","protocol_typeDefinition_1","protocol_workspaceFolders_1","protocol_configuration_1","protocol_colorProvider_1","protocol_foldingRange_1","protocol_declaration_1","protocol_selectionRange_1","protocol_progress_1","protocol_callHierarchy_1","protocol_semanticTokens_1","protocol_showDocument_1","protocol_linkedEditingRange_1","protocol_fileOperations_1","protocol_moniker_1","language","scheme","pattern","Create","Rename","Delete","Abort","Transactional","TextOnlyTransactional","Undo","hasId","documentSelector","objectLiteral","workDoneProgress","hasWorkDoneProgress","unknownProtocolVersion","Warning","Info","Log","Full","Incremental","isIncremental","text","rangeLength","isFull","Manual","AfterDelay","FocusOut","Created","Changed","Deleted","Change","Invoked","TriggerCharacter","TriggerForIncompleteCompletions","ContentChange","Identifier","resultId","Relative","typedArray","check","integer","uinteger","Position","Range","Location","LocationLink","Color","ColorInformation","ColorPresentation","FoldingRange","DiagnosticRelatedInformation","DiagnosticSeverity","DiagnosticTag","CodeDescription","Diagnostic","Command","TextEdit","ChangeAnnotation","ChangeAnnotationIdentifier","AnnotatedTextEdit","TextDocumentEdit","CreateFile","RenameFile","DeleteFile","WorkspaceEdit","MIN_VALUE","MAX_VALUE","line","character","one","two","three","four","uri","defined","targetUri","targetRange","targetSelectionRange","originSelectionRange","red","green","blue","alpha","numberRange","color","label","textEdit","additionalTextEdits","startLine","endLine","startCharacter","endCharacter","location","Information","Hint","Unnecessary","Deprecated","href","severity","relatedInformation","codeDescription","title","command","_i","newText","insert","position","del","needsConfirmation","description","annotation","annotationId","textDocument","edits","OptionalVersionedTextDocumentIdentifier","overwrite","ignoreIfExists","oldUri","newUri","recursive","ignoreIfNotExists","changes","documentChanges","change","TextDocumentIdentifier","VersionedTextDocumentIdentifier","TextDocumentItem","MarkupKind","MarkupContent","CompletionItemKind","InsertTextFormat","CompletionItemTag","InsertReplaceEdit","InsertTextMode","CompletionItem","CompletionList","MarkedString","Hover","ParameterInformation","SignatureInformation","DocumentHighlightKind","DocumentHighlight","SymbolKind","SymbolTag","SymbolInformation","DocumentSymbol","CodeActionKind","CodeActionContext","CodeAction","CodeLens","FormattingOptions","DocumentLink","SelectionRange","TextEditChangeImpl","changeAnnotations","edit","assertChangeAnnotations","manage","all","ChangeAnnotations","annotations","_annotations","_counter","idOrAnnotation","nextId","WorkspaceChange","workspaceEdit","_this","_textEditChanges","_workspaceEdit","_changeAnnotations","textEditChange","initDocumentChanges","getTextEditChange","textDocumentEdit","initChanges","createFile","optionsOrAnnotation","operation","renameFile","deleteFile","languageId","PlainText","Markdown","Method","Function","Constructor","Field","Variable","Class","Interface","Module","Property","Unit","Value","Enum","Keyword","Snippet","File","Reference","Folder","EnumMember","Constant","Struct","Operator","TypeParameter","asIs","adjustIndentation","items","isIncomplete","fromPlainText","plainText","contents","documentation","parameters","Read","Write","Namespace","Package","Boolean","Key","Null","containerName","detail","selectionRange","children","deprecated","tags","Empty","QuickFix","Refactor","RefactorExtract","RefactorInline","RefactorRewrite","Source","SourceOrganizeImports","SourceFixAll","diagnostics","only","kindOrCommandOrEdit","checkKind","isPreferred","tabSize","insertSpaces","parent","TextDocument","EOL","mergeSort","left","right","leftIdx","rightIdx","content","FullTextDocument","lineCount","getText","positionAt","offsetAt","applyEdits","document","sortedEdits","diff","lastModifiedOffset","startOffset","endOffset","substring","_uri","_languageId","_version","_content","_lineOffsets","update","getLineOffsets","lineOffsets","isLineStart","ch","charAt","low","high","mid","lineOffset","nextLineOffset","createConnection","_shutdownReceived","watchDog","initialize","_params","exit","_code","arg1","arg2","arg3","arg4","factories","__brand","ProposedFeatures","SemanticTokensBuilder","semanticTokens_1","CallHierarchyFeature","vscode_languageserver_protocol_1","onPrepare","attachWorkDoneProgress","onIncomingCalls","attachPartialResultProgress","onOutgoingCalls","ConfigurationFeature","getConfiguration","_getConfiguration","section","FileOperationsFeature","onDidCreateFiles","onDidRenameFiles","onDidDeleteFiles","onWillCreateFiles","onWillRenameFiles","onWillDeleteFiles","LinkedEditingRangeFeature","onLinkedEditingRange","MonikerFeature","on","attachPartialResult","ProgressFeature","attachWorkDone","uuid_1","WorkDoneProgressReporterImpl","_connection","Instances","begin","percentage","cancellable","report","arg0","WorkDoneProgressServerReporterImpl","_source","NullProgressReporter","NullProgressServerReporter","ResultProgress","workDoneToken","_progressSupported","capabilities","window","progress","createWorkDoneProgress","generateUuid","ResultProgressReporterImpl","partialResultToken","SemanticTokensFeature","onDelta","onRange","_prevData","_id","_prevLine","_prevChar","_data","_dataLen","char","tokenType","tokenModifiers","pushLine","pushChar","previousResult","build","canBuildEdits","buildEdits","prevDataLength","dataLength","startIndex","endIndex","newData","deleteCount","combineFeatures","combineLanguagesFeatures","combineWorkspaceFeatures","combineWindowFeatures","combineClientFeatures","combineTracerFeatures","combineTelemetryFeatures","combineConsoleFeatures","_LanguagesImpl","BulkUnregistration","BulkRegistration","ErrorMessageTracker","TextDocuments","UUID","progress_1","configuration_1","workspaceFolders_1","callHierarchy_1","showDocument_1","fileOperations_1","linkedEditingRange_1","moniker_1","null2Undefined","configuration","_documents","_configuration","_onDidChangeContent","_onDidOpen","_onDidClose","_onDidSave","_onWillSave","onWillSaveWaitUntil","_willSaveWaitUntil","__textDocumentSync","onDidOpenTextDocument","td","toFire","onDidChangeTextDocument","contentChanges","onDidCloseTextDocument","onWillSaveTextDocument","reason","onWillSaveTextDocumentWaitUntil","onDidSaveTextDocument","_messages","sendErrors","showErrorMessage","RemoteConsoleImpl","rawAttach","_rawConnection","attach","fillServerCapabilities","_capabilities","RemoteWindowImpl","ShowDocumentFeature","actions","showWarningMessage","showInformationMessage","BulkRegistrationImpl","_registrations","_registered","Set","registerOptions","asRegistrationParams","registrations","BulkUnregistrationImpl","unregistrations","_unregistrations","unregistration","unregisterations","_error","disposeSingle","RemoteClientImpl","register","typeOrRegistrations","registerOptionsOrType","registerMany","registerSingle1","registerSingle2","isAttached","_result","unregisterSingle","registration","RemoteWorkspaceImpl","WorkspaceFoldersFeature","applyEdit","paramOrEdit","TracerImpl","_trace","TelemetryImpl","logEvent","LanguagesImpl","combine","telemetry","client","workspace","connectionFactory","remoteWindow","languages","allRemotes","asPromise","thenable","resolved","shutdownHandler","initializeHandler","exitHandler","protocolConnection","onInitialize","onInitialized","onShutdown","onExit","onDidChangeConfiguration","onDidChangeWatchedFiles","sendDiagnostics","onHover","onCompletion","onCompletionResolve","onSignatureHelp","onDeclaration","onDefinition","onTypeDefinition","onImplementation","onReferences","onDocumentHighlight","onDocumentSymbol","onWorkspaceSymbol","onCodeAction","onCodeActionResolve","onCodeLens","onCodeLensResolve","onDocumentFormatting","onDocumentRangeFormatting","onDocumentOnTypeFormatting","onRenameRequest","onPrepareRename","onDocumentLinks","onDocumentLinkResolve","onDocumentColor","onColorPresentation","onFoldingRanges","onSelectionRanges","onExecuteCommand","remote","textDocumentSync","shutdownReceived","showDocument","isUUID","v4","empty","ValueUUID","asHex","other","V4UUID","_randomHex","_oneOf","_timeHighBits","random","_chars","_UUIDPattern","test","workspaceCapabilities","workspaceFolders","_onDidChangeWorkspaceFolders","getWorkspaceFolders","_unregistration","f","DateTime","g","isDate","toISOString","getUTCFullYear","getUTCMonth","getUTCDate","date","FloatingDateTime","isFloating","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","Time","isTime","ParserEND","ParserError","filename","linenumber","captureStackTrace","State","parser","returned","resultTable","resultArr","Parser","col","ctx","_buf","ii","parseStart","getNext","nextChar","runOne","codePointAt","haveBuffer","finish","goto","returnWith","callNow","return","pop","returnNow","consume","END","makeParserClass","TomlError","fromTOML","wrapped","wrap","terr","createDateTime","createDateTimeFloat","createDate","createTime","CTRL_I","CTRL_J","CTRL_M","CTRL_CHAR_BOUNDARY","CHAR_SP","CHAR_QUOT","CHAR_NUM","CHAR_APOS","CHAR_PLUS","CHAR_COMMA","CHAR_HYPHEN","CHAR_PERIOD","CHAR_0","CHAR_1","CHAR_7","CHAR_9","CHAR_COLON","CHAR_EQUALS","CHAR_A","CHAR_E","CHAR_F","CHAR_T","CHAR_U","CHAR_Z","CHAR_LOWBAR","CHAR_a","CHAR_b","CHAR_e","CHAR_f","CHAR_i","CHAR_l","CHAR_n","CHAR_o","CHAR_r","CHAR_s","CHAR_t","CHAR_u","CHAR_x","CHAR_z","CHAR_LCUB","CHAR_RCUB","CHAR_LSQB","CHAR_BSOL","CHAR_RSQB","CHAR_DEL","SURROGATE_FIRST","SURROGATE_LAST","escapes","isDigit","cp","isHexit","isBit","isOctit","isAlphaNumQuoteHyphen","isAlphaNumHyphen","_declared","descriptor","hasKey","INLINE_TABLE","InlineTable","defineProperties","isInlineTable","TABLE","Table","isTable","_contentType","INLINE_LIST","InlineList","isInlineList","LIST","List","isList","_custom","utilInspect","eval","custom","_inspect","BoxedBigInt","asIntN","INTEGER","Integer","isSafeInteger","FLOAT","Float","isFloat","tomlType","atEndOfWord","atEndOfLine","parseTableOrList","parseComment","parseAssignStatement","parseWhitespaceToEOL","parseAssign","recordAssignStatement","kv","finalKey","kw","parseKeyword","recordAssignKeyword","parseAssignKeywordPreDot","parseAssignKeywordPostDot","parseAssignEqual","parseAssignPreValue","parseValue","recordAssignValue","parseTable","parseList","parseTableNext","parseTableMore","keyword","parseListNext","parseListMore","parseListEnd","parseDoubleString","parseSingleString","parseNumberSign","parseInf","parseNan","parseNumberOrDateTime","parseBoolean","parseInlineList","recordValue","parseInlineTable","parseInf2","parseNan2","parseBasicString","parseLiteralString","parseBareKey","parseLiteralMultiStringMaybe","errorControlCharInString","parseLiteralMultiString","parseLiteralMultiStringContent","parseLiteralMultiEnd","parseLiteralMultiEnd2","parseMultiStringMaybe","parseEscape","recordEscapeReplacement","replacement","parseMultiString","parseMultiStringContent","parseMultiEscape","recordMultiEscapeReplacement","parseMultiEnd","displayCode","parseMultiEnd2","parseMultiTrim","parsePreMultiTrim","parseSmallUnicode","parseUnicodeReturn","parseLargeUnicode","fromCodePoint","parseMaybeSignedInfOrNan","parseNoUnder","parseNumberIntegerStart","parseNumberIntegerExponentOrDecimal","parseNumberInteger","parseNumberFloat","parseNumberExponentSign","parseNoUnderHexOctBinLiteral","parseNumberExponent","parseNumberBaseOrDateTime","parseNumberOrDateTimeOnly","parseDateTime","parseOnlyTimeHour","parseDateTimeOnly","parseIntegerBin","parseIntegerOct","parseIntegerHex","parseDateMonth","parseDateDay","parseStartTimeHour","parseTimeHour","parseTimeMin","parseTimeSec","parseTimeZoneOrFraction","parseOnlyTimeMin","parseOnlyTimeSec","parseOnlyTimeFractionMaybe","parseOnlyTimeFraction","parseDateTimeFraction","parseTimeZoneHour","parseTimeZoneSep","parseTimeZoneMin","parseTrue_r","parseFalse_a","parseTrue_u","parseTrue_e","parseFalse_l","parseFalse_s","parseFalse_e","recordInlineListValue","listType","valueType","parseInlineListNext","recordInlineTableValue","parseInlineTableNext","opts","blocksize","TOMLParser","parseAsyncNext","prettyError","lines","lineNumWidth","linePadding","lineNum","hh","stm","setEncoding","ended","errored","once","readNext","parseReadable","Transform","objectMode","transform","cb","emit","flush","parseTransform","typeError","getInlineKeys","filter","isInline","nobj","prop","stringifyObject","prefix","indent","inlineKeys","complexKeys","getComplexKeys","inlineIndent","stringifyKey","stringifyAnyInline","complexIndent","validateArray","firstValueType","fullKey","stringifyArrayOfTables","stringifyComplexTable","stringifyComplex","keyStr","stringifyBasicString","escapeString","numpad","multilineOk","stringifyInline","escaped","stringifyMultilineString","stringifyInteger","chunks","int","dec","stringifyFloat","stringifyBoolean","stringifyDatetime","stringified","stringifyInlineArray","stringifyInlineTable","contentType","isNumber","arrayType","charCodeCache","leven","leftLength","rightLength","bCharCode","temp","temp2","__webpack_module_cache__","leafPrototypes","getProto","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","getPrototypeOf","t","mode","ns","def","getOwnPropertyNames","definition","chunkId","reduce","promises","u","globalThis","scriptUrl","importScripts","currentScript","scripts","getElementsByTagName","installedChunks","chunkLoadingGlobal","self","parentChunkLoadingFunction","chunkIds","moreModules","runtime","identity","equateValues","compareComparableValues","isString","isDebugMode","argv","isDefined","toOffset","addRange","insertAt","unshift","some","predicate","binarySearch","keySelector","keyComparer","middle","binarySearchKey","getOrAdd","newValueFactory","newValue","removeArrayElements","keyGetter","typeshedFallback","lib","libAlternate","lib64","sitePackages","stubsSuffix","LIB","h","l","URI","Utils","P","platform","navigator","userAgent","__proto__","authority","query","fragment","isUri","fsPath","with","A","exec","O","w","revive","_formatted","external","_fsPath","_sep","v","$mid","encodeURIComponent","C","decodeURIComponent","match","U","I","joinPath","resolvePath","assert","expression","verboseDebugInfo","stackCrawlMark","fail","assertNever","member","getSerializableError","nodeCrypto","randomBytes","randomBytesHex","crypto","getRandomValues","padStart","isPatternInSymbol","typedValue","symbolName","typedLower","toLocaleLowerCase","symbolLower","typedLength","symbolLength","typedPos","symbolPos","hashString","hash","compareStringsCaseInsensitive","toUpperCase","compareStringsCaseSensitive","getStringComparer","ignoreCase","equateStringsCaseInsensitive","equateStringsCaseSensitive","getCharacterCount","_fsCaseSensitivity","FileSpec","forEachAncestorDirectory","directory","parentPath","getDirectoryPath","pathString","getRootLength","p1","p2","getPathComponents","normalizedPath","normalizeSlashes","rootLength","rest","reducePathComponents","components","reduced","component","combinePathComponents","ensureTrailingDirectorySeparator","getRelativePath","dirPath","relativeTo","startsWith","pathComponents","relativePath","makeDirectories","fs","startingFromDirPath","curPath","combinePaths","existsSync","mkdirSync","wildcardRoot","regExp","invalidSeparator","separatorRegExp","resolvePaths","paths","normalizePath","containsPath","child","currentDirectory","parentComponents","childComponents","componentEqualityComparer","changeAnyExtension","extensions","pathExt","getAnyExtensionFromPath","stringEqualityComparer","tryGetExtensionFromPath","extension","getAnyExtensionFromPathWorker","stripTrailingDirectorySeparator","baseFileName","getBaseFileName","extensionIndex","getRelativePathComponentsFromDirectory","fromDirectory","getCanonicalFileNameOrIgnoreCase","getCanonicalFileName","fromComponents","toComponents","getPathComponentsRelativeTo","comparePathsCaseSensitive","comparePathsWorker","comparePathsCaseInsensitive","hasTrailingDirectorySeparator","getFileExtension","fileName","multiDotExtension","firstDotIndex","getFileName","stripFileExtension","isDirectory","tryStat","isFile","statSync","tryRealpath","realpathSync","getFileSystemEntries","getFileSystemEntriesFromDirEntries","readdirEntriesSync","files","directories","dirEntries","sort","entry","isSymbolicLink","stat","getFileSpec","rootPath","fileSpec","regExPattern","absolutePath","endsWith","escapedSeparator","getRegexEscapedSeparator","doubleAsteriskRegexFragment","reservedCharacterPattern","RegExp","firstComponent","getWildcardRegexPattern","getWildcardRoot","isDiskPathRoot","componentComparer","aRoot","bRoot","relativePathSegmentRegExp","aRest","bRest","aComponents","bComponents","sharedLength","pathExtension","convertUriToPath","uriString","getMappedFilePath","convertedPath","extractPathFromUri","getUri","getOriginalFilePath","normalizePathCase","filePath","mangledFilePath","tmpdir","writeFileSync","unlinkSync","isFileSystemCaseSensitiveInternal","isFileSystemCaseSensitive","PythonVersion","latestStablePythonVersion","V3_10","versionToString","versionFromString","verString","major","minor","versionFromMajorMinor","CharCategory","_identifierCharFastTableSize","_identifierCharFastTable","_identifierCharMap","_surrogateCharMap","_identifierCharMapInitialized","isIdentifierStartChar","StartIdentifierChar","charCategory","_buildIdentifierLookupTable","_lookUpSurrogate","isIdentifierChar","IdentifierChar","isDecimal","isHex","isOctal","isBinary","SurrogateChar","NotIdentifierChar","surrogateTable","_startIdentifierCharRanges","_startCharSurrogateRanges","_identifierCharRanges","_identifierCharSurrogateRanges","_buildIdentifierLookupTableFromUnicodeRangeTable","category","fastTableOnly","fastTable","fullTable","entryIndex","rangeStart","rangeEnd","_buildIdentifierLookupTableFromSurrogateRangeTable","surrogateChar","getPyTypedInfo","fileSystem","isPartiallyTyped","pyTypedPath","fileStats","pyTypedContents","readFileSync","ignoredWatchEventFunction","normalizedPaths","nullFileWatcher","nullFileWatcherProvider","createFileWatcher","_1","_2","onFileChange","VirtualDirent","_file","isBlockDevice","isCharacterDevice","isFIFO","isSocket","PyrightFileSystem","_realFS","_entryMap","_reverseEntryMap","_folderMap","_isMovedEntry","_getOriginalPath","chdir","maybeDirectory","movedEntries","readdirSync","getModulePath","createFileSystemWatcher","createReadStream","createWriteStream","copyFileSync","readFile","readFileText","tmpfile","realCasePath","originalPath","isMappedFilePath","filepath","mappedFilePath","originalFilepath","isInZipOrEgg","_recordMovedEntry","mappedPath","reversible","folderInfo","_clear","realFS","_rootSearched","_partialStubPackagePaths","_conflictMap","_customUriMap","hasUriMapEntry","addUriMap","closed","hasPendingRequest","removeUriMap","pendingRequest","isPartialStubPackagesScanned","execEnv","isPathScanned","processPartialStubPackages","roots","partialStubPackagePath","pyTypedInfo","partialStubs","packageName","packagePath","packagePyTyped","_getRelativePathPartialStubs","partialStub","originalPyiFile","mappedPyiFile","mappedPyFile","tmpPyFile","clearPartialStubs","getConflictedFile","partialStubPathLength","searchAllStubs","cancellationFolderName","OperationCanceledException","CancelAfter","tokens","DefaultCancellationProvider","TextRange","FlowFlags","comparePositions","doRangesIntersect","doesRangeContain","positionOrRange","positionsAreEqual","rangesAreEqual","extendRange","convertOffsetToPosition","offsetAdjustment","itemIndex","getItemContaining","lineRange","getItemAt","convertOffsetsToRange","convertRangeToTextRange","fromBounds","convertTextRangeToRange","getEnd","overlaps","extend","contains","containsRange","span","overlapsRange","ranges","combinedRange","print","_nextFlowNodeId","getUniqueFlowNodeId","isCodeFlowSupportedForReference","reference","nodeType","leftExpression","trailingComma","argumentCategory","subscriptNode","valueExpression","isIntegerIndex","isImaginary","isStringIndex","strings","baseExpression","createKeyForReference","memberName","leftKey","valExpr","createKeysForReferenceSubexpressions","getImportInfo","node","importInfo","getScope","scope","setScope","getDeclaration","declaration","setDeclaration","decl","getFlowNode","flowNode","setFlowNode","setAfterFlowNode","afterFlowNode","fileInfo","setCodeFlowExpressions","expressions","codeFlowExpressions","getDunderAllInfo","dunderAllInfo","setDunderAllInfo","names","isCodeUnreachable","curNode","flags","Unreachable","_constantRegEx","_underscoreOnlyRegEx","_camelCaseRegEx","isPrivateOrProtectedName","isDunderName","isConstantName","isTypeAliasName","getImportGroup","statement","importResult","importType","isLocalTypingsFile","isRelative","getTopLevelImports","parseTree","includeImplicitImports","localImports","orderedImports","mapByFilePath","followsNonImportStatement","foundFirstImportStatement","statements","subStatement","importAsNode","isImportFound","resolvedPaths","localImport","subnode","moduleName","_formatModuleName","_processImportNode","implicitImports","implicitImport","importFromAs","imports","find","prevEntry","_processImportFromNode","_getImportSymbolNameType","getTextEditsForAutoImportSymbolAddition","importNameInfo","importStatement","parseResults","additionEdits","isWildcardImport","importFrom","importAs","alias","nameInfo","_getTextEditsForAutoImportSymbolAddition","editsMap","textEditList","editGroup","replacementText","_compareImportNames","importName","name1","name2","priorImport","curImport","useOnePerLineFormatting","indentText","importStatementPos","tokenizerOutput","firstSymbolPos","secondSymbolPos","firstSymbolLineRange","insertionPosition","insertText","eol","predominantEndOfLineSequence","getTextEditsForAutoImportInsertion","importStatements","importGroup","invocationPosition","insertionEdits","getTextEdit","preChange","compareImports","postChange","isImport1","_convertInsertionEditsToTextEdits","appendToEdits","fromImports","importStatementGetter","importNames","importText","sortText","getImportAsText","equalityComparer","addIfUnique","invocation","insertBefore","insertionImport","prevImportGroup","curImportGroup","addNewLineBefore","stopHere","simpleStatement","_getInsertionEditForAutoImportInsertion","_getInsertionEditsForAutoImportInsertion","leadingDots","nameParts","part","getImportGroupFromModuleNameAndType","moduleNameAndType","getRelativeModuleName","sourcePath","targetPath","ignoreFolderStructure","sourceIsFile","srcPath","destPath","relativePaths","currentPaths","getDirectoryLeadingDotsPointsTo","ParentDirectoryCache","_importRootGetter","_importChecked","_cachedResults","_libPathCache","getImportResult","importPath","checkValidPath","sourceFilePath","reset","stdLibFolderName","thirdPartyFolderName","findPythonSearchPaths","configOptions","host","importFailureInfo","includeWatchPathsOnly","workspaceRoot","venvPath","venv","venvDir","foundPaths","sitePackagesPaths","libPath","sitePackagesPath","dirName","findSitePackagesPath","addPathIfUnique","getPathsFromPthFiles","pathResult","getPythonSearchPaths","pythonPath","isPythonBinary","parentDir","searchPaths","pthFile","trimmedLine","pthPath","pathList","pathToAdd","createImportedModuleDescriptor","importedSymbols","supportedNativeLibExtensions","supportedFileExtensions","ImportResolver","_configOptions","_cachedImportResults","_cachedModuleNameResults","_cachedEntriesForPath","cachedParentImportResults","invalidateCache","_invalidateFileSystemCache","resolveImport","moduleDescriptor","_resolveImport","formatImportName","_resolveImportStrict","origin","filterImplicitImports","getParentImportResolutionRoot","_shouldWalkUp","resolveAbsoluteImport","success","_tryWalkUp","notFoundResult","isPartlyResolved","isNamespacePackage","isStubPackage","isStubFile","isNativeLib","filteredImplicitImports","nonStubImportResult","ensurePartialStubPackages","relativeImport","_resolveRelativeImport","cachedResults","_lookUpResultsInCache","_isNamespacePackageResolved","bestImport","_resolveBestAbsoluteImport","addResultsToCache","getCompletionSuggestions","suggestions","_getCompletionSuggestionsStrict","_getCompletionSuggestionsAbsolute","_getCompletionSuggestionsRelative","_getCompletionSuggestionsTypeshedPath","extraPath","extraPaths","stubPath","pythonSearchPaths","searchPath","getSourceFilesFromStub","stubFilePath","_mapCompiled","sourceFilePaths","nonEmptyPath","dirExistsCached","importRootPaths","getImportRoots","relativeStubPaths","importRootPath","relativeStubPath","absoluteSourcePath","fileExistsCached","filePathWithoutExtension","getModuleNameForImport","cache","_getModuleNameForImport","stdLibTypeshedPath","_getStdlibTypeshedPath","getModuleNameFromPath","_isStdlibTypeshedStubValidForVersion","candidateModuleName","thirdPartyTypeshedPath","_getThirdPartyTypeshedPath","thirdPartyTypeshedPathEx","getTypeshedPathEx","getTypeshedStdLibPath","forLogging","stdTypeshed","thirdPartyRoot","thirdPartyPaths","_getThirdPartyTypeshedPackageRoots","typeshedPathEx","readdirEntriesCached","cachedValue","newCacheValue","splitPath","_splitPath","realPath","ignored","addPaths","allowPartial","allowNativeLib","useStubPackage","allowPyi","lookForPyTyped","_resolveAbsoluteImport","packageDirectory","importFound","fileNameWithoutExtension","pyFilePath","pyiFilePath","_findImplicitImports","isFirstPart","isLastPart","foundDirectory","foundInit","fileDirectory","nativeLibFileName","_getFilesInDirectory","_isNativeModuleFileName","nativeLibPath","_resolveNativeModuleStub","resolveImportEx","resolveNativeImportEx","libraryFilePath","getNativeModuleName","fileExtension","_isNativeModuleFileExtension","cacheForExecEnv","cachedEntry","symbol","containerPath","stripTopContainerDir","_isIdentifier","typingsImport","bestResultSoFar","_pickBestImport","thirdPartyImport","_getTypeshedRoot","extraResults","typeshedStdlibImport","_findTypeshedPath","isTypeshedFile","typeshedImport","bestImportSoFar","newImport","_cachedPythonSearchPaths","isStdLib","typeshedPaths","_getThirdPartyTypeshedPackagePaths","typeshedPath","_buildTypeshedThirdPartyPackageMap","thirdPartyDir","_cachedTypeshedThirdPartyPackagePaths","outerEntry","innerDirPath","innerEntry","strippedFileName","_cachedTypeshedThirdPartyPackageRoots","subdirectory","_getTypeshedSubdirectory","_cachedTypeshedStdLibModuleVersions","_readTypeshedStdLibVersions","namePartCount","namePartsToConsider","versionRange","pythonVersion","versionRangeMap","typeshedStdLibPath","versionsFilePath","colonSplit","versionSplit","minVersionString","maxVersion","minVersion","V3_0","includeMatchOnly","firstNamePart","flatten","getMapValues","_cachedTypeshedRoot","possibleTypeshedPath","moduleDirectory","debugTypeshedPath","_cachedTypeshedStdLibPath","_cachedTypeshedThirdPartyPath","absImport","entriesInDir","filesInDir","linkPath","strictOnly","hasTrailingDot","parentNameParts","_addFilteredSuggestionsAbsolute","currentPath","fileWithoutExtension","_isUniqueValidSuggestion","_isResolvableSuggestion","suggestionToAdd","newImportResult","assign","importingModuleName","exclusions","implicitImportMap","fileExt","exclusion","nativeStubPath","repeat","moduleFullName","compiledStubPath","withoutExtension","executionRoot","apiDocsRequestType","_host","initializeWorkersHost","createMessageChannel","parentPort","threadId","shallowReplace","mapper","shallowCopy","Duration","_startTime","getDurationInMilliseconds","getDurationInSeconds","TimingStat","totalTime","callCount","isTiming","timeOperation","duration","subtractFromTime","printTime","totalTimeInSec","timingStats","totalDuration","findFilesTime","readFileTime","tokenizeFileTime","parseFileTime","resolveImportsTime","cycleDetectionTime","bindTime","typeCheckerTime","typeEvaluationTime","printSummary","printDetails","getTotalDuration","nullCallback","analyzeProgram","program","maxTime","moreToAnalyze","analyze","filesLeftToAnalyze","getFilesToAnalyzeCount","getDiagnostics","diagnosticFileCount","elapsedTime","filesInProgram","getFileCount","filesRequiringAnalysis","checkingOnlyOpenFiles","isCheckingOnlyOpenFiles","fatalErrorOccurred","configParseErrorOccurred","LogLevel","StandardConsole","ConsoleWithLogLevel","_console","_name","_levelMap","Warn","_maxLevel","maxLevel","_log","_prefix","level","_getNumericalLevel","numericLevel","logType","LogTracker","_dummyState","_indentation","_previousTitles","minimalDuration","logParsingPerf","msDuration","isSuppressed","_printPreviousTitles","fileReadTotal","tokenizeTotal","parsingTotal","resolveImportsTotal","bindingTotal","previousTitle","_start","_startFile","_startToken","_startParse","_startImport","_startBind","addendum","_addendum","suppress","_suppress","isFunctionDeclaration","isClassDeclaration","isParameterDeclaration","isVariableDeclaration","isAliasDeclaration","_nextNodeId","newRange","ModuleNode","SuiteNode","IfNode","WhileNode","ForNode","ListComprehensionForNode","ListComprehensionIfNode","TryNode","ExceptNode","FunctionNode","ParameterNode","ClassNode","WithNode","WithItemNode","DecoratorNode","StatementListNode","ErrorNode","UnaryOperationNode","BinaryOperationNode","AssignmentExpressionNode","AssignmentNode","TypeAnnotationNode","FunctionAnnotationNode","AugmentedAssignmentNode","AwaitNode","TernaryNode","UnpackNode","TupleNode","CallNode","ListComprehensionNode","IndexNode","SliceNode","YieldNode","YieldFromNode","MemberAccessNode","LambdaNode","NameNode","ConstantNode","EllipsisNode","NumberNode","StringNode","FormatStringNode","StringListNode","DictionaryNode","DictionaryKeyEntryNode","DictionaryExpandEntryNode","SetNode","ListNode","ArgumentNode","DelNode","PassNode","ImportNode","ModuleNameNode","ImportAsNode","ImportFromNode","ImportFromAsNode","GlobalNode","NonlocalNode","AssertNode","BreakNode","ContinueNode","ReturnNode","RaiseNode","MatchNode","CaseNode","PatternSequenceNode","PatternAsNode","PatternLiteralNode","PatternClassNode","PatternClassArgumentNode","PatternCaptureNode","PatternMappingNode","PatternMappingKeyEntryNode","PatternMappingExpandEntryNode","PatternValueNode","isExpressionNode","ifOrElifToken","testExpression","ifSuite","elseSuite","whileToken","whileSuite","forToken","targetExpression","iterableExpression","forSuite","startToken","ifToken","tryToken","trySuite","exceptClauses","exceptToken","exceptSuite","isExceptGroup","defToken","suite","decorators","paramCategory","classToken","createDummyForDecorators","comments","decorator","withToken","withItems","atToken","initialRange","operatorToken","operator","maxChildDepth","rightExpression","typeAnnotation","openParenToken","isParamListEllipsis","paramTypeAnnotations","returnTypeAnnotation","destExpression","awaitToken","ifExpression","elseExpression","starToken","enclosedInParens","argList","forIfNodes","closeBracketToken","yieldToken","lambdaToken","nameToken","constType","keywordType","unescapedValue","hasUnescapeErrors","expr","keyExpression","expandExpression","argCategory","delToken","passToken","fromToken","usesParens","nameList","assertToken","matchToken","subjectExpression","cases","caseToken","isIrrefutable","guardExpression","firstToken","starEntryIndex","findIndex","orPatterns","isStar","className","isWildcard","keyPattern","valuePattern","starStarToken","walk","childrenToWalk","visitNode","walkMultiple","nodes","visitError","visitArgument","visitAssert","exceptionExpression","visitAssignment","typeAnnotationComment","visitAssignmentExpression","visitAugmentedAssignment","visitAwait","visitBinaryOperation","visitBreak","visitCall","visitClass","visitConstant","visitContinue","visitDecorator","visitDel","visitDictionary","visitDictionaryExpandEntry","visitDictionaryKeyEntry","visitEllipsis","visitIf","visitImport","visitImportAs","visitImportFrom","visitImportFromAs","visitIndex","visitExcept","typeExpression","visitFor","visitFormatString","visitFunction","functionAnnotationComment","visitGlobal","visitLambda","visitList","visitListComprehension","visitListComprehensionFor","visitListComprehensionIf","visitMemberAccess","visitModule","visitModuleName","visitName","visitNonlocal","visitNumber","visitParameter","defaultValue","visitPass","visitRaise","tracebackExpression","visitReturn","returnExpression","visitSet","visitSlice","startValue","endValue","stepValue","visitStatementList","visitStringList","visitString","visitSuite","visitTernary","visitTuple","visitTry","finallySuite","visitTypeAnnotation","visitUnaryOperation","visitUnpack","visitWhile","visitWith","visitWithItem","visitYield","visitYieldFrom","visitFunctionAnnotation","visitMatch","visitCase","visitPatternSequence","visitPatternAs","visitPatternLiteral","visitPatternClass","visitPatternCapture","visitPatternMapping","visitPatternMappingKeyEntry","visitPatternMappingExpandEntry","visitPatternValue","visitPatternClassArgument","getNodeDepth","depth","findNodeByOffset","containingChild","getClassFullName","classNode","getEnclosingClass","reverse","getTypeSourceId","printArgument","argStr","printExpression","printOperator","exprStr","parenthesized","exprString","escapedValue","listStr","isAsync","isParenthesized","paramStr","dictContents","operatorMap","getEnclosingSuite","stopAtFunction","getEnclosingFunction","prevNode","getEnclosingClassOrFunction","getEvaluationScopeNode","prevPrevNode","isParamNameNode","getTypeVarScopeNode","allowInFunctionSignature","getExecutionScopeNode","evaluationScope","isFinalAllowedForAssignmentTarget","targetNode","methodNode","isClassVarAllowedForAssignmentTarget","isNodeContainedWithin","potentialContainer","isSuiteEmpty","sawEllipsis","substatement","isMatchingExpression","referenceNumberNode","referenceStringListNode","isPartialMatchingExpression","getDocString","isDocString","statementList","NameNodeWalker","_callback","_subscriptIndex","_baseExpression","prevSubscriptIndex","prevBaseExpression","CallNodeWalker","getEnclosingParameter","getCallNodeAndActiveParameterIndex","insertionOffset","callNode","isOffsetInsideCallArgs","endPosition","tokenAtEnd","getItemAtPosition","getTokenAt","addedActive","activeIndex","activeOrFake","startTokenIndex","endTokenIndex","tok","argumentStart","isWriteAccess","getModuleNode","getFileInfoFromNode","isImportModuleName","getFirstAncestorOrSelfOfKind","isImportAlias","isFromImportModuleName","isFromImportName","isFromImportAlias","isLastNameOfModuleName","_getAncestorsIncludingSelf","getFirstAncestorOrSelf","getDottedNameWithGivenNodeAsLastName","hasTypeForDeclaration","parameterParent","paramAnnotations","typeAnnotationNode","areDeclarationsSame","decl1","decl2","treatModuleInImportAndFromImportSame","usesLocalName","isFinalVariableDeclaration","isFinal","isExplicitTypeAliasDeclaration","typeAliasAnnotation","isPossibleTypeAliasDeclaration","typeAliasName","getNameFromDeclaration","getDeclarationsWithUsesLocalNameRemoved","decls","localDecl","nonLocalDecl","createSynthesizedAliasDeclaration","loadSymbolsFromPath","isInExceptSuite","cleanAndSplitDocString","rawString","leftSpacesToRemove","trimmed","trimLeft","trimmedLines","trimRight","extractParameterDocumentation","functionDocString","paramName","docStringLines","paramOffset","convertDocStringToMarkdown","docString","DocStringConverter","convert","convertDocStringToPlainText","_isUndefinedOrWhitespace","trimEnd","LeadingSpaceCountRegExp","NonWhitespaceRegExp","TildaHeaderRegExp","PlusHeaderRegExp","EqualHeaderRegExp","DashHeaderRegExp","LeadingDashListRegExp","LeadingAsteriskListRegExp","LeadingNumberListRegExp","LeadingAsteriskRegExp","SpaceDotDotRegExp","DirectiveLikeRegExp","DoctestRegExp","DirectivesExtraNewlineRegExp","epyDocFieldTokensRegExp","epyDocCv2FixRegExp","PotentialHeaders","exp","WhitespaceRegExp","DoubleTickRegExp","TildeRegExp","PlusRegExp","MarkdownCharsRegExp","linkRegExp","HtmlEscapes","LiteralBlockEmptyRegExp","LiteralBlockReplacements","_builder","_skipAppendEmptyLine","_insideInlineCode","_appendDirectiveBlock","_stateStack","_lineNum","_blockIndent","_parseText","_lines","_currentLineOrUndefined","before","beforeLine","_parseBacktickBlock","_parseDocTest","_parseLiteralBlock","_trimOutputAndAppendLine","_eatLine","_currentLine","_currentIndent","_countLeadingSpaces","_prevIndent","_lineAt","_nextBlockIndent","_currentLineIsOutsideBlock","_currentLineWithinBlock","_pushAndSetState","_popState","_parseEmpty","_beginBacktickBlock","_beginLiteralBlock","_beginDocTest","_beginDirective","_beginList","_beginFieldList","_beginTableBlock","_formatPlainTextIndent","_appendTextLine","prev","prevIndent","currIndent","_isHeader","_convertIndent","trimStart","_match","g1","g2","_escapeHtml","escape","_preprocessTextLine","_append","expReplacement","_appendLine","_beginMinIndentCodeBlock","_parseLiteralBlockSingleLine","_parseDirective","hasOddNumColons","restDirective","_tableState","inHeader","_parseTableBlock","formattedLine","columnParts","headerStrings","colStart","columnStr","endHeaderStr","column","dashMatch","_parseList","asteriskMatch","leadingNumberList","directiveType","directive","_parseDirectiveBlock","noNewLine","search","getScopeForNode","WildcardTypeVarScopeId","EnumLiteral","itemName","itemType","maxTypeRecursionCount","TypeBase","UnboundType","UnknownType","ModuleType","ClassType","FunctionType","OverloadedFunctionType","NoneType","NeverType","AnyType","TypeCondition","UnionType","TypeVarType","isNever","isNoneInstance","isNoneTypeClass","isInstantiable","isAny","isUnknown","isAnyOrUnknown","isUnion","subtypes","subtype","isUnbound","isPossiblyUnbound","isClass","isInstantiableClass","isClassInstance","isModule","isTypeVar","isVariadicTypeVar","details","isVariadic","isUnpackedVariadicTypeVar","isVariadicUnpacked","isUnpackedClass","isUnpacked","isParamSpec","isFunction","isOverloadedFunction","getTypeAliasInfo","typeAliasInfo","recursiveTypeAliasName","boundType","isTypeSame","type1","type2","ignorePseudoGeneric","ignoreTypeFlags","recursionCount","classType2","isSameGenericClass","isSame","condition","isPseudoGenericClass","tupleTypeArguments","type1TupleTypeArgs","type2TupleTypeArgs","isUnbounded","type1TypeArgs","typeArguments","type2TypeArgs","typeArgCount","isLiteralValueSame","functionType2","params1","params2","positionalOnlyIndex1","positionalOnlyIndex2","param1","param2","isName1Relevant","getEffectiveParameterType","return1Type","declaredReturnType","specializedTypes","returnType","inferredReturnType","return2Type","overloads","unionType2","subtypes1","subtypes2","findSubtype","containsType","type2TypeVar","scopeId","recursiveTypeParameters","isSynthesized","variance","boundType1","boundType2","constraints1","constraints","constraints2","type2Module","fields","removeUnknownFromUnion","removeFromUnion","removeUnbound","removeNoneFromUnion","removeFilter","remainingTypes","newType","combineTypes","addTypeAliasSource","maxSubtypeCount","sawNoReturn","isNoReturn","createNoReturn","createNever","allSubtypesAreSame","expandedTypes","typeAliasSources","literalValue","isEmptyContainer","newUnionType","hitMaxSubtypeCount","addType","unionType","typeToAdd","isBuiltIn","literalStrMap","literalIntMap","isSameWithoutLiteralValue","cloneWithLiteral","_addTypeIfUnique","destType","srcType","cloneType","isAnnotated","isSpecialForm","setSpecialForm","isAmbiguous","cloneForTypeAlias","fullName","typeVarScopeId","typeParams","typeArgs","typeClone","typeParameters","cloneForAnnotated","cloneForCondition","cloneForAmbiguousType","_instance","symbolTable","loaderFields","getField","moduleType","isExternallyHidden","loaderSymbol","cloneAsInstantiable","objectType","classType","classArray","aliasName","class1Details","class2Details","typeSourceId","baseClasses","declaredMetaclass","createInstantiable","effectiveMetaclass","mro","cloneAsInstance","includeSubclasses","cloneForSpecialization","isTypeArgumentExplicit","newClassType","cloneForTypingAlias","cloneForNarrowedTypedDictEntries","narrowedEntries","typedDictNarrowedEntries","cloneWithNewTypeParameters","cloneForTypeGuard","typeGuardType","isStrictTypeGuard","cloneForSymbolTableUpdate","cloneForUnpacked","isUnspecialized","isSpecialBuiltIn","supportsAbstractMethods","isDataClass","isSkipSynthesizedDataClassInit","isSkipSynthesizedDataClassEq","isFrozenDataClass","isSynthesizedDataclassOrder","isDataClassKeywordOnlyParams","isGeneratedDataClassSlots","isSynthesizeDataClassUnsafeHash","isTypedDictClass","isCanOmitDictValues","isEnumClass","isPropertyClass","isClassProperty","isProtocolClass","isDefinedInStub","getDataClassEntries","dataClassEntries","isRuntimeCheckable","isTypingExtensionClass","isPartiallyConstructed","hasCustomClassGetItem","isTupleClass","isReadOnlyInstanceVariables","getTypeParameters","hasUnknownBaseClass","baseClass","isDerivedFrom","subclassType","parentClassType","inheritanceChain","functionFlags","typeFlags","parameterTypes","createInstance","clone","stripFirstParam","boundToType","boundTypeVarScopeId","newFunction","preBoundFlags","isTypeInferred","strippedFirstParamType","newInstance","specializedInferredReturnType","cloneForParamSpec","paramSpecValue","paramSpec","specEntry","hasDefault","isNameSynthesized","hasDeclaredType","isParamSpecValue","paramInfo","cloneWithNewFlags","cloneForParamSpecApplication","lastParam","cloneRemoveParamSpecVariadics","addDefaultParameters","functionType","useUnknown","addParameter","hasDefaultParameters","sawArgs","sawKwargs","isInstanceMethod","isConstructorMethod","isStaticMethod","isClassMethod","isAbstractMethod","isGenerator","isSynthesizedMethod","isSkipConstructorCheck","isOverloaded","isDefaultParameterCheckDisabled","isWrapReturnTypeInAwait","isStubDefinition","isPyTypedDefinition","hasUnannotatedParams","shouldSkipArgsKwargsCompatibilityCheck","getSpecializedReturnType","addOverload","_noneInstance","_noneType","createType","_neverInstance","_noReturnInstance","_anyInstance","isEllipsis","_ellipsisInstance","_compare","c1","c2","typeVarName","constraintIndex","conditions1","conditions2","combined","isCompatible","foundTypeVarMatch","exactMatch","typeAliasSource","sourcesToAdd","makeNameWithScope","cloneForScopeId","scopeName","scopeType","nameWithScope","isInUnion","isVariadicInUnion","cloneForPacked","cloneAsInvariant","cloneForParamSpecAccess","access","paramSpecAccess","cloneAsSpecializedSelf","specializedBoundType","isSynthesizedSelf","addConstraint","typeVarType","constraintType","getNameWithScope","getReadableName","nextSymbolId","_flags","newSymbol","_synthesizedType","isInitiallyUnbound","setIsExternallyHidden","setIsIgnoredForProtocolMatch","isIgnoredForProtocolMatch","setIsClassMember","isClassMember","setIsInstanceMember","isInstanceMember","setIsClassVar","isClassVar","setIsInitVar","isInitVar","setIsInDunderAll","isInDunderAll","setIsPrivateMember","isPrivateMember","setPrivatePyTypedImport","isPrivatePyTypedImport","addDeclaration","_declarations","declIndex","curDecl","inferredTypeSource","hasDeclarations","getDeclarations","hasTypedDeclarations","getTypedDeclarations","getSynthesizedType","getLastTypedDeclaredForSymbol","typedDecls","isTypedDictMemberAccessedThroughIndex","isFinalVariable","TypeVarMap","solveForScopes","_isLocked","_solveForScopes","_typeVarMap","_paramSpecMap","newTypeVarMap","setTypeVarType","typeVar","narrowBound","wideBound","retainLiteral","setParamSpec","_variadicTypeVarMap","setVariadicTypeVar","types","copyFromClone","getSolveForScopes","hasSolveForScope","setSolveForScopes","scopeIds","addSolveForScope","getScore","score","getTypeVarType","_getComplexityScoreForType","hasTypeVar","_getKey","useNarrowBoundOnly","getVariadicTypeVar","getTypeVar","getTypeVars","hasParamSpec","getParamSpec","typeVarCount","getWideTypeBound","getRetainLiterals","unlock","isLocked","maxScore","doForEachSubtype","subtypeScore","_getComplexityScoreForClass","typeArgScoreSum","typeArg","ParameterSource","DiagnosticRule","getParameterListDetails","firstPositionOrKeywordIndex","positionParamCount","positionOnlyParamCount","hasUnpackedVariadicTypeVar","positionOnlyIndex","sawKeywordOnlySeparator","addVirtualParameter","typeOverride","PositionOnly","KeywordOnly","PositionOrKeyword","tupleArg","argsIndex","firstKeywordOnlyIndex","typedDictEntries","isRequired","kwargsIndex","isOptionalType","mapSubtypes","newSubtypes","typeChanged","transformedType","addConditionToType","getTypeCondition","areTypesSame","stripLiteralValue","isTypeAliasPlaceholder","transformPossibleRecursiveTypeAlias","unspecializedType","convertToInstance","applySolvedTypeVars","buildTypeVarMap","getTypeVarScopeId","getSpecializedTupleType","tupleClass","mroClass","buildTypeVarMapFromSpecializedClass","isLiteralType","isLiteralTypeOrUnion","containsLiteralType","includeTypeArgs","overload","getLiteralTypeClassName","foundMismatch","subtypeLiteralTypeName","getUnionSubtypeCount","isEllipsisType","isProperty","isUnboundedTupleClass","partiallySpecializeType","contextClassType","selfClass","typeVarMap","populateTypeVarMapForSelfType","synthesizedSelfTypeVar","synthesizeTypeVarForSelfCls","unknownIfNotFound","eliminateUnsolvedInUnions","ApplySolvedTypeVarsTransformer","getProtocolSymbols","symbolMap","getProtocolSymbolsRecursive","isTypeDeclared","skippedUndeclaredType","lookUpObjectMember","lookUpClassMember","getClassMemberIterator","declaredTypesOnly","classFlags","classItr","getClassIterator","specializedMroClass","cm","memberFields","skipMroEntry","addTypeVarsToListIfUnique","list1","list2","getTypeVarArgumentsRecursive","combinedList","getTypeVarsFromClass","specializeClassType","typeParam","setTypeArgumentsRecursive","paramType","makeConcrete","typeArgType","paramSpecEntries","typeArgFunctionType","paramIndex","specializeForBaseClass","specializedType","derivesFromClassRecursive","baseClassToFind","ignoreUnknown","isClsParam","selfType","getDeclaredGeneratorReturnType","generatorTypeArgs","getGeneratorTypeArgs","isEffectivelyInstantiable","convertToInstantiable","getMembersForClass","includeInstanceVars","isClassTypedDict","existingSymbol","metaclass","containsUnknown","foundUnknown","isPartlyUnknown","allowUnknownTypeArgsForClasses","argType","explodeGenericClass","combineSameSizedTuples","tupleType","tupleEntries","isValid","specializeTupleClass","stripLiterals","isUnpackedTuple","combinedTupleType","clonedClassType","removeParamSpecVariadicsFromSignature","removeParamSpecVariadicsFromFunction","newOverloads","newTypeNeeded","newOverload","paramCount","argsParam","kwargsParam","_expandVariadicUnpackedUnion","requiresSpecialization","ignoreSelf","computeMroLinearization","isMroFound","filteredBaseClasses","innerBaseClass","innerIndex","classListsToMerge","isInTail","searchClass","classLists","classList","filterClass","classToFilter","nonEmptyList","foundValidHead","getDeclaringModulesForType","moduleList","addDeclaringModuleNamesForType","convertParamSpecValueToType","paramSpecEntry","hasParameters","onlyParam","TypeVarTransformer","_isTransformingTypeArg","recursionSet","requiresUpdate","replacementType","transformTypeVar","subtypesToCombine","transformedSubtype","transformUnion","_transformTypeVarsInClassType","_transformTypeVarsInFunctionType","transformVariadicTypeVar","transformParamSpec","newVariadicTypeArgs","newTypeArgs","specializationNeeded","wasTransformingTypeArg","oldTypeArgType","newTypeArgType","typeParamName","sourceType","specializedReturnType","typesRequiredSpecialization","specializedParameters","argsParamType","kwargsParamType","paramSpecType","variadicParamIndex","variadicTypesToUnpack","newFunctionType","insertKeywordOnlySeparator","swallowPositionOnlySeparator","sawUnboundedEntry","unpackedType","_unknownIfNotFound","_useNarrowBoundOnly","_eliminateUnsolvedInUnions","wideType","updatedUnion","ExpectedConstructorTypeTransformer","_liveTypeVarScopes","dummyScopeId","dummyTypeVarPrefix","_isTypeVarLive","_createDummyTypeVar","prevTypeVar","newTypeVar","synthesizedTypeVarIndexForExpectedType","SourceMapper","_importResolver","_execEnv","_evaluator","_fileBinder","_boundSourceGetter","_preferStubs","findModules","_getBoundSourceFilesFromStubFile","sf","getParseResults","findDeclarations","stubDecl","_findClassOrTypeAliasDeclarations","_findFunctionOrTypeAliasDeclarations","_findVariableDeclarations","_findParameterDeclarations","_findSpecialBuiltInClassDeclarations","findClassDeclarations","findClassDeclarationsByType","originatedPath","_addClassTypeDeclarations","findFunctionDeclarations","recursiveDeclCache","flatMap","sourceFile","_findClassDeclarationsByName","_getFullClassName","functionName","sourceFiles","isMethod","_findMethodDeclarationsByName","_findFunctionDeclarationsByName","variableName","_findFieldDeclarationsByName","_findVariableDeclarationsByName","functionNode","functionStubDecls","getDeclarationsForNameNode","functionStubDecl","functionDecl","_lookUpSymbolDeclarations","_findMemberDeclarationsByName","declAdder","classDecls","classDecl","classResults","getTypeOfClass","uniqueId","getFilePath","_isStubThatShouldBeMappedToImplementation","implDecl","moduleNode","_addDeclarationsFollowingWildcardImports","_addVariableDeclarations","_addClassOrFunctionDeclarations","fullClassName","parentNode","classNameParts","_findClassDeclarations","classNamePart","parentDecl","resolvedDecl","resolveAliasDeclaration","nodeToBind","getType","overloadDecl","originated","_getSourceFiles","containingScope","lookUpSymbol","fp","convertLevelToCategory","_relatedInfo","addAction","action","_actions","getActions","setRule","rule","_rule","getRule","addRelatedInfo","getRelatedInfo","DiagnosticAddendum","_childAddenda","addMessage","createAddendum","newAddendum","addAddendum","getString","maxDepth","maxLineCount","_getLinesRecursive","_getMessageCount","getChildren","getMessages","messageCount","diag","childLines","maxDepthRemaining","extraSpace","ParameterizedString","_formatString","getFormatString","diagnosticStyle","isSimpleMessageStyle","optionalAddendum","localizedStrings","defaultStrings","getRawString","keyParts","getRawStringFromMap","curObj","keyPart","initializeLocalization","locale","style","currentLocale","env","process","vscodeConfigString","VSCODE_NLS_CONFIG","localeString","LC_ALL","LC_MESSAGES","LANG","LANGUAGE","localeStringSplit","getLocaleFromEnv","override","loadStringsFromJsonFile","localeSplit","loadStringsForLocale","Localizer","synthesizeTypedDictClassMethods","evaluator","initType","getTypedDictMembersForClass","strClass","getBuiltInType","selfParam","createDefaultTypeVar","defaultTypeVar","createGetMethod","keyType","includeDefault","defaultTypeMatchesField","getOverload","getScopeIdForNode","createPopMethods","keyParam","popOverload1","popOverload2","createSetDefaultMethod","setDefaultOverload","createDelItemMethod","delItemOverload","getOverloads","popOverloads","setDefaultOverloads","nameLiteralType","strType","allowNarrowed","getTypedDictMembersForClassRecursive","keyMap","baseClassType","lastDecl","getEffectiveTypeOfSymbol","isRequiredTypedDictVariable","isNotRequired","isNotRequiredTypedDictVariable","existingEntry","typedDictFieldRedefinition","parentType","printType","childType","addDiagnostic","diagnosticRuleSet","reportGeneralTypeIssues","isProvided","canAssignTypedDict","typesAreConsistent","destEntries","srcEntries","destEntry","srcEntry","typedDictFieldRequired","typedDictFieldNotRequired","canAssignType","memberTypeMismatch","typedDictFieldMissing","getTypeFromIndexedTypedDict","baseType","usage","addError","typeArgsMismatchOne","indexTypeResult","getTypeOfExpression","indexType","allDiagsInvolveNotRequiredKeys","resultingType","entryName","treatWithAsTryBlock","keyNotRequired","setType","keyRequiredDeleted","keyUndefined","typeNotStringLiteral","setExpectedTypeDiag","typedDictDiag","typedDictSet","typedDictDelete","typedDictAccess","reportTypedDictNotRequiredAccess","isInheritedFromBuiltin","getPropertyDocStringInherited","sourceMapper","enclosingClass","declaredType","getTypeForDeclaration","fieldName","_getFunctionDocStringFromDeclaration","_getPropertyDocStringInherited","getModuleDocString","modules","_getModuleNodeDocString","getClassDocString","_getFunctionOrClassDeclsDocString","implDecls","getFunctionOrClassDeclDocString","getVariableDocString","docStrings","getVariableInStubFileDocStrings","doc","_getOverloadedFunctionDocStrings","Refactoring","annotatedParamCountMismatch","annotatedTypeArgMissing","annotationFormatString","annotationNotSupported","annotationSpansStrings","annotationStringEscape","argAssignment","argAssignmentFunction","argAssignmentParam","argAssignmentParamFunction","argMissingForParam","argMissingForParams","argMorePositionalExpectedCount","argMorePositionalExpectedOne","argPositional","argPositionalExpectedCount","argPositionalExpectedOne","argTypePartiallyUnknown","argTypeUnknown","assertAlwaysTrue","assignmentExprContext","assignmentExprComprehension","assignmentExprInSubscript","assignmentInProtocol","assignmentTargetExpr","asyncNotInAsyncFunction","awaitIllegal","awaitNotInAsync","backticksIllegal","baseClassCircular","baseClassInvalid","baseClassFinal","baseClassMethodTypeIncompatible","baseClassUnknown","bindTypeMismatch","booleanIsLowerCase","breakOutsideLoop","callableExtraArgs","callableFirstArg","callableSecondArg","casePatternIsIrrefutable","classAlreadySpecialized","classDecoratorTypeUnknown","classDefinitionCycle","classGetItemClsParam","classMethodClsParam","classNotRuntimeSubscriptable","classPatternBuiltInArgCount","classPatternBuiltInArgPositional","classPatternTypeAlias","classVarNotAllowed","classVarFirstArgMissing","classVarOverridesInstanceVar","classVarTooManyArgs","classVarWithTypeVar","clsSelfParamTypeMismatch","comparisonAlwaysFalse","comparisonAlwaysTrue","comprehensionInDict","comprehensionInSet","concatenateParamSpecMissing","concatenateTypeArgsMissing","constantRedefinition","constructorNoArgs","constructorParametersMismatch","continueInFinally","continueOutsideLoop","dataClassBaseClassNotFrozen","dataClassFieldWithDefault","dataClassPostInitParamCount","dataClassPostInitType","dataClassSlotsOverwrite","dataClassTransformExpectedBoolLiteral","dataClassTransformFieldDescriptor","dataClassTransformPositionalParam","dataClassTransformUnknownArgument","declaredReturnTypePartiallyUnknown","declaredReturnTypeUnknown","defaultValueContainsCall","defaultValueNotAllowed","defaultValueNotEllipsis","deprecatedType","dictExpandIllegalInComprehension","dictInAnnotation","dictKeyValuePairs","dictUnpackIsNotMapping","delTargetExpr","dunderAllSymbolNotPresent","duplicateArgsParam","duplicateBaseClass","duplicateCatchAll","duplicateEnumMember","duplicateImport","duplicateKwargsParam","duplicateKeywordOnly","duplicateParam","duplicateCapturePatternTarget","duplicateStarPattern","duplicateStarStarPattern","duplicatePositionOnly","duplicateUnpack","ellipsisContext","ellipsisSecondArg","enumClassOverride","exceptionGroupIncompatible","exceptionTypeIncorrect","exceptionTypeNotClass","exceptionTypeNotInstantiable","expectedAfterDecorator","expectedArrow","expectedAsAfterException","expectedAssignRightHandExpr","expectedBinaryRightHandExpr","expectedBoolLiteral","expectedCase","expectedClassName","expectedCloseBrace","expectedCloseBracket","expectedCloseParen","expectedColon","expectedComplexNumberLiteral","expectedDecoratorExpr","expectedDecoratorName","expectedDecoratorNewline","expectedDelExpr","expectedElse","expectedEqualityOperator","expectedExceptionClass","expectedExceptionObj","expectedExpr","expectedImport","expectedImportAlias","expectedImportSymbols","expectedIdentifier","expectedIndentedBlock","expectedIn","expectedInExpr","expectedFunctionAfterAsync","expectedFunctionName","expectedMemberName","expectedModuleName","expectedNameAfterAs","expectedNamedParameter","expectedNewline","expectedNewlineOrSemicolon","expectedOpenParen","expectedParamName","expectedPatternExpr","expectedPatternSubjectExpr","expectedPatternValue","expectedReturnExpr","expectedSliceIndex","expectedTypeNotString","expectedYieldExpr","finalClassIsAbstract","finalContext","finalMethodOverride","finalReassigned","finalRedeclaration","finalRedeclarationBySubclass","finalTooManyArgs","finalUnassigned","formatStringBrace","formatStringBytes","formatStringEscape","formatStringInPattern","formatStringIllegal","formatStringUnicode","formatStringUnterminated","functionDecoratorTypeUnknown","generatorAsyncReturnType","generatorNotParenthesized","generatorSyncReturnType","genericClassAssigned","genericClassDeleted","genericNotAllowed","genericTypeAliasBoundTypeVar","genericTypeArgMissing","genericTypeArgTypeVar","genericTypeArgUnique","globalReassignment","globalRedefinition","implicitStringConcat","importCycleDetected","importDepthExceeded","importResolveFailure","importSourceResolveFailure","importSymbolUnknown","incompatibleMethodOverride","inconsistentIndent","inconsistentTabs","initMustReturnNone","initSubclassClsParam","instanceMethodSelfParam","instanceVarOverridesClassVar","instantiateAbstract","instantiateProtocol","internalBindError","internalParseError","internalTypeCheckingError","invalidIdentifierChar","invalidStubStatement","invalidTokenChars","isInstanceInvalidType","isSubclassInvalidType","keyValueInSet","keywordArgInTypeArgument","keywordOnlyAfterArgs","keywordSubscriptIllegal","lambdaReturnTypeUnknown","lambdaReturnTypePartiallyUnknown","listAssignmentMismatch","listInAnnotation","literalUnsupportedType","literalEmptyArgs","literalNotCallable","matchIncompatible","matchIsNotExhaustive","maxParseDepthExceeded","memberAccess","memberDelete","memberSet","metaclassConflict","metaclassDuplicate","metaclassIsGeneric","methodNotDefined","methodNotDefinedOnType","methodOrdering","methodOverridden","methodReturnsNonObject","microbitVersionApiUnsupported","missingProtocolMembers","missingSuperCall","moduleAsType","moduleNotCallable","moduleUnknownMember","namedExceptAfterCatchAll","namedParamAfterParamSpecArgs","namedTupleEmptyName","namedTupleFirstArg","namedTupleMultipleInheritance","namedTupleNameType","namedTupleNameUnique","namedTupleNoTypes","namedTupleSecondArg","newClsParam","newTypeLiteral","newTypeNotAClass","newTypeProtocolClass","nonDefaultAfterDefault","noneNotCallable","noneNotIterable","noneNotSubscriptable","noneNotUsableWith","noneOperator","noneUnknownMember","nonLocalNoBinding","nonLocalReassignment","nonLocalRedefinition","nonLocalInModule","noOverload","noReturnContainsReturn","noReturnContainsYield","noReturnReturnsNone","notRequiredArgCount","notRequiredNotInTypedDict","objectNotCallable","obscuredClassDeclaration","obscuredFunctionDeclaration","obscuredMethodDeclaration","obscuredParameterDeclaration","obscuredVariableDeclaration","operatorLessOrGreaterDeprecated","optionalExtraArgs","orPatternIrrefutable","orPatternMissingName","overlappingOverload","overloadAbstractMismatch","overloadImplementationMismatch","overloadReturnTypeMismatch","overloadWithImplementation","overloadWithoutImplementation","paramAfterKwargsParam","paramAlreadyAssigned","paramAnnotationMissing","paramNameMissing","paramSpecArgsKwargsUsage","paramSpecArgsUsage","paramSpecAssignedName","paramSpecContext","paramSpecFirstArg","paramSpecKwargsUsage","paramSpecNotBound","paramSpecNotUsedByOuterScope","paramSpecUnknownArg","paramSpecUnknownMember","paramSpecUnknownParam","paramTypeCovariant","paramTypeUnknown","paramAssignmentMismatch","paramTypePartiallyUnknown","parenthesizedContextManagerIllegal","positionArgAfterNamedArg","privateImportFromPyTypedModule","positionOnlyAfterArgs","positionOnlyAfterKeywordOnly","positionOnlyIncompatible","positionOnlyFirstParam","privateUsedOutsideOfClass","privateUsedOutsideOfModule","propertyOverridden","propertyStaticMethod","protectedUsedOutsideOfClass","protocolBaseClass","protocolIllegal","protocolMemberNotClassVar","protocolNotAllowedInTypeArgument","protocolUsedInCall","protocolVarianceContravariant","protocolVarianceCovariant","protocolVarianceInvariant","recursiveDefinition","relativeImportNotAllowed","requiredArgCount","requiredNotInTypedDict","returnMissing","returnOutsideFunction","returnTypeContravariant","returnTypeMismatch","returnTypeUnknown","returnTypePartiallyUnknown","revealLocalsArgs","revealLocalsNone","revealTypeArgs","revealTypeExpectedTextArg","revealTypeExpectedTextMismatch","revealTypeExpectedTypeMismatch","selfTypeContext","selfTypeWithTypedSelfOrCls","setterGetterTypeMismatch","starPatternInAsPattern","starPatternInOrPattern","singleOverload","slotsAttributeError","slotsClassVarConflict","starStarWildcardNotAllowed","staticClsSelfParam","strictTypeGuardReturnType","stringNonAsciiBytes","stringNotSubscriptable","stringUnsupportedEscape","stringUnterminated","stubFileMissing","stubUsesGetAttr","sublistParamsIncompatible","superCallArgCount","superCallFirstArg","superCallSecondArg","superCallZeroArgForm","symbolIsUnbound","symbolIsUndefined","symbolIsPossiblyUnbound","symbolOverridden","totalOrderingMissingMethod","trailingCommaInFromImport","tryWithoutExcept","tupleAssignmentMismatch","tupleInAnnotation","tupleIndexOutOfRange","typeAliasIsRecursiveDirect","typeAliasIsRecursiveIndirect","typeAliasNotInModuleOrClass","typeAliasRedeclared","typeAnnotationCall","typeAnnotationVariable","typeArgListExpected","typeArgListNotAllowed","typeArgsExpectingNone","typeArgsMissingForAlias","typeArgsMissingForClass","typeArgsTooFew","typeArgsTooMany","typeAssignmentMismatch","typeCallNotAllowed","typedDictBadVar","typedDictBaseClass","typedDictEmptyName","typedDictEntryName","typedDictEntryUnique","typedDictExtraArgs","typedDictFirstArg","typedDictSecondArgDict","typedDictSecondArgDictEntry","typedDictTotalParam","typeExpectedClass","typeGuardArgCount","typeNotAwaitable","typeNotCallable","typeNotIntantiable","typeNotIterable","typeNotSpecializable","typeNotSubscriptable","typeNotUsableWith","typeNotSupportBinaryOperator","typeNotSupportBinaryOperatorBidirectional","typeNotSupportUnaryOperator","typeNotSupportUnaryOperatorBidirectional","typePartiallyUnknown","typeUnknown","typeVarAssignedName","typeVarAssignmentMismatch","typeVarBoundAndConstrained","typeVarFirstArg","typeVarGeneric","typeVarNoMember","typeVarNotSubscriptable","typeVarNotUsedByOuterScope","typeVarSingleConstraint","typeVarsNotInGeneric","typeVarTupleMustBeUnpacked","typeVarTupleContext","typeVarUnknownParam","typeVarUsedByOuterScope","typeVarUsedOnlyOnce","typeVarVariance","unaccessedClass","unaccessedFunction","unaccessedImport","unaccessedSymbol","unaccessedVariable","unexpectedAsyncToken","unexpectedExprToken","unexpectedIndent","unexpectedUnindent","unionSyntaxIllegal","unionTypeArgCount","uninitializedInstanceVariable","unnecessaryCast","unnecessaryIsInstanceAlways","unnecessaryIsSubclassAlways","unnecessaryTypeIgnore","unpackArgCount","unpackedArgInTypeArgument","unpackedArgWithVariadicParam","unpackedDictArgumentNotMapping","unpackedSubscriptIllegal","unpackedTypedDictArgument","unpackedTypeVarTupleExpected","unpackExpectedTypedDict","unpackExpectedTypeVarTuple","unpackIllegalInComprehension","unpackInAnnotation","unpackInDict","unpackInSet","unpackNotAllowed","unpackOperatorNotAllowed","unpackTuplesIllegal","unreachableCode","unreachableExcept","unsupportedDunderAllOperation","unusedCallResult","unusedCoroutine","varAnnotationIllegal","variadicTypeArgsTooMany","variadicTypeParamTooManyAlias","variadicTypeParamTooManyClass","walrusIllegal","walrusNotAllowed","wildcardInFunction","wildcardLibraryImport","yieldFromIllegal","yieldFromOutsideAsync","yieldOutsideFunction","yieldTypeMismatch","yieldWithinListCompr","zeroCaseStatementsFound","zeroLengthTupleNotAllowed","argParam","argParamFunction","argsParamMissing","argsPositionOnly","argumentType","argumentTypes","assignToNone","asyncHelp","baseClassProvidesType","dataClassFrozen","dataClassFieldLocation","finalMethod","functionParamDefaultMissing","functionParamName","functionReturnTypeMismatch","functionTooFewParams","incompatibleGetter","incompatibleSetter","incompatibleDeleter","initMethodLocation","initMethodSignature","functionTooManyParams","kwargsParamMissing","literalAssignmentMismatch","matchIsNotExhaustiveType","matchIsNotExhaustiveHint","memberAssignment","memberIsAbstract","memberIsAbstractMore","memberIsFinalInProtocol","memberIsInitVar","memberIsNotFinalInProtocol","memberSetClassVar","memberUnknown","missingProtocolMember","missingGetter","missingSetter","missingDeleter","namedParamMissingInDest","namedParamMissingInSource","namedParamTypeMismatch","newMethodLocation","newMethodSignature","noOverloadAssignable","overloadMethod","overloadNotAssignable","overriddenMethod","overriddenSymbol","overrideParamCount","overrideParamName","overrideParamNamePositionOnly","overrideParamType","overrideReturnType","overrideType","paramAssignment","paramSpecOverload","privateImportFromPyTypedSource","propertyAccessFromProtocolClass","propertyMethodIncompatible","propertyMethodMissing","propertyMissingDeleter","propertyMissingSetter","protocolMemberClassVar","protocolIncompatible","protocolMemberMissing","protocolSourceIsNotConcrete","readOnlyAttribute","seeDeclaration","seeClassDeclaration","seeFunctionDeclaration","seeMethodDeclaration","seeParameterDeclaration","seeVariableDeclaration","tupleEntryTypeMismatch","tupleSizeMismatch","tupleSizeMismatchIndeterminate","typeBound","typeConstrainedTypeVar","typedDictFieldTypeMismatch","typedDictFieldUndefined","typedDictFinalMismatch","typeIncompatible","typeNotClass","typeParamSpec","typeOfSymbol","typeUnsupported","typeVarIsContravariant","typeVarIsCovariant","typeVarIsInvariant","typeVarTupleRequiresKnownLength","typeVarNotAllowed","typeVarsMissing","useDictInstead","useListInstead","useTupleInstead","useTypeInstead","addOptionalToAnnotation","createTypeStub","createTypeStubFor","executingCommand","filesToAnalyzeOne","filesToAnalyzeCount","findingReferences","organizeImports","moveFile","moveFileLabel","moveFileDescription","singleTickRegEx","escapedDoubleQuoteRegEx","printTypeFlags","returnTypeCallback","recursionTypes","parenthesizeUnion","parenthesizeCallable","expandTypeAlias","argumentStrings","tupleTypeArg","includeConditionalIndicator","getConditionalIndicator","printLiteralValue","paramSignature","fullSignature","subtypeHandledSet","subtypeStrings","updatedPrintTypeFlags","matchedAllSubtypes","allSubtypesPreviouslyHandled","indicesCoveredByTypeAlias","sourceSubtype","unionSubtypeIndex","foundMatch","unionSubtype","noneIndex","typeWithoutNone","optionalType","literalObjectStrings","literalClassStrings","dedupedSubtypeStrings","literalStrings","unionString","boundTypeString","quotation","literalStr","objName","lastTypeParam","typeArgStrings","isAllAny","typeArgText","typeArgTypeText","paramTypeStrings","sawDefinedName","specializedParamType","paramString","defaultValueAssignment","isParamSpecArgsKwargsParam","paramTypeString","defaultValueExpression","returnTypeString","DocumentSymbolCollector","_symbolName","_cancellationToken","_startingNode","_treatModuleInImportAndFromImportSame","_results","_dunderAllNameNodes","_setDunderAllNodes","cancellationToken","startingNode","declarations","getDeclarationsForNode","collect","resolveLocalName","_getDeclarationsForNode","resolvedDeclarations","_addIfUnique","_resultsContainsDeclaration","_addResult","quoteMarkLength","hasEnding","getStringValueRange","getStringNodeValueRange","resolvedDeclNonlocal","_getResolveAliasDeclaration","isAliasDeclFromImportAsWithAlias","moduleScope","stringNodes","stringNode","symbolInScope","lookUpSymbolRecursive","itemToAdd","aliasDecl","isImportAsWithAlias","symbolWithScope","getOverloadedFunctionTooltip","columnThreshold","getFunctionDocStringFromType","_getFunctionDocString","memberIterator","classMember","inheritedDecl","getFunctionDocStringInherited","getOverloadedFunctionDocStringsFromType","resolvedDecls","declType","getOverloadedFunctionDocStringsInherited","getDocumentationPartsForTypeAndDecl","Keywords","SortCategory","python3_5","python3_10","forVersion","V3_5","dictionaryKeyDetail","CompletionProvider","_workspacePath","_parseResults","_fileContents","_position","_filePath","_importLookup","_sourceMapper","_autoImportMaps","_insideStringLiteral","findExecEnvironment","getCompletionsForPosition","initialNode","initialDepth","curOffset","sawComma","curChar","lineTextRange","textOnLine","priorText","postText","priorWordIndex","priorWord","_isWithinComment","errorNode","_getLiteralCompletions","_getImportModuleCompletions","_getExpressionErrorCompletions","_getMemberAccessCompletions","completionMap","CompletionMap","_addTypedDictKeys","dictionaryEntry","dictionaryNode","trailingCommaToken","_tryGetNameCompletions","_getImportFromCompletions","_getExpressionCompletions","_getStatementCompletions","resolveCompletionItem","completionItem","completionItemData","autoImportText","curIndex","_mostRecentCompletions","symbolLabel","_itemToResolve","completionResults","_addAutoImportCompletions","_isOverload","_getMethodOverloadsCompletions","tokenIndex","prevToken","getTokenAfter","_createSingleKeywordCompletion","_getMethodOverrideCompletions","_checkDecorator","_makeSortText","LikelyKeyword","partialName","getSymbolTable","funcParensDisabled","enclosingFunc","_createReplaceEdits","_addSymbol","staticmethod","classmethod","isDeclaredStaticMethod","isDeclaredClassMethod","methodSignature","_printMethodSignature","_printOverriddenMethodBody","snippet","replaceOrInsertEndChar","ellipsisForDefault","printFlags","paramList","paramTypeAnnotation","getTypeAnnotationForParameter","isSimpleDefault","sb","results","keywordOnly","parameter","getParameters","leftExprNode","memberAccessInfo","leftType","makeTopLevelTypeVarsConcrete","getMembersForModule","functionClass","objectClass","_addSymbolsForSymbolTable","_getLastKnownModule","curType","unknownMemberName","moduleNamesForType","lastKnownModule","lastKnownMemberName","parseNode","isIndexArgument","_isIndexArgument","_addCallArgumentCompletions","_addSymbols","_findMatchingKeywords","lazyEdit","_tryAddTypedDictStringLiteral","declaredTypeOfTarget","getExpectedType","_addLiteralValuesForTargetType","indexNode","_getIndexerKeys","_addNameToCompletions","LiteralValue","itemDetail","currentNode","atArgument","callInfo","signatureInfo","getCallSignatureInfo","callNameEnd","_addNamedParameters","_addLiteralValuesForArgument","signatures","signature","activeParam","quoteValue","_getQuoteValueFromPriorText","_getSubTypesWithLiteralValues","quoteCharacter","stringValue","_addStringLiteralToCompletions","_getDictExpressionStringKeys","excludeIds","getDictionaryLikeNode","_getIndexerKeyType","getItemType","invocationNode","predominantSingleQuoteCharacter","scopeRoot","collectFromNode","dictionary","quote","indexArgument","expectedTypeResult","stringParent","dictOrSet","stringLiteral","keyWithoutQuote","typedDicts","_tryNarrowTypedDicts","excludes","typedDict","newTypes","lastSingleQuote","lastDoubleQuote","priorString","valueWithQuotes","rangeStartCol","rangeEndCol","similarityLimit","autoImportCompletions","autoImport","moduleSymbolMap","getModuleSymbolsMap","autoImporter","AutoImporter","libraryMap","nameMap","getAutoImportCandidatesForAbbr","getAutoImportCandidates","perfInfo","getPerfInfo","additionDuration","autoImportSource","autoImportAlias","insertionText","_getAutoImportText","autoImportInfo","indexUsed","totalTimeInMS","totalInMs","moduleTimeInMS","indexTimeInMS","importAliasTimeInMS","itemCount","symbolCount","indexCount","importAliasCount","additionTimeInMS","importFromNode","lookupResults","imp","implImport","keywordList","partialMatch","argNameMap","_addNamedParametersToMap","argName","workspacePath","NamedParameter","paramMap","includeSymbolCallback","isInImport","boundObjectOrClass","isDefinedInFile","primaryDecl","itemKind","_convertDeclarationTypeToItemKind","typeDetail","altDetail","bindFunctionToClassOrObject","propertyType","getGetterTypeFromProperty","printSimplifiedFunctionSignature","markdownString","plainTextString","importAlias","getAutoImportText","matchKindAndImportText","AutoImport","DunderSymbol","PrivateSymbol","NormalSymbol","insertTextFormat","te","_getRecentListIndex","sortCategory","recentListIndex","RecentAutoImport","ImportModuleName","RecentImportModuleName","RecentKeywordOrSymbol","_formatInteger","digits","charCodeZero","digit","resolvedDeclaration","intrinsicType","isConstant","_isPossiblePropertyDeclaration","getTypeOfFunction","decoratedType","completions","missingImportKeyword","completionName","_completions","existing","autImportText","toArray","_kind","_autoImportText","_execEnvironment","_invocationPosition","_excludes","_moduleSymbolMap","_stopWatch","_perfInfo","_importStatements","abbr","abbrInfo","_getCandidates","word","abbrFromUsers","resultMap","importAliasMap","_addImportsFromModuleMap","_addImportsFromLibraryMap","_addImportsFromImportAliasMap","aliasMap","indexResults","privateOrProtected","isStubFileOrHasInit","_isStubFileOrHasInit","_processModuleSymbolTable","createModuleSymbolTableFromIndexResult","topLevelSymbols","initPathPy","initPathPyi","isStub","hasInit","isStubOrHasInit","importSource","_getImportPartsForSymbols","dotCount","autoImportSymbol","library","_perfIndexCount","_shouldIncludeVariable","_isSimilar","_containsName","_addToImportAliasMap","importParts","autoImportTextEdits","_getTextEditsForAutoImportByFilePath","convertSymbolKindToCompletionItemKind","_getImportParts","modulePath","originalName","allowVariableInAll","mapPerSymbolName","importAliasData","imported","existingData","_compareImportAliasData","groupComparison","dotComparison","_getModuleNameAndTypeFromFilePath","importNamePart","createImportParts","patternMatcher","_shouldExclude","labelOnlyIgnoringAutoImports","importNode","symbols","externallyVisible","CallHierarchyProvider","getSymbolKind","incomingCalls","FindIncomingCallTreeWalker","findCalls","parseRoot","initMethodMember","initMethodType","getTypeOfMember","initDecls","primaryInitDecl","outgoingCalls","FindOutgoingCallTreeWalker","targetDecl","_parseRoot","_outgoingCalls","nameNode","_addOutgoingCallForDeclaration","leftHandType","memberInfo","memberType","propertyDecls","callDest","outgoingCall","outgoing","fromRanges","fromRange","_declaration","_incomingCalls","_addIncomingCallForDeclaration","executionNode","callSource","moduleRange","lambdaRange","functionRange","incomingCall","incoming","symbolKind","ReferencesResult","requiresGlobalSearch","nodeAtOffset","_reporter","_locations","addLocations","locs","FindReferencesTreeWalker","_referencesResult","_includeDeclaration","findReferences","rootNode","collector","ReferencesProvider","reporter","evalScope","getDeclarationForNode","referencesResult","includeDeclaration","refTreeWalker","UpdateType","PythonPlatform","DefinitionFilter","Comment","Token","IndentToken","DedentToken","NewLineToken","KeywordToken","StringToken","NumberToken","OperatorToken","IdentifierToken","RenameModuleProvider","_fs","_moduleFilePath","newModuleFilePath","_moduleNameAndType","_newModuleNameAndType","_aliasIntroduced","_newModuleFilePath","_moduleNames","_moduleName","_newModuleNames","_newModuleName","_onlyNameChanged","importResolver","newPath","_create","oldDirectory","newDirectory","getDirectoryChangeKind","fileNameForPackage","filteredDecls","moduleFilePath","tokenOrDeclarations","newModuleName","renameReferences","_renameFolderReferences","_renameModuleReferences","_updateSymbolReferences","nameRemoved","importUsed","nodeFound","fromNode","_getNewModuleName","_addResultWithTextRange","_addFromImportNameDeletion","_addResultEdits","_getTextEditsForNewOrExistingFromImport","dottedName","moduleDecl","referenceModuleName","_canReplaceImportName","_getReferenceModuleName","_addImportNameDeletion","_newLastModuleName","fromImportAs","symbolReferences","nameToBind","lastModuleName","_updateModuleReferences","_updateRelativeModuleNamePath","_getNewRelativeModuleNamesForFileMoved","ModuleNameCollector","itemsToMove","moduleNameNode","exportedSymbols","subModules","_isExportedSymbol","nextNameDecl","moduleNames","originalInit","originalDirectory","newNames","_getNewModuleNameInfoForFileMoved","dest","submoduleFallback","currentFilePath","isRelativePath","isLastPartImportName","dotPrefix","getEdits","importToDelete","_addImportNameDeletionInternal","importKind","nameNodes","nameNodeIndex","editSpan","getTextRangeForImportNameDeletion","lastImportIndexNotDeleted","_addResultWithRange","statementNode","tokenPosition","currentIndex","tokenRange","_getEndPositionIfMultipleStatementsAreOnSameLine","getFullStatementRange","newName","_getDeletionsForSpan","filePathOrEdit","_removeEdits","deletions","currentFromImport","CircularDependency","_paths","appendPath","getPaths","normalizeOrder","firstIndex","isEqual","circDependency","getWellformedRange","addedLineOffsets","computeLineOffsets","isAtLineStart","textOffset","getWellformedEdit","spans","ExecutionEnvironment","defaultPythonVersion","defaultPythonPlatform","defaultExtraPaths","pythonPlatform","getBooleanDiagnosticRules","includeNonOverridable","boolRules","strictListInference","strictSetInference","strictDictionaryInference","strictParameterNoneValue","enableTypeIgnoreComments","getDiagLevelDiagnosticRules","reportPropertyTypeMismatch","reportFunctionMemberAccess","reportMissingImports","reportMissingModuleSource","reportMissingTypeStubs","reportImportCycles","reportUnusedImport","reportUnusedClass","reportUnusedFunction","reportUnusedVariable","reportDuplicateImport","reportWildcardImportFromLibrary","reportOptionalSubscript","reportOptionalMemberAccess","reportOptionalCall","reportOptionalIterable","reportOptionalContextManager","reportOptionalOperand","reportUntypedFunctionDecorator","reportUntypedClassDecorator","reportUntypedBaseClass","reportUntypedNamedTuple","reportPrivateUsage","reportPrivateImportUsage","reportConstantRedefinition","reportIncompatibleMethodOverride","reportIncompatibleVariableOverride","reportInconsistentConstructor","reportOverlappingOverload","reportMissingSuperCall","reportUninitializedInstanceVariable","reportInvalidStringEscapeSequence","reportUnknownParameterType","reportUnknownArgumentType","reportUnknownLambdaType","reportUnknownVariableType","reportUnknownMemberType","reportMissingParameterType","reportMissingTypeArgument","reportInvalidTypeVarUse","reportCallInDefaultInitializer","reportUnnecessaryIsInstance","reportUnnecessaryCast","reportUnnecessaryComparison","reportAssertAlwaysTrue","reportSelfClsParameterName","reportImplicitStringConcatenation","reportUndefinedVariable","reportUnboundVariable","reportInvalidStubStatement","reportIncompleteStub","reportUnsupportedDunderAll","reportUnusedCallResult","reportUnusedCoroutine","reportUnnecessaryTypeIgnoreComment","reportMatchNotExhaustive","reportMicrobitVersionApiUnsupported","ConfigOptions","projectRoot","typeCheckingMode","include","exclude","ignore","strict","indexing","logTypeEvaluationTime","typeEvaluationTimeThreshold","initializedFromJson","analyzeUnannotatedFunctions","executionEnvironments","getDiagnosticRuleSet","printUnknownAsAny","omitTypeArgsIfAny","omitUnannotatedParamType","omitConditionalConstraint","pep604Printing","getDefaultExecEnvironment","envRoot","getExecutionEnvironments","initializeFromJson","configObj","diagnosticOverrides","skipIncludeSection","configTypeCheckingMode","useLibraryCodeForTypes","defaultSettings","applyDiagnosticOverrides","ruleName","_convertBoolean","_convertDiagnosticLevel","pathIndex","ensureDefaultPythonVersion","ensureDefaultPythonPlatform","typingsPath","verboseOutput","_initExecutionEnvironmentFromJson","getPythonPlatform","getPythonVersion","ensureDefaultExtraPaths","autoSearchPaths","diagnosticSeverityOverrides","envObj","newExecEnv","DiagnosticSink","_diagnosticList","_diagnosticMap","fetchAndClear","prevDiagnostics","addWarning","addInformation","addUnusedCode","addDeprecated","addDiagnostics","diagsToAdd","getErrors","getWarnings","getInformation","getUnusedCode","getDeprecated","TextRangeDiagnosticSink","addDiagnosticWithTextRange","positionRange","addUnusedCodeWithTextRange","addDeprecatedWithTextRange","TextRangeCollection","_items","lastItem","DefinitionProvider","definitions","_resolveDeclarations","All","preferStubs","PreferStubs","wantedFile","isUnresolved","_createModuleEntry","importLookup","resolveLocalNames","allowExternallyHiddenAccess","curDeclaration","alreadyVisited","privatePyTypedImported","privatePyTypedImporter","isPrivate","lookupResult","unvisitedDecls","DocumentSymbolProvider","symbolList","appendWorkspaceSymbolsRecursive","indexSymbols","indexingForAutoImportMode","appendDocumentSymbolsRecursive","indexSymbolData","collectSymbolIndexData","container","symbolData","symbolInfo","getContainerName","isInPyTypedPackage","aliasData","resolvedInfo","nameValue","getIndexAliasData","collectSymbolIndexDataForName","appendToFlatSymbolsRecursive","flatSymbols","documentUri","flatSymbol","ImportSorter","sortedStatements","aImportGroup","bImportGroup","compareImportStatements","primaryRange","_getPrimaryReplacementRange","_generateSortedImportText","_addSecondaryReplacementRanges","statementLimit","lastStatement","secondaryBlockStart","secondaryBlockLimit","curImportType","importLine","_formatImportNode","_formatImportFromNode","_compareSymbols","symbolText","cumulativeText","predominantTabSequence","getUnescapedString","stringToken","escapedString","isRaw","isFormat","unescapeErrors","nonAsciiInBytes","formatStringSegments","charCodes","isBytes","formatExpressionNestCount","formatSegment","valueParts","isExpression","hasFormatSpecifier","strOffset","addInvalidEscapeOffset","errorType","getEscapedCharacter","scanHexEscape","digitCount","foundIllegalHexDigit","hexValue","localValue","charCode","_isHexCharCode","_getHexDigitValue","appendOutputChar","incomplete","segment","foundIllegalChar","charCount","lookaheadChar","_isAlphaNumericChar","_isOctalCharCode","octalCode","quoteChar","isTriplicate","strChar","CharacterStream","_text","_currentChar","_isEndOfStream","_checkBounds","getCurrentChar","isEndOfStream","lookAhead","advance","moveNext","isAtWhiteSpace","currentChar","isAtLineBreak","skipLineBreak","skipWhitespace","skipToEol","skipToWhitespace","indentAmount","isIndentAmbiguous","matchesIndent","isDedentAmbiguous","newLineType","prefixLength","operatorType","_keywords","_operatorInfo","Tokenizer","_cs","_tokens","_prevLineStart","_parenDepth","_lineRanges","_indentAmounts","_typeIgnoreLines","_crCount","_crLfCount","_lfCount","_indentCount","_indentTabCount","_indentSpacesTotal","_singleQuoteCount","_doubleQuoteCount","_ipythonMode","tokenize","initialParenDepth","ipythonMode","_readIndentationAfterNewLine","_addNextToken","_getComments","_setIndent","_addLineRange","averageSpacePerIndent","typeIgnoreLines","typeIgnoreAll","_typeIgnoreAll","_handleCharacter","stringPrefixLength","_getStringPrefixLength","stringPrefix","quoteTypeFlags","_getQuoteTypeFlags","_handleString","_handleComment","_isIPythonMagics","_handleIPythonMagics","_handleInvalid","_handleNewLine","_isPossibleNumber","_tryNumber","_tryIdentifier","_tryOperator","lineLength","tab1Spaces","tab8Spaces","isTabPresent","isSpacePresent","prevTabInfo","dedentPoints","dedentAmount","actualDedentAmount","swallowRemainingChars","radix","leadingChars","simpleIntText","intValue","bigIntValue","isDecimalInteger","mightBeFloatingPoint","_skipFloatingPointCandidate","parseFloat","prevComments","_comments","comment","_addComments","regexMatch","textRange","stringLiteralInfo","_skipToEndOfStringLiteral","escapedValueParts","_skipFractionalNumber","_skipDecimalNumber","allowSign","ParseOptions","skipFunctionAndClassBody","maxChildNodeDepth","_tokenIndex","_areErrorsSuppressed","_parseOptions","_diagSink","_isInLoop","_isInFunction","_isInFinally","_isParsingTypeAnnotation","_isParsingIndexTrailer","_futureImportMap","_importedModules","_containsWildcardImport","_assignmentExpressionsAllowed","_typingImportAliases","_typingSymbolAliases","parseSourceFile","fileContents","parseOptions","diagSink","_startNewParse","_atEof","_consumeTokenIfType","nextToken","_peekToken","_getNextToken","indentToken","_addError","_parseStatement","_consumeTokensUntilType","_tokenizerOutput","importedModules","futureImports","containsWildcardImport","typingSymbolAliases","parseTextExpression","textLength","parseTextMode","_parseTypeAnnotation","_parseFunctionTypeAnnotation","exprListResult","_parseTestOrStarExpressionList","parseError","_makeExpressionOrTuple","_peekTokenType","tokenizer","_peekKeywordType","_parseIfStatement","_parseWhileStatement","_parseForStatement","_parseTryStatement","_parseWithStatement","_parseFunctionDef","_parseClassDef","_parseAsyncStatement","peekToken","isInvalidMatchToken","matchStatement","_parseMatchStatement","_peekOperatorType","_parseDecorated","_parseSimpleStatement","asyncToken","_getKeywordToken","smellsLikeMatchStatement","_suppressErrors","curTokenIndex","_parseTestOrStarListAsExpression","matchNode","possibleIndent","caseStatement","_parseCaseStatement","dedentToken","_getLanguageVersion","caseNode","_consumeTokenIfKeyword","patternList","_parsePatternSequence","casePattern","_parseTestExpression","_parseSuite","_isPatternIrrefutable","_getPatternTargetNames","subpattern","mapEntry","_parseExpressionListGeneric","_parsePatternAs","starEntries","captureTargetMap","asPattern","patternAtom","_parsePatternAtom","_consumeTokenIfOperator","_getTokenIfIdentifier","orPattern","fullNameMap","localNameMap","missingNames","patternLiteral","_parsePatternLiteral","patternCaptureOrValue","_parsePatternCaptureOrValue","_parseClassPatternArgList","classNameExpr","classPattern","identifierToken","endToken","mappingPattern","_parsePatternMapping","lastToken","_handleExpressionParseError","sawKeywordArg","nextTokenType","_parseClassPatternArgument","secondToken","keywordName","nextOperator","_parsePatternLiteralNumber","stringList","_parseAtom","stringAtom","keywordToken","_parseArithmeticExpression","realValue","imagValue","itemList","_parsePatternMappingItem","starStarEntries","doubleStar","nameOrMember","ifNode","_parseLoopSuite","wasInLoop","wasInFinally","skipBody","postColonCallback","wasFunction","targetExpr","_parseExpressionListAsPossibleTuple","seqExpr","V3_9","sawStar","forNode","_tryParseListComprehension","compFor","_tryParseCompForStatement","listCompNode","forIfList","compIter","_tryParseCompIfStatement","comp","startTokenKeywordType","_disallowAssignmentExpression","_parseOrTest","compForNode","ifExpr","_tryParseLambdaExpression","_parseAssignmentExpression","whileNode","tryNode","sawCatchAllExcept","possibleStarToken","typeExpr","V3_11","exceptNode","_parseVarArgsList","functionTypeAnnotationToken","_getTypeAnnotationCommentText","_parseFunctionTypeAnnotationComment","terminator","allowAnnotations","sawDefaultParam","reportedNonDefaultParamErr","sawPositionOnlySeparator","sawKwArgs","_parseParameter","foundComma","_parseVariableTypeAnnotationComment","starCount","slashCount","V3_8","sublistStart","paramNode","withItemList","possibleParen","isParenthesizedWithItemList","openParenTokenIndex","_parseWithItem","withSuite","withNode","withItem","itemNode","_parseExpression","decoratorList","_parseDecorator","atOperator","isSupportedExpressionForm","_isNameOrMemberAccessExpression","decoratorNode","_parseArgList","_parsePassStatement","_parseBreakStatement","breakToken","_parseContinueStatement","continueToken","_parseReturnStatement","returnToken","returnNode","_isNextTokenNeverExpression","returnExpr","_reportConditionalErrorForStarTupleElement","_parseFromStatement","modName","_parseDottedModuleName","isFutureImport","possibleInputToken","wildcardToken","inParen","importFromAsNode","isTypingImport","firstNamePartValue","typingSymbolsOfInterest","_parseImportStatement","importToken","aliasToken","allowJustDots","_getTokenIfType","identifier","namePart","_parseGlobalStatement","globalToken","globalNode","_parseNameList","_parseNonlocalStatement","nonlocalToken","nonlocalNode","_parseRaiseStatement","raiseToken","raiseNode","_parseAssertStatement","assertNode","exceptionExpr","_parseDelStatement","_parseExpressionList","delNode","_parseYieldExpression","V3_3","exprList","_tryParseYieldExpression","invalidToken","firstCharCode","smallStatement","_parseSmallStatement","_parseExpressionStatement","tupleStartRange","tupleNode","errorCategory","errorString","errorToken","_parseTestListAsExpression","_parseTestExpressionList","allowAssignmentExpression","allowMultipleUnpack","allowStar","_parseTestOrStarExpression","allowUnpack","_parseBitwiseOrExpression","_parseLambdaExpression","testExpr","elseExpr","disallowAssignmentExpression","leftExpr","walrusToken","rightExpr","_parseAndTest","_createBinaryOperationNode","_parseNotTest","notToken","notExpr","_createUnaryOperationNode","_parseComparison","comparisonOperator","isOperatorComparison","tokenAfterNot","_parseBitwiseXorExpression","_parseBitwiseAndExpression","_parseShiftExpression","_parseArithmeticTerm","_parseArithmeticFactor","_parseAtomExpression","_isTypingAnnotation","baseName","atomExpression","startOfTrailerToken","wasParsingTypeAnnotation","argListResult","isArgListTerminated","wasParsingIndexTrailer","subscriptList","_parseSubscriptList","closingToken","startOfSubscriptIndex","nameIdentifier","valueExpr","_parsePossibleSlice","nameExpr","argNode","unpackAllowed","sliceExpressions","sliceIndex","sawColon","sliceNode","_parseArgument","listComp","_parseStringList","expressionNode","possibleTupleNode","_parseTupleAtom","listNode","_parseListAtom","dictNode","_parseDictionaryOrSetAtom","keywordAsIdentifier","errorMsg","targetToken","childNode","additionalStopTokens","stopTokens","allowConditional","lambdaNode","startParen","yieldExpr","_parseTestListWithComprehension","tupleOrExpression","startBracket","closeBracket","_createList","listAtom","sawComprehension","startBrace","dictionaryEntries","setEntries","isDictionary","isSet","sawListComprehension","isFirstEntry","doubleStarExpression","keyEntryNode","dictEntry","listEntryNode","expandEntryNode","missingValueErrorNode","closeCurlyBrace","setAtom","dictionaryAtom","terminalCheck","finalEntryCheck","annotationExpr","V3_6","isTypeAliasDeclaration","_parseChainAssignments","isOperatorAssignment","destExpr","assignmentNode","paramAnnotation","isUnpack","_reportStringTokenErrors","unescapedResult","_makeStringNode","curToken","typeString","tokenOffset","stringListNode","functionAnnotation","_parseFormatStringSegment","segmentOffset","segmentLength","textRangeStart","_parseFormatString","formatExpressions","segmentExprLength","_getFormatStringExpressionLength","formatDirective","braceDepth","startOfExprOffset","formatSegmentLength","segmentValue","quoteStack","indexOfDebugEqual","braceCount","parenCount","bracketCount","ignoreSeparator","inString","quoteSequence","unescapedString","possibleTupleExpr","wasAllowed","keywordText","terminators","term","errorsWereSuppressed","Scope","notLocalBindings","getGlobalScope","curScope","isIndependentlyExecutable","isOutsideCallerModule","isBeyondExecutionScope","isDefinedByMemberAccess","parentScope","addSymbol","getBindingType","setBindingType","bindingType","setSlotsNames","slotsNames","getSlotsNames","evaluateStaticBoolExpression","typingImportAliases","sysImportAliases","evaluateStaticBoolLikeExpression","leftValue","rightValue","_isSysVersionInfoExpression","comparisonVersion","majorVersion","minorVersion","_convertTupleToVersion","_evaluateNumericBinaryOperation","_isSysPlatformInfoExpression","comparisonPlatform","expectedPlatformName","Darwin","Windows","Linux","_getExpectedPlatformNameFromPlatform","_evaluateStringBinaryOperation","_isOsNameInfoExpression","comparisonOsName","expectedOsName","_getExpectedOsNameFromPlatform","Binder","_moduleSymbolOnly","_deferredBindingTasks","_currentExceptTargets","_finallyTargets","_sysImportAliases","_dataclassesImportAliases","_dataclassesSymbolAliases","_dunderAllStringNodes","_usesUnsupportedDunderAllForm","_isInExceptSuite","_potentialHiddenSymbols","_potentialPrivateSymbols","_functionCodeFlowComplexity","_fileInfo","bindModule","isBuiltInModule","builtinsScope","_createNewScope","_currentScope","_currentFlowNode","_addImplicitSymbolToCurrentScope","_createStartFlowNode","_walkStatementsAndReportUnreachable","_currentScopeCodeFlowExpressions","_bindDeferred","_dunderAllNames","usesUnsupportedDunderAllForm","_addDiagnostic","diagnostic","createTypeStubAction","classDeclaration","_bindNameToScope","_createAssignmentTargetFlowNodes","containingClassNode","functionDeclaration","_getNonClassParentScope","_deferBinding","paramDeclaration","_createFlowAssignment","_targetFunctionDeclaration","_currentReturnTarget","_createBranchLabel","_addAntecedent","returnFlowNode","_finishFlowLabel","complexity","codeFlowComplexity","_disableTrueFalseTargets","_createCallFlowNode","emitDunderAllWarning","argExpr","namesToAdd","_getDunderAllNamesFromImport","_handleTypingStubAssignmentOrAnnotation","_bindPossibleTupleNamedTarget","_addTypeDeclarationForVariable","isPossibleTypeAlias","isTypingStubFile","_addInferredTypeAssignmentForVariable","tupleEntryNode","dunderSlotsNames","isExpressionUnderstood","_addSlotsToCurrentScope","evaluationNode","containerScope","_createVariableAnnotationFlowNode","expressionList","_isNarrowingExpression","referenceKey","preForLabel","_createLoopLabel","preElseLabel","postForLabel","_bindLoopStatement","enclosingFunction","_currentContinueTarget","_unreachableFlowNode","_currentBreakTarget","returnStatements","_isInListComprehension","_bindYield","preIfFlowNode","thenLabel","elseLabel","postIfLabel","affectedExpressions","_trackCodeFlowExpressions","constExprValue","executionEnvironment","_bindConditional","_bindNeverCondition","postWhileLabel","preLoopLabel","assertTrueLabel","assertFalseLabel","wasInExceptSuite","raiseStatements","preTryFlowNode","curExceptTargets","preFinallyLabel","isAfterElseAndExceptsReachable","preFinallyReturnOrRaiseLabel","preFinallyGate","PreFinallyGate","antecedent","isGateClosed","except","exceptLabel","_useExceptTargets","_isCodeUnreachable","postFinallyNode","PostFinally","finallyNode","isIPythonMode","globalScope","valueWithScope","_createAliasDeclarationForMultipartImportName","dataclassesSymbolsOfInterest","isModuleInitFile","isDataclassesImport","lookupInfo","wildcardNames","_getWildcardImportNames","_addImplicitFromImport","localSymbol","_createFlowWildcardImport","importSymbolNode","importedName","contextManagerSwallowExceptionTarget","_createContextManagerLabel","contextManagerForwardExceptionTarget","exceptionTarget","preWithSuiteNode","postContextManagerLabel","_addExceptTargets","preTernaryFlowNode","trueLabel","falseLabel","postExpressionLabel","_currentFalseTarget","_currentTrueTarget","postRightLabel","trueTarget","falseTarget","preRightLabel","compr","addedSymbols","isSubjectNarrowable","postMatchLabel","foundIrrefutableCase","postCaseLabel","preGuardLabel","preSuiteLabel","_createFlowNarrowForPattern","_createFlowExhaustedMatch","postOrLabel","_addPatternCaptureTarget","slotNameNodes","slotsContainsDict","slotNameNode","slotName","honorPrivateNaming","isDefinedBySlots","ignoreOutermostIterable","outermostCompr","targets","prevExceptTargets","varName","varSymbol","dunderAllNames","existingDecl","newDecl","_addImplicitImportsToLoaderActions","curLoaderActions","namePartValue","loaderActions","namesToImport","foundUnreachableStatement","YieldFinder","checkContainsYield","Start","preBranchAntecedent","BranchLabel","antecedents","NarrowForPattern","blockIfSwallowsExceptions","PostContextManager","LoopLabel","isPositiveTest","_createFlowConditional","TrueNeverCondition","FalseNeverCondition","savedCurrentFlowNode","initialCurrentFlowNode","afterLabel","prevCurrentNode","_setTrueFalseTargets","_isLogicalExpression","TrueCondition","FalseCondition","savedTrueTarget","savedFalseTarget","staticValue","filteredExprList","conditionalFlowNode","filterForNeverNarrowing","isComplexExpression","isOrIsNotOperator","equalsOrNotEqualsOperator","isLeftNarrowing","isRightNarrowing","walkTargets","unbound","Call","VariableAnnotation","targetSymbolId","prevFlowNode","Assignment","Unbind","WildcardImport","ExhaustedMatch","savedExpressions","scopedExpressions","postLoopLabel","savedContinueTarget","savedBreakTarget","savedCodeFlowComplexity","_addSymbolToCurrentScope","symbolFlags","prevScope","newScope","isExecutionScope","prevExpressions","isInferenceAllowedInPyTyped","_isInferenceAllowedInPyTyped","_getVariableDocString","_getMemberAccessInfo","classScope","declarationHandled","finalInfo","_isAnnotationFinal","isExplicitTypeAlias","_isAnnotationTypeAlias","innerTypeAnnotationNode","finalTypeNode","classVarInfo","_isAnnotationClassVar","classVarTypeNode","containingClass","_isRequiredAnnotation","_isNotRequiredAnnotation","_isDataclassesAnnotation","item0Expr","_isKnownAnnotation","importAliases","symbolAliases","annotationNode","suiteOrModule","assignmentIndex","nextStatement","isValidContext","leftSymbolName","firstParamName","decoratorName","existingLoaderAction","assignedNameNode","specialTypes","assignedName","nextItem","yieldStatements","diagLevel","_addWarning","_addInformation","diagnosticSink","_containsYield","getTypeNarrowingCallback","adjIsPositiveTest","expandedType","mapSubtypesExpandTypeVars","unexpandedSubtype","adjustedSubtype","narrowTypeForIsNone","indexValue","tupleLength","typeOfEntry","narrowTupleTypeForIsNone","callType","matches","narrowTypeForTypeIs","rightType","narrowTypeForLiteralComparison","referenceType","indexLiteralType","literalType","canNarrow","narrowedType","tdEntry","narrowTypeForDiscriminatedDictEntryComparison","tupleEntryType","narrowTypeForDiscriminatedTupleComparison","lengthValue","concreteSubtype","narrowTypeForTupleLength","narrowTypeForDiscriminatedFieldComparison","containerType","builtInName","elementType","elementTypeWithoutLiteral","referenceSubtype","elementSubtype","narrowTypeForContains","literalKey","oldNarrowedEntriesMap","newNarrowedEntriesMap","narrowTypeForTypedDictKey","isInstanceCheck","arg0Expr","arg1Expr","classTypeList","foundNonClassType","addClassTypesToList","getIsInstanceClassTypes","narrowTypeForIsInstance","narrowTypeForCallable","narrowTypeForTruthiness","functionReturnType","typeGuardSubtype","isSubType","isSuperType","narrowTypeForUserDefinedTypeGuard","testExprDecl","getDeclsForLocalVar","referenceDecls","modifyingDecls","isNodeReachable","initNode","reachableFrom","prevDeclScope","declScopeNode","reachableDecls","canBeTruthy","removeFalsinessFromType","canBeFalsy","removeTruthinessFromType","allowIntersections","filterClassType","varType","unexpandedType","negativeFallbackType","filteredTypes","foundSuperclass","isClassRelationshipIndeterminate","filterType","concreteFilterType","filterIsSuperclass","filterIsSubclass","specializedFilterType","unspecializedFilterType","populateTypeVarMapBasedOnExpectedType","isConstrainedTypeVar","isCallable","anyOrUnknownSubstitutions","anyOrUnknown","filteredType","negativeFallback","isSubtypeTypeObject","containsNoneType","concreteClassType","filterFunctionType","includesTypeType","getBuiltInObject","isIsOperator","literalValueMatches","allLiteralTypes","enumerateLiteralsForType","enumList","symbolType","callMethod","classPatternSpecialCases","narrowTypeBasedOnPattern","sequenceInfo","getSequencePatternInfo","isPlausibleMatch","narrowedEntryTypes","canNarrowTuple","isTuple","sequenceEntry","entryType","getTypeForPatternSequenceEntry","narrowedEntryType","tupleClassType","isObject","sequenceType","getTypingType","narrowTypeBasedOnSequencePattern","narrowTypeBasedOnLiteralPattern","exprType","classInstance","subjectSubtypeExpanded","subjectSubtypeUnexpanded","positionalArgNames","getPositionalMatchArgNames","narrowTypeOfClassPatternArgument","expandedSubtype","resultType","unspecializedMatchType","matchTypeInstance","isMatchValid","narrowTypeBasedOnClassPattern","remainingType","narrowedSubtype","narrowTypeBasedOnAsPattern","mappingInfo","getMappingPatternInfo","mappingSubtypeInfo","mappingEntry","narrowedKeyType","keySubtype","valueEntry","narrowedValueType","dictTypeArgs","narrowTypeBasedOnMappingPattern","subjectType","narrowedSubtypes","valueSubtypeExpanded","valueSubtypeUnexpanded","allEnumTypes","enumType","useSpeculativeMode","getTypeFromMagicMethodReturn","narrowTypeBasedOnValuePattern","matchArgsMemberInfo","matchArgsType","tupleArgs","argIndex","matchType","getTypeFromObjectMember","mroClassToSpecialize","specializedMapping","entryCount","minEntryCount","entryTypes","isIndeterminateLength","specializedSequence","unpackStarEntry","isSubjectObject","wrapTypeInList","assignTypeToPatternTargets","isTypeIncomplete","assignTypeToExpression","keyTypes","valueTypes","valueInfo","dictClass","dictType","argTypes","subjectSubtype","narrowedArgType","listObjectType","deprecatedAliases","deprecatedSpecialForms","Checker","_isUnboundCheckSuppressed","_scopedNodes","_microbitV2OnlyNames","_moduleNode","markNamesAccessed","_reportUnusedDunderAllSymbols","_validateSymbolTables","_reportDuplicateImports","suppressDiagnostics","classTypeResult","_validateProtocolTypeParamVariance","_validateBaseClassOverrides","_validateSlotsClassVarConflict","_validateMultipleInheritanceCompatibility","_validateConstructorConsistency","_validateFinalMemberOverrides","_validateInstanceVariableInitialization","_validateFinalClassNotAbstract","_validateDataClassPostInit","_validateProtocolCompatibility","_reportDuplicateEnumMembers","_validateTypedDictClassSuite","_validateEnumClassOverride","functionTypeResult","sawParamSpecArgs","functionTypeParam","diagAddendum","hasAnnotation","defaultValueType","paramSpecParams","_validateMethod","_validateFunctionReturn","_validateDunderSignatures","_validateStrictTypeGuardFunction","_validateFunctionTypeVarUsage","maxOverloadConsistencyCheckLength","_validateOverloadConsistency","_validateIsInstanceCall","_validateIllegalDefaultParamInitializer","isRevealTypeCall","_isTypeValidForUnusedValueTest","evaluateTypesForStatement","enclosingFunctionNode","getFunctionDeclaredReturnType","returnTypeMatches","uniqueTypeVars","narrowConstrainedTypeVar","adjustedReturnType","yieldType","_validateYieldType","yieldFromType","getTypeFromIterable","getTypeFromIterator","verifyRaiseExceptionType","baseExceptionType","exceptionType","_validateExceptionType","addDiagnosticForTextRange","subscriptType","_validateComparisonTypes","formatExpr","_suppressUnboundCheck","_conditionallyReportPrivateUsage","_reportMicrobitV2Name","_reportUnboundName","verifyDeleteExpression","_validateExhaustiveMatch","validateClassPattern","_reportUnusedExceptStatements","narrowedTypeResult","evaluateTypeForSubnode","evaluateTypesForMatchNode","wasSuppressed","isPossiblyTrue","leftSubtype","isComparable","rightSubtype","_isTypeComparable","leftTypeText","rightTypeText","genericLeftType","genericRightType","localTypeVarUsage","exemptBoundTypeVar","nameWalker","subscriptIndex","nameType","isExempt","prevOverloads","prevOverload","_isOverlappingOverload","obscured","obscuredBy","prevReturnType","altNode","_findNodeForOverload","newIndex","prevIndex","overloadType","_isLegalOverloadImplementation","implementation","isLegal","overloadReturnType","getFunctionInferredReturnType","implementationReturnType","returnDiag","prevStatement","reportedUnreachable","_validateStubStatement","derivesFromBaseException","resultingExceptionType","scopedNode","_conditionallyReportUnusedSymbol","_reportIncompatibleDeclarations","_reportMultipleFinalDeclarations","_reportMultipleTypeAliasDeclarations","_reportInvalidOverload","overloadedFunctions","implementationFunction","isProtocolMethod","sawFinal","sawAssignment","firstDecl","isImplicitlyAssigned","typeAliasDecl","primaryDeclInfo","otherDecls","primaryDeclTypeInfo","funcTypeInfo","addPrimaryDeclInfo","primaryDeclNode","otherDecl","primaryType","duplicateIsOk","otherType","isInSameStatementList","accessedSymbolMap","_conditionallyReportUnusedDeclaration","_isSymbolPrivate","diagnosticLevel","multipartName","np","isReexport","isFuture","callName","arg0Type","arg1Type","isValidType","arg1Subtype","_isTypeSupportedTypeForIsInstance","nonstandardClassTypes","arg1IncludesSubclasses","derivesFromAnyOrUnknown","finalizeFilteredTypeList","foundAnyType","getTestType","testType","isSupported","_reportDeprecatedUse","deprecatedForm","isPrivateName","isProtectedName","primaryDeclaration","resolvedAliasInfo","resolveAliasDeclarationWithInfo","isProtectedAccess","declClassTypeInfo","enclosingClassNode","enclosingClassTypeInfo","baseEnumDefinesValue","suiteNode","emitBadStatementError","returnAnnotation","functionNeverReturns","isAfterNodeReachable","implicitlyReturnsNone","parentSymbol","isSymbolImplemented","postInitMember","initOnlySymbolMap","postInitType","paramListDetails","nonDefaultParams","expectedParamCount","expected","fieldType","getDeclaredTypeOfSymbol","canAssignDiag","fieldDecls","abstractMethods","getAbstractMethods","abstractMethod","origTypeParams","updatedTypeParams","updatedClassType","objectObject","dummyTypeObject","srcTypeArgs","destTypeArgs","expectedVariance","canAssignProtocolClassToSelf","variable","class","localSlotsNames","initMember","newMember","newMemberType","initMemberType","displayOnInit","initDecl","mainDecl","mainDeclNode","initSignature","newSignature","secondaryDecl","symbolMaps","specializedBaseClass","memberMap","getClassFieldsRecursive","symbolMapBaseIndex","baseSymbolMap","baseClassAndSymbol","symbolMapOverrideIndex","overrideClassAndSymbol","overrideFunction","canOverrideMethod","overrideDecl","baseDecl","mroBaseClass","baseClassSymbolType","exemptMethods","enforceParamNameMatch","exempt","origDecl","basePropFields","subclassPropFields","methodName","baseClassPropMethod","subclassPropMethod","baseClassMethodType","subclassMethodType","isBaseClassVar","unformattedMessage","classTypeInfo","_validateSuperCallForMethod","_validateClsSelfParameterType","firstParamIsSimple","isLegalMetaclassName","typeType","methodType","effectiveFlags","foundCallOfMember","memberBaseExpr","isCls","expectedType","declaredYieldType","isLegalGeneratorType","classes","getGeneratorYieldType","sawUnknownOrAny","exceptionTypesSoFar","typesForThisExcept","overriddenExceptionCount","thisExceptType","previousExceptType","importModuleMap","_reportMicrobitVersionApiUnsupportedCheck","nameForError","_reportMicrobitVersionApiUnsupportedDiagnostic","device","_applyStrictRules","ruleSet","_overrideRules","overrideRuleSet","skipRuleNames","boolRuleNames","diagRuleNames","overrideValue","prevValue","_parsePyrightComment","commentValue","operandList","_applyBasicRules","operand","_parsePyrightOperand","operandSplit","diagLevelValue","_parseDiagLevel","boolValue","ParseTreeCleanerWalker","_parseTree","clean","analyzerNode","TestWalker","_verifyParentChildLinks","_verifyChildRanges","skipCheck","SourceFile","isThirdPartyImport","isThirdPartyPyTypedPresent","logTracker","_isFileDeleted","_diagnosticVersion","_fileContentsVersion","_lastFileContentLength","_lastFileContentHash","_analyzedFileContentsVersion","_parseTreeNeedsCleaning","_isBindingInProgress","_parseDiagnostics","_bindDiagnostics","_checkerDiagnostics","_diagnosticRuleSet","_circularDependencies","_isBindingNeeded","_isCheckingNeeded","_indexingNeeded","_isStubFile","_isThirdPartyImport","_isThirdPartyPyTypedPresent","_isTypingStubFile","_isTypingExtensionsStubFile","_isBuiltInStubFile","_logTracker","getDiagnosticVersion","prevDiagnosticVersion","includeWarningsAndErrors","diagList","prefilteredDiagList","typeIgnoreLinesClone","unnecessaryTypeIgnoreDiags","diagCategory","cirDep","_hitMaxImportDepth","ignoreFileSpec","getImports","_imports","getBuiltinsImport","_builtinsImport","getIPythonDisplayImport","_ipythonDisplayImport","getModuleSymbolTable","_moduleSymbolTable","didContentsChangeOnDisk","_clientDocument","dropParseAndBindInfo","markDirty","indexingNeeded","_cachedIndexResults","markReanalysisRequired","forceRebinding","getClientVersion","getOpenFileContents","getFileContent","openFileContent","fileStat","setClientVersion","contentsHash","prepareForClose","isFileDeleted","isParseRequired","isBindingRequired","isIndexingRequired","isCheckingRequired","getCachedIndexResults","cacheIndexResults","addCircularDependency","updatedDependencyList","dep","setHitMaxImportDepth","maxImportDepth","_getPathForLogging","logState","execEnvironment","indexGenerationMode","_resolveImports","builtinsImportResult","ipythonDisplayImportResult","useStrict","strictFileSpec","defaultRuleSet","diagSettings","ls","getDefinitionsForPosition","getTypeDefinitionsForPosition","getDeclarationForPosition","addReferences","addHierarchicalSymbolsForDocument","getSymbolsForDocument","getHoverForPosition","_addResultsForDeclaration","typeText","_addResultsPart","_addDocumentationPart","_getTypeText","typeNode","_addInitMethodInsteadIfCallNode","callLeftNode","instanceType","functionParts","printFunctionParts","classText","_addDocumentationPartForType","addedDoc","_addDocumentationResultsPart","markDown","python","getDocumentHighlight","getSignatureHelpForPosition","callSignatureInfo","sig","_makeSignature","callHasParameters","_getDocStringFromCallNode","activeParameter","sigInfo","resolveDecl","moduleSymbolsCallback","completionData","performQuickAction","editActions","startPos","endPos","additionalEditActions","_addMissingOptionalToParam","_cleanParseTreeIfRequired","_buildFileInfo","binder","internalTestMode","test_enableIPythonMode","enable","analysisDiagnostics","isTypingExtensionsStubFile","isBuiltInStubFile","moduleImports","resolveAndAddIfNotSelf","skipMissingImport","moduleImport","createTracePrinter","localeCompare","printFileOrModuleName","filePathOrModule","printDeclaration","printNode","printPath","getFileInfo","isNode","isDeclaration","isType","isIncompleteType","cachedType","SpeculativeTypeTracker","_speculativeContextStack","_speculativeTypeCache","enterSpeculativeContext","speculativeRootNode","allowCacheRetention","entriesToUndo","leaveSpeculativeContext","isSpeculative","trackEntry","stackSize","disableSpeculativeMode","enableSpeculativeMode","addSpeculativeType","cacheEntries","getSpeculativeType","IncompleteTypeTracker","_trackerStack","_isUndoTrackingEnabled","enterTrackingScope","exitTrackingScope","enableUndoTracking","isUndoTrackingEnabled","createNamedTupleType","includesTypes","nameArg","defaultsArg","defaultArgCount","defaultsArgType","namedTupleType","classFields","classTypeVar","constructorType","namedTupleAssignedName","moduleOrSuite","statementIndex","assignNode","defaultTarget","matchArgsNames","selfParameter","addGenericGetAttribute","entriesArg","firstParamWithDefaultIndex","isRuntimeTypeExpression","entryList","entryMap","entryExpressions","entryTypeNode","entryNameNode","getTypeForExpressionExpectingType","setTypeForNode","keysItemType","itemsItemType","lenType","getAttribType","literalTypes","updateNamedTupleBaseClass","namedTupleIndex","namedTupleClass","typedTupleClass","tupleTypeArgs","updatedTupleClass","clonedNamedTupleClass","validateDataClassTransformDecorator","behaviors","keywordOnlyParams","generateEq","generateOrder","transformDescriptorTypes","fieldDescriptorNames","getDataclassDecoratorBehaviors","decoratorDataClassBehaviors","applyDataClassClassBehaviorOverrides","argValue","hasUnfrozenBaseClass","hasFrozenBaseClass","classDataClassTransform","applyDataClassBehaviorOverride","applyDataClassDefaultBehaviors","defaultBehaviors","dataClassBehaviors","applyDataClassDecorator","applyFunctionTransform","orderingMethods","missingMethods","boolType","objParam","methodToAdd","applyTotalOrderingTransform","validatePropertyMethod","createProperty","decoratorType","fget","typeMetaclass","propertyClass","propertyObject","isAsymmetricDescriptor","fgetSymbol","getFunction1","defaultType","getFunction2","objType","getFunctionOverload","getSymbol","accessorName","accessorFunction","accessorSymbol","canAssignProperty","destPropertyType","srcPropertyType","srcClass","objectToBind","isAssignable","missingDiagMsg","incompatibleDiagMsg","accessorInfo","destAccessSymbol","destAccessType","srcAccessSymbol","srcAccessType","boundDestAccessType","boundSrcAccessType","binaryOperatorMap","booleanOperatorMap","nonSubscriptableBuiltinTypes","typePromotions","createTypeEvaluator","evaluatorOptions","symbolResolutionStack","functionRecursionMap","codeFlowAnalyzerCache","typeCache","typeCacheFlags","asymmetricDescriptorAssignmentCache","expectedTypeCache","speculativeTypeTracker","effectiveTypeCache","suppressedNodeStack","incompleteTypeTracker","protocolAssignmentStack","noneType","typeClassType","functionObj","boolClassType","strClassType","dictClassType","typedDictClassType","incompleteTypeCache","isBasicTypesInitialized","returnTypeInferenceContextStack","returnTypeInferenceTypeCache","checkForCancellation","isTypeCached","isNodeInReturnTypeInferenceContext","readTypeCache","verifyTypeCacheEvaluatorFlags","expectedFlags","writeTypeCache","allowSpeculativeCaching","typeCacheToUse","deleteTypeCacheEntry","contextNode","getIndexOfSymbolResolution","symbolId","pushSymbolResolution","isResultValid","popSymbolResolution","poppedEntry","setSymbolResolutionPartialType","partialType","getSymbolResolutionPartialType","evaluateTypesForExpressionInContext","initializedBasicTypes","getTypeFromModule","getTypeshedType","speculativeCachedType","expectedTypeAlt","typeResult","reportExpectingTypeErrors","allowForwardReferences","containingFunction","useCodeFlowAnalysis","effectiveTypeInfo","getEffectiveTypeOfSymbolForUsage","effectiveType","isRecursiveDefinition","typeAtStart","codeFlowTypeResult","getFlowTypeOfReference","outerScopeTypeResult","scopeHierarchy","stopScope","innerScopeNode","foundScope","innerScopeCodeFlowNode","declCodeFlowNode","codeFlowEngine","isFlowNodeReachable","getCodeFlowTypeForCapturedVariable","reportMissingTypeArguments","setSymbolAccessed","includesVariableDecl","nameSplit","booleanName","validateTypeVarUsage","getTypeFromName","baseTypeFlags","baseTypeResult","memberTypeResult","getTypeFromMemberAccessWithBaseType","initialType","isInitialTypeIncomplete","classMemberInfo","getTypeFromMemberAccess","skipSubscriptCheck","scopeNode","minPythonVersion","getTypeFromIndexWithBaseType","baseTypeSupportsIndexNarrowing","getTypeFromIndex","getTypeFromCall","makeTupleObject","isEmptyTupleShorthand","effectiveExpectedType","expectedTypeContainsAny","matchingSubtype","subtypeResult","getTypeFromTupleExpected","entryTypeResults","buildTupleTypesList","getTypeFromTupleInferred","getTypeFromTuple","getTypeFromConstant","isAnnotationLiteralValue","cloneBuiltinObjectWithLiteral","updatedFlags","textValue","valueOffset","parseStringAsTypeAnnotation","exprTypeResult","unaryOperatorMap","literalClassName","classSubtype","getTypeFromUnaryOperation","getTypeFromBinaryOperation","getTypeFromAugmentedAssignment","getTypeFromListOrSetExpected","hasExpectedType","builtInClassName","entryTypeResult","getElementTypeFromListComprehension","inferredEntryType","listOrSetClass","getTypeFromListOrSetInferred","getTypeFromListOrSet","getTypeFromSlice","createAwaitableReturnType","getTypeFromAwaitable","typesToCombine","ifType","elseType","getTypeFromTernary","elementTypeResult","builtInIteratorType","getTypeFromListComprehension","expectedTypeDiagAddendum","getTypeFromDictionaryExpected","getTypeFromDictionaryInferred","getTypeFromDictionary","expectedFunctionTypes","callMember","boundMethod","minLambdaParamCount","maxLambdaParamCount","functionParamCount","expectedFunctionType","transformVariadicParamType","functionParam","expectedReturnType","getFunctionEffectiveReturnType","getTypeFromLambda","expectedYieldType","sentType","functionTypeInfo","getTypeFromYield","returnedType","getTypeFromYieldFrom","iterExpectedType","iterableType","iterTypeResult","iterType","addExpectedClassDiagnostic","illegalRecursionDetected","isAnnotationEvaluationPostponed","getTypeOfParameterAnnotation","paramTypeNode","getTypeOfAnnotation","associateTypeVarsWithScope","allowTypeVarTuple","disallowRecursiveTypeAlias","allowUnpackedTypedDict","allowUnpackedTuple","specialType","aliasMapEntry","createSpecialBuiltInClass","handleTypingStubTypeAnnotation","evaluatorFlags","isVariableAnnotation","allowFinal","allowClassVar","allowParamSpec","notParsedByInterpreter","annotationType","getTypeFromDecorator","functionOrClassType","decoratorTypeResult","validateCallArguments","boolMethod","boolMethodType","memberAccessFlags","bindToType","getTypeFromClassMemberName","getTypeFromClassMember","getBoundMethod","treatConstructorAsClassMember","unboundMethodType","firstCommentAnnotationIndex","adjIndex","isDeclaredTypeAlias","getDeclaredTypeForExpression","classOrObjectBase","memberAccessClass","bindFunction","setItemMember","setItemType","boundFunction","typeFromTypedDict","evaluatorInterface","setterInfo","setter","awaitReturnType","generatorReturnType","getReturnTypeFromGenerator","iterMethodName","nextMethodName","isValidIterator","iterReturnType","iterReturnTypeDiag","nextReturnType","getItemReturnType","isValidIterable","importingFilePath","sourceNode","sourceFlowNode","getTypeFromCodeFlow","getCodeFlowAnalyzerForNode","isFlowNodeReachableUsingNeverNarrowing","isFlowPathBetweenNodes","sinkNode","allowSelf","sinkFlowNode","addDiagnosticWithSuppressionCheck","isDiagnosticSuppressedForNode","suppressedNode","assignTypeToNameNode","srcExpression","allowAssignmentToFinalVar","narrowTypeBasedOnAssignment","varDecl","assignTypeToMemberVariable","srcExprNode","classDef","memberClass","isThisClass","inheritedSlotsNames","reportPossibleUnknownAssignment","conditionFilter","applicableConstraint","isExemptFromBoundCheck","expandSubtype","typeCondition","srcExpr","ignoreEmptyContainers","classTypeResults","memberSymbol","setErrorNode","assignTypeToMemberAccessNode","targetExpressions","targetTypes","targetUnpackIndex","unpackIndex","sourceEntryTypes","unboundedIndex","typeToReplicate","combinedTypes","targetIndex","expectedEntryCount","subDiag","simple","typeList","assignTypeToTupleOrListNode","bindToClass","scopedTypeVarInfo","nestedClassCount","typeVarsForScope","foundInterveningClass","recursiveTypeAliasScopeId","findScopedTypeVar","enclosingScope","outerFunctionScope","createSpecializedClassType","getTypeVarScopesForNode","getTypeFromNoneBase","isSuperCall","getAttrSymbol","V3_7","getAttrTypeResult","evaluateUnknownImportsAsAny","isFunctionRule","diagMessage","skipPartialUnknownCheck","classLookupFlags","containingClassType","inferReturnTypeIfNecessary","getTypeOfMemberInternal","descriptorResult","baseTypeClass","isAccessedThroughObject","isTypeValid","lookupClass","isAccessedThroughMetaclass","accessMethodName","accessMethod","accessMethodType","boundMethodType","callResult","argumentErrors","setterType","isAsymmetric","getterSymbolResult","setterSymbolResult","getterType","isAsymmetricDescriptorClass","finalTypeDecl","enforceTargetType","applyDescriptorAccessMethod","printObjectTypeForClass","generalAttrType","getAttrType","getBestOverloadForArguments","applyAttributeAccessOverride","adjustTypeArgumentsForVariadicTypeVar","variadicIndex","variadicTypeResults","validateVariadicTypeVarIsUnpacked","validateTypeArg","allowEmptyTuple","allowVariadicTypeVar","allowUnpackedTuples","variadicTypes","tupleObject","typeAliasResult","getTypeArgs","canAssignTypeToTypeVar","aliasTypeArgs","createSpecializedTypeAlias","typeArgTypes","getIndexAccessMagicMethodName","getTypeFromIndexedObjectOrClass","itemExpr","cloneBuiltinClassWithLiteral","createLiteralType","isAnnotatedClass","isGenericClass","isFinalAnnotation","isClassVarAnnotation","isUnspecifiedLength","magicMethodName","itemMethodType","index0Expr","getSliceParameter","valType","positionalArgs","unpackedListArgs","keywordArgs","unpackedDictArgs","positionalIndexType","altArgList","intType","adjFlags","getTypeArgTypeResult","adjustedFlags","getTypeArg","expectedTypes","tupleTypeVarMap","specializedTuple","homogenousType","expectedTypesContainLiterals","possibleUnpackedTuple","firstUnboundedEntryIndex","removedEntries","returnResult","targetClassType","concreteTargetClassType","secondArgType","reportError","enclosingMethod","implicitBindToType","methodTypeInfo","resultIsInstance","mroBase","getTypeFromSuperCall","getTypeFromRevealType","infoMessages","getTypeFromRevealLocals","typeErrors","arg0Value","expectedRevealTypeNode","expectedRevealType","expectedTextNode","expectedText","expectedTextType","getTypeForArgumentExpectingType","expectedRevealTypeText","validateOverloadsWithExpandedTypes","expandedArgTypes","argParamMatches","skipUnknownArgCheck","returnTypes","matchedOverloads","expandedTypesIndex","matchedOverload","argTypeOverride","hasArgTypeOverride","overloadIndex","matchResults","argParams","argParamCopy","effectiveTypeVarMap","validateFunctionArgumentTypesWithExpectedType","finalCallResult","specializedInitSelfType","winningOverloadIndex","matchFunctionArgumentsToParameters","sortOverloadsByBestMatch","matchIndex","validateFunctionArgumentTypes","relevance","expandArgumentUnionTypes","contextFreeArgTypes","unionToExpand","indexToExpand","newExpandedArgTypes","preExpandedTypes","validateConstructorArguments","validatedTypes","reportedErrors","usedMetaclassCallMethod","skipConstructorCheck","expectedSubType","applyExpectedSubtypeForConstructor","adjustedClassType","applyExpectedTypeForConstructor","constructorMethodInfo","newReturnType","applyExpectedTypeForTupleConstructor","transformed","callMemberResult","callMemberType","origFunctionType","getTypeForArgument","reportedPositionalError","argTypeResult","matchingParam","specializedFunctionType","updatedParamList","specializedParam","newParamList","newCallMemberType","newPartialClass","applyPartialTransform","applyConstructorTransform","expectedSubtype","specializedExpectedType","liveTypeVarScopes","expectedTypeArgs","sameClassTypeVarMap","expectedTypeScopeId","synthExpectedTypeArgs","genericExpectedType","synthesizedIndex","syntheticTypeVarMap","synthTypeVar","targetTypeVar","expectedTypeArgValue","transformExpectedTypeForConstructor","exprNode","functionResult","validateFunctionArguments","createNewType","castToType","castFromType","filteredMatchResults","valueExpressionNode","evaluateUsingLastMatchingOverload","lastMatch","validateOverloadedFunctionArguments","firstConstraintArg","firstArg","paramNameNode","paramNameMap","getBooleanValue","createTypeVarType","createTypeVarTupleType","paramSpecName","createParamSpecType","enumClass","createEnumType","typedDictClass","usingDictSyntax","entryDict","annotatedType","createTypedDictType","errorsToDisplay","constructorResult","newClassName","firstArgType","paramDetails","matchedUnpackedListOfUnknownLength","reportedArgError","isVariadicTypeVarFullyMatched","argsNeeded","argsReceived","isPositionalOnly","positionalOnlyLimitIndex","positionParamLimitIndex","varArgListParamIndex","varArgDictParamIndex","paramSpecArgList","paramSpecTarget","hasParamSpecArgsKwargs","varArgListParam","varArgDictParam","keywordParamIndex","positionalArgCount","validateArgTypeParams","trySetActive","active","foundUnpackedListArg","unpackedArgIndex","isParamVariadic","isArgCompatibleWithVariadic","listElementType","advanceToNextArg","funcArg","requiresTypeVarMatching","argument","effectiveParamType","remainingArgCount","remainingParamCount","mapsToVarArgList","firstParamWithDefault","argsRemainingCount","unpackedDictionaryArgType","paramEntry","paramInfoIndex","mappingType","strObjType","mappingTypeVarMap","isValidMappingType","paramNameValue","unassignedParams","missingParamNames","variadicArgs","combinedArg","expectingType","effectiveReturnType","speculativeResults","typeVarMapCopy","tempTypeVarMap","genericReturnType","typeVarMatchingCount","passCount","argResult","validateArgType","skippedOverloadArg","positionalIndex","positionalIndexLimit","validateFunctionArgumentsForParamSpec","typeVarScopeNode","skipUnknownCheck","skipOverloadArg","expectedTypeDiag","concreteParamType","createFunctionFromConstructor","argTypeText","paramTypeText","simplifiedType","getDiagAddendum","suppressPartialUnknown","operatorSupportsComparisonChaining","op","expectedLeftOperandType","expectedOperandType","leftTypeResult","rightTypeResult","customMetaclassSupportsMethod","adjustedRightType","isUnionableType","newUnion","isLeftOptionalType","isLiteralMathAllowed","validateBinaryOperation","leftSubtypeExpanded","leftSubtypeUnexpanded","rightSubtypeExpanded","rightSubtypeUnexpanded","binaryOperator","concreteLeftType","iteratorType","leftLiteralClassName","maxLiteralMathSubtypeCount","leftClassSubtype","rightClassSubtype","isValidResult","leftLiteralValue","rightLiteralValue","convertFunctionToObject","altMagicMethodName","magicMethodSupported","handleSubtype","magicMethodType","functionArgs","expectedDiagAddendum","getKeyAndValueTypesFromDictionary","resultTypedDict","isMatch","keyValue","symbolEntry","assignToTypedDict","builtInDict","dictTypeVarMap","specializedDict","expectedKeyType","expectedValueType","isValueTypeInvariant","specializedKeyType","inferTypeArgFromExpectedType","specializedValueType","fallbackType","forceStrictInference","expectedTypedDictEntries","entryNode","addUnknown","keyTypeResult","valueTypeResult","adjExpectedKeyType","unexpandedTypeResult","dictEntryTypeResult","dictEntryType","builtInListOrSet","specializedListOrSet","expectedEntryType","isExpectedTypeListOrSet","specializedEntryType","isNarrowable","evaluateListComprehensionForIf","iterableTypeResult","expectedValueOrElementType","forIfNode","allowTypeArgList","createSpecialType","paramLimit","isTupleTypeParam","sawUnpacked","noteSawUnpacked","reportedUnpackedError","tupleTypeArgTypes","transformTypeForPossibleEnumClass","getValueType","enumClassInfo","isMemberOfEnumeration","transformTypeForTypeAlias","variadics","typeAliasScopeId","boundTypeVars","specialClassType","baseClassName","evaluateTypesForAssignmentStatement","rightHandType","handleTypingStubAssignment","typeAliasNameNode","typeAliasTypeVar","isSpeculativeTypeAlias","srcTypeResult","typeAliasPlaceholder","evaluateTypesForAugmentedAssignment","destTypeResult","cachedClassType","classSymbol","genericTypeParameters","initSubclassArgs","metaclassNode","exprFlags","constArgValue","prevBaseClass","typeVars","genericTypeVars","missingFromGeneric","genericTypeVar","verifyGenericTypeParameters","innerScope","initMethod","initDeclNode","initParams","genericParams","metaclassType","reportedMetaclassConflict","baseClassMeta","newDecoratedType","applyClassDecorator","baseClassDataTransform","skipSynthesizedInit","hasExistingInitMethod","initSymbol","initSymbolType","skipSynthesizeHash","hashSymbol","hashSymbolType","skipSynthesizeInit","localDataClassEntries","fullDataClassEntries","allAncestorsKnown","allAncestorsAreKnown","existingIndex","updatedEntry","addInheritedDataClassEntries","localEntryTypeEvaluator","variableNameNode","variableTypeEvaluator","hasDefaultValue","isKeywordOnly","includeInInit","isDataclassFieldConstructor","initArg","callTarget","initCall","initParam","kwOnlyArg","defaultArg","aliasArg","variableSymbol","dataClassEntry","insertIndex","oldEntry","firstDefaultValueIndex","entryEvaluator","setMethodInfo","setMethodType","boundSetMethod","transformDescriptorType","synthesizeComparisonMethod","operatorMethod","synthesizeHashFunction","synthesizeHashNone","hashMethod","synthesizeDataClassMethods","isLimitedToSlots","extendedSlotsNames","initSubclassMethodInfo","initSubclassMethodType","newMethodMember","newMethodType","validateInitSubclassArgs","inputClassType","originalClassType","decoratorCallType","dataclassBehaviors","cachedFunctionType","classInfo","getFunctionFlagsFromDecorators","getFunctionFullName","functionSymbol","addGenericParamTypes","paramTypes","typeParamIndex","markParamAccessed","paramsArePositionOnly","isNoneWithoutOptional","adjustedIndex","adjustedAnnotatedType","adjustParameterAnnotatedType","addOptionalAction","offsetOfTypeNode","isPositionOnlyParam","isPositionOnlySeparator","inferParameterType","variadicParamType","paramType1","paramType2","awaitableFunctionType","createAsyncFunction","applyFunctionDecorator","overloadedTypes","prevDecl","prevDeclDeclTypeInfo","addOverloadsToFunctionType","defaultArgType","baseClassMemberInfo","memberDecls","baseClassMethodNode","overrideParam","baseClassParam","baseClassParamAnnotation","inferredParamType","paramValueExpr","isInClass","inputFunctionType","undecoratedType","fset","flagsToClone","fgetType","fsetType","fsetSymbol","setFunction","setParamType","setSymbol","clonePropertyWithSetter","fdel","fdelSymbol","delFunction","delSymbol","clonePropertyWithDeleter","requiredFlag","awaitableReturnType","asyncGeneratorType","coroutineType","inferFunctionReturnType","isAbstract","raiseStatement","raiseType","methodAlwaysRaisesNotImplemented","inferredReturnTypes","inferredYieldTypes","useAwaitableGenerator","yieldNode","inferredYieldType","generatorType","evaluateTypesForForStatement","iteratorTypeResult","iteratedType","evaluateTypesForExceptStatement","getExceptionType","targetType","subType","evaluateTypesForWithStatement","enterMethodName","scopedType","additionalHelp","enterType","memberReturnType","exitMethodName","evaluateTypesForImportAs","symbolNameNode","getAliasedSymbolTypeForName","cachedModuleType","evaluateTypesForImportFromAs","aliasNode","importLookupInfo","evaluateTypesForCaseNode","subjectTypeResult","subjectIsObject","evaluateTypesForImportFrom","getInferredTypeOfDeclaration","lastContextualExpression","isContextual","isNodeContextual","evaluateTypeAnnotationExpression","annotationParent","evaluateTypeOfParameter","nodeToEvaluate","adjType","listComprehension","subnodeType","oldIncompleteCache","nodeId","analyzer","createCodeFlowAnalyzer","startNode","codeFlowAnalyzer","getCodeFlowAnalyzerForReturnTypeInferenceContext","codeFlowResult","aliasedName","concatTypeArgs","typeArg1Type","createCallableType","typeArg0Type","createOptionalType","createClassVarType","createUnionType","createGenericType","createFinalType","createAnnotatedType","createConcatenateType","convertedTypeArgs","createTypeGuardType","createUnpackType","isUsageLegal","createRequiredType","enclosingClassTypeResult","firstParamTypeAnnotation","createSelfType","typeClass","variadicTypeParamIndex","fullTypeParams","paramSpecTypeArg","listTypeArg","adjustedTypeArgType","effectiveSrcType","sourceConstraint","destConstraint","bestConstraintSoFar","constraint","applyTypeArgToTypeVar","allowRequired","interpreterParsesStringLiteral","currentScope","builtInScope","honorCodeFlow","preferGlobalScope","usageScope","declNode","curSymbolWithScope","speculativeNode","getDeclarationFromFunctionNamedParameter","functionScope","paramSymbol","typeAliasNode","applyLoaderActionsToModuleType","importedModuleSymbol","isUnambiguousType","typeSource","inferredType","enumMemberType","nonSlotsDecls","assignedType","isUnambiguousInference","usageNode","useLastDecl","usageNodeId","isFinalVar","declIndexToConsider","includesSpeculativeResult","considerDecl","isDeclInEnumClass","synthesizedType","filteredTypedDecls","inferTypeIfNeeded","contextualReturnType","prevTypeCache","allArgTypesAreUnknown","getFunctionInferredReturnTypeUsingArguments","canAssignClassToProtocol","treatSourceAsInstantiable","destClassFields","genericDestType","genericDestTypeVarMap","selfTypeVarMap","srcClassTypeVarMap","canAssignFlags","srcMemberInfo","isMemberFromMetaclass","destMemberType","srcMemberType","boundSrcFunction","boundDeclaredType","isDestFinal","specializedDestProtocol","verifyTypeArgumentsAssignable","canAssignClassToProtocolInternal","canAssignModuleToProtocol","specializedSrcProtocol","canAssignClass","reportErrorsUsingObjType","promotionList","srcName","curSrcType","curTypeVarMap","ancestorIndex","ancestorType","canAssignTupleTypeArgs","canAssignClassWithTypeArgs","destErrorType","srcErrorType","destErrorTypeText","srcErrorTypeText","destVariadicIndex","destUnboundedIndex","srcUnboundedIndex","requiredSrcArgCount","srcArgsToCapture","removedArgs","variadicTuple","entryDiag","destTypeParams","srcArgIndex","srcTypeArg","destArgIndex","destTypeArg","destTypeParam","assignmentDiag","childDiag","isTypeVarInScope","isContravariant","functionSrcType","existingParam","newParam","canAssignTypeToParamSpec","curEntry","curNarrowTypeBound","curWideTypeBound","constrainedType","concreteSrcType","unconditionalConstraintIndex","srcSubtype","constrainedSubtype","constraintIndexUsed","adjustedConstraint","newNarrowTypeBound","newWideTypeBound","retainLiterals","adjSrcType","updatedType","originalFlags","destTypeVarName","applicableConditions","canAssignConditionalTypeToTypeVar","destSubtype","typeVarSubstitution","canAssignFromUnionType","clonedTypeVarMap","canAssignToUnionType","expandedSrcType","destCallbackType","getCallbackProtocolType","callbackType","srcFunction","typeVarMapClone","canAssign","checkReturnType","destParamDetails","srcParamDetails","srcDetails","destDetails","srcLastToPackIndex","suffixLength","srcPositionalsToPack","srcTupleTypes","srcPositionalsType","adjustSourceParamDetailsForDestVariadic","destTypeVarMap","srcTypeVarMap","targetIncludesParamSpec","destPositionalCount","srcPositionalCount","positionalsToMatch","destParam","srcParam","srcParamType","destParamType","destParamName","srcParamName","destName","canAssignFunctionParameter","nonDefaultSrcParamCount","destArgsType","srcArgsType","destParamMap","srcStartOfNamed","srcParamInfo","destParamInfo","paramDiag","specializedDestParamType","srcParamCount","destParamCount","effectiveSrcTypeVarMap","typeVarEntry","effectiveDestType","requiredMatchParamCount","matchedParamCount","remainingParams","destReturnType","srcReturnType","isReturnTypeCompatible","canAssignFunction","overloadDiag","destOverload","nonAnySubtypes","remainingDestSubtypes","remainingSrcSubtypes","isIncompatible","srcTypeIndex","destTypeIndex","skipSubtype","otherSubtype","otherIndex","bestTypeVarMap","bestTypeVarMapScore","typeVarMapScore","initInfo","convertInitToConstructor","initSubtype","constructorFunction","initOverloads","converted","newInfo","convertNewToConstructor","newSubtype","field","fieldIsPartOfFunction","specializedSrcType","specializedDestType","reverseMatchingFailed","replaceTypeArgsWithAny","replacedTypeArg","expectedTypeArgType","assignedSubtype","declaredSubtype","methodList","firstParamType","baseObj","partiallySpecializeFunctionForBoundClassOrObject","effectiveFirstParamType","newOverloadType","memberTypeFirstParam","memberTypeFirstParamType","nonLiteralFirstParamType","specializedFunction","runWithCancellationToken","isAsymmetricDescriptorAssignment","declsForThisImport","namePartIndex","paramDecl","isWithinTypeAnnotation","requireQuotedAnnotation","isQuoted","previousCategory","addFakeArg","addOneFunctionToSignature","addFunctionToSignature","isObjectInit","isSkipConstructor","baseMethod","overrideMethod","enforceParamNames","baseParamDetails","overrideParamDetails","canOverride","foundParamCountMismatch","baseCount","overrideCount","baseParam","overrideName","baseParamType","baseIsSynthesizedTypeVar","overrideIsSynthesizedTypeVar","baseReturnType","getTypeCacheSize","isReachableRecursionMap","callIsNoReturnCache","isExceptionContextManagerCache","codeFlowInvocations","flowIncompleteGeneration","visitedFlowNodeMap","isFlowNodeReachableRecursive","curFlowNode","contextMgrNode","isExceptionContextManager","labelNode","postFinallyFlowNode","wasGateClosed","callFlowNode","isCallNoReturn","isCompatibleWithConstrainedTypeVar","noReturnTypeCount","subtypeCount","getDeclaredCallBaseType","callSubtype","constructorMember","boundConstructorType","boundCallType","overloadedFunction","functionStatements","foundRaiseNotImplemented","isNotImplementedName","callIsNoReturn","cmType","cmSwallowsExceptions","firstOverload","exitType","getTypeFromWildcardImport","wildcardDecl","declaredTypeOfSymbol","flowNodeTypeCacheSet","subexpressionReferenceKeys","referenceKeyWithSymbolId","flowNodeTypeCache","setCacheEntry","prevIncompleteType","incompleteSubtypes","generationCount","setIncompleteSubtype","isPending","incompleteEntries","getCacheEntry","incrementFlowNodeVisitCount","recursiveVisitCount","incrementFlowNodeConvergenceCount","recursiveConvergenceCount","deleteCacheEntry","evaluateAssignmentFlowNode","nodeForCacheLookup","getTypeFromFlowNode","codeFlowInvocationsAtStart","assignmentFlowNode","flowTypeResult","branchFlowNode","sawIncomplete","loopNode","cacheEntry","isRecursive","visitCount","subtypeEntry","typeNarrowingCallback","flowType","refTypeInfo","exhaustedMatchFlowNode","patternFlowNode","preFinallyFlowNode","wildcardImportFlowNode","startingConstraints","narrowedConstrainedType","narrowConstrainedTypeVarRecursive","newConstraints","constraintsToAdd","conditionFlowNode","priorRemainingConstraints","getCodeFlowEngine","TrackedImport","isAccessed","TrackedImportAs","TrackedImportFrom","ImportSymbolWalker","_accessedImportedSymbols","_treatStringsAsSymbols","_getRecursiveModuleAccessExpression","TypeStubWriter","_stubPath","_sourceFile","_indentAmount","_includeAllImports","_typeStubText","_lineEnd","_tab","_classNestCount","_functionNestCount","_ifNestCount","_emittedSuite","_emitDocString","_trackedImportAs","_trackedImportFrom","_writeFile","_emitDecorators","argString","_printExpression","_emitLine","_emitSuite","_printParameter","isTypeAlias","callBaseType","_printModuleName","trackedImportAs","trackedImportFrom","_increaseIndent","prevEmittedSuite","_printHeaderDocString","treatStringsAsSymbols","_printTrackedImports","importStr","lineEmitted","sortedSymbols","symStr","finalText","Program","initialImportResolver","initialConfigOptions","_extension","_disableChecker","_sourceFileList","_sourceFileMap","_parsedFileCount","_lookUpImport","sourceFileInfo","_getSourceFileInfoFromPath","addTrackedFile","_bindFile","_createNewEvaluator","setConfigOptions","setImportResolver","setTrackedFiles","filePaths","newFileMap","oldFile","isTracked","addTrackedFiles","_removeUnneededFiles","setPreCheckCallback","preCheckCallback","_preCheckCallback","setAllowedThirdPartyImports","_allowedThirdPartyImports","_getImportNameForFile","isOpenByClient","diagnosticsVersion","importedBy","shadows","shadowedBy","_addToSourceFileListAndMap","setFileOpened","chainedFilePath","chainedSourceFile","setFileClosed","_markFileDirtyRecursive","markAllFilesDirty","evenIfContentsAreSame","markDirtyMap","markFilesDirty","getTracked","getOpened","sourceFileCount","_shouldCheckFile","checkOnlyOpenFiles","getSourceFile","getBoundSourceFile","_runEvaluatorWithCancellationToken","openFiles","effectiveMaxTime","openFilesTimeInMs","_checkTypes","noOpenFilesTimeInMs","_isUserCode","indexWorkspace","initiallyParsedSet","dropParseAndBindInfoCreatedForIndexing","_handleMemoryHighUsage","printDependencies","projectRootDir","sortedFiles","zeroImportFiles","sfInfo","relPath","importFile","writeTypeStub","targetImportPath","targetIsSingleFile","typeStubPath","typeStubDir","getTypeForSymbol","_addShadowedFile","stubFile","shadowImplPath","shadowFileInfo","printer","logCalls","run","minimumLoggingThreshold","typeEvaluator","createTypeEvaluatorWithTracker","_getPrintTypeFlags","_parseFile","fileToParse","_isFileNeeded","_updateSourceFileImports","fileToAnalyze","getScopeIfAvailable","builtinsImport","ipythonDisplayImport","_buildModuleSymbolsMap","sourceFileToExclude","userFileOnly","includeIndexUserSymbols","variableKind","buildModuleSymbolsMap","fileToCheck","closureMap","_getImportsRecursive","_detectAndReportImportCycles","importedFileInfo","dependencyChain","dependencyMap","_logImportCycle","circDep","firstFilePath","firstSourceFile","markMap","getTextOnRange","getAutoImports","writtenWord","symbolSubstrLength","smallestEditDistance","editDistance","computeCompletionSimilarity","fileDiagnostics","getDiagnosticsForRange","unfilteredDiagnostics","_createSourceMapper","reportReferencesForPosition","invokedFromUserFile","curSourceFileInfo","locations","declFileInfo","tempResult","loc","getFileIndex","addSymbolsForDocument","reportSymbolsForWorkspace","completionResult","completionResultsList","completionList","extensionInfo","completionListExtension","updateCompletionResults","renameModule","renameModuleProvider","createForModule","_processModuleReferences","moveSymbolAtPosition","newFilePath","createForSymbol","fileOperations","renameSymbolAtPosition","isDefaultWorkspace","getCallForPosition","getTargetDeclaration","getCallForDeclaration","getIncomingCallsForPosition","itemsToAdd","getIncomingCallsForDeclaration","getOutgoingCallsForPosition","getOutgoingCallsForDeclaration","getApiDocs","documentationFormat","internalDocStringConversion","markupKind","docStringConversion","moduleResult","recurseSymbolTables","parents","isDeclarationType","apiDocsParamsInfo","suffix","test_createSourceMapper","filteringText","currentFileInfo","parseResult","memoryUsage","heapUsed","rss","heapSizeInMb","heapUsageInMb","_discardCachedParseResults","_removeSourceFileFromListAndMap","importedFile","indexToRemove","fi","shadowedFile","_isImportNeededRecursive","recursionMap","importerInfo","mapCompiled","implFilePath","stubFileInfo","_isImportAllowed","importer","isImportStubFile","thirdPartyImportAllowed","filesAdded","getThirdPartyImportInfo","isPyTypedPresent","newImportPathMap","thirdPartyTypeInfo","updatedImportMap","oldFilePath","normalizedImportPath","resolvedBuiltinsPath","resolvedIPythonDisplayPath","port","getBackgroundWaiter","CancellationThrottle","curTimestamp","_lastCheckTimestamp","FileBasedToken","cancellationFilePath","isCancelled","_disposeEmitter","shouldCheck","_pipeExists","getCancellationTokenFromId","cancellationId","getCancellationTokenId","convertAnalysisResults","convertDiagnostics","CommandLineOptions","fromVsCodeExtension","fileSpecs","enableAmbientAnalysis","DeferredImpl","_scope","_resolved","_rejected","_promise","rej","_resolve","_reject","_reason","createDeferred","AnalyzerServiceExecutor","languageServiceRootPath","serverSettings","typeStubTargetImportName","trackFiles","commandLineOptions","workspaceRootPath","openFilesOnly","watchForSourceChanges","watchForLibraryChanges","watchForConfigChanges","logLevel","getEffectiveCommandLineOptions","serviceInstance","setOptions","backgroundAnalysis","tempWorkspace","workspaceName","rootUri","disableLanguageServices","disableOrganizeImports","isInitialized","getSettings","runWithOptions","CreateTypeStubCommand","_ls","cmdParams","callingFile","service","cloneService","getWorkspaceForFile","createBackgroundAnalysis","writeTypeStubInBackground","infoMessage","reanalyze","errMessage","QuickActionCommand","docUri","otherArgs","decodeTextDocumentUri","editAction","convertTextEdits","RestartServerCommand","restart","CommandController","_createStub","_restartServer","_quickAction","execute","isLongRunningCommand","NoAccessHost","logInfo","BackgroundAnalysisProgram","_backgroundAnalysis","_maxAnalysisTime","_program","_ensurePartialStubPackages","_reportDiagnosticsForRemovedFiles","initializeFileSystem","updateOpenFileContents","setCompletionCallback","_onAnalysisCompletion","startAnalysis","_indices","test_setIndexing","workspaceIndices","libraryIndices","indices","_getIndices","setWorkspaceIndex","execEnvRoot","libraryPath","setIndex","startIndexing","indexOptions","refreshIndexing","cancelIndexing","getIndexing","getIndex","invalidateAndForceReanalysis","rebuildUserFileIndexing","rebuildLibraryIndexing","indicesMap","fileDiags","visit","visitor","DEFAULT","_scanner","ignoreTrivia","lineNumber","lineStartOffset","tokenLineStartOffset","prevTokenLineStartOffset","scanError","scanHexDigits","exact","scanNext","ch3","scanString","safeLength","commentClosed","scanNumber","isUnknownContentCharacter","setPosition","newPosition","getPosition","scan","getToken","getTokenValue","getTokenOffset","getTokenLength","getTokenStartLine","getTokenStartCharacter","getTokenError","createScanner","toNoArgVisit","toOneArgVisit","onObjectBegin","onObjectProperty","onObjectEnd","onArrayBegin","onArrayEnd","onLiteralValue","onSeparator","onComment","disallowComments","allowTrailingComma","skipUntilAfter","skipUntil","parseString","isValue","allowEmptyContent","needsComma","parseArray","parseObject","tokenValue","parseLiteral","configFileNames","_gitDirectory","_includeFileRegex","AnalyzerService","instanceName","hostFactory","importResolverFactory","maxAnalysisTime","backgroundAnalysisProgramFactory","cancellationProvider","_typeStubTargetIsSingleFile","_requireTrackedFileUpdate","_lastUserInteractionTime","_disposed","_instanceName","_executionRootPath","_importResolverFactory","createImportResolver","_maxAnalysisTimeInForeground","_backgroundAnalysisProgramFactory","_cancellationProvider","_hostFactory","_backgroundAnalysisProgram","backgroundAnalysisProgram","_removeSourceFileWatchers","_removeConfigFileWatcher","_removeLibraryFileWatcher","_clearReloadConfigTimer","_clearReanalysisTimer","_clearLibraryReanalysisTimer","_onCompletionCallback","_commandLineOptions","_getConfigOptions","_applyConfigOptions","includeSpec","_matchIncludeFileSpec","_scheduleReanalysis","getParseResult","getDefinitionForPosition","getTypeDefinitionForPosition","getEvaluator","printStats","fileCount","getConfigOptions","getImportResolver","recordUserInteractionTime","_analyzeTimer","test_getConfigOptions","test_getFileNamesFromFileSpecs","_getFileNamesFromFileSpecs","configFilePath","pyprojectFilePath","_findConfigFile","_findConfigFileHereOrUp","_findPyprojectTomlFile","_findPyprojectTomlFileHereOrUp","_typeCheckingMode","defaultExcludes","configJsonObj","_configFilePath","_parseJsonConfigFile","_parsePyprojectTomlFile","configFileDir","autoExcludeVenv","reportDuplicateSetting","settingName","configValue","settingSource","fullVenvPath","typingsSubdirPath","_getTypeStubFolder","_typeStubTargetPath","updateTrackedFileList","_updateTrackedFileList","_typeStubTargetImportName","errMsg","typeStubInputTargetParts","typingsSubdirHierarchy","ancestor","configPath","_attemptParseFile","currentProperty","currentParent","previousParents","onValue","object","pyprojectPath","attemptCount","tool","pyright","parseCallback","parseAttemptCount","_reportConfigParseError","parseFailed","fileMap","matchedFiles","_matchFiles","markFilesDirtyUnconditionally","filesToImport","finalResolvedPath","isFinalPathFile","isFinalPathInitFile","rootPackagePath","fileList","envMarkers","loggedLongOperationError","visitDirectoryUnchecked","includeRegExp","_isInExcludePath","visitDirectory","seenDirs","realDirPath","foundFileSpec","_shouldIncludeFile","_sourceFileWatcher","_updateSourceFileWatchers","_watchForSourceChanges","spec","_verboseOutput","isIgnored","stats","fileNameSplit","isTemporaryFile","_libraryFileWatcher","_updateLibraryFileWatcher","_watchForLibraryChanges","watchList","_scheduleLibraryAnalysis","_libraryReanalysisTimer","_configFileWatcher","_updateConfigFileWatcher","_watchForConfigChanges","_scheduleReloadConfigFile","_reloadConfigTimer","_reloadConfigFile","requireTrackedFileUpdate","_backgroundAnalysisCancellationSource","timeSinceLastUserInteractionInMs","timeUntilNextAnalysisInMs","excludePaths","excl","CommandResult","ProgressReportTracker","_isDisplayingProgress","isEnabled","UriParser","decodeTextDocumentPosition","nullProgressReporter","SortedMap","comparer","iterable","_keys","_values","_copyOnWrite","_comparer","_order","getIterator","nextResult","closeIterator","_writePreamble","_writePostScript","_orderedRemoveItemAt","_getIterationOrder","order","Metadata","_parent","_parentVersion","_escapeKey","_undefinedValue","escapedKey","_unescapeKey","IO_ERROR_MESSAGE","EACCES","EIO","ENOENT","EEXIST","ELOOP","ENOTDIR","EISDIR","EBADF","EINVAL","ENOTEMPTY","EPERM","EROFS","createIOError","invalidRootComponentRegExp","getInvalidRootComponentRegExp","invalidNavigableComponentRegExp","invalidNavigableComponentWithWildcardsRegExp","invalidNonNavigableComponentRegExp","invalidNonNavigableComponentWithWildcardsRegExp","extRegExp","validate","trailing","hasTrailingSeparator","hasDirname","hasBasename","hasExtname","invalidComponentRegExp","validateComponents","MODULE_PATH","devCount","inoCount","TestFileSystem","_lazy","_tmpfileCounter","time","meta","stringComparer","_time","_applyFiles","links","mkdirpSync","_cwd","_shadowRoot","isFrozen","makeReadonly","snapshot","isReadonly","_dirStack","shadow","getTime","filemeta","_walk","_filemeta","parentMeta","shadowRoot","pushd","popd","scanSync","axis","traversal","_scan","_stat","lscanSync","postfix","noFollow","accept","traverse","childpath","mountSync","resolver","existingNode","_mknod","dev","S_IFDIR","_addLink","rimrafSync","lstatSync","rmdirSync","_mkdir","getFileListing","printLinks","marker","_getLinks","isSymlink","symlink","_getRootLinks","debugPrint","utimesSync","atime","mtime","atimeMs","mtimeMs","ctimeMs","realpath","Stats","ino","nlink","_getSize","birthtimeMs","makeDirEnt","_removeLink","linkSync","oldpath","newpath","renameSync","oldParent","oldParentLinks","oldBasename","newParent","newParentLinks","newBasename","_replaceLink","symlinkSync","linkpath","S_IFLNK","_getBuffer","S_IFREG","Int8Array","bufferFrom","differences","_rootDiff","_trackCreatedInodes","changed","changedLinks","baseLinks","_trackDeletedInodes","hasChanges","Rmdir","Unlink","changedNode","baseNode","_directoryDiff","_fileDiff","_symlinkDiff","_trackCreatedInode","_diffWorker","isEmptyNonShadowedDirectory","Directory","isEmptyNonShadowedFile","changedBuffer","baseBuffer","includeChangedFileWithSameContent","SameFileContentFile","Symlink","S_IFMT","oldLinks","oldName","newLinks","_copyShadowLinks","_getShadow","step","retry","lastStep","trapError","deferred","_applyFilesWorker","_applyFileExtendedOptions","Link","normalizeFileSetEntry","metaAndEncoding","rdev","blksize","blocks","uid","gid","ctime","birthtime","WorkspaceMap","_defaultWorkspacePath","getNonDefaultWorkspaces","workspaces","bestRootPath","bestInstance","defaultWorkspace","workspaceNames","createAnalyzerService","updateSettingsForWorkspace","maxAnalysisTimeInForeground","PyrightServer","_serverOptions","_lastTriggerKind","hasConfigurationCapability","hasVisualStudioExtensionsCapability","hasWorkspaceFoldersCapability","hasWatchFileCapability","hasActiveParameterCapability","hasSignatureLabelOffsetCapability","hasHierarchicalDocumentSymbolCapability","hasWindowProgressCapability","hasGoToDeclarationCapability","hasDocumentChangeCapability","hasDocumentAnnotationCapability","hoverContentFormat","completionDocFormat","completionSupportsSnippet","signatureDocFormat","supportsDeprecatedDiagnosticTag","supportsUnnecessaryDiagnosticTag","completionItemResolveSupportsAdditionalTextEdits","diagnosticTextSettings","__rootDirectory","rootDirectory","productName","_workspaceMap","workspaceMap","_fileWatcherProvider","fileWatcherProvider","_uriParser","setupConnection","supportedCommands","supportedCodeActions","_progressReporter","createProgressReporter","scopeUri","_defaultClientConfig","isOpenFilesOnly","diagnosticMode","getSeverityOverrides","enumValue","getDiagnosticRuleName","createBackgroundAnalysisProgram","setExtension","createHost","onAnalysisCompletedHandler","executeCodeAction","workDoneReporter","resultReporter","callHierarchy","initializationOptions","didChangeWatchedFiles","dynamicRegistration","supportsVisualStudioExtensions","signatureHelp","signatureInformation","activeParameterSupport","parameterInformation","labelOffsetSupport","documentSymbol","hierarchicalDocumentSymbolSupport","resourceOperations","changeAnnotationSupport","_getCompatibleMarkupKind","hover","contentFormat","completion","snippetSupport","supportedDiagnosticTags","publishDiagnostics","tagSupport","valueSet","tag","resolveSupport","properties","createWorkspaceServiceInstance","updateSettingsForAllWorkspaces","definitionProvider","declarationProvider","typeDefinitionProvider","referencesProvider","documentSymbolProvider","workspaceSymbolProvider","hoverProvider","documentHighlightProvider","renameProvider","completionProvider","triggerCharacters","resolveProvider","signatureHelpProvider","codeActionProvider","codeActionKinds","executeCommandProvider","commands","callHierarchyProvider","onDidChangeWorkspaceFolders","removed","added","newWorkspace","watchers","globPattern","settings","getDefinitions","PreferSource","getDefinitionsFunc","_pendingFindAllRefsCancellationSource","_getProgressReporter","convertToFlatSymbols","disableWorkspaceSymbol","hoverResults","markupString","convertHoverResults","signatureHelpResults","isActive","activeSignature","isRetrigger","triggerKind","prevActiveSignature","activeSignatureHelp","completionIncomplete","getWorkspaceCompletionsForPosition","getCompletionOptions","resolveWorkspaceCompletionItem","workspaceEdits","convertWorkspaceEdits","callItem","callItems","eventType","_pendingCommandCancellationSource","executeCommand","_convertDiagnostics","fileDiag","_sendDiagnostics","progressMessage","updateOptionsAndRestartService","convertLogLevel","logLevelValue","clientSupportedFormats","serverSupportedFormats","serverInitiatedReporter","diags","convertedDiags","convertCategoryToSeverity","vsDiag","ruleDocUrl","getDocumentationUrlForDiagnosticRule","relatedInfo","expandPathVariables","trimmedName","HOME","USERNAME","VIRTUAL_ENV","_controller","_initialFiles","pythonSection","pythonAnalysisSection","pyrightSection","BrowserBackgroundAnalysis","codeActions","typeStubDiag","addOptionalDiag","addMissingOptionalAction","getCodeActionsForPosition","setup","worker","_worker","onMessage","requestType","logData","enqueueRequest","_startOrResumeAnalysis","port1","port2","disposeCancellationToken","waiter","request","initialData","runner","createWorker","BrowserBackgroundAnalysisRunner","folderName","_realFs","createRealFileSystem","getConsole","initializationData","_analyzeOneChunk","jsonObject","createConfigOptionsFrom","_reportDiagnostics","_analysisPaused","processIndexing","analysisDone","reportIndex","BrowserWorkersHost","_parentPort","BrowserMessagePort","channel","MessageChannel","delegate","unwrap","transferList","unwrapForSend","MessagePort","app"],"mappings":"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C1C,OAAOjB,GAAakB,kBAGxB,MAAMC,EAAiBf,GAAkB/wB,GACzC,OAAK8xB,EAIEA,EAAexkB,GAHXqjB,GAAakB,kBAQ5B,MAUME,GAA6B,CAV6B,C,GAE5D,KACA,KACA,KACA,KACA,MACA,OC1IwC,CACxC,CAAC,GAAI,IACL,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,SA+C+B,CACxC,CAAC,GAAI,KACL,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,IAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,SA4C+B,CACxC,IACA,IACA,IACA,IACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,MAGwC,CACxC,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,OACA,OACA,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,OACA,OACA,OACA,OACA,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,SA0O+B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AAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,MACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,OAEJ,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,OAAQ,OACxB,MAAO,CAAC,OACR,MAAO,CAAC,OACR,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,OAAQ,MAAO,CAAC,MAAO,QACvC,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,OACR,MAAO,CAAC,MAAO,OACf,MAAO,CAAC,MAAO,OACf,MAAO,CAAC,MAAO,OACf,MAAO,CAAC,MAAO,OACf,MAAO,CAAC,OACR,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,OACR,MAAO,CAAC,QA+DkD,CAC1D,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,OAAQ,CAAC,MAAO,OAAQ,OACxC,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,QAkBkD,CAC1D,MAAO,CAAC,CAAC,MAAO,OAAQ,MAAO,MAAO,CAAC,MAAO,QAC9C,MAAO,CAAC,CAAC,MAAO,UDz7DdC,GAAwB,CAJ6B,CACvD,IAAQ,IAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MC+7DhD,CACxC,CAAC,IAAK,KACN,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,SA+H+B,CACxC,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAA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EAAY,CACd/lD,GAAegmD,oBACfhmD,GAAeimD,mBACfjmD,GAAekmD,0BACflmD,GAAemmD,0BAUnB,OAPIL,GAIAC,EAAUpnK,KAAKqhH,GAAeomD,0BAG3BL,EAKJ,SAASM,KACZ,MAAO,CACHrmD,GAAe+X,wBACf/X,GAAesmD,2BACftmD,GAAeumD,2BACfvmD,GAAewmD,qBACfxmD,GAAeymD,0BACfzmD,GAAe0mD,uBACf1mD,GAAe2mD,mBACf3mD,GAAe4mD,mBACf5mD,GAAe6mD,kBACf7mD,GAAe8mD,qBACf9mD,GAAe+mD,qBACf/mD,GAAegnD,sBACfhnD,GAAeinD,gCACfjnD,GAAeknD,wBACflnD,GAAemnD,2BACfnnD,GAAeonD,mBACfpnD,GAAeqnD,uBACfrnD,GAAesnD,6BACftnD,GAAeunD,sBACfvnD,GAAeka,iCACfla,GAAewnD,+BACfxnD,GAAeynD,4BACfznD,GAAe0nD,uBACf1nD,GAAe2nD,wBACf3nD,GAAe4nD,mBACf5nD,GAAe6nD,yBACf7nD,GAAe8nD,2BACf9nD,GAAe+nD,iCACf/nD,GAAegoD,mCACfhoD,GAAeioD,8BACfjoD,GAAekoD,0BACfloD,GAAemoD,uBACfnoD,GAAeooD,oCACfpoD,GAAeqoD,kCACfroD,GAAesoD,2BACftoD,GAAeuoD,0BACfvoD,GAAewoD,wBACfxoD,GAAeyoD,0BACfzoD,GAAe0oD,wBACf1oD,GAAe2oD,2BACf3oD,GAAe4oD,0BACf5oD,GAAe6oD,wBACf7oD,GAAe8oD,+BACf9oD,GAAe+oD,4BACf/oD,GAAegpD,sBACfhpD,GAAeipD,4BACfjpD,GAAekpD,uBACflpD,GAAempD,2BACfnpD,GAAeopD,kCACfppD,GAAeqpD,wBACfrpD,GAAespD,sBACftpD,GAAeupD,2BACfvpD,GAAewpD,qBACfxpD,GAAeypD,2BACfzpD,GAAe0pD,uBACf1pD,GAAe2pD,sBACf3pD,GAAe4pD,mCACf5pD,GAAe6pD,yBACf7pD,GAAe8pD,qCAgPhB,MAAMC,GACTx6J,YAAYy6J,EAAqBC,GAsBjC,KAAAC,QAAsB,GA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","file":"pyright-main-c53c357c089fab5f5c10.worker.js","sourceRoot":""} \ No newline at end of file diff --git a/public/workers/pyright-main-fead31ca35819bebaf64.worker.js b/public/workers/pyright-main-fead31ca35819bebaf64.worker.js new file mode 100644 index 000000000..b789b52ac --- /dev/null +++ b/public/workers/pyright-main-fead31ca35819bebaf64.worker.js @@ -0,0 +1,3 @@ +/*! For license information please see pyright-main-fead31ca35819bebaf64.worker.js.LICENSE.txt */ +(()=>{var __webpack_modules__={9742:(e,t)=>{"use strict";t.byteLength=function(e){var t=l(e),n=t[0],i=t[1];return 3*(n+i)/4-i},t.toByteArray=function(e){var t,n,s=l(e),o=s[0],a=s[1],c=new r(function(e,t,n){return 3*(t+n)/4-n}(0,o,a)),u=0,p=a>0?o-4:o;for(n=0;n>16&255,c[u++]=t>>8&255,c[u++]=255&t;return 2===a&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,c[u++]=255&t),1===a&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t),c},t.fromByteArray=function(e){for(var t,i=e.length,r=i%3,s=[],o=16383,a=0,l=i-r;al?l:a+o));return 1===r?(t=e[i-1],s.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[i-2]<<8)+e[i-1],s.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),s.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,a=s.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function c(e,t,i){for(var r,s,o=[],a=t;a>18&63]+n[s>>12&63]+n[s>>6&63]+n[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},8764:(e,t,n)=>{"use strict";const i=n(9742),r=n(645),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=l,t.SlowBuffer=function(e){return+e!=e&&(e=0),l.alloc(+e)},t.INSPECT_MAX_BYTES=50;const o=2147483647;function a(e){if(e>o)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return p(e)}return c(e,t,n)}function c(e,t,n){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!l.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const n=0|f(e,t);let i=a(n);const r=i.write(e,t);return r!==n&&(i=i.slice(0,r)),i}(e,t);if(ArrayBuffer.isView(e))return function(e){if(J(e,Uint8Array)){const t=new Uint8Array(e);return h(t.buffer,t.byteOffset,t.byteLength)}return d(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(J(e,ArrayBuffer)||e&&J(e.buffer,ArrayBuffer))return h(e,t,n);if("undefined"!=typeof SharedArrayBuffer&&(J(e,SharedArrayBuffer)||e&&J(e.buffer,SharedArrayBuffer)))return h(e,t,n);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return l.from(i,t,n);const r=function(e){if(l.isBuffer(e)){const t=0|m(e.length),n=a(t);return 0===n.length||e.copy(n,0,0,t),n}return void 0!==e.length?"number"!=typeof e.length||Y(e.length)?a(0):d(e):"Buffer"===e.type&&Array.isArray(e.data)?d(e.data):void 0}(e);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return l.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function p(e){return u(e),a(e<0?0:0|m(e))}function d(e){const t=e.length<0?0:0|m(e.length),n=a(t);for(let i=0;i=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|e}function f(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||J(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const n=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;let r=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return H(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return G(e).length;default:if(r)return i?-1:H(e).length;t=(""+t).toLowerCase(),r=!0}}function g(e,t,n){let i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return A(this,t,n);case"utf8":case"utf-8":return w(this,t,n);case"ascii":return k(this,t,n);case"latin1":case"binary":return D(this,t,n);case"base64":return C(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function y(e,t,n){const i=e[t];e[t]=e[n],e[n]=i}function _(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),Y(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=l.from(t,i)),l.isBuffer(t))return 0===t.length?-1:v(e,t,n,i,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):v(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function v(e,t,n,i,r){let s,o=1,a=e.length,l=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;o=2,a/=2,l/=2,n/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(r){let i=-1;for(s=n;sa&&(n=a-l),s=n;s>=0;s--){let n=!0;for(let i=0;ir&&(i=r):i=r;const s=t.length;let o;for(i>s/2&&(i=s/2),o=0;o>8,r=n%256,s.push(r),s.push(i);return s}(t,e.length-n),e,n,i)}function C(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}function w(e,t,n){n=Math.min(e.length,n);const i=[];let r=t;for(;r239?4:t>223?3:t>191?2:1;if(r+o<=n){let n,i,a,l;switch(o){case 1:t<128&&(s=t);break;case 2:n=e[r+1],128==(192&n)&&(l=(31&t)<<6|63&n,l>127&&(s=l));break;case 3:n=e[r+1],i=e[r+2],128==(192&n)&&128==(192&i)&&(l=(15&t)<<12|(63&n)<<6|63&i,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:n=e[r+1],i=e[r+2],a=e[r+3],128==(192&n)&&128==(192&i)&&128==(192&a)&&(l=(15&t)<<18|(63&n)<<12|(63&i)<<6|63&a,l>65535&&l<1114112&&(s=l))}}null===s?(s=65533,o=1):s>65535&&(s-=65536,i.push(s>>>10&1023|55296),s=56320|1023&s),i.push(s),r+=o}return function(e){const t=e.length;if(t<=E)return String.fromCharCode.apply(String,e);let n="",i=0;for(;ii.length?(l.isBuffer(t)||(t=l.from(t)),t.copy(i,r)):Uint8Array.prototype.set.call(i,t,r);else{if(!l.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(i,r)}r+=t.length}return i},l.byteLength=f,l.prototype._isBuffer=!0,l.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tn&&(e+=" ... "),""},s&&(l.prototype[s]=l.prototype.inspect),l.prototype.compare=function(e,t,n,i,r){if(J(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;let s=(r>>>=0)-(i>>>=0),o=(n>>>=0)-(t>>>=0);const a=Math.min(s,o),c=this.slice(i,r),u=e.slice(t,n);for(let e=0;e>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}const r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let s=!1;for(;;)switch(i){case"hex":return T(this,e,t,n);case"utf8":case"utf-8":return b(this,e,t,n);case"ascii":case"latin1":case"binary":return I(this,e,t,n);case"base64":return S(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const E=4096;function k(e,t,n){let i="";n=Math.min(e.length,n);for(let r=t;ri)&&(n=i);let r="";for(let i=t;in)throw new RangeError("Trying to access beyond buffer length")}function F(e,t,n,i,r,s){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function N(e,t,n,i,r){W(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,n}function M(e,t,n,i,r){W(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n+7]=s,s>>=8,e[n+6]=s,s>>=8,e[n+5]=s,s>>=8,e[n+4]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=o,o>>=8,e[n+2]=o,o>>=8,e[n+1]=o,o>>=8,e[n]=o,n+8}function O(e,t,n,i,r,s){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function L(e,t,n,i,s){return t=+t,n>>>=0,s||O(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function U(e,t,n,i,s){return t=+t,n>>>=0,s||O(e,0,n,8),r.write(e,t,n,i,52,8),n+8}l.prototype.slice=function(e,t){const n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e],r=1,s=0;for(;++s>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e+--t],r=1;for(;t>0&&(r*=256);)i+=this[e+--t]*r;return i},l.prototype.readUint8=l.prototype.readUInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),this[e]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readBigUInt64LE=Z((function(e){j(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,r=this[++e]+256*this[++e]+65536*this[++e]+n*2**24;return BigInt(i)+(BigInt(r)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=t*2**24+65536*this[++e]+256*this[++e]+this[++e],r=this[++e]*2**24+65536*this[++e]+256*this[++e]+n;return(BigInt(i)<>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e],r=1,s=0;for(;++s=r&&(i-=Math.pow(2,8*t)),i},l.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||R(e,t,this.length);let i=t,r=1,s=this[e+--i];for(;i>0&&(r*=256);)s+=this[e+--i]*r;return r*=128,s>=r&&(s-=Math.pow(2,8*t)),s},l.prototype.readInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readBigInt64LE=Z((function(e){j(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=this[e+4]+256*this[e+5]+65536*this[e+6]+(n<<24);return(BigInt(i)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(i)<>>=0,t||R(e,4,this.length),r.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||R(e,4,this.length),r.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||R(e,8,this.length),r.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||R(e,8,this.length),r.read(this,e,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(e,t,n,i){e=+e,t>>>=0,n>>>=0,i||F(this,e,t,n,Math.pow(2,8*n)-1,0);let r=1,s=0;for(this[t]=255&e;++s>>=0,n>>>=0,i||F(this,e,t,n,Math.pow(2,8*n)-1,0);let r=n-1,s=1;for(this[t+r]=255&e;--r>=0&&(s*=256);)this[t+r]=e/s&255;return t+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigUInt64LE=Z((function(e,t=0){return N(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeBigUInt64BE=Z((function(e,t=0){return M(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}let r=0,s=1,o=0;for(this[t]=255&e;++r>0)-o&255;return t+n},l.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}let r=n-1,s=1,o=0;for(this[t+r]=255&e;--r>=0&&(s*=256);)e<0&&0===o&&0!==this[t+r+1]&&(o=1),this[t+r]=(e/s>>0)-o&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigInt64LE=Z((function(e,t=0){return N(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeBigInt64BE=Z((function(e,t=0){return M(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeFloatLE=function(e,t,n){return L(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return L(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return U(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return U(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,i){if(!l.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(r=t;r=i+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function W(e,t,n,i,r,s){if(e>n||e3?0===t||t===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(s+1)}${i}`:`>= -(2${i} ** ${8*(s+1)-1}${i}) and < 2 ** ${8*(s+1)-1}${i}`:`>= ${t}${i} and <= ${n}${i}`,new V.ERR_OUT_OF_RANGE("value",r,e)}!function(e,t,n){j(t,"offset"),void 0!==e[t]&&void 0!==e[t+n]||z(t,e.length-(n+1))}(i,r,s)}function j(e,t){if("number"!=typeof e)throw new V.ERR_INVALID_ARG_TYPE(t,"number",e)}function z(e,t,n){if(Math.floor(e)!==e)throw j(e,n),new V.ERR_OUT_OF_RANGE(n||"offset","an integer",e);if(t<0)throw new V.ERR_BUFFER_OUT_OF_BOUNDS;throw new V.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${t}`,e)}q("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),q("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),q("ERR_OUT_OF_RANGE",(function(e,t,n){let i=`The value of "${e}" is out of range.`,r=n;return Number.isInteger(n)&&Math.abs(n)>2**32?r=B(String(n)):"bigint"==typeof n&&(r=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(r=B(r)),r+="n"),i+=` It must be ${t}. Received ${r}`,i}),RangeError);const $=/[^+/0-9A-Za-z-_]/g;function H(e,t){let n;t=t||1/0;const i=e.length;let r=null;const s=[];for(let o=0;o55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(t-=3)>-1&&s.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&s.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function G(e){return i.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace($,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function K(e,t,n,i){let r;for(r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function J(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function Y(e){return e!=e}const Q=function(){const e="0123456789abcdef",t=new Array(256);for(let n=0;n<16;++n){const i=16*n;for(let r=0;r<16;++r)t[i+r]=e[n]+e[r]}return t}();function Z(e){return"undefined"==typeof BigInt?X:e}function X(){throw new Error("BigInt not supported")}},645:(e,t)=>{t.read=function(e,t,n,i,r){var s,o,a=8*r-i-1,l=(1<>1,u=-7,p=n?r-1:0,d=n?-1:1,h=e[t+p];for(p+=d,s=h&(1<<-u)-1,h>>=-u,u+=a;u>0;s=256*s+e[t+p],p+=d,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=i;u>0;o=256*o+e[t+p],p+=d,u-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(h?-1:1);o+=Math.pow(2,i),s-=c}return(h?-1:1)*o*Math.pow(2,s-i)},t.write=function(e,t,n,i,r,s){var o,a,l,c=8*s-r-1,u=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,h=i?0:s-1,m=i?1:-1,f=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+p>=1?d/l:d*Math.pow(2,1-p))*l>=2&&(o++,l/=2),o+p>=u?(a=0,o=u):o+p>=1?(a=(t*l-1)*Math.pow(2,r),o+=p):(a=t*Math.pow(2,p-1)*Math.pow(2,r),o=0));r>=8;e[n+h]=255&a,h+=m,a/=256,r-=8);for(o=o<0;e[n+h]=255&o,h+=m,o/=256,c-=8);e[n+h-m]|=128*f}},6470:e=>{"use strict";function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,i="",r=0,s=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=i.lastIndexOf("/");if(l!==i.length-1){-1===l?(i="",r=0):r=(i=i.slice(0,l)).length-1-i.lastIndexOf("/"),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",r=0,s=a,o=0;continue}t&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+e.slice(s+1,a):i=e.slice(s+1,a),r=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",r=!1,s=arguments.length-1;s>=-1&&!r;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e="/"),o=e),t(o),0!==o.length&&(i=o+"/"+i,r=47===o.charCodeAt(0))}return i=n(i,!r),r?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var i=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!i)).length||i||(e="."),e.length>0&&r&&(e+="/"),i?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":i.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=i.resolve(e))===(n=i.resolve(n)))return"";for(var r=1;rc){if(47===n.charCodeAt(a+p))return n.slice(a+p+1);if(0===p)return n.slice(a+p)}else o>c&&(47===e.charCodeAt(r+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(r+p);if(d!==n.charCodeAt(a+p))break;47===d&&(u=p)}var h="";for(p=r+u+1;p<=s;++p)p!==s&&47!==e.charCodeAt(p)||(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(a+u):(a+=u,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),i=47===n,r=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){r=o;break}}else s=!1;return-1===r?i?"/":".":i&&1===r?"//":e.slice(0,r)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var i,r=0,s=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,l=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){r=i+1;break}}else-1===l&&(o=!1,l=i+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=i):(a=-1,s=l))}return r===s?s=l:-1===s&&(s=e.length),e.slice(r,s)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){r=i+1;break}}else-1===s&&(o=!1,s=i+1);return-1===s?"":e.slice(r,s)},extname:function(e){t(e);for(var n=-1,i=0,r=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===r&&(s=!1,r=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){i=a+1;break}}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+"/"+i:i}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var i,r=e.charCodeAt(0),s=47===r;s?(n.root="/",i=1):i=0;for(var o=-1,a=0,l=-1,c=!0,u=e.length-1,p=0;u>=i;--u)if(47!==(r=e.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===r?-1===o?o=u:1!==p&&(p=1):-1!==o&&(p=-1);else if(!c){a=u+1;break}return-1===o||-1===l||0===p||1===p&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i},6755:()=>{"use strict";Promise.prototype.ignoreErrors=function(){this.catch((()=>{}))}},1169:(e,t,n)=>{"use strict";e.exports=n(9054)},9054:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,n(5669).default.install();const s=n(3870);r(n(3870),t);class o extends s.AbstractMessageReader{constructor(e){super(),this._onData=new s.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",(e=>this.fireError(e))),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}}t.BrowserMessageReader=o;class a extends s.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",(e=>this.fireError(e)))}write(e){try{return this.context.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}t.BrowserMessageWriter=a,t.createMessageConnection=function(e,t,n,i){return void 0===n&&(n=s.NullLogger),s.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),s.createMessageConnection(e,t,n,i)}},5669:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(147),r=n(3911),s=n(7135),o=n(5530);class a extends o.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return(new TextEncoder).encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}}a.emptyBuffer=new Uint8Array(0);class l{constructor(e){this.socket=e,this._onData=new s.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then((e=>{this._onData.fire(new Uint8Array(e))}))},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}onData(e){return this._onData.event(e)}}class c{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const u=new TextEncoder,p=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{if("utf-8"!==t.charset)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t.charset}`);return Promise.resolve(u.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{if(!(e instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new l(e),asWritableStream:e=>new c(e)}),console,timer:Object.freeze({setTimeout:(e,t,...n)=>setTimeout(e,t,...n),clearTimeout(e){clearTimeout(e)},setImmediate:(e,...t)=>setTimeout(e,0,...t),clearImmediate(e){clearTimeout(e)}})});function d(){return p}!function(e){e.install=function(){i.default.install(p)}}(d||(d={})),t.default=d},3870:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.ProgressType=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.RAL=void 0,t.CancellationStrategy=void 0;const i=n(839);Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return i.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return i.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return i.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return i.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return i.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return i.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return i.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return i.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return i.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return i.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return i.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return i.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return i.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return i.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return i.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return i.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return i.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return i.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return i.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return i.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return i.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return i.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return i.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return i.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return i.ParameterStructures}});const r=n(3911);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const s=n(7135);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return s.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return s.Emitter}});const o=n(3881);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return o.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return o.CancellationToken}});const a=n(6525);Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return a.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return a.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return a.ReadableStreamMessageReader}});const l=n(6654);Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const c=n(1343);Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return c.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return c.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return c.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return c.createMessageConnection}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return c.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return c.Trace}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return c.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return c.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return c.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return c.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return c.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return c.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return c.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return c.CancellationStrategy}});const u=n(147);t.RAL=u.default},3881:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const i=n(147),r=n(7574),s=n(7135);var o;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),e.is=function(t){const n=t;return n&&(n===e.None||n===e.Cancelled||r.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(o=t.CancellationToken||(t.CancellationToken={}));const a=Object.freeze((function(e,t){const n=i.default().timer.setTimeout(e.bind(t),0);return{dispose(){i.default().timer.clearTimeout(n)}}}));class l{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new s.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}t.CancellationTokenSource=class{get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=o.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=o.None}}},1343:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.NullLogger=t.ProgressType=void 0;const i=n(147),r=n(7574),s=n(839),o=n(6184),a=n(7135),l=n(3881);var c,u,p,d,h,m,f,g,y,_,v,T,b;!function(e){e.type=new s.NotificationType("$/cancelRequest")}(c||(c={})),function(e){e.type=new s.NotificationType("$/progress")}(u||(u={})),t.ProgressType=class{constructor(){}},function(e){e.is=function(e){return r.func(e)}}(p||(p={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(d=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){if(!r.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(d=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(h=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new s.NotificationType("$/setTrace")}(m=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new s.NotificationType("$/logTrace")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(g=t.ConnectionErrors||(t.ConnectionErrors={}));class I extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,I.prototype)}}t.ConnectionError=I,function(e){e.is=function(e){const t=e;return t&&r.func(t.cancelUndispatched)}}(y=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new l.CancellationTokenSource}),e.is=function(e){const t=e;return t&&r.func(t.createCancellationTokenSource)}}(_=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation(e,t){e.sendNotification(c.type,{id:t})},cleanup(e){}}),e.is=function(e){const t=e;return t&&r.func(t.sendCancellation)&&r.func(t.cleanup)}}(v=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:_.Message,sender:v.Message}),e.is=function(e){const t=e;return t&&_.is(t.receiver)&&v.is(t.sender)}}(T=t.CancellationStrategy||(t.CancellationStrategy={})),(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(T.is(t.cancellationStrategy)||y.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(b||(b={})),t.createMessageConnection=function(e,n,y,_){const v=void 0!==y?y:t.NullLogger;let S=0,x=0,C=0;const w="2.0";let E;const k=Object.create(null);let D;const A=Object.create(null),P=new Map;let R,F,N=new o.LinkedMap,M=Object.create(null),O=Object.create(null),L=d.Off,U=h.Text,V=b.New;const q=new a.Emitter,B=new a.Emitter,W=new a.Emitter,j=new a.Emitter,z=new a.Emitter,$=_&&_.cancellationStrategy?_.cancellationStrategy:T.Message;function H(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function G(e){}function K(){return V===b.Listening}function J(){return V===b.Closed}function Y(){return V===b.Disposed}function Q(){V!==b.New&&V!==b.Listening||(V=b.Closed,B.fire(void 0))}function Z(){R||0===N.size||(R=i.default().timer.setImmediate((()=>{R=void 0,function(){if(0===N.size)return;const e=N.shift();try{s.isRequestMessage(e)?function(e){if(Y())return;function t(t,i,r){const o={jsonrpc:w,id:e.id};t instanceof s.ResponseError?o.error=t.toJson():o.result=void 0===t?null:t,ee(o,i,r),n.write(o)}function i(t,i,r){const s={jsonrpc:w,id:e.id,error:t.toJson()};ee(s,i,r),n.write(s)}!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Received request '${e.method} - (${e.id})'.`,t)}else te("receive-request",e)}(e);const o=k[e.method];let a,l;o&&(a=o.type,l=o.handler);const c=Date.now();if(l||E){const o=String(e.id),u=$.receiver.createCancellationTokenSource(o);O[o]=u;try{let p;if(l)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but recevied none.`),e.method,c);p=l(u.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byName)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,c);p=l(...e.params,u.token)}else{if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byPosition)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,c);p=l(e.params,u.token)}else E&&(p=E(e.method,e.params,u.token));const d=p;p?d.then?d.then((n=>{delete O[o],t(n,e.method,c)}),(t=>{delete O[o],t instanceof s.ResponseError?i(t,e.method,c):t&&r.string(t.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)})):(delete O[o],t(p,e.method,c)):(delete O[o],function(t,i,r){void 0===t&&(t=null);const s={jsonrpc:w,id:e.id,result:t};ee(s,i,r),n.write(s)}(p,e.method,c))}catch(n){delete O[o],n instanceof s.ResponseError?t(n,e.method,c):n&&r.string(n.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else i(new s.ResponseError(s.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):s.isNotificationMessage(e)?function(e){if(Y())return;let t,n;if(e.method===c.type.method)n=e=>{const t=e.id,n=O[String(t)];n&&n.cancel()};else{const i=A[e.method];i&&(n=i.handler,t=i.type)}if(n||D)try{!function(e){if(L!==d.Off&&F&&e.method!==f.type.method)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Received notification '${e.method}'.`,t)}else te("receive-notification",e)}(e),n?void 0===e.params?(void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but recevied none.`),n()):Array.isArray(e.params)?(void 0!==t&&(t.parameterStructures===s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${e.params.length} argumennts`)),n(...e.params)):(void 0!==t&&t.parameterStructures===s.ParameterStructures.byPosition&&v.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params)):D&&D(e.method,e.params)}catch(t){t.message?v.error(`Notification handler '${e.method}' failed with message: ${t.message}`):v.error(`Notification handler '${e.method}' failed unexpectedly.`)}else W.fire(e)}(e):s.isResponseMessage(e)?function(e){if(!Y())if(null===e.id)e.error?v.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):v.error("Received response message without id. No further error information provided.");else{const t=String(e.id),n=M[t];if(function(e,t){if(L!==d.Off&&F)if(U===h.Text){let n;if(L===d.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),t){const i=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";F.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${i}`,n)}else F.log(`Received response ${e.id} without active response promise.`,n)}else te("receive-response",e)}(e,n),n){delete M[t];try{if(e.error){const t=e.error;n.reject(new s.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");n.resolve(e.result)}}catch(e){e.message?v.error(`Response handler '${n.method}' failed with message: ${e.message}`):v.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void v.error("Received empty message.");v.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(r.string(t.id)||r.number(t.id)){const e=String(t.id),n=M[e];n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{Z()}}()})))}e.onClose(Q),e.onError((function(e){q.fire([e,void 0,void 0])})),n.onClose(Q),n.onError((function(e){q.fire(e)}));const X=e=>{try{if(s.isNotificationMessage(e)&&e.method===c.type.method){const t=H(e.params.id),i=N.get(t);if(s.isRequestMessage(i)){const r=null==_?void 0:_.connectionStrategy,s=r&&r.cancelUndispatched?r.cancelUndispatched(i,G):void 0;if(s&&(void 0!==s.error||void 0!==s.result))return N.delete(t),s.id=i.id,ee(s,e.method,Date.now()),void n.write(s)}}!function(e,t){var n;s.isRequestMessage(t)?e.set(H(t.id),t):s.isResponseMessage(t)?e.set(null===(n=t.id)?"res-unknown-"+(++C).toString():"res-"+n.toString(),t):e.set("not-"+(++x).toString(),t)}(N,e)}finally{Z()}};function ee(e,t,n){if(L!==d.Off&&F)if(U===h.Text){let i;L===d.Verbose&&(e.error&&e.error.data?i=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?i=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),F.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,i)}else te("send-response",e)}function te(e,t){if(!F||L===d.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};F.log(n)}function ne(){if(J())throw new I(g.Closed,"Connection is closed.");if(Y())throw new I(g.Disposed,"Connection is disposed.")}function ie(e){return void 0===e?null:e}function re(e){return null===e?void 0:e}function se(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function oe(e,t){switch(e){case s.ParameterStructures.auto:return se(t)?re(t):[ie(t)];case s.ParameterStructures.byName:if(!se(t))throw new Error("Recevied parameters by name but param is not an object literal.");return re(t);case s.ParameterStructures.byPosition:return[ie(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function ae(e,t){let n;const i=e.numberOfParams;switch(i){case 0:n=void 0;break;case 1:n=oe(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,o;if(ne(),r.string(e)){i=e;const n=t[0];let r=0,a=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(r=1,a=n);let l=t.length;const c=l-r;switch(c){case 0:o=void 0;break;case 1:o=oe(a,t[r]);break;default:if(a===s.ParameterStructures.byName)throw new Error(`Recevied ${c} parameters for 'by Name' notification parameter structure.`);o=t.slice(r,l).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n)}const a={jsonrpc:w,method:i,params:o};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Sending notification '${e.method}'.`,t)}else te("send-notification",e)}(a),n.write(a)},onNotification:(e,t)=>{let n;return ne(),r.func(e)?D=e:t&&(r.string(e)?(n=e,A[e]={type:void 0,handler:t}):(n=e.method,A[e.method]={type:e,handler:t})),{dispose:()=>{void 0!==n?delete A[n]:D=void 0}}},onProgress:(e,t,n)=>{if(P.has(t))throw new Error(`Progress handler for token ${t} already registered`);return P.set(t,n),{dispose:()=>{P.delete(t)}}},sendProgress:(e,t,n)=>{le.sendNotification(u.type,{token:t,value:n})},onUnhandledProgress:j.event,sendRequest:(e,...t)=>{let i,o,a;if(ne(),function(){if(!K())throw new Error("Call listen() first.")}(),r.string(e)){i=e;const n=t[0],r=t[t.length-1];let c=0,u=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(c=1,u=n);let p=t.length;l.CancellationToken.is(r)&&(p-=1,a=r);const d=p-c;switch(d){case 0:o=void 0;break;case 1:o=oe(u,t[c]);break;default:if(u===s.ParameterStructures.byName)throw new Error(`Recevied ${d} parameters for 'by Name' request parameter structure.`);o=t.slice(c,p).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n);const r=e.numberOfParams;a=l.CancellationToken.is(n[r])?n[r]:void 0}const c=S++;let u;return a&&(u=a.onCancellationRequested((()=>{$.sender.sendCancellation(le,c)}))),new Promise(((e,t)=>{const r={jsonrpc:w,id:c,method:i,params:o};let a={method:i,timerStart:Date.now(),resolve:t=>{e(t),$.sender.cleanup(c),null==u||u.dispose()},reject:e=>{t(e),$.sender.cleanup(c),null==u||u.dispose()}};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Sending request '${e.method} - (${e.id})'.`,t)}else te("send-request",e)}(r);try{n.write(r)}catch(e){a.reject(new s.ResponseError(s.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(M[String(c)]=a)}))},onRequest:(e,t)=>{ne();let n=null;return p.is(e)?(n=void 0,E=e):r.string(e)?(n=null,void 0!==t&&(n=e,k[e]={handler:t,type:void 0})):void 0!==t&&(n=e.method,k[e.method]={type:e,handler:t}),{dispose:()=>{null!==n&&(void 0!==n?delete k[n]:E=void 0)}}},trace:(e,t,n)=>{let i=!1,s=h.Text;void 0!==n&&(r.boolean(n)?i=n:(i=n.sendNotification||!1,s=n.traceFormat||h.Text)),L=e,U=s,F=L===d.Off?void 0:t,!i||J()||Y()||le.sendNotification(m.type,{value:d.toString(e)})},onError:q.event,onClose:B.event,onUnhandledNotification:W.event,onDispose:z.event,end:()=>{n.end()},dispose:()=>{if(Y())return;V=b.Disposed,z.fire(void 0);const t=new Error("Connection got disposed.");Object.keys(M).forEach((e=>{M[e].reject(t)})),M=Object.create(null),O=Object.create(null),N=new o.LinkedMap,r.func(n.dispose)&&n.dispose(),r.func(e.dispose)&&e.dispose()},listen:()=>{ne(),function(){if(K())throw new I(g.AlreadyListening,"Connection is already listening")}(),V=b.Listening,e.listen(X)},inspect:()=>{i.default().console.log("inspect")}};return le.onNotification(f.type,(e=>{L!==d.Off&&F&&F.log(e.message,L===d.Verbose?e.verbose:void 0)})),le.onNotification(u.type,(e=>{const t=P.get(e.token);t?t(e.value):j.fire(e)})),le}},3911:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},7135:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const i=n(147);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class r{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let i=0,r=this._callbacks.length;i{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=s._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=s,s._noop=function(){}},7574:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))}},6184:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class i{constructor(){this[Symbol.toStringTag]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let r=this._map.get(e);if(r)r.value=t,i!==n.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(r);break;case n.First:this.addItemFirst(r);break;case n.Last:default:this.addItemLast(r)}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}t.LinkedMap=i,t.LRUCache=class extends i{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},5530:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0,t.AbstractMessageBuffer=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(0===this._chunks.length)return;let e=0,t=0,n=0,i=0;e:for(;tthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],n=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,n}const t=this.allocNative(e);let n=0;for(;e>0;){const i=this._chunks[0];if(i.byteLength>e){const r=i.slice(0,e);t.set(r,n),n+=e,this._chunks[0]=i.slice(e),this._totalLength-=e,e-=e}else t.set(i,n),n+=i.byteLength,this._chunks.shift(),this._totalLength-=i.byteLength,e-=i.byteLength}return t}}},6525:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const i=n(147),r=n(7574),s=n(7135);var o;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&r.func(t.listen)&&r.func(t.dispose)&&r.func(t.onError)&&r.func(t.onClose)&&r.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter,this.partialMessageEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,function(e){e.fromOptions=function(e){var t;let n,r;const s=new Map;let o;const a=new Map;if(void 0===e||"string"==typeof e)n=null!=e?e:"utf-8";else{if(n=null!==(t=e.charset)&&void 0!==t?t:"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,s.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)s.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(o=e.contentTypeDecoder,a.set(o.name,o)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)a.set(t.name,t)}return void 0===o&&(o=i.default().applicationJson.decoder,a.set(o.name,o)),{charset:n,contentDecoder:r,contentDecoders:s,contentTypeDecoder:o,contentTypeDecoders:a}}}(o||(o={})),t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=o.fromOptions(t),this.buffer=i.default().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;const t=this.readable.onData((e=>{this.onData(e)}));return this.readable.onError((e=>this.fireError(e))),this.readable.onClose((()=>this.fireClose())),t}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){const e=this.buffer.tryReadHeaders();if(!e)return;const t=e.get("Content-Length");if(!t)throw new Error("Header must provide a Content-Length property.");const n=parseInt(t);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();let t;this.clearPartialMessageTimer(),this.nextMessageLength=-1,t=void 0!==this.options.contentDecoder?this.options.contentDecoder.decode(e):Promise.resolve(e),t.then((e=>{this.options.contentTypeDecoder.decode(e,this.options).then((e=>{this.callback(e)}),(e=>{this.fireError(e)}))}),(e=>{this.fireError(e)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(i.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=i.default().timer.setTimeout(((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}},6654:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const i=n(147),r=n(7574),s=n(142),o=n(7135);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&r.func(t.dispose)&&r.func(t.onClose)&&r.func(t.onError)&&r.func(t.write)};class l{constructor(){this.errorEmitter=new o.Emitter,this.closeEmitter=new o.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=l,function(e){e.fromOptions=function(e){var t,n;return void 0===e||"string"==typeof e?{charset:null!=e?e:"utf-8",contentTypeEncoder:i.default().applicationJson.encoder}:{charset:null!==(t=e.charset)&&void 0!==t?t:"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:null!==(n=e.contentTypeEncoder)&&void 0!==n?n:i.default().applicationJson.encoder}}}(a||(a={})),t.WriteableStreamMessageWriter=class extends l{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new s.Semaphore(1),this.writable.onError((e=>this.fireError(e))),this.writable.onClose((()=>this.fireClose()))}async write(e){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(e,this.options).then((e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e)).then((t=>{const n=[];return n.push("Content-Length: ",t.byteLength.toString(),"\r\n"),n.push("\r\n"),this.doWrite(e,n,t)}),(e=>{throw this.fireError(e),e}))))}async doWrite(e,t,n){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(n)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}},839:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseMessage=t.isNotificationMessage=t.isRequestMessage=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;const i=n(7574);var r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=e.jsonrpcReservedErrorRangeStart,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=e.jsonrpcReservedErrorRangeEnd}(r=t.ErrorCodes||(t.ErrorCodes={}));class s extends Error{constructor(e,t,n){super(t),this.code=i.number(e)?e:r.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,s.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=s;class o{constructor(e){this.kind=e}static is(e){return e===o.auto||e===o.byName||e===o.byPosition}toString(){return this.kind}}t.ParameterStructures=o,o.auto=new o("auto"),o.byPosition=new o("byPosition"),o.byName=new o("byName");class a{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return o.auto}}t.AbstractMessageSignature=a,t.RequestType0=class extends a{constructor(e){super(e,0)}},t.RequestType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends a{constructor(e){super(e,2)}},t.RequestType3=class extends a{constructor(e){super(e,3)}},t.RequestType4=class extends a{constructor(e){super(e,4)}},t.RequestType5=class extends a{constructor(e){super(e,5)}},t.RequestType6=class extends a{constructor(e){super(e,6)}},t.RequestType7=class extends a{constructor(e){super(e,7)}},t.RequestType8=class extends a{constructor(e){super(e,8)}},t.RequestType9=class extends a{constructor(e){super(e,9)}},t.NotificationType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends a{constructor(e){super(e,0)}},t.NotificationType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends a{constructor(e){super(e,2)}},t.NotificationType3=class extends a{constructor(e){super(e,3)}},t.NotificationType4=class extends a{constructor(e){super(e,4)}},t.NotificationType5=class extends a{constructor(e){super(e,5)}},t.NotificationType6=class extends a{constructor(e){super(e,6)}},t.NotificationType7=class extends a{constructor(e){super(e,7)}},t.NotificationType8=class extends a{constructor(e){super(e,8)}},t.NotificationType9=class extends a{constructor(e){super(e,9)}},t.isRequestMessage=function(e){const t=e;return t&&i.string(t.method)&&(i.string(t.id)||i.number(t.id))},t.isNotificationMessage=function(e){const t=e;return t&&i.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(i.string(t.id)||i.number(t.id)||null===t.id)}},147:(e,t)=>{"use strict";let n;function i(){if(void 0===n)throw new Error("No runtime abstraction layer installed");return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(i||(i={})),t.default=i},142:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const i=n(147);t.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&i.default().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}},5224:(e,t,n)=>{"use strict";e.exports=n(152)},152:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const s=n(1169);r(n(1169),t),r(n(1661),t),t.createProtocolConnection=function(e,t,n,i){return s.createMessageConnection(e,t,n,i)}},1661:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(n(9054),t),r(n(1674),t),r(n(6140),t),r(n(542),t);var s,o=n(3767);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return o.createProtocolConnection}}),(s=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800},3767:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const i=n(9054);t.createProtocolConnection=function(e,t,n,r){return i.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),i.createMessageConnection(e,t,n,r)}},6140:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=void 0;const i=n(9054);t.RegistrationType=class{constructor(e){this.method=e}};class r extends i.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=r;class s extends i.RequestType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolRequestType=s;class o extends i.NotificationType0{constructor(e){super(e)}}t.ProtocolNotificationType0=o;class a extends i.NotificationType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolNotificationType=a},2918:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const i=n(6140);var r,s,o;(o=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",o.type=new i.ProtocolRequestType(o.method),(s=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",s.type=new i.ProtocolRequestType(s.method),(r=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",r.type=new i.ProtocolRequestType(r.method)},9891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const i=n(6140);var r;(r=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",r.type=new i.ProtocolRequestType(r.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new i.ProtocolRequestType("textDocument/colorPresentation")},5934:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const i=n(6140);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new i.ProtocolRequestType("workspace/configuration")},764:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const i=n(6140);var r;(r=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",r.type=new i.ProtocolRequestType(r.method)},7846:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;const i=n(6140);var r,s,o,a,l,c,u;(u=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",u.folder="folder",(c=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",c.type=new i.ProtocolRequestType(c.method),(l=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",l.type=new i.ProtocolNotificationType(l.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new i.ProtocolRequestType(a.method),(o=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",o.type=new i.ProtocolNotificationType(o.method),(s=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",s.type=new i.ProtocolNotificationType(s.method),(r=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",r.type=new i.ProtocolRequestType(r.method)},3394:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=t.FoldingRangeKind=void 0;const i=n(6140);var r,s;(s=t.FoldingRangeKind||(t.FoldingRangeKind={})).Comment="comment",s.Imports="imports",s.Region="region",(r=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",r.type=new i.ProtocolRequestType(r.method)},2122:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const i=n(6140);var r;(r=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",r.type=new i.ProtocolRequestType(r.method)},542:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeError=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.DocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=void 0;const i=n(9533),r=n(6140),s=n(2122);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return s.ImplementationRequest}});const o=n(1589);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return o.TypeDefinitionRequest}});const a=n(9795);Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const l=n(5934);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return l.ConfigurationRequest}});const c=n(9891);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=n(3394);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}});const p=n(764);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return p.DeclarationRequest}});const d=n(5206);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const h=n(1862);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return h.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return h.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return h.WorkDoneProgressCancelNotification}});const m=n(2918);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return m.CallHierarchyPrepareRequest}});const f=n(9434);Object.defineProperty(t,"SemanticTokenTypes",{enumerable:!0,get:function(){return f.SemanticTokenTypes}}),Object.defineProperty(t,"SemanticTokenModifiers",{enumerable:!0,get:function(){return f.SemanticTokenModifiers}}),Object.defineProperty(t,"SemanticTokens",{enumerable:!0,get:function(){return f.SemanticTokens}}),Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return f.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return f.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return f.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return f.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return f.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return f.SemanticTokensRegistrationType}});const g=n(5726);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return g.ShowDocumentRequest}});const y=n(6305);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return y.LinkedEditingRangeRequest}});const _=n(7846);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return _.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return _.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return _.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return _.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return _.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return _.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return _.WillDeleteFilesRequest}});const v=n(3443);var T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return v.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return v.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return v.MonikerRequest}}),function(e){e.is=function(e){const t=e;return i.string(t.language)||i.string(t.scheme)||i.string(t.pattern)}}(T=t.DocumentFilter||(t.DocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!i.string(t)&&!T.is(t))return!1;return!0}}(b=t.DocumentSelector||(t.DocumentSelector={})),(t.RegistrationRequest||(t.RegistrationRequest={})).type=new r.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new r.ProtocolRequestType("client/unregisterCapability"),(se=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",se.Rename="rename",se.Delete="delete",(re=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",re.Transactional="transactional",re.TextOnlyTransactional="textOnlyTransactional",re.Undo="undo",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&i.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||b.is(t.documentSelector))},(ie=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return i.objectLiteral(t)&&(void 0===t.workDoneProgress||i.boolean(t.workDoneProgress))},ie.hasWorkDoneProgress=function(e){const t=e;return t&&i.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new r.ProtocolRequestType("initialize"),(t.InitializeError||(t.InitializeError={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new r.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new r.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new r.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeConfiguration"),(ne=t.MessageType||(t.MessageType={})).Error=1,ne.Warning=2,ne.Info=3,ne.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new r.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new r.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new r.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new r.ProtocolNotificationType("telemetry/event"),(te=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,te.Full=1,te.Incremental=2,(ee=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",ee.type=new r.ProtocolNotificationType(ee.method),(X=t.TextDocumentContentChangeEvent||(t.TextDocumentContentChangeEvent={})).isIncremental=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},X.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(Z=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",Z.type=new r.ProtocolNotificationType(Z.method),(Q=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",Q.type=new r.ProtocolNotificationType(Q.method),(Y=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",Y.type=new r.ProtocolNotificationType(Y.method),(J=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,J.AfterDelay=2,J.FocusOut=3,(K=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",K.type=new r.ProtocolNotificationType(K.method),(G=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",G.type=new r.ProtocolRequestType(G.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(H=t.FileChangeType||(t.FileChangeType={})).Created=1,H.Changed=2,H.Deleted=3,($=t.WatchKind||(t.WatchKind={})).Create=1,$.Change=2,$.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new r.ProtocolNotificationType("textDocument/publishDiagnostics"),(z=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,z.TriggerCharacter=2,z.TriggerForIncompleteCompletions=3,(j=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",j.type=new r.ProtocolRequestType(j.method),(W=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",W.type=new r.ProtocolRequestType(W.method),(B=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",B.type=new r.ProtocolRequestType(B.method),(q=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,q.TriggerCharacter=2,q.ContentChange=3,(V=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",V.type=new r.ProtocolRequestType(V.method),(U=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",U.type=new r.ProtocolRequestType(U.method),(L=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",L.type=new r.ProtocolRequestType(L.method),(O=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",O.type=new r.ProtocolRequestType(O.method),(M=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",M.type=new r.ProtocolRequestType(M.method),(N=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",N.type=new r.ProtocolRequestType(N.method),(F=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",F.type=new r.ProtocolRequestType(F.method),(R=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",R.type=new r.ProtocolRequestType(R.method),(P=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",P.type=new r.ProtocolRequestType(P.method),(A=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",A.type=new r.ProtocolRequestType(A.method),(D=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",D.type=new r.ProtocolRequestType0(D.method),(k=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",k.type=new r.ProtocolRequestType(k.method),(E=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",E.type=new r.ProtocolRequestType(E.method),(w=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",w.type=new r.ProtocolRequestType(w.method),(C=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",C.type=new r.ProtocolRequestType(C.method),(x=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",x.type=new r.ProtocolRequestType(x.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(S=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",S.type=new r.ProtocolRequestType(S.method),(I=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",I.type=new r.ProtocolRequestType(I.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new r.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new r.ProtocolRequestType("workspace/applyEdit")},6305:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const i=n(6140);var r;(r=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",r.type=new i.ProtocolRequestType(r.method)},3443:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const i=n(6140);var r,s,o;(o=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",o.project="project",o.group="group",o.scheme="scheme",o.global="global",(s=t.MonikerKind||(t.MonikerKind={})).import="import",s.export="export",s.local="local",(r=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",r.type=new i.ProtocolRequestType(r.method)},1862:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const i=n(9054),r=n(6140);var s;(s=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new i.ProgressType,s.is=function(e){return e===s.type},(t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).type=new r.ProtocolRequestType("window/workDoneProgress/create"),(t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).type=new r.ProtocolNotificationType("window/workDoneProgress/cancel")},5206:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const i=n(6140);var r;(r=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",r.type=new i.ProtocolRequestType(r.method)},9434:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=void 0;const i=n(6140);var r,s,o,a,l,c,u;(u=t.SemanticTokenTypes||(t.SemanticTokenTypes={})).namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",(c=t.SemanticTokenModifiers||(t.SemanticTokenModifiers={})).declaration="declaration",c.definition="definition",c.readonly="readonly",c.static="static",c.deprecated="deprecated",c.abstract="abstract",c.async="async",c.modification="modification",c.documentation="documentation",c.defaultLibrary="defaultLibrary",(t.SemanticTokens||(t.SemanticTokens={})).is=function(e){const t=e;return void 0!==t&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(l=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",l.type=new i.RegistrationType(l.method),(a=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",a.type=new i.ProtocolRequestType(a.method),(o=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",o.type=new i.ProtocolRequestType(o.method),(s=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",s.type=new i.ProtocolRequestType(s.method),(r=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",r.type=new i.ProtocolRequestType0(r.method)},5726:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const i=n(6140);var r;(r=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",r.type=new i.ProtocolRequestType(r.method)},1589:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const i=n(6140);var r;(r=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",r.type=new i.ProtocolRequestType(r.method)},9795:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const i=n(6140);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new i.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},9533:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.objectLiteral=function(e){return null!==e&&"object"==typeof e}},1674:(e,t,n)=>{"use strict";var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k;n.r(t),n.d(t,{integer:()=>i,uinteger:()=>r,Position:()=>s,Range:()=>o,Location:()=>a,LocationLink:()=>l,Color:()=>c,ColorInformation:()=>u,ColorPresentation:()=>p,FoldingRangeKind:()=>d,FoldingRange:()=>h,DiagnosticRelatedInformation:()=>m,DiagnosticSeverity:()=>f,DiagnosticTag:()=>g,CodeDescription:()=>y,Diagnostic:()=>_,Command:()=>v,TextEdit:()=>T,ChangeAnnotation:()=>b,ChangeAnnotationIdentifier:()=>I,AnnotatedTextEdit:()=>S,TextDocumentEdit:()=>x,CreateFile:()=>C,RenameFile:()=>w,DeleteFile:()=>E,WorkspaceEdit:()=>k,WorkspaceChange:()=>ae,TextDocumentIdentifier:()=>D,VersionedTextDocumentIdentifier:()=>A,OptionalVersionedTextDocumentIdentifier:()=>P,TextDocumentItem:()=>R,MarkupKind:()=>F,MarkupContent:()=>N,CompletionItemKind:()=>M,InsertTextFormat:()=>O,CompletionItemTag:()=>L,InsertReplaceEdit:()=>U,InsertTextMode:()=>V,CompletionItem:()=>q,CompletionList:()=>B,MarkedString:()=>W,Hover:()=>j,ParameterInformation:()=>z,SignatureInformation:()=>$,DocumentHighlightKind:()=>H,DocumentHighlight:()=>G,SymbolKind:()=>K,SymbolTag:()=>J,SymbolInformation:()=>Y,DocumentSymbol:()=>Q,CodeActionKind:()=>Z,CodeActionContext:()=>X,CodeAction:()=>ee,CodeLens:()=>te,FormattingOptions:()=>ne,DocumentLink:()=>ie,SelectionRange:()=>re,EOL:()=>ce,TextDocument:()=>le}),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647}(i||(i={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647}(r||(r={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=r.MAX_VALUE),t===Number.MAX_VALUE&&(t=r.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.uinteger(t.line)&&ue.uinteger(t.character)}}(s||(s={})),function(e){e.create=function(e,t,n,i){if(ue.uinteger(e)&&ue.uinteger(t)&&ue.uinteger(n)&&ue.uinteger(i))return{start:s.create(e,t),end:s.create(n,i)};if(s.is(e)&&s.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+i+"]")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&s.is(t.start)&&s.is(t.end)}}(o||(o={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(a||(a={})),function(e){e.create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.targetRange)&&ue.string(t.targetUri)&&(o.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(o.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(l||(l={})),function(e){e.create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},e.is=function(e){var t=e;return ue.numberRange(t.red,0,1)&&ue.numberRange(t.green,0,1)&&ue.numberRange(t.blue,0,1)&&ue.numberRange(t.alpha,0,1)}}(c||(c={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return o.is(t.range)&&c.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||T.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,T.is))}}(p||(p={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(d||(d={})),function(e){e.create=function(e,t,n,i,r){var s={startLine:e,endLine:t};return ue.defined(n)&&(s.startCharacter=n),ue.defined(i)&&(s.endCharacter=i),ue.defined(r)&&(s.kind=r),s},e.is=function(e){var t=e;return ue.uinteger(t.startLine)&&ue.uinteger(t.startLine)&&(ue.undefined(t.startCharacter)||ue.uinteger(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.uinteger(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&a.is(t.location)&&ue.string(t.message)}}(m||(m={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(f||(f={})),function(e){e.Unnecessary=1,e.Deprecated=2}(g||(g={})),function(e){e.is=function(e){var t=e;return null!=t&&ue.string(t.href)}}(y||(y={})),function(e){e.create=function(e,t,n,i,r,s){var o={range:e,message:t};return ue.defined(n)&&(o.severity=n),ue.defined(i)&&(o.code=i),ue.defined(r)&&(o.source=r),ue.defined(s)&&(o.relatedInformation=s),o},e.is=function(e){var t,n=e;return ue.defined(n)&&o.is(n.range)&&ue.string(n.message)&&(ue.number(n.severity)||ue.undefined(n.severity))&&(ue.integer(n.code)||ue.string(n.code)||ue.undefined(n.code))&&(ue.undefined(n.codeDescription)||ue.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(ue.string(n.source)||ue.undefined(n.source))&&(ue.undefined(n.relatedInformation)||ue.typedArray(n.relatedInformation,m.is))}}(_||(_={})),function(e){e.create=function(e,t){for(var n=[],i=2;i0&&(r.arguments=n),r},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(v||(v={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&o.is(t.range)}}(T||(T={})),function(e){e.create=function(e,t,n){var i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},e.is=function(e){var t=e;return void 0!==t&&ue.objectLiteral(t)&&ue.string(t.label)&&(ue.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(ue.string(t.description)||void 0===t.description)}}(b||(b={})),function(e){e.is=function(e){return"string"==typeof e}}(I||(I={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return T.is(t)&&(b.is(t.annotationId)||I.is(t.annotationId))}}(S||(S={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&P.is(t.textDocument)&&Array.isArray(t.edits)}}(x||(x={})),function(e){e.create=function(e,t,n){var i={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"create"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(C||(C={})),function(e){e.create=function(e,t,n,i){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),void 0!==i&&(r.annotationId=i),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(w||(w={})),function(e){e.create=function(e,t,n){var i={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"delete"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(E||(E={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return ue.string(e.kind)?C.is(e)||w.is(e)||E.is(e):x.is(e)})))}}(k||(k={}));var D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var i,r;if(void 0===n?i=T.insert(e,t):I.is(n)?(r=n,i=S.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.insert(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.replace=function(e,t,n){var i,r;if(void 0===n?i=T.replace(e,t):I.is(n)?(r=n,i=S.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.replace(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.delete=function(e,t){var n,i;if(void 0===t?n=T.del(e):I.is(t)?(i=t,n=S.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(t),n=S.del(e,i)),this.edits.push(n),void 0!==i)return i},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),oe=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(I.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),ae=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new oe(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(x.is(e)){var n=new se(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var i=new se(e.changes[n]);t._textEditChanges[n]=i}))):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(P.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(i=this._textEditChanges[t.uri])){var n={textDocument:t,edits:r=[]};this._workspaceEdit.documentChanges.push(n),i=new se(r,this._changeAnnotations),this._textEditChanges[t.uri]=i}return i}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var i;if(!(i=this._textEditChanges[e])){var r=[];this._workspaceEdit.changes[e]=r,i=new se(r),this._textEditChanges[e]=i}return i},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new oe,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=C.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=C.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e.prototype.renameFile=function(e,t,n,i){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,s,o;if(b.is(n)||I.is(n)?r=n:i=n,void 0===r?s=w.create(e,t,i):(o=I.is(r)?r:this._changeAnnotations.manage(r),s=w.create(e,t,i,o)),this._workspaceEdit.documentChanges.push(s),void 0!==o)return o},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=E.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=E.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(D||(D={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.integer(t.version)}}(A||(A={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.integer(t.version))}}(P||(P={})),function(e){e.create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.integer(t.version)&&ue.string(t.text)}}(R||(R={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(F||(F={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(F||(F={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&F.is(t.kind)&&ue.string(t.value)}}(N||(N={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(M||(M={})),function(e){e.PlainText=1,e.Snippet=2}(O||(O={})),function(e){e.Deprecated=1}(L||(L={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&ue.string(t.newText)&&o.is(t.insert)&&o.is(t.replace)}}(U||(U={})),function(e){e.asIs=1,e.adjustIndentation=2}(V||(V={})),function(e){e.create=function(e){return{label:e}}}(q||(q={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(B||(B={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(W||(W={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(N.is(t.contents)||W.is(t.contents)||ue.typedArray(t.contents,W.is))&&(void 0===e.range||o.is(e.range))}}(j||(j={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(z||(z={})),function(e){e.create=function(e,t){for(var n=[],i=2;i=0;o--){var a=r[o],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=s))throw new Error("Overlapping edit");i=i.substring(0,l)+a.newText+i.substring(c,i.length),s=l}return i}}(le||(le={}));var ue,pe=function(){function e(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,i=0;i0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return s.create(0,e);for(;ne?i=r:n=r+1}var o=n-1;return s.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],i=e.line+1{"use strict";e.exports=n(7630)},7630:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=void 0;const s=n(6265);r(n(5224),t),r(n(6265),t);let o=!1;const a={initialize:e=>{},get shutdownReceived(){return o},set shutdownReceived(e){o=e},exit:e=>{}};t.createConnection=function(e,t,n,i){let r,o,l,c;return void 0!==e&&"features"===e.__brand&&(r=e,e=t,t=n,n=i),s.ConnectionStrategy.is(e)||s.ConnectionOptions.is(e)?c=e:(o=e,l=t,c=n),s.createConnection((e=>s.createProtocolConnection(o,l,e,c)),a,r)}},6265:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.ProposedFeatures=t.SemanticTokensBuilder=void 0;const s=n(9817);Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return s.SemanticTokensBuilder}}),r(n(152),t),r(n(5878),t),(t.ProposedFeatures||(t.ProposedFeatures={})).all={__brand:"features"}},7985:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const i=n(152);t.CallHierarchyFeature=e=>class extends e{get callHierarchy(){return{onPrepare:e=>{this.connection.onRequest(i.CallHierarchyPrepareRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))},onIncomingCalls:e=>{const t=i.CallHierarchyIncomingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=i.CallHierarchyOutgoingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2507:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationFeature=void 0;const i=n(152),r=n(289);t.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?r.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let t={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(i.ConfigurationRequest.type,t).then((t=>Array.isArray(e)?t:t[0]))}}},828:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileOperationsFeature=void 0;const i=n(152);t.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){this.connection.onNotification(i.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){this.connection.onNotification(i.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){this.connection.onNotification(i.DidDeleteFilesNotification.type,(t=>{e(t)}))}onWillCreateFiles(e){return this.connection.onRequest(i.WillCreateFilesRequest.type,((t,n)=>e(t,n)))}onWillRenameFiles(e){return this.connection.onRequest(i.WillRenameFilesRequest.type,((t,n)=>e(t,n)))}onWillDeleteFiles(e){return this.connection.onRequest(i.WillDeleteFilesRequest.type,((t,n)=>e(t,n)))}}},2776:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeFeature=void 0;const i=n(152);t.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){this.connection.onRequest(i.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}}},8120:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerFeature=void 0;const i=n(152);t.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=i.MonikerRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2731:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attachPartialResult=t.ProgressFeature=t.attachWorkDone=void 0;const i=n(152),r=n(7560);class s{constructor(e,t){this._connection=e,this._token=t,s.Instances.set(this._token,this)}begin(e,t,n,r){let s={kind:"begin",title:e,percentage:t,message:n,cancellable:r};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,s)}report(e,t){let n={kind:"report"};"number"==typeof e?(n.percentage=e,void 0!==t&&(n.message=t)):n.message=e,this._connection.sendProgress(i.WorkDoneProgress.type,this._token,n)}done(){s.Instances.delete(this._token),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}}s.Instances=new Map;class o extends s{constructor(e,t){super(e,t),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}}class a{constructor(){}begin(){}report(){}done(){}}class l extends a{constructor(){super(),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}var c;t.attachWorkDone=function(e,t){if(void 0===t||void 0===t.workDoneToken)return new a;const n=t.workDoneToken;return delete t.workDoneToken,new s(e,n)},t.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){var t;!0===(null===(t=null==e?void 0:e.window)||void 0===t?void 0:t.workDoneProgress)&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,(e=>{let t=s.Instances.get(e.token);(t instanceof o||t instanceof l)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new a:new s(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=r.generateUuid();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new o(this.connection,e)))}return Promise.resolve(new l)}},function(e){e.type=new i.ProgressType}(c||(c={}));class u{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(c.type,this._token,e)}}t.attachPartialResult=function(e,t){if(void 0===t||void 0===t.partialResultToken)return;const n=t.partialResultToken;return delete t.partialResultToken,new u(e,n)}},9817:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensBuilder=t.SemanticTokensFeature=void 0;const i=n(152);t.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{on:e=>{const t=i.SemanticTokensRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=i.SemanticTokensDeltaRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=i.SemanticTokensRangeRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}},t.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,t,n,i,r){let s=e,o=t;this._dataLen>0&&(s-=this._prevLine,0===s&&(o-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=o,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=r,this._prevLine=e,this._prevChar=t}get id(){return this._id.toString()}previousResult(e){this.id===e&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return void 0!==this._prevData}buildEdits(){if(void 0!==this._prevData){const e=this._prevData.length,t=this._data.length;let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.combineFeatures=t.combineLanguagesFeatures=t.combineWorkspaceFeatures=t.combineWindowFeatures=t.combineClientFeatures=t.combineTracerFeatures=t.combineTelemetryFeatures=t.combineConsoleFeatures=t._LanguagesImpl=t.BulkUnregistration=t.BulkRegistration=t.ErrorMessageTracker=t.TextDocuments=void 0;const i=n(152),r=n(289),s=n(7560),o=n(2731),a=n(2507),l=n(8634),c=n(7985),u=n(9817),p=n(5421),d=n(828),h=n(2776),m=n(8120);function f(e){if(null!==e)return e}t.TextDocuments=class{constructor(e){this._documents=Object.create(null),this._configuration=e,this._onDidChangeContent=new i.Emitter,this._onDidOpen=new i.Emitter,this._onDidClose=new i.Emitter,this._onDidSave=new i.Emitter,this._onWillSave=new i.Emitter}get onDidChangeContent(){return this._onDidChangeContent.event}get onDidOpen(){return this._onDidOpen.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._documents[e]}all(){return Object.keys(this._documents).map((e=>this._documents[e]))}keys(){return Object.keys(this._documents)}listen(e){e.__textDocumentSync=i.TextDocumentSyncKind.Full,e.onDidOpenTextDocument((e=>{let t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._documents[t.uri]=n;let i=Object.freeze({document:n});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)})),e.onDidChangeTextDocument((e=>{let t=e.textDocument,n=e.contentChanges;if(0===n.length)return;let i=this._documents[t.uri];const{version:r}=t;if(null==r)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);i=this._configuration.update(i,n,r),this._documents[t.uri]=i,this._onDidChangeContent.fire(Object.freeze({document:i}))})),e.onDidCloseTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&(delete this._documents[e.textDocument.uri],this._onDidClose.fire(Object.freeze({document:t})))})),e.onWillSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))})),e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._documents[e.textDocument.uri];return n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]})),e.onDidSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onDidSave.fire(Object.freeze({document:t}))}))}},t.ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(e){let t=this._messages[e];t||(t=0),t++,this._messages[e]=t}sendErrors(e){Object.keys(this._messages).forEach((t=>{e.window.showErrorMessage(t)}))}};class g{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(i.MessageType.Error,e)}warn(e){this.send(i.MessageType.Warning,e)}info(e){this.send(i.MessageType.Info,e)}log(e){this.send(i.MessageType.Log,e)}send(e,t){this._rawConnection&&this._rawConnection.sendNotification(i.LogMessageNotification.type,{type:e,message:t})}}const y=p.ShowDocumentFeature(o.ProgressFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...t){let n={type:i.MessageType.Error,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showWarningMessage(e,...t){let n={type:i.MessageType.Warning,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showInformationMessage(e,...t){let n={type:i.MessageType.Info,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}}));(t.BulkRegistration||(t.BulkRegistration={})).create=function(){return new _};class _{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const n=r.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const i=s.generateUuid();this._registrations.push({id:i,method:n,registerOptions:t||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}}(t.BulkUnregistration||(t.BulkUnregistration={})).create=function(){return new v(void 0,[])};class v{constructor(e,t){this._connection=e,this._unregistrations=new Map,t.forEach((e=>{this._unregistrations.set(e.method,e)}))}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let t of this._unregistrations.values())e.push(t);let t={unregisterations:e};this._connection.sendRequest(i.UnregistrationRequest.type,t).then(void 0,(e=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const t=r.string(e)?e:e.method,n=this._unregistrations.get(t);if(!n)return!1;let s={unregisterations:[n]};return this._connection.sendRequest(i.UnregistrationRequest.type,s).then((()=>{this._unregistrations.delete(t)}),(e=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)})),!0}}class T{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,t,n){return e instanceof _?this.registerMany(e):e instanceof v?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,t,n){const o=r.string(t)?t:t.method,a=s.generateUuid();let l={registrations:[{id:a,method:o,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(i.RegistrationRequest.type,l).then((t=>(e.add({id:a,method:o}),e)),(e=>(this.connection.console.info(`Registering request handler for ${o} failed.`),Promise.reject(e))))}registerSingle2(e,t){const n=r.string(e)?e:e.method,o=s.generateUuid();let a={registrations:[{id:o,method:n,registerOptions:t||{}}]};return this.connection.sendRequest(i.RegistrationRequest.type,a).then((e=>i.Disposable.create((()=>{this.unregisterSingle(o,n)}))),(e=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(e))))}unregisterSingle(e,t){let n={unregisterations:[{id:e,method:t}]};return this.connection.sendRequest(i.UnregistrationRequest.type,n).then(void 0,(t=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)}))}registerMany(e){let t=e.asRegistrationParams();return this.connection.sendRequest(i.RegistrationRequest.type,t).then((()=>new v(this._connection,t.registrations.map((e=>({id:e.id,method:e.method}))))),(e=>(this.connection.console.info("Bulk registration failed."),Promise.reject(e))))}}const b=d.FileOperationsFeature(l.WorkspaceFoldersFeature(a.ConfigurationFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){let t=(n=e)&&n.edit?e:{edit:e};var n;return this.connection.sendRequest(i.ApplyWorkspaceEditRequest.type,t)}})));class I{constructor(){this._trace=i.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,t){this._trace!==i.Trace.Off&&this.connection.sendNotification(i.LogTraceNotification.type,{message:e,verbose:this._trace===i.Trace.Verbose?t:void 0})}}class S{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(i.TelemetryEventNotification.type,e)}}class x{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return o.attachWorkDone(this.connection,e)}attachPartialResultProgress(e,t){return o.attachPartialResult(this.connection,t)}}t._LanguagesImpl=x;const C=m.MonikerFeature(h.LinkedEditingRangeFeature(u.SemanticTokensFeature(c.CallHierarchyFeature(x))));function w(e,t){return function(n){return t(e(n))}}function E(e,t){return function(n){return t(e(n))}}function k(e,t){return function(n){return t(e(n))}}function D(e,t){return function(n){return t(e(n))}}function A(e,t){return function(n){return t(e(n))}}function P(e,t){return function(n){return t(e(n))}}t.combineConsoleFeatures=w,t.combineTelemetryFeatures=E,t.combineTracerFeatures=k,t.combineClientFeatures=D,t.combineWindowFeatures=A,t.combineWorkspaceFeatures=P,t.combineLanguagesFeatures=function(e,t){return function(n){return t(e(n))}},t.combineFeatures=function(e,t){function n(e,t,n){return e&&t?n(e,t):e||t}return{__brand:"features",console:n(e.console,t.console,w),tracer:n(e.tracer,t.tracer,k),telemetry:n(e.telemetry,t.telemetry,E),client:n(e.client,t.client,D),window:n(e.window,t.window,A),workspace:n(e.workspace,t.workspace,P)}},t.createConnection=function(e,t,n){const s=n&&n.console?new(n.console(g)):new g,a=e(s);s.rawAttach(a);const l=n&&n.tracer?new(n.tracer(I)):new I,c=n&&n.telemetry?new(n.telemetry(S)):new S,u=n&&n.client?new(n.client(T)):new T,p=n&&n.window?new(n.window(y)):new y,d=n&&n.workspace?new(n.workspace(b)):new b,h=n&&n.languages?new(n.languages(C)):new C,m=[s,l,c,u,p,d,h];function f(e){return e instanceof Promise?e:r.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}let _,v,x,w={listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(r.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(e,t),sendNotification:(e,t)=>{const n=r.string(e)?e:e.method;1===arguments.length?a.sendNotification(n):a.sendNotification(n,t)},onNotification:(e,t)=>a.onNotification(e,t),onProgress:a.onProgress,sendProgress:a.sendProgress,onInitialize:e=>v=e,onInitialized:e=>a.onNotification(i.InitializedNotification.type,e),onShutdown:e=>_=e,onExit:e=>x=e,get console(){return s},get telemetry(){return c},get tracer(){return l},get client(){return u},get window(){return p},get workspace(){return d},get languages(){return h},onDidChangeConfiguration:e=>a.onNotification(i.DidChangeConfigurationNotification.type,e),onDidChangeWatchedFiles:e=>a.onNotification(i.DidChangeWatchedFilesNotification.type,e),__textDocumentSync:void 0,onDidOpenTextDocument:e=>a.onNotification(i.DidOpenTextDocumentNotification.type,e),onDidChangeTextDocument:e=>a.onNotification(i.DidChangeTextDocumentNotification.type,e),onDidCloseTextDocument:e=>a.onNotification(i.DidCloseTextDocumentNotification.type,e),onWillSaveTextDocument:e=>a.onNotification(i.WillSaveTextDocumentNotification.type,e),onWillSaveTextDocumentWaitUntil:e=>a.onRequest(i.WillSaveTextDocumentWaitUntilRequest.type,e),onDidSaveTextDocument:e=>a.onNotification(i.DidSaveTextDocumentNotification.type,e),sendDiagnostics:e=>a.sendNotification(i.PublishDiagnosticsNotification.type,e),onHover:e=>a.onRequest(i.HoverRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onCompletion:e=>a.onRequest(i.CompletionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCompletionResolve:e=>a.onRequest(i.CompletionResolveRequest.type,e),onSignatureHelp:e=>a.onRequest(i.SignatureHelpRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDeclaration:e=>a.onRequest(i.DeclarationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDefinition:e=>a.onRequest(i.DefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onTypeDefinition:e=>a.onRequest(i.TypeDefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onImplementation:e=>a.onRequest(i.ImplementationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onReferences:e=>a.onRequest(i.ReferencesRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentHighlight:e=>a.onRequest(i.DocumentHighlightRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentSymbol:e=>a.onRequest(i.DocumentSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onWorkspaceSymbol:e=>a.onRequest(i.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeAction:e=>a.onRequest(i.CodeActionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeActionResolve:e=>a.onRequest(i.CodeActionResolveRequest.type,((t,n)=>e(t,n))),onCodeLens:e=>a.onRequest(i.CodeLensRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeLensResolve:e=>a.onRequest(i.CodeLensResolveRequest.type,((t,n)=>e(t,n))),onDocumentFormatting:e=>a.onRequest(i.DocumentFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentRangeFormatting:e=>a.onRequest(i.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentOnTypeFormatting:e=>a.onRequest(i.DocumentOnTypeFormattingRequest.type,((t,n)=>e(t,n))),onRenameRequest:e=>a.onRequest(i.RenameRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onPrepareRename:e=>a.onRequest(i.PrepareRenameRequest.type,((t,n)=>e(t,n))),onDocumentLinks:e=>a.onRequest(i.DocumentLinkRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentLinkResolve:e=>a.onRequest(i.DocumentLinkResolveRequest.type,((t,n)=>e(t,n))),onDocumentColor:e=>a.onRequest(i.DocumentColorRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onColorPresentation:e=>a.onRequest(i.ColorPresentationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onFoldingRanges:e=>a.onRequest(i.FoldingRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onSelectionRanges:e=>a.onRequest(i.SelectionRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onExecuteCommand:e=>a.onRequest(i.ExecuteCommandRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),dispose:()=>a.dispose()};for(let e of m)e.attach(w);return a.onRequest(i.InitializeRequest.type,(e=>{t.initialize(e),r.string(e.trace)&&(l.trace=i.Trace.fromString(e.trace));for(let t of m)t.initialize(e.capabilities);if(v)return f(v(e,(new i.CancellationTokenSource).token,o.attachWorkDone(a,e),void 0)).then((e=>{if(e instanceof i.ResponseError)return e;let t=e;t||(t={capabilities:{}});let n=t.capabilities;n||(n={},t.capabilities=n),void 0===n.textDocumentSync||null===n.textDocumentSync?n.textDocumentSync=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None:r.number(n.textDocumentSync)||r.number(n.textDocumentSync.change)||(n.textDocumentSync.change=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None);for(let e of m)e.fillServerCapabilities(n);return t}));{let e={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let t of m)t.fillServerCapabilities(e.capabilities);return e}})),a.onRequest(i.ShutdownRequest.type,(()=>(t.shutdownReceived=!0,_?_((new i.CancellationTokenSource).token):void 0))),a.onNotification(i.ExitNotification.type,(()=>{try{x&&x()}finally{t.shutdownReceived?t.exit(0):t.exit(1)}})),a.onNotification(i.SetTraceNotification.type,(e=>{l.trace=i.Trace.fromString(e.value)})),w}},5421:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentFeature=void 0;const i=n(152);t.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(i.ShowDocumentRequest.type,e)}}},289:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.thenable=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=i,t.array=r,t.stringArray=function(e){return r(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&i(e.then)}},7560:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateUuid=t.parse=t.isUUID=t.v4=t.empty=void 0;class n{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}}class i extends n{constructor(){super([i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-","4",i._randomHex(),i._randomHex(),i._randomHex(),"-",i._oneOf(i._timeHighBits),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return i._oneOf(i._chars)}}function r(){return new i}i._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],i._timeHighBits=["8","9","a","b"],t.empty=new n("00000000-0000-0000-0000-000000000000"),t.v4=r;const s=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function o(e){return s.test(e)}t.isUUID=o,t.parse=function(e){if(!o(e))throw new Error("invalid uuid");return new n(e)},t.generateUuid=function(){return r().asHex()}},8634:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=void 0;const i=n(152);t.WorkspaceFoldersFeature=e=>class extends e{initialize(e){let t=e.workspace;t&&t.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new i.Emitter,this.connection.onNotification(i.DidChangeWorkspaceFoldersNotification.type,(e=>{this._onDidChangeWorkspaceFolders.fire(e.event)})))}getWorkspaceFolders(){return this.connection.sendRequest(i.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return this._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},306:e=>{"use strict";e.exports={i8:"1.1.159"}},3574:(e,t,n)=>{"use strict";const i=n(9149),r=n.g.Date;class s extends r{constructor(e){super(e),this.isDate=!0}toISOString(){return`${this.getUTCFullYear()}-${i(2,this.getUTCMonth()+1)}-${i(2,this.getUTCDate())}`}}e.exports=e=>{const t=new s(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},8477:(e,t,n)=>{"use strict";const i=n(9149);class r extends Date{constructor(e){super(e+"Z"),this.isFloating=!0}toISOString(){return`${this.getUTCFullYear()}-${i(2,this.getUTCMonth()+1)}-${i(2,this.getUTCDate())}T${i(2,this.getUTCHours())}:${i(2,this.getUTCMinutes())}:${i(2,this.getUTCSeconds())}.${i(3,this.getUTCMilliseconds())}`}}e.exports=e=>{const t=new r(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},350:e=>{"use strict";e.exports=e=>{const t=new Date(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},7571:(e,t,n)=>{"use strict";const i=n(9149);class r extends Date{constructor(e){super(`0000-01-01T${e}Z`),this.isTime=!0}toISOString(){return`${i(2,this.getUTCHours())}:${i(2,this.getUTCMinutes())}:${i(2,this.getUTCSeconds())}.${i(3,this.getUTCMilliseconds())}`}}e.exports=e=>{const t=new r(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},9149:e=>{"use strict";e.exports=(e,t)=>{for(t=String(t);t.length{"use strict";const t=1114112;class n extends Error{constructor(e,t,i){super("[ParserError] "+e,t,i),this.name="ParserError",this.code="ParserError",Error.captureStackTrace&&Error.captureStackTrace(this,n)}}class i{constructor(e){this.parser=e,this.buf="",this.returned=null,this.result=null,this.resultTable=null,this.resultArr=null}}class r{constructor(){this.pos=0,this.col=0,this.line=0,this.obj={},this.ctx=this.obj,this.stack=[],this._buf="",this.char=null,this.ii=0,this.state=new i(this.parseStart)}parse(e){if(0===e.length||null==e.length)return;let t;for(this._buf=String(e),this.ii=-1,this.char=-1;!1===t||this.nextChar();)t=this.runOne();this._buf=null}nextChar(){return 10===this.char&&(++this.line,this.col=-1),++this.ii,this.char=this._buf.codePointAt(this.ii),++this.pos,++this.col,this.haveBuffer()}haveBuffer(){return this.ii{"use strict";module.exports=makeParserClass(__webpack_require__(2306)),module.exports.makeParserClass=makeParserClass;class TomlError extends Error{constructor(e){super(e),this.name="TomlError",Error.captureStackTrace&&Error.captureStackTrace(this,TomlError),this.fromTOML=!0,this.wrapped=null}}TomlError.wrap=e=>{const t=new TomlError(e.message);return t.code=e.code,t.wrapped=e,t},module.exports.TomlError=TomlError;const createDateTime=__webpack_require__(350),createDateTimeFloat=__webpack_require__(8477),createDate=__webpack_require__(3574),createTime=__webpack_require__(7571),CTRL_I=9,CTRL_J=10,CTRL_M=13,CTRL_CHAR_BOUNDARY=31,CHAR_SP=32,CHAR_QUOT=34,CHAR_NUM=35,CHAR_APOS=39,CHAR_PLUS=43,CHAR_COMMA=44,CHAR_HYPHEN=45,CHAR_PERIOD=46,CHAR_0=48,CHAR_1=49,CHAR_7=55,CHAR_9=57,CHAR_COLON=58,CHAR_EQUALS=61,CHAR_A=65,CHAR_E=69,CHAR_F=70,CHAR_T=84,CHAR_U=85,CHAR_Z=90,CHAR_LOWBAR=95,CHAR_a=97,CHAR_b=98,CHAR_e=101,CHAR_f=102,CHAR_i=105,CHAR_l=108,CHAR_n=110,CHAR_o=111,CHAR_r=114,CHAR_s=115,CHAR_t=116,CHAR_u=117,CHAR_x=120,CHAR_z=122,CHAR_LCUB=123,CHAR_RCUB=125,CHAR_LSQB=91,CHAR_BSOL=92,CHAR_RSQB=93,CHAR_DEL=127,SURROGATE_FIRST=55296,SURROGATE_LAST=57343,escapes={[CHAR_b]:"\b",[CHAR_t]:"\t",[CHAR_n]:"\n",[CHAR_f]:"\f",[CHAR_r]:"\r",[CHAR_QUOT]:'"',[CHAR_BSOL]:"\\"};function isDigit(e){return e>=CHAR_0&&e<=CHAR_9}function isHexit(e){return e>=CHAR_A&&e<=CHAR_F||e>=CHAR_a&&e<=CHAR_f||e>=CHAR_0&&e<=CHAR_9}function isBit(e){return e===CHAR_1||e===CHAR_0}function isOctit(e){return e>=CHAR_0&&e<=CHAR_7}function isAlphaNumQuoteHyphen(e){return e>=CHAR_A&&e<=CHAR_Z||e>=CHAR_a&&e<=CHAR_z||e>=CHAR_0&&e<=CHAR_9||e===CHAR_APOS||e===CHAR_QUOT||e===CHAR_LOWBAR||e===CHAR_HYPHEN}function isAlphaNumHyphen(e){return e>=CHAR_A&&e<=CHAR_Z||e>=CHAR_a&&e<=CHAR_z||e>=CHAR_0&&e<=CHAR_9||e===CHAR_LOWBAR||e===CHAR_HYPHEN}const _type=Symbol("type"),_declared=Symbol("declared"),hasOwnProperty=Object.prototype.hasOwnProperty,defineProperty=Object.defineProperty,descriptor={configurable:!0,enumerable:!0,writable:!0,value:void 0};function hasKey(e,t){return!!hasOwnProperty.call(e,t)||("__proto__"===t&&defineProperty(e,"__proto__",descriptor),!1)}const INLINE_TABLE=Symbol("inline-table");function InlineTable(){return Object.defineProperties({},{[_type]:{value:INLINE_TABLE}})}function isInlineTable(e){return null!==e&&"object"==typeof e&&e[_type]===INLINE_TABLE}const TABLE=Symbol("table");function Table(){return Object.defineProperties({},{[_type]:{value:TABLE},[_declared]:{value:!1,writable:!0}})}function isTable(e){return null!==e&&"object"==typeof e&&e[_type]===TABLE}const _contentType=Symbol("content-type"),INLINE_LIST=Symbol("inline-list");function InlineList(e){return Object.defineProperties([],{[_type]:{value:INLINE_LIST},[_contentType]:{value:e}})}function isInlineList(e){return null!==e&&"object"==typeof e&&e[_type]===INLINE_LIST}const LIST=Symbol("list");function List(){return Object.defineProperties([],{[_type]:{value:LIST}})}function isList(e){return null!==e&&"object"==typeof e&&e[_type]===LIST}let _custom;try{const utilInspect=eval("require('util').inspect");_custom=utilInspect.custom}catch(e){}const _inspect=_custom||"inspect";class BoxedBigInt{constructor(e){try{this.value=__webpack_require__.g.BigInt.asIntN(64,e)}catch(e){this.value=null}Object.defineProperty(this,_type,{value:INTEGER})}isNaN(){return null===this.value}toString(){return String(this.value)}[_inspect](){return`[BigInt: ${this.toString()}]}`}valueOf(){return this.value}}const INTEGER=Symbol("integer");function Integer(e){let t=Number(e);return Object.is(t,-0)&&(t=0),__webpack_require__.g.BigInt&&!Number.isSafeInteger(t)?new BoxedBigInt(e):Object.defineProperties(new Number(t),{isNaN:{value:function(){return isNaN(this)}},[_type]:{value:INTEGER},[_inspect]:{value:()=>`[Integer: ${e}]`}})}function isInteger(e){return null!==e&&"object"==typeof e&&e[_type]===INTEGER}const FLOAT=Symbol("float");function Float(e){return Object.defineProperties(new Number(e),{[_type]:{value:FLOAT},[_inspect]:{value:()=>`[Float: ${e}]`}})}function isFloat(e){return null!==e&&"object"==typeof e&&e[_type]===FLOAT}function tomlType(e){const t=typeof e;if("object"===t){if(null===e)return"null";if(e instanceof Date)return"datetime";if(_type in e)switch(e[_type]){case INLINE_TABLE:return"inline-table";case INLINE_LIST:return"inline-list";case TABLE:return"table";case LIST:return"list";case FLOAT:return"float";case INTEGER:return"integer"}}return t}function makeParserClass(e){return class extends e{constructor(){super(),this.ctx=this.obj=Table()}atEndOfWord(){return this.char===CHAR_NUM||this.char===CTRL_I||this.char===CHAR_SP||this.atEndOfLine()}atEndOfLine(){return this.char===e.END||this.char===CTRL_J||this.char===CTRL_M}parseStart(){if(this.char===e.END)return null;if(this.char===CHAR_LSQB)return this.call(this.parseTableOrList);if(this.char===CHAR_NUM)return this.call(this.parseComment);if(this.char===CTRL_J||this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M)return null;if(isAlphaNumQuoteHyphen(this.char))return this.callNow(this.parseAssignStatement);throw this.error(new TomlError(`Unknown character "${this.char}"`))}parseWhitespaceToEOL(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M)return null;if(this.char===CHAR_NUM)return this.goto(this.parseComment);if(this.char===e.END||this.char===CTRL_J)return this.return();throw this.error(new TomlError("Unexpected character, expected only whitespace or comments till end of line"))}parseAssignStatement(){return this.callNow(this.parseAssign,this.recordAssignStatement)}recordAssignStatement(e){let t=this.ctx,n=e.key.pop();for(let n of e.key){if(hasKey(t,n)&&(!isTable(t[n])||t[n][_declared]))throw this.error(new TomlError("Can't redefine existing key"));t=t[n]=t[n]||Table()}if(hasKey(t,n))throw this.error(new TomlError("Can't redefine existing key"));return isInteger(e.value)||isFloat(e.value)?t[n]=e.value.valueOf():t[n]=e.value,this.goto(this.parseWhitespaceToEOL)}parseAssign(){return this.callNow(this.parseKeyword,this.recordAssignKeyword)}recordAssignKeyword(e){return this.state.resultTable?this.state.resultTable.push(e):this.state.resultTable=[e],this.goto(this.parseAssignKeywordPreDot)}parseAssignKeywordPreDot(){return this.char===CHAR_PERIOD?this.next(this.parseAssignKeywordPostDot):this.char!==CHAR_SP&&this.char!==CTRL_I?this.goto(this.parseAssignEqual):void 0}parseAssignKeywordPostDot(){if(this.char!==CHAR_SP&&this.char!==CTRL_I)return this.callNow(this.parseKeyword,this.recordAssignKeyword)}parseAssignEqual(){if(this.char===CHAR_EQUALS)return this.next(this.parseAssignPreValue);throw this.error(new TomlError('Invalid character, expected "="'))}parseAssignPreValue(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseValue,this.recordAssignValue)}recordAssignValue(e){return this.returnNow({key:this.state.resultTable,value:e})}parseComment(){do{if(this.char===e.END||this.char===CTRL_J)return this.return()}while(this.nextChar())}parseTableOrList(){if(this.char!==CHAR_LSQB)return this.goto(this.parseTable);this.next(this.parseList)}parseTable(){return this.ctx=this.obj,this.goto(this.parseTableNext)}parseTableNext(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseKeyword,this.parseTableMore)}parseTableMore(e){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CHAR_RSQB){if(hasKey(this.ctx,e)&&(!isTable(this.ctx[e])||this.ctx[e][_declared]))throw this.error(new TomlError("Can't redefine existing key"));return this.ctx=this.ctx[e]=this.ctx[e]||Table(),this.ctx[_declared]=!0,this.next(this.parseWhitespaceToEOL)}if(this.char===CHAR_PERIOD){if(hasKey(this.ctx,e))if(isTable(this.ctx[e]))this.ctx=this.ctx[e];else{if(!isList(this.ctx[e]))throw this.error(new TomlError("Can't redefine existing key"));this.ctx=this.ctx[e][this.ctx[e].length-1]}else this.ctx=this.ctx[e]=Table();return this.next(this.parseTableNext)}throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseList(){return this.ctx=this.obj,this.goto(this.parseListNext)}parseListNext(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseKeyword,this.parseListMore)}parseListMore(e){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CHAR_RSQB){if(hasKey(this.ctx,e)||(this.ctx[e]=List()),isInlineList(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline array"));if(!isList(this.ctx[e]))throw this.error(new TomlError("Can't redefine an existing key"));{const t=Table();this.ctx[e].push(t),this.ctx=t}return this.next(this.parseListEnd)}if(this.char===CHAR_PERIOD){if(hasKey(this.ctx,e)){if(isInlineList(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline array"));if(isInlineTable(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline table"));if(isList(this.ctx[e]))this.ctx=this.ctx[e][this.ctx[e].length-1];else{if(!isTable(this.ctx[e]))throw this.error(new TomlError("Can't redefine an existing key"));this.ctx=this.ctx[e]}}else this.ctx=this.ctx[e]=Table();return this.next(this.parseListNext)}throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseListEnd(e){if(this.char===CHAR_RSQB)return this.next(this.parseWhitespaceToEOL);throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseValue(){if(this.char===e.END)throw this.error(new TomlError("Key without value"));if(this.char===CHAR_QUOT)return this.next(this.parseDoubleString);if(this.char===CHAR_APOS)return this.next(this.parseSingleString);if(this.char===CHAR_HYPHEN||this.char===CHAR_PLUS)return this.goto(this.parseNumberSign);if(this.char===CHAR_i)return this.next(this.parseInf);if(this.char===CHAR_n)return this.next(this.parseNan);if(isDigit(this.char))return this.goto(this.parseNumberOrDateTime);if(this.char===CHAR_t||this.char===CHAR_f)return this.goto(this.parseBoolean);if(this.char===CHAR_LSQB)return this.call(this.parseInlineList,this.recordValue);if(this.char===CHAR_LCUB)return this.call(this.parseInlineTable,this.recordValue);throw this.error(new TomlError("Unexpected character, expecting string, number, datetime, boolean, inline array or inline table"))}recordValue(e){return this.returnNow(e)}parseInf(){if(this.char===CHAR_n)return this.next(this.parseInf2);throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"'))}parseInf2(){if(this.char===CHAR_f)return"-"===this.state.buf?this.return(-1/0):this.return(1/0);throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"'))}parseNan(){if(this.char===CHAR_a)return this.next(this.parseNan2);throw this.error(new TomlError('Unexpected character, expected "nan"'))}parseNan2(){if(this.char===CHAR_n)return this.return(NaN);throw this.error(new TomlError('Unexpected character, expected "nan"'))}parseKeyword(){return this.char===CHAR_QUOT?this.next(this.parseBasicString):this.char===CHAR_APOS?this.next(this.parseLiteralString):this.goto(this.parseBareKey)}parseBareKey(){do{if(this.char===e.END)throw this.error(new TomlError("Key ended without value"));if(!isAlphaNumHyphen(this.char)){if(0===this.state.buf.length)throw this.error(new TomlError("Empty bare keys are not allowed"));return this.returnNow()}this.consume()}while(this.nextChar())}parseSingleString(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiStringMaybe):this.goto(this.parseLiteralString)}parseLiteralString(){do{if(this.char===CHAR_APOS)return this.return();if(this.atEndOfLine())throw this.error(new TomlError("Unterminated string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}parseLiteralMultiStringMaybe(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiString):this.returnNow()}parseLiteralMultiString(){return this.char===CTRL_M?null:this.char===CTRL_J?this.next(this.parseLiteralMultiStringContent):this.goto(this.parseLiteralMultiStringContent)}parseLiteralMultiStringContent(){do{if(this.char===CHAR_APOS)return this.next(this.parseLiteralMultiEnd);if(this.char===e.END)throw this.error(new TomlError("Unterminated multi-line string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I&&this.char!==CTRL_J&&this.char!==CTRL_M)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}parseLiteralMultiEnd(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiEnd2):(this.state.buf+="'",this.goto(this.parseLiteralMultiStringContent))}parseLiteralMultiEnd2(){return this.char===CHAR_APOS?this.return():(this.state.buf+="''",this.goto(this.parseLiteralMultiStringContent))}parseDoubleString(){return this.char===CHAR_QUOT?this.next(this.parseMultiStringMaybe):this.goto(this.parseBasicString)}parseBasicString(){do{if(this.char===CHAR_BSOL)return this.call(this.parseEscape,this.recordEscapeReplacement);if(this.char===CHAR_QUOT)return this.return();if(this.atEndOfLine())throw this.error(new TomlError("Unterminated string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}recordEscapeReplacement(e){return this.state.buf+=e,this.goto(this.parseBasicString)}parseMultiStringMaybe(){return this.char===CHAR_QUOT?this.next(this.parseMultiString):this.returnNow()}parseMultiString(){return this.char===CTRL_M?null:this.char===CTRL_J?this.next(this.parseMultiStringContent):this.goto(this.parseMultiStringContent)}parseMultiStringContent(){do{if(this.char===CHAR_BSOL)return this.call(this.parseMultiEscape,this.recordMultiEscapeReplacement);if(this.char===CHAR_QUOT)return this.next(this.parseMultiEnd);if(this.char===e.END)throw this.error(new TomlError("Unterminated multi-line string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I&&this.char!==CTRL_J&&this.char!==CTRL_M)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}errorControlCharInString(){let e="\\u00";return this.char<16&&(e+="0"),e+=this.char.toString(16),this.error(new TomlError(`Control characters (codes < 0x1f and 0x7f) are not allowed in strings, use ${e} instead`))}recordMultiEscapeReplacement(e){return this.state.buf+=e,this.goto(this.parseMultiStringContent)}parseMultiEnd(){return this.char===CHAR_QUOT?this.next(this.parseMultiEnd2):(this.state.buf+='"',this.goto(this.parseMultiStringContent))}parseMultiEnd2(){return this.char===CHAR_QUOT?this.return():(this.state.buf+='""',this.goto(this.parseMultiStringContent))}parseMultiEscape(){return this.char===CTRL_M||this.char===CTRL_J?this.next(this.parseMultiTrim):this.char===CHAR_SP||this.char===CTRL_I?this.next(this.parsePreMultiTrim):this.goto(this.parseEscape)}parsePreMultiTrim(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CTRL_M||this.char===CTRL_J)return this.next(this.parseMultiTrim);throw this.error(new TomlError("Can't escape whitespace"))}parseMultiTrim(){return this.char===CTRL_J||this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M?null:this.returnNow()}parseEscape(){if(this.char in escapes)return this.return(escapes[this.char]);if(this.char===CHAR_u)return this.call(this.parseSmallUnicode,this.parseUnicodeReturn);if(this.char===CHAR_U)return this.call(this.parseLargeUnicode,this.parseUnicodeReturn);throw this.error(new TomlError("Unknown escape character: "+this.char))}parseUnicodeReturn(e){try{const t=parseInt(e,16);if(t>=SURROGATE_FIRST&&t<=SURROGATE_LAST)throw this.error(new TomlError("Invalid unicode, character in range 0xD800 - 0xDFFF is reserved"));return this.returnNow(String.fromCodePoint(t))}catch(e){throw this.error(TomlError.wrap(e))}}parseSmallUnicode(){if(!isHexit(this.char))throw this.error(new TomlError("Invalid character in unicode sequence, expected hex"));if(this.consume(),this.state.buf.length>=4)return this.return()}parseLargeUnicode(){if(!isHexit(this.char))throw this.error(new TomlError("Invalid character in unicode sequence, expected hex"));if(this.consume(),this.state.buf.length>=8)return this.return()}parseNumberSign(){return this.consume(),this.next(this.parseMaybeSignedInfOrNan)}parseMaybeSignedInfOrNan(){return this.char===CHAR_i?this.next(this.parseInf):this.char===CHAR_n?this.next(this.parseNan):this.callNow(this.parseNoUnder,this.parseNumberIntegerStart)}parseNumberIntegerStart(){return this.char===CHAR_0?(this.consume(),this.next(this.parseNumberIntegerExponentOrDecimal)):this.goto(this.parseNumberInteger)}parseNumberIntegerExponentOrDecimal(){return this.char===CHAR_PERIOD?(this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat)):this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.returnNow(Integer(this.state.buf))}parseNumberInteger(){if(!isDigit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnder);if(this.char===CHAR_E||this.char===CHAR_e)return this.consume(),this.next(this.parseNumberExponentSign);if(this.char===CHAR_PERIOD)return this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseNoUnder(){if(this.char===CHAR_LOWBAR||this.char===CHAR_PERIOD||this.char===CHAR_E||this.char===CHAR_e)throw this.error(new TomlError("Unexpected character, expected digit"));if(this.atEndOfWord())throw this.error(new TomlError("Incomplete number"));return this.returnNow()}parseNoUnderHexOctBinLiteral(){if(this.char===CHAR_LOWBAR||this.char===CHAR_PERIOD)throw this.error(new TomlError("Unexpected character, expected digit"));if(this.atEndOfWord())throw this.error(new TomlError("Incomplete number"));return this.returnNow()}parseNumberFloat(){return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder,this.parseNumberFloat):isDigit(this.char)?void this.consume():this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.returnNow(Float(this.state.buf))}parseNumberExponentSign(){if(isDigit(this.char))return this.goto(this.parseNumberExponent);if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS)throw this.error(new TomlError("Unexpected character, expected -, + or digit"));this.consume(),this.call(this.parseNoUnder,this.parseNumberExponent)}parseNumberExponent(){if(!isDigit(this.char))return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder):this.returnNow(Float(this.state.buf));this.consume()}parseNumberOrDateTime(){return this.char===CHAR_0?(this.consume(),this.next(this.parseNumberBaseOrDateTime)):this.goto(this.parseNumberOrDateTimeOnly)}parseNumberOrDateTimeOnly(){return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder,this.parseNumberInteger):isDigit(this.char)?(this.consume(),void(this.state.buf.length>4&&this.next(this.parseNumberInteger))):this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.char===CHAR_PERIOD?(this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat)):this.char===CHAR_HYPHEN?this.goto(this.parseDateTime):this.char===CHAR_COLON?this.goto(this.parseOnlyTimeHour):this.returnNow(Integer(this.state.buf))}parseDateTimeOnly(){if(this.state.buf.length<4){if(isDigit(this.char))return this.consume();if(this.char===CHAR_COLON)return this.goto(this.parseOnlyTimeHour);throw this.error(new TomlError("Expected digit while parsing year part of a date"))}if(this.char===CHAR_HYPHEN)return this.goto(this.parseDateTime);throw this.error(new TomlError("Expected hyphen (-) while parsing year part of date"))}parseNumberBaseOrDateTime(){return this.char===CHAR_b?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerBin)):this.char===CHAR_o?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerOct)):this.char===CHAR_x?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerHex)):this.char===CHAR_PERIOD?this.goto(this.parseNumberInteger):isDigit(this.char)?this.goto(this.parseDateTimeOnly):this.returnNow(Integer(this.state.buf))}parseIntegerHex(){if(!isHexit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseIntegerOct(){if(!isOctit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseIntegerBin(){if(!isBit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseDateTime(){if(this.state.buf.length<4)throw this.error(new TomlError("Years less than 1000 must be zero padded to four characters"));return this.state.result=this.state.buf,this.state.buf="",this.next(this.parseDateMonth)}parseDateMonth(){if(this.char===CHAR_HYPHEN){if(this.state.buf.length<2)throw this.error(new TomlError("Months less than 10 must be zero padded to two characters"));return this.state.result+="-"+this.state.buf,this.state.buf="",this.next(this.parseDateDay)}if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseDateDay(){if(this.char===CHAR_T||this.char===CHAR_SP){if(this.state.buf.length<2)throw this.error(new TomlError("Days less than 10 must be zero padded to two characters"));return this.state.result+="-"+this.state.buf,this.state.buf="",this.next(this.parseStartTimeHour)}if(this.atEndOfWord())return this.returnNow(createDate(this.state.result+"-"+this.state.buf));if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseStartTimeHour(){return this.atEndOfWord()?this.returnNow(createDate(this.state.result)):this.goto(this.parseTimeHour)}parseTimeHour(){if(this.char===CHAR_COLON){if(this.state.buf.length<2)throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters"));return this.state.result+="T"+this.state.buf,this.state.buf="",this.next(this.parseTimeMin)}if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseTimeMin(){if(!(this.state.buf.length<2&&isDigit(this.char))){if(2===this.state.buf.length&&this.char===CHAR_COLON)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseTimeSec);throw this.error(new TomlError("Incomplete datetime"))}this.consume()}parseTimeSec(){if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));if(this.consume(),2===this.state.buf.length)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseTimeZoneOrFraction)}parseOnlyTimeHour(){if(this.char===CHAR_COLON){if(this.state.buf.length<2)throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters"));return this.state.result=this.state.buf,this.state.buf="",this.next(this.parseOnlyTimeMin)}throw this.error(new TomlError("Incomplete time"))}parseOnlyTimeMin(){if(!(this.state.buf.length<2&&isDigit(this.char))){if(2===this.state.buf.length&&this.char===CHAR_COLON)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseOnlyTimeSec);throw this.error(new TomlError("Incomplete time"))}this.consume()}parseOnlyTimeSec(){if(!isDigit(this.char))throw this.error(new TomlError("Incomplete time"));if(this.consume(),2===this.state.buf.length)return this.next(this.parseOnlyTimeFractionMaybe)}parseOnlyTimeFractionMaybe(){if(this.state.result+=":"+this.state.buf,this.char!==CHAR_PERIOD)return this.return(createTime(this.state.result));this.state.buf="",this.next(this.parseOnlyTimeFraction)}parseOnlyTimeFraction(){if(!isDigit(this.char)){if(this.atEndOfWord()){if(0===this.state.buf.length)throw this.error(new TomlError("Expected digit in milliseconds"));return this.returnNow(createTime(this.state.result+"."+this.state.buf))}throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume()}parseTimeZoneOrFraction(){if(this.char===CHAR_PERIOD)this.consume(),this.next(this.parseDateTimeFraction);else{if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS){if(this.char===CHAR_Z)return this.consume(),this.return(createDateTime(this.state.result+this.state.buf));if(this.atEndOfWord())return this.returnNow(createDateTimeFloat(this.state.result+this.state.buf));throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume(),this.next(this.parseTimeZoneHour)}}parseDateTimeFraction(){if(isDigit(this.char))this.consume();else{if(1===this.state.buf.length)throw this.error(new TomlError("Expected digit in milliseconds"));if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS){if(this.char===CHAR_Z)return this.consume(),this.return(createDateTime(this.state.result+this.state.buf));if(this.atEndOfWord())return this.returnNow(createDateTimeFloat(this.state.result+this.state.buf));throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume(),this.next(this.parseTimeZoneHour)}}parseTimeZoneHour(){if(!isDigit(this.char))throw this.error(new TomlError("Unexpected character in datetime, expected digit"));if(this.consume(),/\d\d$/.test(this.state.buf))return this.next(this.parseTimeZoneSep)}parseTimeZoneSep(){if(this.char!==CHAR_COLON)throw this.error(new TomlError("Unexpected character in datetime, expected colon"));this.consume(),this.next(this.parseTimeZoneMin)}parseTimeZoneMin(){if(!isDigit(this.char))throw this.error(new TomlError("Unexpected character in datetime, expected digit"));if(this.consume(),/\d\d$/.test(this.state.buf))return this.return(createDateTime(this.state.result+this.state.buf))}parseBoolean(){return this.char===CHAR_t?(this.consume(),this.next(this.parseTrue_r)):this.char===CHAR_f?(this.consume(),this.next(this.parseFalse_a)):void 0}parseTrue_r(){if(this.char===CHAR_r)return this.consume(),this.next(this.parseTrue_u);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseTrue_u(){if(this.char===CHAR_u)return this.consume(),this.next(this.parseTrue_e);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseTrue_e(){if(this.char===CHAR_e)return this.return(!0);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_a(){if(this.char===CHAR_a)return this.consume(),this.next(this.parseFalse_l);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_l(){if(this.char===CHAR_l)return this.consume(),this.next(this.parseFalse_s);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_s(){if(this.char===CHAR_s)return this.consume(),this.next(this.parseFalse_e);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_e(){if(this.char===CHAR_e)return this.return(!1);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseInlineList(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M||this.char===CTRL_J)return null;if(this.char===e.END)throw this.error(new TomlError("Unterminated inline array"));return this.char===CHAR_NUM?this.call(this.parseComment):this.char===CHAR_RSQB?this.return(this.state.resultArr||InlineList()):this.callNow(this.parseValue,this.recordInlineListValue)}recordInlineListValue(e){if(this.state.resultArr){const t=this.state.resultArr[_contentType],n=tomlType(e);if(t!==n)throw this.error(new TomlError(`Inline lists must be a single type, not a mix of ${t} and ${n}`))}else this.state.resultArr=InlineList(tomlType(e));return isFloat(e)||isInteger(e)?this.state.resultArr.push(e.valueOf()):this.state.resultArr.push(e),this.goto(this.parseInlineListNext)}parseInlineListNext(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M||this.char===CTRL_J)return null;if(this.char===CHAR_NUM)return this.call(this.parseComment);if(this.char===CHAR_COMMA)return this.next(this.parseInlineList);if(this.char===CHAR_RSQB)return this.goto(this.parseInlineList);throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])"))}parseInlineTable(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===e.END||this.char===CHAR_NUM||this.char===CTRL_J||this.char===CTRL_M)throw this.error(new TomlError("Unterminated inline array"));return this.char===CHAR_RCUB?this.return(this.state.resultTable||InlineTable()):(this.state.resultTable||(this.state.resultTable=InlineTable()),this.callNow(this.parseAssign,this.recordInlineTableValue))}recordInlineTableValue(e){let t=this.state.resultTable,n=e.key.pop();for(let n of e.key){if(hasKey(t,n)&&(!isTable(t[n])||t[n][_declared]))throw this.error(new TomlError("Can't redefine existing key"));t=t[n]=t[n]||Table()}if(hasKey(t,n))throw this.error(new TomlError("Can't redefine existing key"));return isInteger(e.value)||isFloat(e.value)?t[n]=e.value.valueOf():t[n]=e.value,this.goto(this.parseInlineTableNext)}parseInlineTableNext(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===e.END||this.char===CHAR_NUM||this.char===CTRL_J||this.char===CTRL_M)throw this.error(new TomlError("Unterminated inline array"));if(this.char===CHAR_COMMA)return this.next(this.parseInlineTable);if(this.char===CHAR_RCUB)return this.goto(this.parseInlineTable);throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])"))}}}},5352:(e,t,n)=>{"use strict";e.exports=function(e,t){t||(t={});const n=t.blocksize||40960,s=new i;return new Promise(((e,t)=>{setImmediate(o,0,n,e,t)}));function o(t,n,i,a){if(t>=e.length)try{return i(s.finish())}catch(t){return a(r(t,e))}try{s.parse(e.slice(t,t+n)),setImmediate(o,t+n,n,i,a)}catch(t){a(r(t,e))}}};const i=n(2725),r=n(4354)},4354:e=>{"use strict";e.exports=function(e,t){if(null==e.pos||null==e.line)return e;let n=e.message;if(n+=` at row ${e.line+1}, col ${e.col+1}, pos ${e.pos}:\n`,t&&t.split){const i=t.split(/\n/),r=String(Math.min(i.length,e.line+3)).length;let s=" ";for(;s.length "+i[t]+"\n",n+=s+" ";for(let t=0;t{"use strict";e.exports=function(e){return e?function(e){const t=new r;return e.setEncoding("utf8"),new Promise(((n,i)=>{let r,s=!1,o=!1;function a(){if(s=!0,!r)try{n(t.finish())}catch(e){i(e)}}function l(e){o=!0,i(e)}e.once("end",a),e.once("error",l),function n(){let i;for(r=!0;null!==(i=e.read());)try{t.parse(i)}catch(e){return l(e)}if(r=!1,s)return a();o||e.once("readable",n)}()}))}(e):function(){const e=new r;return new i.Transform({objectMode:!0,transform(t,n,i){try{e.parse(t.toString(n))}catch(e){this.emit("error",e)}i()},flush(t){try{this.push(e.finish())}catch(e){this.emit("error",e)}t()}})}()};const i=n(9191),r=n(2725)},4567:(e,t,n)=>{"use strict";e.exports=function(e){n.g.Buffer&&n.g.Buffer.isBuffer(e)&&(e=e.toString("utf8"));const t=new i;try{return t.parse(e),t.finish()}catch(t){throw r(t,e)}};const i=n(2725),r=n(4354)},2884:(e,t,n)=>{"use strict";e.exports=n(4567),e.exports.async=n(5352),e.exports.stream=n(2173),e.exports.prettyError=n(4354)},5249:e=>{"use strict";function t(e){return new Error("Can only stringify objects, not "+e)}function n(e){return Object.keys(e).filter((t=>s(e[t])))}function i(e){let t=Array.isArray(e)?[]:Object.prototype.hasOwnProperty.call(e,"__proto__")?{["__proto__"]:void 0}:{};for(let n of Object.keys(e))e[n]&&"function"==typeof e[n].toJSON&&!("toISOString"in e[n])?t[n]=e[n].toJSON():t[n]=e[n];return t}function r(e,l,c){var p,d;p=n(c=i(c)),d=function(e){return Object.keys(e).filter((t=>!s(e[t])))}(c);var m=[],f=l||"";p.forEach((e=>{var t=o(c[e]);"undefined"!==t&&"null"!==t&&m.push(f+a(e)+" = "+u(c[e],!0))})),m.length>0&&m.push("");var g=e&&p.length>0?l+" ":"";return d.forEach((s=>{m.push(function(e,s,l,c){var u=o(c);if("array"===u)return function(e,n,s,l){h(l=i(l));var c=o(l[0]);if("table"!==c)throw t(c);var u=e+a(s),p="";return l.forEach((e=>{p.length>0&&(p+="\n"),p+=n+"[["+u+"]]\n",p+=r(u+".",n,e)})),p}(e,s,l,c);if("table"===u)return function(e,t,i,s){var o=e+a(i),l="";return n(s).length>0&&(l+=t+"["+o+"]\n"),l+r(o+".",t,s)}(e,s,l,c);throw t(u)}(e,g,s,c[s]))})),m.join("\n")}function s(e){switch(o(e)){case"undefined":case"null":case"integer":case"nan":case"float":case"boolean":case"string":case"datetime":return!0;case"array":return 0===e.length||"table"!==o(e[0]);case"table":return 0===Object.keys(e).length;default:return!1}}function o(e){return void 0===e?"undefined":null===e?"null":"bigint"==typeof e||Number.isInteger(e)&&!Object.is(e,-0)?"integer":"number"==typeof e?"float":"boolean"==typeof e?"boolean":"string"==typeof e?"string":"toISOString"in e?isNaN(e)?"undefined":"datetime":Array.isArray(e)?"array":"table"}function a(e){var t=String(e);return/^[-A-Za-z0-9_]+$/.test(t)?t:l(t)}function l(e){return'"'+c(e).replace(/"/g,'\\"')+'"'}function c(e){return e.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/([\u0000-\u001f\u007f])/,(e=>"\\u"+function(e,t){for(;t.length<4;)t="0"+t;return t}(0,e.codePointAt(0).toString(16))))}function u(e,t){let n=o(e);return"string"===n&&(t&&/\n/.test(e)?n="string-multiline":!/[\b\t\n\f\r']/.test(e)&&/"/.test(e)&&(n="string-literal")),p(e,n)}function p(e,n){switch(n||(n=o(e)),n){case"string-multiline":return function(e){let t=e.split(/\n/).map((e=>c(e).replace(/"(?="")/g,'\\"'))).join("\n");return'"'===t.slice(-1)&&(t+="\\\n"),'"""\n'+t+'"""'}(e);case"string":return l(e);case"string-literal":return"'"+e+"'";case"integer":return d(e);case"float":return function(e){if(e===1/0)return"inf";if(e===-1/0)return"-inf";if(Object.is(e,NaN))return"nan";if(Object.is(e,-0))return"-0.0";var t=String(e).split("."),n=t[0],i=t[1]||0;return d(n)+"."+i}(e);case"boolean":return function(e){return String(e)}(e);case"datetime":return function(e){return e.toISOString()}(e);case"array":return function(e){const t=h(e=i(e));var n="[",r=e.map((e=>p(e,t)));return r.join(", ").length>60||/\n/.test(r)?n+="\n "+r.join(",\n ")+"\n":n+=" "+r.join(", ")+(r.length>0?" ":""),n+"]"}(e.filter((e=>"null"!==o(e)&&"undefined"!==o(e)&&"nan"!==o(e))));case"table":return function(e){e=i(e);var t=[];return Object.keys(e).forEach((n=>{t.push(a(n)+" = "+u(e[n],!1))})),"{ "+t.join(", ")+(t.length>0?" ":"")+"}"}(e);default:throw t(n)}}function d(e){return String(e).replace(/\B(?=(\d{3})+(?!\d))/g,"_")}function h(e){const t=function(e){var t=o(e[0]);return e.every((e=>o(e)===t))?t:e.every((e=>{return"float"===(t=o(e))||"integer"===t;var t}))?"float":"mixed"}(e);if("mixed"===t)throw new Error("Array values can't have mixed types");return t}e.exports=function(e){if(null===e)throw t("null");if(void 0===e)throw t("undefined");if("object"!=typeof e)throw t(typeof e);if("function"==typeof e.toJSON&&(e=e.toJSON()),null==e)return null;const n=o(e);if("table"!==n)throw t(n);return r("","",e)},e.exports.value=p},2125:(e,t,n)=>{"use strict";t.parse=n(2884),n(5249)},7588:e=>{"use strict";const t=[],n=[],i=(e,i)=>{if(e===i)return 0;const r=e;e.length>i.length&&(e=i,i=r);let s=e.length,o=i.length;for(;s>0&&e.charCodeAt(~-s)===i.charCodeAt(~-o);)s--,o--;let a,l,c,u,p=0;for(;pl?u>l?l+1:u:u>c?c+1:u;return l};e.exports=i,e.exports.default=i},2797:(e,t,n)=>{"use strict";e.exports=n(3374)},3374:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,n(485).default.install();const s=n(7504);r(n(7504),t);class o extends s.AbstractMessageReader{constructor(e){super(),this._onData=new s.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",(e=>this.fireError(e))),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}}t.BrowserMessageReader=o;class a extends s.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",(e=>this.fireError(e)))}write(e){try{return this.context.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}t.BrowserMessageWriter=a,t.createMessageConnection=function(e,t,n,i){return void 0===n&&(n=s.NullLogger),s.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),s.createMessageConnection(e,t,n,i)}},485:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9872),r=n(4469),s=n(2479),o=n(9053);class a extends o.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return(new TextEncoder).encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}}a.emptyBuffer=new Uint8Array(0);class l{constructor(e){this.socket=e,this._onData=new s.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then((e=>{this._onData.fire(new Uint8Array(e))}))},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}onData(e){return this._onData.event(e)}}class c{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const u=new TextEncoder,p=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{if("utf-8"!==t.charset)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t.charset}`);return Promise.resolve(u.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{if(!(e instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new l(e),asWritableStream:e=>new c(e)}),console,timer:Object.freeze({setTimeout:(e,t,...n)=>setTimeout(e,t,...n),clearTimeout(e){clearTimeout(e)},setImmediate:(e,...t)=>setTimeout(e,0,...t),clearImmediate(e){clearTimeout(e)}})});function d(){return p}!function(e){e.install=function(){i.default.install(p)}}(d||(d={})),t.default=d},7504:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.ProgressType=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.RAL=void 0,t.CancellationStrategy=void 0;const i=n(9263);Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return i.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return i.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return i.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return i.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return i.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return i.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return i.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return i.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return i.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return i.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return i.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return i.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return i.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return i.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return i.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return i.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return i.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return i.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return i.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return i.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return i.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return i.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return i.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return i.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return i.ParameterStructures}});const r=n(4469);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const s=n(2479);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return s.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return s.Emitter}});const o=n(6368);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return o.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return o.CancellationToken}});const a=n(5132);Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return a.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return a.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return a.ReadableStreamMessageReader}});const l=n(8633);Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const c=n(3467);Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return c.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return c.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return c.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return c.createMessageConnection}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return c.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return c.Trace}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return c.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return c.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return c.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return c.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return c.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return c.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return c.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return c.CancellationStrategy}});const u=n(9872);t.RAL=u.default},6368:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const i=n(9872),r=n(5306),s=n(2479);var o;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),e.is=function(t){const n=t;return n&&(n===e.None||n===e.Cancelled||r.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(o=t.CancellationToken||(t.CancellationToken={}));const a=Object.freeze((function(e,t){const n=i.default().timer.setTimeout(e.bind(t),0);return{dispose(){i.default().timer.clearTimeout(n)}}}));class l{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new s.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}t.CancellationTokenSource=class{get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=o.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=o.None}}},3467:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.NullLogger=t.ProgressType=void 0;const i=n(9872),r=n(5306),s=n(9263),o=n(3820),a=n(2479),l=n(6368);var c,u,p,d,h,m,f,g,y,_,v,T,b;!function(e){e.type=new s.NotificationType("$/cancelRequest")}(c||(c={})),function(e){e.type=new s.NotificationType("$/progress")}(u||(u={})),t.ProgressType=class{constructor(){}},function(e){e.is=function(e){return r.func(e)}}(p||(p={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(d=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){if(!r.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(d=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(h=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new s.NotificationType("$/setTrace")}(m=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new s.NotificationType("$/logTrace")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(g=t.ConnectionErrors||(t.ConnectionErrors={}));class I extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,I.prototype)}}t.ConnectionError=I,function(e){e.is=function(e){const t=e;return t&&r.func(t.cancelUndispatched)}}(y=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new l.CancellationTokenSource}),e.is=function(e){const t=e;return t&&r.func(t.createCancellationTokenSource)}}(_=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation(e,t){e.sendNotification(c.type,{id:t})},cleanup(e){}}),e.is=function(e){const t=e;return t&&r.func(t.sendCancellation)&&r.func(t.cleanup)}}(v=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:_.Message,sender:v.Message}),e.is=function(e){const t=e;return t&&_.is(t.receiver)&&v.is(t.sender)}}(T=t.CancellationStrategy||(t.CancellationStrategy={})),(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(T.is(t.cancellationStrategy)||y.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(b||(b={})),t.createMessageConnection=function(e,n,y,_){const v=void 0!==y?y:t.NullLogger;let S=0,x=0,C=0;const w="2.0";let E;const k=Object.create(null);let D;const A=Object.create(null),P=new Map;let R,F,N=new o.LinkedMap,M=Object.create(null),O=Object.create(null),L=d.Off,U=h.Text,V=b.New;const q=new a.Emitter,B=new a.Emitter,W=new a.Emitter,j=new a.Emitter,z=new a.Emitter,$=_&&_.cancellationStrategy?_.cancellationStrategy:T.Message;function H(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function G(e){}function K(){return V===b.Listening}function J(){return V===b.Closed}function Y(){return V===b.Disposed}function Q(){V!==b.New&&V!==b.Listening||(V=b.Closed,B.fire(void 0))}function Z(){R||0===N.size||(R=i.default().timer.setImmediate((()=>{R=void 0,function(){if(0===N.size)return;const e=N.shift();try{s.isRequestMessage(e)?function(e){if(Y())return;function t(t,i,r){const o={jsonrpc:w,id:e.id};t instanceof s.ResponseError?o.error=t.toJson():o.result=void 0===t?null:t,ee(o,i,r),n.write(o)}function i(t,i,r){const s={jsonrpc:w,id:e.id,error:t.toJson()};ee(s,i,r),n.write(s)}!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Received request '${e.method} - (${e.id})'.`,t)}else te("receive-request",e)}(e);const o=k[e.method];let a,l;o&&(a=o.type,l=o.handler);const c=Date.now();if(l||E){const o=String(e.id),u=$.receiver.createCancellationTokenSource(o);O[o]=u;try{let p;if(l)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but recevied none.`),e.method,c);p=l(u.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byName)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,c);p=l(...e.params,u.token)}else{if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byPosition)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,c);p=l(e.params,u.token)}else E&&(p=E(e.method,e.params,u.token));const d=p;p?d.then?d.then((n=>{delete O[o],t(n,e.method,c)}),(t=>{delete O[o],t instanceof s.ResponseError?i(t,e.method,c):t&&r.string(t.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)})):(delete O[o],t(p,e.method,c)):(delete O[o],function(t,i,r){void 0===t&&(t=null);const s={jsonrpc:w,id:e.id,result:t};ee(s,i,r),n.write(s)}(p,e.method,c))}catch(n){delete O[o],n instanceof s.ResponseError?t(n,e.method,c):n&&r.string(n.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else i(new s.ResponseError(s.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):s.isNotificationMessage(e)?function(e){if(Y())return;let t,n;if(e.method===c.type.method)n=e=>{const t=e.id,n=O[String(t)];n&&n.cancel()};else{const i=A[e.method];i&&(n=i.handler,t=i.type)}if(n||D)try{!function(e){if(L!==d.Off&&F&&e.method!==f.type.method)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Received notification '${e.method}'.`,t)}else te("receive-notification",e)}(e),n?void 0===e.params?(void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but recevied none.`),n()):Array.isArray(e.params)?(void 0!==t&&(t.parameterStructures===s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${e.params.length} argumennts`)),n(...e.params)):(void 0!==t&&t.parameterStructures===s.ParameterStructures.byPosition&&v.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params)):D&&D(e.method,e.params)}catch(t){t.message?v.error(`Notification handler '${e.method}' failed with message: ${t.message}`):v.error(`Notification handler '${e.method}' failed unexpectedly.`)}else W.fire(e)}(e):s.isResponseMessage(e)?function(e){if(!Y())if(null===e.id)e.error?v.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):v.error("Received response message without id. No further error information provided.");else{const t=String(e.id),n=M[t];if(function(e,t){if(L!==d.Off&&F)if(U===h.Text){let n;if(L===d.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),t){const i=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";F.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${i}`,n)}else F.log(`Received response ${e.id} without active response promise.`,n)}else te("receive-response",e)}(e,n),n){delete M[t];try{if(e.error){const t=e.error;n.reject(new s.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");n.resolve(e.result)}}catch(e){e.message?v.error(`Response handler '${n.method}' failed with message: ${e.message}`):v.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void v.error("Received empty message.");v.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(r.string(t.id)||r.number(t.id)){const e=String(t.id),n=M[e];n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{Z()}}()})))}e.onClose(Q),e.onError((function(e){q.fire([e,void 0,void 0])})),n.onClose(Q),n.onError((function(e){q.fire(e)}));const X=e=>{try{if(s.isNotificationMessage(e)&&e.method===c.type.method){const t=H(e.params.id),i=N.get(t);if(s.isRequestMessage(i)){const r=null==_?void 0:_.connectionStrategy,s=r&&r.cancelUndispatched?r.cancelUndispatched(i,G):void 0;if(s&&(void 0!==s.error||void 0!==s.result))return N.delete(t),s.id=i.id,ee(s,e.method,Date.now()),void n.write(s)}}!function(e,t){var n;s.isRequestMessage(t)?e.set(H(t.id),t):s.isResponseMessage(t)?e.set(null===(n=t.id)?"res-unknown-"+(++C).toString():"res-"+n.toString(),t):e.set("not-"+(++x).toString(),t)}(N,e)}finally{Z()}};function ee(e,t,n){if(L!==d.Off&&F)if(U===h.Text){let i;L===d.Verbose&&(e.error&&e.error.data?i=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?i=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),F.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,i)}else te("send-response",e)}function te(e,t){if(!F||L===d.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};F.log(n)}function ne(){if(J())throw new I(g.Closed,"Connection is closed.");if(Y())throw new I(g.Disposed,"Connection is disposed.")}function ie(e){return void 0===e?null:e}function re(e){return null===e?void 0:e}function se(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function oe(e,t){switch(e){case s.ParameterStructures.auto:return se(t)?re(t):[ie(t)];case s.ParameterStructures.byName:if(!se(t))throw new Error("Recevied parameters by name but param is not an object literal.");return re(t);case s.ParameterStructures.byPosition:return[ie(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function ae(e,t){let n;const i=e.numberOfParams;switch(i){case 0:n=void 0;break;case 1:n=oe(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,o;if(ne(),r.string(e)){i=e;const n=t[0];let r=0,a=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(r=1,a=n);let l=t.length;const c=l-r;switch(c){case 0:o=void 0;break;case 1:o=oe(a,t[r]);break;default:if(a===s.ParameterStructures.byName)throw new Error(`Recevied ${c} parameters for 'by Name' notification parameter structure.`);o=t.slice(r,l).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n)}const a={jsonrpc:w,method:i,params:o};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Sending notification '${e.method}'.`,t)}else te("send-notification",e)}(a),n.write(a)},onNotification:(e,t)=>{let n;return ne(),r.func(e)?D=e:t&&(r.string(e)?(n=e,A[e]={type:void 0,handler:t}):(n=e.method,A[e.method]={type:e,handler:t})),{dispose:()=>{void 0!==n?delete A[n]:D=void 0}}},onProgress:(e,t,n)=>{if(P.has(t))throw new Error(`Progress handler for token ${t} already registered`);return P.set(t,n),{dispose:()=>{P.delete(t)}}},sendProgress:(e,t,n)=>{le.sendNotification(u.type,{token:t,value:n})},onUnhandledProgress:j.event,sendRequest:(e,...t)=>{let i,o,a;if(ne(),function(){if(!K())throw new Error("Call listen() first.")}(),r.string(e)){i=e;const n=t[0],r=t[t.length-1];let c=0,u=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(c=1,u=n);let p=t.length;l.CancellationToken.is(r)&&(p-=1,a=r);const d=p-c;switch(d){case 0:o=void 0;break;case 1:o=oe(u,t[c]);break;default:if(u===s.ParameterStructures.byName)throw new Error(`Recevied ${d} parameters for 'by Name' request parameter structure.`);o=t.slice(c,p).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n);const r=e.numberOfParams;a=l.CancellationToken.is(n[r])?n[r]:void 0}const c=S++;let u;return a&&(u=a.onCancellationRequested((()=>{$.sender.sendCancellation(le,c)}))),new Promise(((e,t)=>{const r={jsonrpc:w,id:c,method:i,params:o};let a={method:i,timerStart:Date.now(),resolve:t=>{e(t),$.sender.cleanup(c),null==u||u.dispose()},reject:e=>{t(e),$.sender.cleanup(c),null==u||u.dispose()}};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Sending request '${e.method} - (${e.id})'.`,t)}else te("send-request",e)}(r);try{n.write(r)}catch(e){a.reject(new s.ResponseError(s.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(M[String(c)]=a)}))},onRequest:(e,t)=>{ne();let n=null;return p.is(e)?(n=void 0,E=e):r.string(e)?(n=null,void 0!==t&&(n=e,k[e]={handler:t,type:void 0})):void 0!==t&&(n=e.method,k[e.method]={type:e,handler:t}),{dispose:()=>{null!==n&&(void 0!==n?delete k[n]:E=void 0)}}},trace:(e,t,n)=>{let i=!1,s=h.Text;void 0!==n&&(r.boolean(n)?i=n:(i=n.sendNotification||!1,s=n.traceFormat||h.Text)),L=e,U=s,F=L===d.Off?void 0:t,!i||J()||Y()||le.sendNotification(m.type,{value:d.toString(e)})},onError:q.event,onClose:B.event,onUnhandledNotification:W.event,onDispose:z.event,end:()=>{n.end()},dispose:()=>{if(Y())return;V=b.Disposed,z.fire(void 0);const t=new Error("Connection got disposed.");Object.keys(M).forEach((e=>{M[e].reject(t)})),M=Object.create(null),O=Object.create(null),N=new o.LinkedMap,r.func(n.dispose)&&n.dispose(),r.func(e.dispose)&&e.dispose()},listen:()=>{ne(),function(){if(K())throw new I(g.AlreadyListening,"Connection is already listening")}(),V=b.Listening,e.listen(X)},inspect:()=>{i.default().console.log("inspect")}};return le.onNotification(f.type,(e=>{L!==d.Off&&F&&F.log(e.message,L===d.Verbose?e.verbose:void 0)})),le.onNotification(u.type,(e=>{const t=P.get(e.token);t?t(e.value):j.fire(e)})),le}},4469:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},2479:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const i=n(9872);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class r{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let i=0,r=this._callbacks.length;i{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=s._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=s,s._noop=function(){}},5306:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))}},3820:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class i{constructor(){this[Symbol.toStringTag]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let r=this._map.get(e);if(r)r.value=t,i!==n.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(r);break;case n.First:this.addItemFirst(r);break;case n.Last:default:this.addItemLast(r)}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}t.LinkedMap=i,t.LRUCache=class extends i{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},9053:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0,t.AbstractMessageBuffer=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(0===this._chunks.length)return;let e=0,t=0,n=0,i=0;e:for(;tthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],n=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,n}const t=this.allocNative(e);let n=0;for(;e>0;){const i=this._chunks[0];if(i.byteLength>e){const r=i.slice(0,e);t.set(r,n),n+=e,this._chunks[0]=i.slice(e),this._totalLength-=e,e-=e}else t.set(i,n),n+=i.byteLength,this._chunks.shift(),this._totalLength-=i.byteLength,e-=i.byteLength}return t}}},5132:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const i=n(9872),r=n(5306),s=n(2479);var o;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&r.func(t.listen)&&r.func(t.dispose)&&r.func(t.onError)&&r.func(t.onClose)&&r.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter,this.partialMessageEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,function(e){e.fromOptions=function(e){var t;let n,r;const s=new Map;let o;const a=new Map;if(void 0===e||"string"==typeof e)n=null!=e?e:"utf-8";else{if(n=null!==(t=e.charset)&&void 0!==t?t:"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,s.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)s.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(o=e.contentTypeDecoder,a.set(o.name,o)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)a.set(t.name,t)}return void 0===o&&(o=i.default().applicationJson.decoder,a.set(o.name,o)),{charset:n,contentDecoder:r,contentDecoders:s,contentTypeDecoder:o,contentTypeDecoders:a}}}(o||(o={})),t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=o.fromOptions(t),this.buffer=i.default().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;const t=this.readable.onData((e=>{this.onData(e)}));return this.readable.onError((e=>this.fireError(e))),this.readable.onClose((()=>this.fireClose())),t}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){const e=this.buffer.tryReadHeaders();if(!e)return;const t=e.get("Content-Length");if(!t)throw new Error("Header must provide a Content-Length property.");const n=parseInt(t);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();let t;this.clearPartialMessageTimer(),this.nextMessageLength=-1,t=void 0!==this.options.contentDecoder?this.options.contentDecoder.decode(e):Promise.resolve(e),t.then((e=>{this.options.contentTypeDecoder.decode(e,this.options).then((e=>{this.callback(e)}),(e=>{this.fireError(e)}))}),(e=>{this.fireError(e)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(i.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=i.default().timer.setTimeout(((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}},8633:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const i=n(9872),r=n(5306),s=n(3360),o=n(2479);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&r.func(t.dispose)&&r.func(t.onClose)&&r.func(t.onError)&&r.func(t.write)};class l{constructor(){this.errorEmitter=new o.Emitter,this.closeEmitter=new o.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=l,function(e){e.fromOptions=function(e){var t,n;return void 0===e||"string"==typeof e?{charset:null!=e?e:"utf-8",contentTypeEncoder:i.default().applicationJson.encoder}:{charset:null!==(t=e.charset)&&void 0!==t?t:"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:null!==(n=e.contentTypeEncoder)&&void 0!==n?n:i.default().applicationJson.encoder}}}(a||(a={})),t.WriteableStreamMessageWriter=class extends l{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new s.Semaphore(1),this.writable.onError((e=>this.fireError(e))),this.writable.onClose((()=>this.fireClose()))}async write(e){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(e,this.options).then((e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e)).then((t=>{const n=[];return n.push("Content-Length: ",t.byteLength.toString(),"\r\n"),n.push("\r\n"),this.doWrite(e,n,t)}),(e=>{throw this.fireError(e),e}))))}async doWrite(e,t,n){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(n)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}},9263:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseMessage=t.isNotificationMessage=t.isRequestMessage=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;const i=n(5306);var r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=e.jsonrpcReservedErrorRangeStart,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=e.jsonrpcReservedErrorRangeEnd}(r=t.ErrorCodes||(t.ErrorCodes={}));class s extends Error{constructor(e,t,n){super(t),this.code=i.number(e)?e:r.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,s.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=s;class o{constructor(e){this.kind=e}static is(e){return e===o.auto||e===o.byName||e===o.byPosition}toString(){return this.kind}}t.ParameterStructures=o,o.auto=new o("auto"),o.byPosition=new o("byPosition"),o.byName=new o("byName");class a{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return o.auto}}t.AbstractMessageSignature=a,t.RequestType0=class extends a{constructor(e){super(e,0)}},t.RequestType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends a{constructor(e){super(e,2)}},t.RequestType3=class extends a{constructor(e){super(e,3)}},t.RequestType4=class extends a{constructor(e){super(e,4)}},t.RequestType5=class extends a{constructor(e){super(e,5)}},t.RequestType6=class extends a{constructor(e){super(e,6)}},t.RequestType7=class extends a{constructor(e){super(e,7)}},t.RequestType8=class extends a{constructor(e){super(e,8)}},t.RequestType9=class extends a{constructor(e){super(e,9)}},t.NotificationType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends a{constructor(e){super(e,0)}},t.NotificationType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends a{constructor(e){super(e,2)}},t.NotificationType3=class extends a{constructor(e){super(e,3)}},t.NotificationType4=class extends a{constructor(e){super(e,4)}},t.NotificationType5=class extends a{constructor(e){super(e,5)}},t.NotificationType6=class extends a{constructor(e){super(e,6)}},t.NotificationType7=class extends a{constructor(e){super(e,7)}},t.NotificationType8=class extends a{constructor(e){super(e,8)}},t.NotificationType9=class extends a{constructor(e){super(e,9)}},t.isRequestMessage=function(e){const t=e;return t&&i.string(t.method)&&(i.string(t.id)||i.number(t.id))},t.isNotificationMessage=function(e){const t=e;return t&&i.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(i.string(t.id)||i.number(t.id)||null===t.id)}},9872:(e,t)=>{"use strict";let n;function i(){if(void 0===n)throw new Error("No runtime abstraction layer installed");return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(i||(i={})),t.default=i},3360:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const i=n(9872);t.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&i.default().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}},9290:(e,t,n)=>{"use strict";e.exports=n(2477)},2477:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const s=n(2797);r(n(2797),t),r(n(6156),t),t.createProtocolConnection=function(e,t,n,i){return s.createMessageConnection(e,t,n,i)}},6156:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(n(3374),t),r(n(5269),t),r(n(9368),t),r(n(8253),t);var s,o=n(2213);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return o.createProtocolConnection}}),(s=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800},2213:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const i=n(3374);t.createProtocolConnection=function(e,t,n,r){return i.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),i.createMessageConnection(e,t,n,r)}},9368:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=void 0;const i=n(3374);t.RegistrationType=class{constructor(e){this.method=e}};class r extends i.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=r;class s extends i.RequestType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolRequestType=s;class o extends i.NotificationType0{constructor(e){super(e)}}t.ProtocolNotificationType0=o;class a extends i.NotificationType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolNotificationType=a},7350:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const i=n(9368);var r,s,o;(o=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",o.type=new i.ProtocolRequestType(o.method),(s=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",s.type=new i.ProtocolRequestType(s.method),(r=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",r.type=new i.ProtocolRequestType(r.method)},7994:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const i=n(9368);var r;(r=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",r.type=new i.ProtocolRequestType(r.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new i.ProtocolRequestType("textDocument/colorPresentation")},6139:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const i=n(9368);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new i.ProtocolRequestType("workspace/configuration")},8746:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const i=n(9368);var r;(r=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",r.type=new i.ProtocolRequestType(r.method)},5580:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;const i=n(9368);var r,s,o,a,l,c,u;(u=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",u.folder="folder",(c=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",c.type=new i.ProtocolRequestType(c.method),(l=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",l.type=new i.ProtocolNotificationType(l.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new i.ProtocolRequestType(a.method),(o=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",o.type=new i.ProtocolNotificationType(o.method),(s=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",s.type=new i.ProtocolNotificationType(s.method),(r=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",r.type=new i.ProtocolRequestType(r.method)},3996:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=t.FoldingRangeKind=void 0;const i=n(9368);var r,s;(s=t.FoldingRangeKind||(t.FoldingRangeKind={})).Comment="comment",s.Imports="imports",s.Region="region",(r=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",r.type=new i.ProtocolRequestType(r.method)},487:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const i=n(9368);var r;(r=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",r.type=new i.ProtocolRequestType(r.method)},8253:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeError=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.DocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=void 0;const i=n(2524),r=n(9368),s=n(487);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return s.ImplementationRequest}});const o=n(4951);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return o.TypeDefinitionRequest}});const a=n(1618);Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const l=n(6139);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return l.ConfigurationRequest}});const c=n(7994);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=n(3996);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}});const p=n(8746);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return p.DeclarationRequest}});const d=n(9998);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const h=n(9784);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return h.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return h.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return h.WorkDoneProgressCancelNotification}});const m=n(7350);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return m.CallHierarchyPrepareRequest}});const f=n(7614);Object.defineProperty(t,"SemanticTokenTypes",{enumerable:!0,get:function(){return f.SemanticTokenTypes}}),Object.defineProperty(t,"SemanticTokenModifiers",{enumerable:!0,get:function(){return f.SemanticTokenModifiers}}),Object.defineProperty(t,"SemanticTokens",{enumerable:!0,get:function(){return f.SemanticTokens}}),Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return f.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return f.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return f.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return f.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return f.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return f.SemanticTokensRegistrationType}});const g=n(5636);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return g.ShowDocumentRequest}});const y=n(7036);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return y.LinkedEditingRangeRequest}});const _=n(5580);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return _.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return _.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return _.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return _.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return _.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return _.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return _.WillDeleteFilesRequest}});const v=n(2779);var T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return v.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return v.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return v.MonikerRequest}}),function(e){e.is=function(e){const t=e;return i.string(t.language)||i.string(t.scheme)||i.string(t.pattern)}}(T=t.DocumentFilter||(t.DocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!i.string(t)&&!T.is(t))return!1;return!0}}(b=t.DocumentSelector||(t.DocumentSelector={})),(t.RegistrationRequest||(t.RegistrationRequest={})).type=new r.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new r.ProtocolRequestType("client/unregisterCapability"),(se=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",se.Rename="rename",se.Delete="delete",(re=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",re.Transactional="transactional",re.TextOnlyTransactional="textOnlyTransactional",re.Undo="undo",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&i.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||b.is(t.documentSelector))},(ie=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return i.objectLiteral(t)&&(void 0===t.workDoneProgress||i.boolean(t.workDoneProgress))},ie.hasWorkDoneProgress=function(e){const t=e;return t&&i.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new r.ProtocolRequestType("initialize"),(t.InitializeError||(t.InitializeError={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new r.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new r.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new r.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeConfiguration"),(ne=t.MessageType||(t.MessageType={})).Error=1,ne.Warning=2,ne.Info=3,ne.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new r.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new r.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new r.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new r.ProtocolNotificationType("telemetry/event"),(te=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,te.Full=1,te.Incremental=2,(ee=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",ee.type=new r.ProtocolNotificationType(ee.method),(X=t.TextDocumentContentChangeEvent||(t.TextDocumentContentChangeEvent={})).isIncremental=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},X.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(Z=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",Z.type=new r.ProtocolNotificationType(Z.method),(Q=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",Q.type=new r.ProtocolNotificationType(Q.method),(Y=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",Y.type=new r.ProtocolNotificationType(Y.method),(J=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,J.AfterDelay=2,J.FocusOut=3,(K=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",K.type=new r.ProtocolNotificationType(K.method),(G=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",G.type=new r.ProtocolRequestType(G.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(H=t.FileChangeType||(t.FileChangeType={})).Created=1,H.Changed=2,H.Deleted=3,($=t.WatchKind||(t.WatchKind={})).Create=1,$.Change=2,$.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new r.ProtocolNotificationType("textDocument/publishDiagnostics"),(z=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,z.TriggerCharacter=2,z.TriggerForIncompleteCompletions=3,(j=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",j.type=new r.ProtocolRequestType(j.method),(W=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",W.type=new r.ProtocolRequestType(W.method),(B=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",B.type=new r.ProtocolRequestType(B.method),(q=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,q.TriggerCharacter=2,q.ContentChange=3,(V=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",V.type=new r.ProtocolRequestType(V.method),(U=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",U.type=new r.ProtocolRequestType(U.method),(L=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",L.type=new r.ProtocolRequestType(L.method),(O=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",O.type=new r.ProtocolRequestType(O.method),(M=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",M.type=new r.ProtocolRequestType(M.method),(N=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",N.type=new r.ProtocolRequestType(N.method),(F=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",F.type=new r.ProtocolRequestType(F.method),(R=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",R.type=new r.ProtocolRequestType(R.method),(P=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",P.type=new r.ProtocolRequestType(P.method),(A=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",A.type=new r.ProtocolRequestType(A.method),(D=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",D.type=new r.ProtocolRequestType0(D.method),(k=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",k.type=new r.ProtocolRequestType(k.method),(E=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",E.type=new r.ProtocolRequestType(E.method),(w=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",w.type=new r.ProtocolRequestType(w.method),(C=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",C.type=new r.ProtocolRequestType(C.method),(x=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",x.type=new r.ProtocolRequestType(x.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(S=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",S.type=new r.ProtocolRequestType(S.method),(I=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",I.type=new r.ProtocolRequestType(I.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new r.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new r.ProtocolRequestType("workspace/applyEdit")},7036:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const i=n(9368);var r;(r=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",r.type=new i.ProtocolRequestType(r.method)},2779:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const i=n(9368);var r,s,o;(o=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",o.project="project",o.group="group",o.scheme="scheme",o.global="global",(s=t.MonikerKind||(t.MonikerKind={})).import="import",s.export="export",s.local="local",(r=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",r.type=new i.ProtocolRequestType(r.method)},9784:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const i=n(3374),r=n(9368);var s;(s=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new i.ProgressType,s.is=function(e){return e===s.type},(t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).type=new r.ProtocolRequestType("window/workDoneProgress/create"),(t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).type=new r.ProtocolNotificationType("window/workDoneProgress/cancel")},9998:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const i=n(9368);var r;(r=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",r.type=new i.ProtocolRequestType(r.method)},7614:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=void 0;const i=n(9368);var r,s,o,a,l,c,u;(u=t.SemanticTokenTypes||(t.SemanticTokenTypes={})).namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",(c=t.SemanticTokenModifiers||(t.SemanticTokenModifiers={})).declaration="declaration",c.definition="definition",c.readonly="readonly",c.static="static",c.deprecated="deprecated",c.abstract="abstract",c.async="async",c.modification="modification",c.documentation="documentation",c.defaultLibrary="defaultLibrary",(t.SemanticTokens||(t.SemanticTokens={})).is=function(e){const t=e;return void 0!==t&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(l=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",l.type=new i.RegistrationType(l.method),(a=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",a.type=new i.ProtocolRequestType(a.method),(o=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",o.type=new i.ProtocolRequestType(o.method),(s=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",s.type=new i.ProtocolRequestType(s.method),(r=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",r.type=new i.ProtocolRequestType0(r.method)},5636:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const i=n(9368);var r;(r=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",r.type=new i.ProtocolRequestType(r.method)},4951:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const i=n(9368);var r;(r=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",r.type=new i.ProtocolRequestType(r.method)},1618:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const i=n(9368);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new i.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},2524:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.objectLiteral=function(e){return null!==e&&"object"==typeof e}},5269:(e,t,n)=>{"use strict";var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k;n.r(t),n.d(t,{integer:()=>i,uinteger:()=>r,Position:()=>s,Range:()=>o,Location:()=>a,LocationLink:()=>l,Color:()=>c,ColorInformation:()=>u,ColorPresentation:()=>p,FoldingRangeKind:()=>d,FoldingRange:()=>h,DiagnosticRelatedInformation:()=>m,DiagnosticSeverity:()=>f,DiagnosticTag:()=>g,CodeDescription:()=>y,Diagnostic:()=>_,Command:()=>v,TextEdit:()=>T,ChangeAnnotation:()=>b,ChangeAnnotationIdentifier:()=>I,AnnotatedTextEdit:()=>S,TextDocumentEdit:()=>x,CreateFile:()=>C,RenameFile:()=>w,DeleteFile:()=>E,WorkspaceEdit:()=>k,WorkspaceChange:()=>ae,TextDocumentIdentifier:()=>D,VersionedTextDocumentIdentifier:()=>A,OptionalVersionedTextDocumentIdentifier:()=>P,TextDocumentItem:()=>R,MarkupKind:()=>F,MarkupContent:()=>N,CompletionItemKind:()=>M,InsertTextFormat:()=>O,CompletionItemTag:()=>L,InsertReplaceEdit:()=>U,InsertTextMode:()=>V,CompletionItem:()=>q,CompletionList:()=>B,MarkedString:()=>W,Hover:()=>j,ParameterInformation:()=>z,SignatureInformation:()=>$,DocumentHighlightKind:()=>H,DocumentHighlight:()=>G,SymbolKind:()=>K,SymbolTag:()=>J,SymbolInformation:()=>Y,DocumentSymbol:()=>Q,CodeActionKind:()=>Z,CodeActionContext:()=>X,CodeAction:()=>ee,CodeLens:()=>te,FormattingOptions:()=>ne,DocumentLink:()=>ie,SelectionRange:()=>re,EOL:()=>ce,TextDocument:()=>le}),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647}(i||(i={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647}(r||(r={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=r.MAX_VALUE),t===Number.MAX_VALUE&&(t=r.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.uinteger(t.line)&&ue.uinteger(t.character)}}(s||(s={})),function(e){e.create=function(e,t,n,i){if(ue.uinteger(e)&&ue.uinteger(t)&&ue.uinteger(n)&&ue.uinteger(i))return{start:s.create(e,t),end:s.create(n,i)};if(s.is(e)&&s.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+i+"]")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&s.is(t.start)&&s.is(t.end)}}(o||(o={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(a||(a={})),function(e){e.create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.targetRange)&&ue.string(t.targetUri)&&(o.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(o.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(l||(l={})),function(e){e.create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},e.is=function(e){var t=e;return ue.numberRange(t.red,0,1)&&ue.numberRange(t.green,0,1)&&ue.numberRange(t.blue,0,1)&&ue.numberRange(t.alpha,0,1)}}(c||(c={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return o.is(t.range)&&c.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||T.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,T.is))}}(p||(p={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(d||(d={})),function(e){e.create=function(e,t,n,i,r){var s={startLine:e,endLine:t};return ue.defined(n)&&(s.startCharacter=n),ue.defined(i)&&(s.endCharacter=i),ue.defined(r)&&(s.kind=r),s},e.is=function(e){var t=e;return ue.uinteger(t.startLine)&&ue.uinteger(t.startLine)&&(ue.undefined(t.startCharacter)||ue.uinteger(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.uinteger(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&a.is(t.location)&&ue.string(t.message)}}(m||(m={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(f||(f={})),function(e){e.Unnecessary=1,e.Deprecated=2}(g||(g={})),function(e){e.is=function(e){var t=e;return null!=t&&ue.string(t.href)}}(y||(y={})),function(e){e.create=function(e,t,n,i,r,s){var o={range:e,message:t};return ue.defined(n)&&(o.severity=n),ue.defined(i)&&(o.code=i),ue.defined(r)&&(o.source=r),ue.defined(s)&&(o.relatedInformation=s),o},e.is=function(e){var t,n=e;return ue.defined(n)&&o.is(n.range)&&ue.string(n.message)&&(ue.number(n.severity)||ue.undefined(n.severity))&&(ue.integer(n.code)||ue.string(n.code)||ue.undefined(n.code))&&(ue.undefined(n.codeDescription)||ue.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(ue.string(n.source)||ue.undefined(n.source))&&(ue.undefined(n.relatedInformation)||ue.typedArray(n.relatedInformation,m.is))}}(_||(_={})),function(e){e.create=function(e,t){for(var n=[],i=2;i0&&(r.arguments=n),r},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(v||(v={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&o.is(t.range)}}(T||(T={})),function(e){e.create=function(e,t,n){var i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},e.is=function(e){var t=e;return void 0!==t&&ue.objectLiteral(t)&&ue.string(t.label)&&(ue.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(ue.string(t.description)||void 0===t.description)}}(b||(b={})),function(e){e.is=function(e){return"string"==typeof e}}(I||(I={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return T.is(t)&&(b.is(t.annotationId)||I.is(t.annotationId))}}(S||(S={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&P.is(t.textDocument)&&Array.isArray(t.edits)}}(x||(x={})),function(e){e.create=function(e,t,n){var i={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"create"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(C||(C={})),function(e){e.create=function(e,t,n,i){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),void 0!==i&&(r.annotationId=i),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(w||(w={})),function(e){e.create=function(e,t,n){var i={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"delete"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(E||(E={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return ue.string(e.kind)?C.is(e)||w.is(e)||E.is(e):x.is(e)})))}}(k||(k={}));var D,A,P,R,F,N,M,O,L,U,V,q,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var i,r;if(void 0===n?i=T.insert(e,t):I.is(n)?(r=n,i=S.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.insert(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.replace=function(e,t,n){var i,r;if(void 0===n?i=T.replace(e,t):I.is(n)?(r=n,i=S.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.replace(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.delete=function(e,t){var n,i;if(void 0===t?n=T.del(e):I.is(t)?(i=t,n=S.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(t),n=S.del(e,i)),this.edits.push(n),void 0!==i)return i},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),oe=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(I.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),ae=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new oe(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(x.is(e)){var n=new se(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var i=new se(e.changes[n]);t._textEditChanges[n]=i}))):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(P.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(i=this._textEditChanges[t.uri])){var n={textDocument:t,edits:r=[]};this._workspaceEdit.documentChanges.push(n),i=new se(r,this._changeAnnotations),this._textEditChanges[t.uri]=i}return i}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var i;if(!(i=this._textEditChanges[e])){var r=[];this._workspaceEdit.changes[e]=r,i=new se(r),this._textEditChanges[e]=i}return i},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new oe,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=C.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=C.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e.prototype.renameFile=function(e,t,n,i){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,s,o;if(b.is(n)||I.is(n)?r=n:i=n,void 0===r?s=w.create(e,t,i):(o=I.is(r)?r:this._changeAnnotations.manage(r),s=w.create(e,t,i,o)),this._workspaceEdit.documentChanges.push(s),void 0!==o)return o},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=E.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=E.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(D||(D={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.integer(t.version)}}(A||(A={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.integer(t.version))}}(P||(P={})),function(e){e.create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.integer(t.version)&&ue.string(t.text)}}(R||(R={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(F||(F={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(F||(F={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&F.is(t.kind)&&ue.string(t.value)}}(N||(N={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(M||(M={})),function(e){e.PlainText=1,e.Snippet=2}(O||(O={})),function(e){e.Deprecated=1}(L||(L={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&ue.string(t.newText)&&o.is(t.insert)&&o.is(t.replace)}}(U||(U={})),function(e){e.asIs=1,e.adjustIndentation=2}(V||(V={})),function(e){e.create=function(e){return{label:e}}}(q||(q={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(B||(B={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(W||(W={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(N.is(t.contents)||W.is(t.contents)||ue.typedArray(t.contents,W.is))&&(void 0===e.range||o.is(e.range))}}(j||(j={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(z||(z={})),function(e){e.create=function(e,t){for(var n=[],i=2;i=0;o--){var a=r[o],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=s))throw new Error("Overlapping edit");i=i.substring(0,l)+a.newText+i.substring(c,i.length),s=l}return i}}(le||(le={}));var ue,pe=function(){function e(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,i=0;i0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return s.create(0,e);for(;ne?i=r:n=r+1}var o=n-1;return s.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],i=e.line+1{},get shutdownReceived(){return o},set shutdownReceived(e){o=e},exit:e=>{}};t.createConnection=function(e,t,n,i){let r,o,l,c;return void 0!==e&&"features"===e.__brand&&(r=e,e=t,t=n,n=i),s.ConnectionStrategy.is(e)||s.ConnectionOptions.is(e)?c=e:(o=e,l=t,c=n),s.createConnection((e=>s.createProtocolConnection(o,l,e,c)),a,r)}},8132:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.ProposedFeatures=t.SemanticTokensBuilder=void 0;const s=n(6063);Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return s.SemanticTokensBuilder}}),r(n(2477),t),r(n(1486),t),(t.ProposedFeatures||(t.ProposedFeatures={})).all={__brand:"features"}},7522:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const i=n(2477);t.CallHierarchyFeature=e=>class extends e{get callHierarchy(){return{onPrepare:e=>{this.connection.onRequest(i.CallHierarchyPrepareRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))},onIncomingCalls:e=>{const t=i.CallHierarchyIncomingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=i.CallHierarchyOutgoingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2965:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationFeature=void 0;const i=n(2477),r=n(9079);t.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?r.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let t={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(i.ConfigurationRequest.type,t).then((t=>Array.isArray(e)?t:t[0]))}}},2027:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileOperationsFeature=void 0;const i=n(2477);t.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){this.connection.onNotification(i.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){this.connection.onNotification(i.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){this.connection.onNotification(i.DidDeleteFilesNotification.type,(t=>{e(t)}))}onWillCreateFiles(e){return this.connection.onRequest(i.WillCreateFilesRequest.type,((t,n)=>e(t,n)))}onWillRenameFiles(e){return this.connection.onRequest(i.WillRenameFilesRequest.type,((t,n)=>e(t,n)))}onWillDeleteFiles(e){return this.connection.onRequest(i.WillDeleteFilesRequest.type,((t,n)=>e(t,n)))}}},7891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeFeature=void 0;const i=n(2477);t.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){this.connection.onRequest(i.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}}},6046:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerFeature=void 0;const i=n(2477);t.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=i.MonikerRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},7256:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attachPartialResult=t.ProgressFeature=t.attachWorkDone=void 0;const i=n(2477),r=n(5075);class s{constructor(e,t){this._connection=e,this._token=t,s.Instances.set(this._token,this)}begin(e,t,n,r){let s={kind:"begin",title:e,percentage:t,message:n,cancellable:r};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,s)}report(e,t){let n={kind:"report"};"number"==typeof e?(n.percentage=e,void 0!==t&&(n.message=t)):n.message=e,this._connection.sendProgress(i.WorkDoneProgress.type,this._token,n)}done(){s.Instances.delete(this._token),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}}s.Instances=new Map;class o extends s{constructor(e,t){super(e,t),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}}class a{constructor(){}begin(){}report(){}done(){}}class l extends a{constructor(){super(),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}var c;t.attachWorkDone=function(e,t){if(void 0===t||void 0===t.workDoneToken)return new a;const n=t.workDoneToken;return delete t.workDoneToken,new s(e,n)},t.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){var t;!0===(null===(t=null==e?void 0:e.window)||void 0===t?void 0:t.workDoneProgress)&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,(e=>{let t=s.Instances.get(e.token);(t instanceof o||t instanceof l)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new a:new s(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=r.generateUuid();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new o(this.connection,e)))}return Promise.resolve(new l)}},function(e){e.type=new i.ProgressType}(c||(c={}));class u{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(c.type,this._token,e)}}t.attachPartialResult=function(e,t){if(void 0===t||void 0===t.partialResultToken)return;const n=t.partialResultToken;return delete t.partialResultToken,new u(e,n)}},6063:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensBuilder=t.SemanticTokensFeature=void 0;const i=n(2477);t.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{on:e=>{const t=i.SemanticTokensRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=i.SemanticTokensDeltaRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=i.SemanticTokensRangeRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}},t.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,t,n,i,r){let s=e,o=t;this._dataLen>0&&(s-=this._prevLine,0===s&&(o-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=o,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=r,this._prevLine=e,this._prevChar=t}get id(){return this._id.toString()}previousResult(e){this.id===e&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return void 0!==this._prevData}buildEdits(){if(void 0!==this._prevData){const e=this._prevData.length,t=this._data.length;let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.combineFeatures=t.combineLanguagesFeatures=t.combineWorkspaceFeatures=t.combineWindowFeatures=t.combineClientFeatures=t.combineTracerFeatures=t.combineTelemetryFeatures=t.combineConsoleFeatures=t._LanguagesImpl=t.BulkUnregistration=t.BulkRegistration=t.ErrorMessageTracker=t.TextDocuments=void 0;const i=n(2477),r=n(9079),s=n(5075),o=n(7256),a=n(2965),l=n(1252),c=n(7522),u=n(6063),p=n(736),d=n(2027),h=n(7891),m=n(6046);function f(e){if(null!==e)return e}t.TextDocuments=class{constructor(e){this._documents=Object.create(null),this._configuration=e,this._onDidChangeContent=new i.Emitter,this._onDidOpen=new i.Emitter,this._onDidClose=new i.Emitter,this._onDidSave=new i.Emitter,this._onWillSave=new i.Emitter}get onDidChangeContent(){return this._onDidChangeContent.event}get onDidOpen(){return this._onDidOpen.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._documents[e]}all(){return Object.keys(this._documents).map((e=>this._documents[e]))}keys(){return Object.keys(this._documents)}listen(e){e.__textDocumentSync=i.TextDocumentSyncKind.Full,e.onDidOpenTextDocument((e=>{let t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._documents[t.uri]=n;let i=Object.freeze({document:n});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)})),e.onDidChangeTextDocument((e=>{let t=e.textDocument,n=e.contentChanges;if(0===n.length)return;let i=this._documents[t.uri];const{version:r}=t;if(null==r)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);i=this._configuration.update(i,n,r),this._documents[t.uri]=i,this._onDidChangeContent.fire(Object.freeze({document:i}))})),e.onDidCloseTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&(delete this._documents[e.textDocument.uri],this._onDidClose.fire(Object.freeze({document:t})))})),e.onWillSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))})),e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._documents[e.textDocument.uri];return n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]})),e.onDidSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onDidSave.fire(Object.freeze({document:t}))}))}},t.ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(e){let t=this._messages[e];t||(t=0),t++,this._messages[e]=t}sendErrors(e){Object.keys(this._messages).forEach((t=>{e.window.showErrorMessage(t)}))}};class g{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(i.MessageType.Error,e)}warn(e){this.send(i.MessageType.Warning,e)}info(e){this.send(i.MessageType.Info,e)}log(e){this.send(i.MessageType.Log,e)}send(e,t){this._rawConnection&&this._rawConnection.sendNotification(i.LogMessageNotification.type,{type:e,message:t})}}const y=p.ShowDocumentFeature(o.ProgressFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...t){let n={type:i.MessageType.Error,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showWarningMessage(e,...t){let n={type:i.MessageType.Warning,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showInformationMessage(e,...t){let n={type:i.MessageType.Info,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}}));(t.BulkRegistration||(t.BulkRegistration={})).create=function(){return new _};class _{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const n=r.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const i=s.generateUuid();this._registrations.push({id:i,method:n,registerOptions:t||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}}(t.BulkUnregistration||(t.BulkUnregistration={})).create=function(){return new v(void 0,[])};class v{constructor(e,t){this._connection=e,this._unregistrations=new Map,t.forEach((e=>{this._unregistrations.set(e.method,e)}))}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let t of this._unregistrations.values())e.push(t);let t={unregisterations:e};this._connection.sendRequest(i.UnregistrationRequest.type,t).then(void 0,(e=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const t=r.string(e)?e:e.method,n=this._unregistrations.get(t);if(!n)return!1;let s={unregisterations:[n]};return this._connection.sendRequest(i.UnregistrationRequest.type,s).then((()=>{this._unregistrations.delete(t)}),(e=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)})),!0}}class T{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,t,n){return e instanceof _?this.registerMany(e):e instanceof v?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,t,n){const o=r.string(t)?t:t.method,a=s.generateUuid();let l={registrations:[{id:a,method:o,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(i.RegistrationRequest.type,l).then((t=>(e.add({id:a,method:o}),e)),(e=>(this.connection.console.info(`Registering request handler for ${o} failed.`),Promise.reject(e))))}registerSingle2(e,t){const n=r.string(e)?e:e.method,o=s.generateUuid();let a={registrations:[{id:o,method:n,registerOptions:t||{}}]};return this.connection.sendRequest(i.RegistrationRequest.type,a).then((e=>i.Disposable.create((()=>{this.unregisterSingle(o,n)}))),(e=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(e))))}unregisterSingle(e,t){let n={unregisterations:[{id:e,method:t}]};return this.connection.sendRequest(i.UnregistrationRequest.type,n).then(void 0,(t=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)}))}registerMany(e){let t=e.asRegistrationParams();return this.connection.sendRequest(i.RegistrationRequest.type,t).then((()=>new v(this._connection,t.registrations.map((e=>({id:e.id,method:e.method}))))),(e=>(this.connection.console.info("Bulk registration failed."),Promise.reject(e))))}}const b=d.FileOperationsFeature(l.WorkspaceFoldersFeature(a.ConfigurationFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){let t=(n=e)&&n.edit?e:{edit:e};var n;return this.connection.sendRequest(i.ApplyWorkspaceEditRequest.type,t)}})));class I{constructor(){this._trace=i.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,t){this._trace!==i.Trace.Off&&this.connection.sendNotification(i.LogTraceNotification.type,{message:e,verbose:this._trace===i.Trace.Verbose?t:void 0})}}class S{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(i.TelemetryEventNotification.type,e)}}class x{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return o.attachWorkDone(this.connection,e)}attachPartialResultProgress(e,t){return o.attachPartialResult(this.connection,t)}}t._LanguagesImpl=x;const C=m.MonikerFeature(h.LinkedEditingRangeFeature(u.SemanticTokensFeature(c.CallHierarchyFeature(x))));function w(e,t){return function(n){return t(e(n))}}function E(e,t){return function(n){return t(e(n))}}function k(e,t){return function(n){return t(e(n))}}function D(e,t){return function(n){return t(e(n))}}function A(e,t){return function(n){return t(e(n))}}function P(e,t){return function(n){return t(e(n))}}t.combineConsoleFeatures=w,t.combineTelemetryFeatures=E,t.combineTracerFeatures=k,t.combineClientFeatures=D,t.combineWindowFeatures=A,t.combineWorkspaceFeatures=P,t.combineLanguagesFeatures=function(e,t){return function(n){return t(e(n))}},t.combineFeatures=function(e,t){function n(e,t,n){return e&&t?n(e,t):e||t}return{__brand:"features",console:n(e.console,t.console,w),tracer:n(e.tracer,t.tracer,k),telemetry:n(e.telemetry,t.telemetry,E),client:n(e.client,t.client,D),window:n(e.window,t.window,A),workspace:n(e.workspace,t.workspace,P)}},t.createConnection=function(e,t,n){const s=n&&n.console?new(n.console(g)):new g,a=e(s);s.rawAttach(a);const l=n&&n.tracer?new(n.tracer(I)):new I,c=n&&n.telemetry?new(n.telemetry(S)):new S,u=n&&n.client?new(n.client(T)):new T,p=n&&n.window?new(n.window(y)):new y,d=n&&n.workspace?new(n.workspace(b)):new b,h=n&&n.languages?new(n.languages(C)):new C,m=[s,l,c,u,p,d,h];function f(e){return e instanceof Promise?e:r.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}let _,v,x,w={listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(r.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(e,t),sendNotification:(e,t)=>{const n=r.string(e)?e:e.method;1===arguments.length?a.sendNotification(n):a.sendNotification(n,t)},onNotification:(e,t)=>a.onNotification(e,t),onProgress:a.onProgress,sendProgress:a.sendProgress,onInitialize:e=>v=e,onInitialized:e=>a.onNotification(i.InitializedNotification.type,e),onShutdown:e=>_=e,onExit:e=>x=e,get console(){return s},get telemetry(){return c},get tracer(){return l},get client(){return u},get window(){return p},get workspace(){return d},get languages(){return h},onDidChangeConfiguration:e=>a.onNotification(i.DidChangeConfigurationNotification.type,e),onDidChangeWatchedFiles:e=>a.onNotification(i.DidChangeWatchedFilesNotification.type,e),__textDocumentSync:void 0,onDidOpenTextDocument:e=>a.onNotification(i.DidOpenTextDocumentNotification.type,e),onDidChangeTextDocument:e=>a.onNotification(i.DidChangeTextDocumentNotification.type,e),onDidCloseTextDocument:e=>a.onNotification(i.DidCloseTextDocumentNotification.type,e),onWillSaveTextDocument:e=>a.onNotification(i.WillSaveTextDocumentNotification.type,e),onWillSaveTextDocumentWaitUntil:e=>a.onRequest(i.WillSaveTextDocumentWaitUntilRequest.type,e),onDidSaveTextDocument:e=>a.onNotification(i.DidSaveTextDocumentNotification.type,e),sendDiagnostics:e=>a.sendNotification(i.PublishDiagnosticsNotification.type,e),onHover:e=>a.onRequest(i.HoverRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onCompletion:e=>a.onRequest(i.CompletionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCompletionResolve:e=>a.onRequest(i.CompletionResolveRequest.type,e),onSignatureHelp:e=>a.onRequest(i.SignatureHelpRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDeclaration:e=>a.onRequest(i.DeclarationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDefinition:e=>a.onRequest(i.DefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onTypeDefinition:e=>a.onRequest(i.TypeDefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onImplementation:e=>a.onRequest(i.ImplementationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onReferences:e=>a.onRequest(i.ReferencesRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentHighlight:e=>a.onRequest(i.DocumentHighlightRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentSymbol:e=>a.onRequest(i.DocumentSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onWorkspaceSymbol:e=>a.onRequest(i.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeAction:e=>a.onRequest(i.CodeActionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeActionResolve:e=>a.onRequest(i.CodeActionResolveRequest.type,((t,n)=>e(t,n))),onCodeLens:e=>a.onRequest(i.CodeLensRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeLensResolve:e=>a.onRequest(i.CodeLensResolveRequest.type,((t,n)=>e(t,n))),onDocumentFormatting:e=>a.onRequest(i.DocumentFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentRangeFormatting:e=>a.onRequest(i.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentOnTypeFormatting:e=>a.onRequest(i.DocumentOnTypeFormattingRequest.type,((t,n)=>e(t,n))),onRenameRequest:e=>a.onRequest(i.RenameRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onPrepareRename:e=>a.onRequest(i.PrepareRenameRequest.type,((t,n)=>e(t,n))),onDocumentLinks:e=>a.onRequest(i.DocumentLinkRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentLinkResolve:e=>a.onRequest(i.DocumentLinkResolveRequest.type,((t,n)=>e(t,n))),onDocumentColor:e=>a.onRequest(i.DocumentColorRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onColorPresentation:e=>a.onRequest(i.ColorPresentationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onFoldingRanges:e=>a.onRequest(i.FoldingRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onSelectionRanges:e=>a.onRequest(i.SelectionRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onExecuteCommand:e=>a.onRequest(i.ExecuteCommandRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),dispose:()=>a.dispose()};for(let e of m)e.attach(w);return a.onRequest(i.InitializeRequest.type,(e=>{t.initialize(e),r.string(e.trace)&&(l.trace=i.Trace.fromString(e.trace));for(let t of m)t.initialize(e.capabilities);if(v)return f(v(e,(new i.CancellationTokenSource).token,o.attachWorkDone(a,e),void 0)).then((e=>{if(e instanceof i.ResponseError)return e;let t=e;t||(t={capabilities:{}});let n=t.capabilities;n||(n={},t.capabilities=n),void 0===n.textDocumentSync||null===n.textDocumentSync?n.textDocumentSync=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None:r.number(n.textDocumentSync)||r.number(n.textDocumentSync.change)||(n.textDocumentSync.change=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None);for(let e of m)e.fillServerCapabilities(n);return t}));{let e={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let t of m)t.fillServerCapabilities(e.capabilities);return e}})),a.onRequest(i.ShutdownRequest.type,(()=>(t.shutdownReceived=!0,_?_((new i.CancellationTokenSource).token):void 0))),a.onNotification(i.ExitNotification.type,(()=>{try{x&&x()}finally{t.shutdownReceived?t.exit(0):t.exit(1)}})),a.onNotification(i.SetTraceNotification.type,(e=>{l.trace=i.Trace.fromString(e.value)})),w}},736:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentFeature=void 0;const i=n(2477);t.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(i.ShowDocumentRequest.type,e)}}},9079:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.thenable=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=i,t.array=r,t.stringArray=function(e){return r(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&i(e.then)}},5075:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateUuid=t.parse=t.isUUID=t.v4=t.empty=void 0;class n{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}}class i extends n{constructor(){super([i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-","4",i._randomHex(),i._randomHex(),i._randomHex(),"-",i._oneOf(i._timeHighBits),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return i._oneOf(i._chars)}}function r(){return new i}i._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],i._timeHighBits=["8","9","a","b"],t.empty=new n("00000000-0000-0000-0000-000000000000"),t.v4=r;const s=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function o(e){return s.test(e)}t.isUUID=o,t.parse=function(e){if(!o(e))throw new Error("invalid uuid");return new n(e)},t.generateUuid=function(){return r().asHex()}},1252:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=void 0;const i=n(2477);t.WorkspaceFoldersFeature=e=>class extends e{initialize(e){let t=e.workspace;t&&t.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new i.Emitter,this.connection.onNotification(i.DidChangeWorkspaceFoldersNotification.type,(e=>{this._onDidChangeWorkspaceFolders.fire(e.event)})))}getWorkspaceFolders(){return this.connection.sendRequest(i.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return this._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},6395:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"annotatedParamCountMismatch":"Parameter annotation count mismatch: expected {expected} but received {received}","annotatedTypeArgMissing":"Expected one type argument and one or more annotations for \\"Annotated\\"","annotationFormatString":"Type annotations cannot use format string literals (f-strings)","annotationNotSupported":"Type annotation not supported for this type of expression","annotationSpansStrings":"Type annotations cannot span multiple string literals","annotationStringEscape":"Type annotations cannot contain escape characters","argAssignment":"Argument of type \\"{argType}\\" cannot be assigned to parameter of type \\"{paramType}\\"","argAssignmentFunction":"Argument of type \\"{argType}\\" cannot be assigned to parameter of type \\"{paramType}\\" in function \\"{functionName}\\"","argAssignmentParam":"Argument of type \\"{argType}\\" cannot be assigned to parameter \\"{paramName}\\" of type \\"{paramType}\\"","argAssignmentParamFunction":"Argument of type \\"{argType}\\" cannot be assigned to parameter \\"{paramName}\\" of type \\"{paramType}\\" in function \\"{functionName}\\"","argMissingForParam":"Argument missing for parameter {name}","argMissingForParams":"Arguments missing for parameters {names}","argMorePositionalExpectedCount":"Expected {expected} more positional arguments","argMorePositionalExpectedOne":"Expected 1 more positional argument","argPositional":"Expected positional argument","argPositionalExpectedCount":"Expected {expected} positional arguments","argPositionalExpectedOne":"Expected 1 positional argument","argTypePartiallyUnknown":"Argument type is partially unknown","argTypeUnknown":"Argument type is unknown","assertAlwaysTrue":"Assert expression always evaluates to true","assignmentExprContext":"Assignment expression must be within module, function or lambda","assignmentExprComprehension":"Assignment expression target \\"{name}\\" cannot use same name as comprehension for target","assignmentInProtocol":"Instance or class variables within a Protocol class must be explicitly declared within the class body","assignmentExprInSubscript":"Assignment expressions within a subscript are supported only in Python 3.10 and newer","assignmentTargetExpr":"Expression cannot be assignment target","asyncNotInAsyncFunction":"Use of \\"async\\" not allowed outside of async function","awaitIllegal":"Use of \\"await\\" requires Python 3.5 or newer","awaitNotInAsync":"\\"await\\" allowed only within async function","backticksIllegal":"Expressions surrounded by backticks are not supported in Python 3.x; use repr instead","baseClassCircular":"Class cannot derive from itself","baseClassFinal":"Base class \\"{type}\\" is marked final and cannot be subclassed","baseClassInvalid":"Argument to class must be a base class","baseClassMethodTypeIncompatible":"Base classes for class \\"{classType}\\" define method \\"{name}\\" in incompatible way","baseClassUnknown":"Base class type is unknown, obscuring type of derived class","bindTypeMismatch":"Could not bind method \\"{methodName}\\" because \\"{type}\\" is not assignable to parameter \\"{paramName}\\"","booleanIsLowerCase":"\\"{name}\\" is not defined, did you mean \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" can be used only within a loop","callableExtraArgs":"Expected only two type arguments to \\"Callable\\"","callableFirstArg":"Expected parameter type list or \\"...\\"","callableSecondArg":"Expected return type as second type argument for \\"Callable\\"","casePatternIsIrrefutable":"Irrefutable pattern is allowed only for the last case statement","classAlreadySpecialized":"Type \\"{type}\\" is already specialized","classDecoratorTypeUnknown":"Untyped class decorator obscures type of class; ignoring decorator","classDefinitionCycle":"Class definition for \\"{name}\\" depends on itself","classGetItemClsParam":"__class_getitem__ override should take a \\"cls\\" parameter","classMethodClsParam":"Class methods should take a \\"cls\\" parameter","classNotRuntimeSubscriptable":"Subscript for class \\"{name}\\" will generate runtime exception; enclose type annotation in quotes","classPatternBuiltInArgCount":"Class pattern accepts at most 1 positional sub-pattern","classPatternBuiltInArgPositional":"Class pattern accepts only positional sub-pattern","classPatternTypeAlias":"\\"{type}\\" cannot be used in a class pattern because it is a specialized type alias","classVarNotAllowed":"\\"ClassVar\\" is not allowed in this context","classVarFirstArgMissing":"Expected a type argument after \\"ClassVar\\"","classVarOverridesInstanceVar":"Class variable \\"{name}\\" overrides instance variable of same name in class \\"{className}\\"","classVarTooManyArgs":"Expected only one type argument after \\"ClassVar\\"","classVarWithTypeVar":"\\"ClassVar\\" type cannot include type variables","clsSelfParamTypeMismatch":"Type of parameter \\"{name}\\" must be a supertype of its class \\"{classType}\\"","comparisonAlwaysFalse":"Condition will always evaluate to False since the types \\"{leftType}\\" and \\"{rightType}\\" have no overlap","comparisonAlwaysTrue":"Condition will always evaluate to True since the types \\"{leftType}\\" and \\"{rightType}\\" have no overlap","comprehensionInDict":"Comprehension cannot be used with other dictionary entries","comprehensionInSet":"Comprehension cannot be used with other set entries","concatenateParamSpecMissing":"Last type argument for \\"Concatenate\\" must be a ParamSpec","concatenateTypeArgsMissing":"\\"Concatenate\\" requires at least two type arguments","constantRedefinition":"\\"{name}\\" is constant (because it is uppercase) and cannot be redefined","constructorParametersMismatch":"Mismatch between signature of __new__ and __init__ in class \\"{classType}\\"","continueInFinally":"\\"continue\\" cannot be used within a finally clause","continueOutsideLoop":"\\"continue\\" can be used only within a loop","constructorNoArgs":"Expected no arguments to \\"{type}\\" constructor","dataClassBaseClassNotFrozen":"A frozen class cannot inherit from a class that is not frozen","dataClassFieldWithDefault":"Fields without default values cannot appear after fields with default values","dataClassPostInitParamCount":"Dataclass __post_init__ incorrect parameter count; number of InitVar fields is {expected}","dataClassPostInitType":"Dataclass __post_init__ method parameter type mismatch for field \\"{fieldName}\\"","dataClassSlotsOverwrite":"__slots__ is already defined in class","dataClassTransformExpectedBoolLiteral":"Expected expression that statically evaluates to True or False","dataClassTransformFieldDescriptor":"Expected tuple of classes or functions but received type \\"{type}\\"","dataClassTransformPositionalParam":"All arguments to \\"dataclass_transform\\" must be keyword arguments","dataClassTransformUnknownArgument":"Argument \\"{name}\\" is not supported by dataclass_transform","declaredReturnTypePartiallyUnknown":"Declared return type, \\"{returnType}\\", is partially unknown","declaredReturnTypeUnknown":"Declared return type is unknown","defaultValueContainsCall":"Function calls and mutable objects not allowed within parameter default value expression","defaultValueNotAllowed":"Parameter with \\"*\\" or \\"**\\" cannot have default value","defaultValueNotEllipsis":"Default values in stub files should be specified as \\"...\\"","deprecatedType":"This type is deprecated as of Python {version}; use \\"{replacement}\\" instead","delTargetExpr":"Expression cannot be deleted","dictExpandIllegalInComprehension":"Dictionary expansion not allowed in comprehension","dictInAnnotation":"Dictionary expression not allowed in type annotation","dictKeyValuePairs":"Dictionary entries must contain key/value pairs","dictUnpackIsNotMapping":"Expected mapping for dictionary unpack operator","dunderAllSymbolNotPresent":"\\"{name}\\" is specified in __all__ but is not present in module","duplicateArgsParam":"Only one \\"*\\" parameter allowed","duplicateBaseClass":"Duplicate base class not allowed","duplicateCatchAll":"Only one catch-all except clause allowed","duplicateEnumMember":"Enum member \\"{name}\\" is already declared","duplicateImport":"\\"{importName}\\" is imported more than once","duplicateKwargsParam":"Only one \\"**\\" parameter allowed","duplicateKeywordOnly":"Only one \\"*\\" separator allowed","duplicateParam":"Duplicate parameter \\"{name}\\"","duplicateCapturePatternTarget":"Capture target \\"{name}\\" cannot appear more than once within the same pattern","duplicateStarPattern":"Only one \\"*\\" pattern allowed in a pattern sequence","duplicateStarStarPattern":"Only one \\"**\\" entry allowed","duplicatePositionOnly":"Only one \\"/\\" parameter allowed","duplicateUnpack":"Only one unpack operation allowed in list","ellipsisContext":"\\"...\\" not allowed in this context","ellipsisSecondArg":"\\"...\\" allowed only as the second of two arguments","enumClassOverride":"Enum class \\"{name}\\" is final and cannot be subclassed","exceptionGroupIncompatible":"Exception group syntax (\\"except*\\") requires Python 3.11 or newer","exceptionTypeIncorrect":"\\"{type}\\" does not derive from BaseException","exceptionTypeNotClass":"\\"{type}\\" is not valid exception class","exceptionTypeNotInstantiable":"Constructor for exception type \\"{type}\\" requires one or more arguments","expectedAfterDecorator":"Expected function or class declaration after decorator","expectedArrow":"Expected \\"->\\" followed by return type annotation","expectedAsAfterException":"Expected \\"as\\" after exception type","expectedAssignRightHandExpr":"Expected expression to the right of \\"=\\"","expectedBinaryRightHandExpr":"Expected expression to the right of operator","expectedBoolLiteral":"Expected True or False","expectedCase":"Expected \\"case\\" statement","expectedClassName":"Expected class name","expectedCloseBrace":"\\"{\\" was not closed","expectedCloseBracket":"\\"[\\" was not closed","expectedCloseParen":"\\"(\\" was not closed","expectedColon":"Expected \\":\\"","expectedComplexNumberLiteral":"Expected complex number literal for pattern matching","expectedDecoratorExpr":"Expression form not supported for decorator prior to Python 3.9","expectedDecoratorName":"Expected decorator name","expectedDecoratorNewline":"Expected new line at end of decorator","expectedDelExpr":"Expected expression after \\"del\\"","expectedElse":"Expected \\"else\\"","expectedEqualityOperator":"Expected equality operator, did you mean \\"==\\"?","expectedExceptionClass":"Invalid exception class or object","expectedExceptionObj":"Expected exception object, exception class or None","expectedExpr":"Expected expression","expectedIdentifier":"Expected identifier","expectedImport":"Expected \\"import\\"","expectedImportAlias":"Expected symbol after \\"as\\"","expectedImportSymbols":"Expected one or more symbol names after import","expectedIndentedBlock":"Expected indented block","expectedInExpr":"Expected expression after \\"in\\"","expectedIn":"Expected \\"in\\"","expectedFunctionAfterAsync":"Expected function definition after \\"async\\"","expectedFunctionName":"Expected function name after \\"def\\"","expectedMemberName":"Expected member name after \\".\\"","expectedModuleName":"Expected module name","expectedNameAfterAs":"Expected symbol name after \\"as\\"","expectedNamedParameter":"Keyword parameter must follow \\"*\\"","expectedNewline":"Expected newline","expectedNewlineOrSemicolon":"Statements must be separated by newlines or semicolons","expectedOpenParen":"Expected \\"(\\"","expectedParamName":"Expected parameter name","expectedPatternExpr":"Expected pattern expression","expectedPatternSubjectExpr":"Expected pattern subject expression","expectedPatternValue":"Expected pattern value expression of the form \\"a.b\\"","expectedReturnExpr":"Expected expression after \\"return\\"","expectedSliceIndex":"Expected index or slice expression","expectedTypeNotString":"Expected type but received a string literal","expectedYieldExpr":"Expected expression in yield statement","finalClassIsAbstract":"Class \\"{type}\\" is marked final and must implement all abstract methods","finalContext":"\\"Final\\" not allowed in this context","finalMethodOverride":"Method \\"{name}\\" cannot override final method defined in class \\"{className}\\"","finalReassigned":"\\"{name}\\" is declared as Final and cannot be reassigned","finalRedeclaration":"\\"{name}\\" was previously declared as Final","finalRedeclarationBySubclass":"\\"{name}\\" cannot be redeclared because parent class \\"{className}\\" declares it as Final","finalTooManyArgs":"Expected a single type argument after \\"Final\\"","finalUnassigned":"\\"{name}\\" is declared Final, but value is not assigned","formatStringBrace":"Single close brace not allowed within f-string literal; use double close brace","formatStringBytes":"Format string literals (f-strings) cannot be binary","formatStringEscape":"Escape sequence (backslash) not allowed in expression portion of f-string","formatStringInPattern":"Format string not allowed in pattern","formatStringUnicode":"Format string literals (f-strings) cannot be unicode","formatStringIllegal":"Format string literals (f-strings) require Python 3.6 or newer","formatStringUnterminated":"Unterminated expression in f-string; missing close brace","functionDecoratorTypeUnknown":"Untyped function decorator obscures type of function; ignoring decorator","generatorAsyncReturnType":"Return type of async generator function must be \\"AsyncGenerator\\" or \\"AsyncIterable\\"","generatorNotParenthesized":"Generator expressions must be parenthesized if not sole argument","generatorSyncReturnType":"Return type of generator function must be \\"Generator\\" or \\"Iterable\\"","genericClassAssigned":"Generic class type cannot be assigned","genericClassDeleted":"Generic class type cannot be deleted","genericNotAllowed":"\\"Generic\\" is not valid in this context","genericTypeAliasBoundTypeVar":"Generic type alias within class cannot use bound type variables {names}","genericTypeArgMissing":"\\"Generic\\" requires at least one type argument","genericTypeArgTypeVar":"Type argument for \\"Generic\\" must be a type variable","genericTypeArgUnique":"Type arguments for \\"Generic\\" must be unique","globalReassignment":"\\"{name}\\" is assigned before global declaration","globalRedefinition":"\\"{name}\\" was already declared global","implicitStringConcat":"Implicit string concatenation not allowed","importCycleDetected":"Cycle detected in import chain","importDepthExceeded":"Import chain depth exceeded {depth}","importResolveFailure":"Import \\"{importName}\\" could not be resolved","importSourceResolveFailure":"Import \\"{importName}\\" could not be resolved from source","importSymbolUnknown":"\\"{name}\\" is unknown import symbol in module \\"{moduleName}\\"","incompatibleMethodOverride":"Method \\"{name}\\" overrides class \\"{className}\\" in an incompatible manner","inconsistentIndent":"Unindent amount does not match previous indent","initMustReturnNone":"Return type of \\"__init__\\" must be None","inconsistentTabs":"Inconsistent use of tabs and spaces in indentation","initSubclassClsParam":"__init_subclass__ override should take a \\"cls\\" parameter","instanceMethodSelfParam":"Instance methods should take a \\"self\\" parameter","instanceVarOverridesClassVar":"Instance variable \\"{name}\\" overrides class variable of same name in class \\"{className}\\"","instantiateAbstract":"Cannot instantiate abstract class \\"{type}\\"","instantiateProtocol":"Cannot instantiate protocol class \\"{type}\\"","internalBindError":"An internal error occurred while binding file \\"{file}\\": {message}","internalParseError":"An internal error occurred while parsing file \\"{file}\\": {message}","internalTypeCheckingError":"An internal error occurred while type checking file \\"{file}\\": {message}","invalidIdentifierChar":"Invalid character in identifier","invalidStubStatement":"Statement is meaningless within a type stub file","invalidTokenChars":"Invalid character \\"{text}\\" in token","isInstanceInvalidType":"Second argument to \\"isinstance\\" must be a class or tuple of classes","isSubclassInvalidType":"Second argument to \\"issubclass\\" must be a class or tuple of classes","keyValueInSet":"Key/value pairs are not allowed within a set","keywordArgInTypeArgument":"Keyword arguments cannot be used in type argument lists","keywordOnlyAfterArgs":"Keyword-only argument separator not allowed after \\"*\\" parameter","keywordSubscriptIllegal":"Keyword arguments within subscripts are not supported","lambdaReturnTypeUnknown":"Return type of lambda is unknown","lambdaReturnTypePartiallyUnknown":"Return type of lambda, \\"{returnType}\\", is partially unknown","listAssignmentMismatch":"Expression with type \\"{type}\\" cannot be assigned to target list","listInAnnotation":"List expression not allowed in type annotation","literalUnsupportedType":"Type arguments for \\"Literal\\" must be None, a literal value (int, bool, str, or bytes), or an enum value","literalEmptyArgs":"Expected one or more type arguments after \\"Literal\\"","literalNotCallable":"Literal type cannot be instantiated","matchIncompatible":"Match statements require Python 3.10 or newer","matchIsNotExhaustive":"Cases within match statement do not exhaustively handle all values","maxParseDepthExceeded":"Maximum parse depth exceeded; break expression into smaller sub-expressions","memberAccess":"Cannot access member \\"{name}\\" for type \\"{type}\\"","memberDelete":"Cannot delete member \\"{name}\\" for type \\"{type}\\"","memberSet":"Cannot assign member \\"{name}\\" for type \\"{type}\\"","metaclassConflict":"The metaclass of a derived class must be a subclass of the metaclasses of all its base classes","metaclassDuplicate":"Only one metaclass can be provided","metaclassIsGeneric":"Metaclass cannot be generic","methodNotDefined":"\\"{name}\\" method not defined","methodNotDefinedOnType":"\\"{name}\\" method not defined on type \\"{type}\\"","methodOrdering":"Cannot create consistent method ordering","methodOverridden":"\\"{name}\\" overrides method of same name in class \\"{className}\\" with incompatible type \\"{type}\\"","methodReturnsNonObject":"\\"{name}\\" method does not return an object","missingProtocolMembers":"Class derives from one or more protocol classes but does not implement all required members","missingSuperCall":"Method \\"{methodName}\\" does not call the method of the same name in parent class","moduleAsType":"Module cannot be used as a type","moduleNotCallable":"Module is not callable","moduleUnknownMember":"\\"{name}\\" is not a known member of module \\"{module}\\"","microbitVersionApiUnsupported":"\\"{name}\\" is not supported on a {device}","namedExceptAfterCatchAll":"A named except clause cannot appear after catch-all except clause","namedParamAfterParamSpecArgs":"Keyword parameter \\"{name}\\" cannot appear in signature after ParamSpec args parameter","namedTupleEmptyName":"Names within a named tuple cannot be empty","namedTupleMultipleInheritance":"Multiple inheritance with NamedTuple is not supported","namedTupleFirstArg":"Expected named tuple class name as first argument","namedTupleNameType":"Expected two-entry tuple specifying entry name and type","namedTupleNameUnique":"Names within a named tuple must be unique","namedTupleNoTypes":"\\"namedtuple\\" provides no types for tuple entries; use \\"NamedTuple\\" instead","namedTupleSecondArg":"Expected named tuple entry list as second argument","newClsParam":"__new__ override should take a \\"cls\\" parameter","newTypeLiteral":"NewType cannot be used with Literal type","newTypeNotAClass":"Expected class as second argument to NewType","newTypeProtocolClass":"NewType cannot be used with protocol class","nonDefaultAfterDefault":"Non-default argument follows default argument","noneNotCallable":"Object of type \\"None\\" cannot be called","noneNotIterable":"Object of type \\"None\\" cannot be used as iterable value","noneOperator":"Operator \\"{operator}\\" not supported for \\"None\\"","noneNotSubscriptable":"Object of type \\"None\\" is not subscriptable","noneNotUsableWith":"Object of type \\"None\\" cannot be used with \\"with\\"","noneUnknownMember":"\\"{name}\\" is not a known member of \\"None\\"","nonLocalNoBinding":"No binding for nonlocal \\"{name}\\" found","nonLocalReassignment":"\\"{name}\\" is assigned before nonlocal declaration","nonLocalRedefinition":"\\"{name}\\" was already declared nonlocal","nonLocalInModule":"Nonlocal declaration not allowed at module level","noOverload":"No overloads for \\"{name}\\" match the provided arguments","noReturnContainsReturn":"Function with declared return type \\"NoReturn\\" cannot include a return statement","noReturnContainsYield":"Function with declared return type \\"NoReturn\\" cannot include a yield statement","noReturnReturnsNone":"Function with declared type of \\"NoReturn\\" cannot return \\"None\\"","notRequiredArgCount":"Expected a single type argument after \\"NotRequired\\"","notRequiredNotInTypedDict":"\\"NotRequired\\" is not allowed in this context","objectNotCallable":"Object of type \\"{type}\\" is not callable","obscuredClassDeclaration":"Class declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredFunctionDeclaration":"Function declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredMethodDeclaration":"Method declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredParameterDeclaration":"Parameter declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredVariableDeclaration":"Declaration \\"{name}\\" is obscured by a declaration of the same name","operatorLessOrGreaterDeprecated":"Operator \\"<>\\" is not supported in Python 3; use \\"!=\\" instead","optionalExtraArgs":"Expected one type argument after \\"Optional\\"","orPatternIrrefutable":"Irrefutable pattern allowed only as the last subpattern in an \\"or\\" pattern","orPatternMissingName":"All subpatterns within an \\"or\\" pattern must target the same names","overlappingOverload":"Overload {obscured} for \\"{name}\\" will never be used because its parameters overlap overload {obscuredBy}","overloadAbstractMismatch":"Overloaded methods must all be abstract or not","overloadImplementationMismatch":"Overloaded function implementation is not consistent with signature of overload {index}","overloadReturnTypeMismatch":"Overload {prevIndex} for \\"{name}\\" overlaps overload {newIndex} and returns an incompatible type","overloadWithImplementation":"\\"{name}\\" is marked as overload, but it includes an implementation","overloadWithoutImplementation":"\\"{name}\\" is marked as overload, but no implementation is provided","paramAfterKwargsParam":"Parameter cannot follow \\"**\\" parameter","paramAlreadyAssigned":"Parameter \\"{name}\\" is already assigned","paramAnnotationMissing":"Type annotation is missing for parameter \\"{name}\\"","paramNameMissing":"No parameter named \\"{name}\\"","paramSpecArgsKwargsUsage":"\\"args\\" and \\"kwargs\\" members of ParamSpec must both appear within a function signature","paramSpecArgsUsage":"\\"args\\" member of ParamSpec is valid only when used with *args parameter","paramSpecAssignedName":"ParamSpec must be assigned to a variable named \\"{name}\\"","paramSpecContext":"ParamSpec not allowed in this context","paramSpecFirstArg":"Expected name of ParamSpec as first argument","paramSpecKwargsUsage":"\\"kwargs\\" member of ParamSpec is valid only when used with **kwargs parameter","paramSpecNotBound":"Param spec \\"{type}\\" has no bound value","paramSpecNotUsedByOuterScope":"ParamSpec \\"{name}\\" has no meaning in this context","paramSpecUnknownArg":"ParamSpec does not support more than one argument","paramSpecUnknownMember":"\\"{name}\\" is not a known member of ParamSpec","paramSpecUnknownParam":"\\"{name}\\" is unknown parameter to ParamSpec","paramAssignmentMismatch":"Expression of type \\"{sourceType}\\" cannot be assigned to parameter of type \\"{paramType}\\"","paramTypeCovariant":"Covariant type variable cannot be used in parameter type","paramTypeUnknown":"Type of parameter \\"{paramName}\\" is unknown","paramTypePartiallyUnknown":"Type of parameter \\"{paramName}\\" is partially unknown","parenthesizedContextManagerIllegal":"Parentheses within \\"with\\" statement requires Python 3.9 or newer","positionArgAfterNamedArg":"Positional argument cannot appear after keyword arguments","privateImportFromPyTypedModule":"\\"{name}\\" is not exported from module \\"{module}\\"","positionOnlyAfterArgs":"Position-only argument separator not allowed after \\"*\\" parameter","positionOnlyAfterKeywordOnly":"\\"/\\" parameter must appear before \\"*\\" parameter","positionOnlyIncompatible":"Position-only argument separator requires Python 3.8 or newer","positionOnlyFirstParam":"Position-only argument separator not allowed as first parameter","privateUsedOutsideOfClass":"\\"{name}\\" is private and used outside of the class in which it is declared","privateUsedOutsideOfModule":"\\"{name}\\" is private and used outside of the module in which it is declared","propertyOverridden":"\\"{name}\\" incorrectly overrides property of same name in class \\"{className}\\"","propertyStaticMethod":"Static methods not allowed for property getter, setter or deleter","protectedUsedOutsideOfClass":"\\"{name}\\" is protected and used outside of the class in which it is declared","protocolBaseClass":"Protocol class \\"{classType}\\" cannot derive from non-protocol class \\"{baseType}\\"","protocolIllegal":"Use of \\"Protocol\\" requires Python 3.7 or newer","protocolMemberNotClassVar":"Protocol class \\"{className}\\" does not define \\"{memberName}\\" as a ClassVar","protocolNotAllowedInTypeArgument":"\\"Protocol\\" cannot be used as a type argument","protocolVarianceContravariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be contravariant","protocolVarianceCovariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be covariant","protocolVarianceInvariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be invariant","protocolUsedInCall":"Protocol class cannot be used in \\"{name}\\" call","relativeImportNotAllowed":"Relative imports cannot be used with \\"import .a\\" form; use \\"from . import a\\" instead","recursiveDefinition":"Type of \\"{name}\\" could not be determined because it refers to itself","requiredArgCount":"Expected a single type argument after \\"Required\\"","requiredNotInTypedDict":"\\"Required\\" is not allowed in this context","returnOutsideFunction":"\\"return\\" can be used only within a function","returnMissing":"Function with declared type of \\"{returnType}\\" must return value","returnTypeContravariant":"Contravariant type variable cannot be used in return type","returnTypeMismatch":"Expression of type \\"{exprType}\\" cannot be assigned to return type \\"{returnType}\\"","returnTypeUnknown":"Return type is unknown","returnTypePartiallyUnknown":"Return type, \\"{returnType}\\", is partially unknown","revealLocalsArgs":"Expected no arguments for \\"reveal_locals\\" call","revealLocalsNone":"No locals in this scope","revealTypeArgs":"Expected a single positional argument for \\"reveal_type\\" call","revealTypeExpectedTextArg":"The \\"expected_text\\" argument for function \\"reveal_type\\" must be a str literal value","revealTypeExpectedTextMismatch":"Type text mismatch; expected \\"{expected}\\" but received \\"{received}\\"","revealTypeExpectedTypeMismatch":"Type mismatch; expected \\"{expected}\\" but received \\"{received}\\"","selfTypeContext":"\\"Self\\" is not valid in this context","selfTypeWithTypedSelfOrCls":"\\"Self\\" cannot be used in a function with a `self` or `cls` parameter that has a type annotation other than \\"Self\\"","setterGetterTypeMismatch":"Property setter value type is not assignable to the getter return type","singleOverload":"\\"{name}\\" is marked as overload, but additional overloads are missing","slotsAttributeError":"\\"{name}\\" is not specified in __slots__","slotsClassVarConflict":"\\"{name}\\" conflicts with instance variable declared in __slots__","starPatternInAsPattern":"Star pattern cannot be used with \\"as\\" target","starPatternInOrPattern":"Star pattern cannot be ORed within other patterns","starStarWildcardNotAllowed":"** cannot be used with wildcard \\"_\\"","staticClsSelfParam":"Static methods should not take a \\"self\\" or \\"cls\\" parameter","strictTypeGuardReturnType":"Return type of StrictTypeGuard (\\"{returnType}\\") is not assignable to value parameter type (\\"{type}\\")","stringNonAsciiBytes":"Non-ASCII character not allowed in bytes string literal","stringNotSubscriptable":"String expression cannot be subscripted in type annotation; enclose entire annotation in quotes","stringUnsupportedEscape":"Unsupported escape sequence in string literal","stringUnterminated":"String literal is unterminated","stubFileMissing":"Stub file not found for \\"{importName}\\"","stubUsesGetAttr":"Type stub file is incomplete; \\"__getattr__\\" obscures type errors for module","sublistParamsIncompatible":"Sublist parameters are not supported in Python 3.x","superCallArgCount":"Expected no more than two arguments to \\"super\\" call","superCallFirstArg":"Expected class type as first argument to \\"super\\" call but received \\"{type}\\"","superCallSecondArg":"Second argument to \\"super\\" call must be object or class that derives from \\"{type}\\"","superCallZeroArgForm":"Zero-argument form of \\"super\\" call is valid only within a class","symbolIsUnbound":"\\"{name}\\" is unbound","symbolIsUndefined":"\\"{name}\\" is not defined","symbolIsPossiblyUnbound":"\\"{name}\\" is possibly unbound","symbolOverridden":"\\"{name}\\" overrides symbol of same name in class \\"{className}\\"","totalOrderingMissingMethod":"Class must define one of \\"__lt__\\", \\"__le__\\", \\"__gt__\\", or \\"__ge__\\" to use total_ordering","trailingCommaInFromImport":"Trailing comma not allowed without surrounding parentheses","tryWithoutExcept":"Try statement must have at least one except or finally clause","tupleAssignmentMismatch":"Expression with type \\"{type}\\" cannot be assigned to target tuple","tupleInAnnotation":"Tuple expression not allowed in type annotation","tupleIndexOutOfRange":"Index {index} is out of range for type {type}","typeAliasIsRecursiveDirect":"Type alias \\"{name}\\" cannot use itself in its definition","typeAliasIsRecursiveIndirect":"Type alias \\"{name}\\" cannot refer to itself indirectly in its definition","typeAliasNotInModuleOrClass":"A TypeAlias can be defined only within a module or class scope","typeAliasRedeclared":"\\"{name}\\" is declared as a TypeAlias and can be assigned only once","typeArgListExpected":"Expected ParamSpec, ellipsis, or list of types","typeArgListNotAllowed":"List expression not allowed for this type argument","typeAnnotationCall":"Illegal type annotation: call expression not allowed","typeAnnotationVariable":"Illegal type annotation: variable not allowed unless it is a type alias","typeArgsExpectingNone":"Expected no type arguments for class \\"{name}\\"","typeArgsMismatchOne":"Expected one type argument but received {received}","typeArgsMissingForAlias":"Expected type arguments for generic type alias \\"{name}\\"","typeArgsMissingForClass":"Expected type arguments for generic class \\"{name}\\"","typeArgsTooFew":"Too few type arguments provided for \\"{name}\\"; expected {expected} but received {received}","typeArgsTooMany":"Too many type arguments provided for \\"{name}\\"; expected {expected} but received {received}","typeAssignmentMismatch":"Expression of type \\"{sourceType}\\" cannot be assigned to declared type \\"{destType}\\"","typeCallNotAllowed":"type() call should not be used in type annotation","typedDictAccess":"Could not access item in TypedDict","typedDictBadVar":"TypedDict classes can contain only type annotations","typedDictBaseClass":"All base classes for \\"TypedDict\\" classes must also be \\"TypedDict\\" classes","typedDictDelete":"Could not delete item in TypedDict","typedDictEmptyName":"Names within a TypedDict cannot be empty","typedDictEntryName":"Expected string literal for dictionary entry name","typedDictEntryUnique":"Names within a dictionary must be unique","typedDictExtraArgs":"Extra TypedDict arguments not supported","typedDictFieldRedefinition":"Type of TypedDict field \\"{name}\\" cannot be redefined","typedDictFirstArg":"Expected TypedDict class name as first argument","typedDictSecondArgDict":"Expected dict or keyword parameter as second parameter","typedDictSecondArgDictEntry":"Expected simple dictionary entry","typedDictSet":"Could not assign item in TypedDict","typedDictTotalParam":"Expected \\"total\\" parameter to have a value of True or False","typeExpectedClass":"Expected class type but received \\"{type}\\"","typeGuardArgCount":"Expected a single type argument after \\"TypeGuard\\"","typeNotAwaitable":"\\"{type}\\" is not awaitable","typeNotCallable":"\\"{expression}\\" has type \\"{type}\\" and is not callable","typeNotIntantiable":"\\"{type}\\" cannot be instantiated","typeNotIterable":"\\"{type}\\" is not iterable","typeNotSpecializable":"Could not specialize type \\"{type}\\"","typeNotSubscriptable":"Object of type \\"{type}\\" is not subscriptable","typeNotUsableWith":"Object of type \\"{type}\\" cannot be used with \\"with\\" because it does not implement {method}","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" not supported for types \\"{leftType}\\" and \\"{rightType}\\"","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" not supported for types \\"{leftType}\\" and \\"{rightType}\\" when expected type is \\"{expectedType}\\"","typeNotSupportUnaryOperator":"Operator \\"{operator}\\" not supported for type \\"{type}\\"","typeNotSupportUnaryOperatorBidirectional":"Operator \\"{operator}\\" not supported for type \\"{type}\\" when expected type is \\"{expectedType}\\"","typePartiallyUnknown":"Type of \\"{name}\\" is partially unknown","typeUnknown":"Type of \\"{name}\\" is unknown","typeVarAssignedName":"TypeVar must be assigned to a variable named \\"{name}\\"","typeVarAssignmentMismatch":"Type \\"{type}\\" cannot be assigned to type variable \\"{name}\\"","typeVarBoundAndConstrained":"TypeVar cannot be both bound and constrained","typeVarFirstArg":"Expected name of TypeVar as first argument","typeVarGeneric":"TypeVar bound type cannot be generic","typeVarNoMember":"TypeVar \\"{type}\\" has no member \\"{name}\\"","typeVarNotSubscriptable":"TypeVar \\"{type}\\" is not subscriptable","typeVarNotUsedByOuterScope":"Type variable \\"{name}\\" has no meaning in this context","typeVarSingleConstraint":"TypeVar cannot have only a single constraint","typeVarsNotInGeneric":"Generic[] must include all type variables","typeVarTupleContext":"TypeVarTuple not allowed in this context","typeVarTupleMustBeUnpacked":"Unpack operator is required for TypeVarTuple value","typeVarUnknownParam":"\\"{name}\\" is unknown parameter to TypeVar","typeVarUsedByOuterScope":"TypeVar \\"{name}\\" is already in use by an outer scope","typeVarUsedOnlyOnce":"TypeVar \\"{name}\\" appears only once in generic function signature","typeVarVariance":"TypeVar cannot be both covariant and contravariant","unaccessedClass":"Class \\"{name}\\" is not accessed","unaccessedFunction":"Function \\"{name}\\" is not accessed","unaccessedImport":"Import \\"{name}\\" is not accessed","unaccessedSymbol":"\\"{name}\\" is not accessed","unaccessedVariable":"Variable \\"{name}\\" is not accessed","unexpectedAsyncToken":"Expected \\"def\\", \\"with\\" or \\"for\\" to follow \\"async\\"","unexpectedExprToken":"Unexpected token at end of expression","unexpectedIndent":"Unexpected indentation","unexpectedUnindent":"Unindent not expected","unionSyntaxIllegal":"Alternative syntax for unions requires Python 3.10 or newer","unionTypeArgCount":"Union requires two or more type arguments","uninitializedInstanceVariable":"Instance variable \\"{name}\\" is not initialized in the class body or __init__ method","unnecessaryCast":"Unnecessary \\"cast\\" call; type is already \\"{type}\\"","unnecessaryIsInstanceAlways":"Unnecessary isinstance call; \\"{testType}\\" is always an instance of \\"{classType}\\"","unnecessaryIsSubclassAlways":"Unnecessary issubclass call; \\"{testType}\\" is always a subclass of \\"{classType}\\"","unnecessaryTypeIgnore":"Unnecessary \'# type ignore\' comment","unpackArgCount":"Expected a single type argument after \\"Unpack\\"","unpackedArgInTypeArgument":"Unpacked arguments cannot be used in type argument lists","unpackedArgWithVariadicParam":"Unpacked argument cannot be used for TupleTypeVar parameter","unpackedDictArgumentNotMapping":"Argument expression after ** must be a mapping with a \\"str\\" key type","unpackedSubscriptIllegal":"Unpack operator in subscript requires Python 3.11 or newer","unpackedTypedDictArgument":"Unable to match unpacked TypedDict argument to parameters","unpackedTypeVarTupleExpected":"Expected unpacked TypeVarTuple; use Unpack[{name1}] or *{name2}","unpackExpectedTypedDict":"Expected TypedDict type argument for Unpack","unpackExpectedTypeVarTuple":"Expected TypeVarTuple or Tuple as type argument for Unpack","unpackIllegalInComprehension":"Unpack operation not allowed in comprehension","unpackInAnnotation":"Unpack operator not allowed in type annotation","unpackInDict":"Unpack operation not allowed in dictionaries","unpackInSet":"Unpack operator not allowed within a set","unpackNotAllowed":"Unpack not allowed in this context","unpackOperatorNotAllowed":"Unpack operation not allowed in this context","unpackTuplesIllegal":"Unpack operation not allowed in tuples prior to Python 3.8","unreachableCode":"Code is unreachable","unreachableExcept":"Except clause is unreachable because exception is already handled","unsupportedDunderAllOperation":"Operation on \\"__all__\\" is not supported, so exported symbol list may be incorrect","unusedCallResult":"Result of call expression is of type \\"{type}\\" and is not used; assign to variable \\"_\\" if this is intentional","unusedCoroutine":"Result of async function call is not used; use \\"await\\" or assign result to variable","varAnnotationIllegal":"Type annotations for variables requires Python 3.6 or newer; use type comment for compatibility with previous versions","variadicTypeArgsTooMany":"Type argument list can have at most one unpacked TypeVarTuple or Tuple","variadicTypeParamTooManyAlias":"Type alias can have at most one TypeVarTuple type parameter but received multiple ({names})","variadicTypeParamTooManyClass":"Generic class can have at most one TypeVarTuple type parameter but received multiple ({names})","walrusIllegal":"Operator \\":=\\" requires Python 3.8 or newer","walrusNotAllowed":"Operator \\":=\\" not allowed in this context","wildcardInFunction":"Wildcard import not allowed within a class or function","wildcardLibraryImport":"Wildcard import from a library not allowed","yieldFromIllegal":"Use of \\"yield from\\" requires Python 3.3 or newer","yieldFromOutsideAsync":"\\"yield from\\" not allowed in an async function","yieldOutsideFunction":"\\"yield\\" not allowed outside of a function or lambda","yieldTypeMismatch":"Expression of type \\"{exprType}\\" cannot be assigned to yield type \\"{yieldType}\\"","yieldWithinListCompr":"\\"yield\\" not allowed inside a list comprehension","zeroCaseStatementsFound":"Match statement must include at least one case statement","zeroLengthTupleNotAllowed":"Zero-length tuple not allowed in this context"},"DiagnosticAddendum":{"argParam":"Argument corresponds to parameter \\"{paramName}\\"","argParamFunction":"Argument corresponds to parameter \\"{paramName}\\" in function \\"{functionName}\\"","argsParamMissing":"Parameter \\"*{paramName}\\" has no corresponding parameter","argsPositionOnly":"Position-only parameter mismatch; expected {expected} but received {received}","argumentType":"Argument type is \\"{type}\\"","argumentTypes":"Argument types: ({types})","assignToNone":"Type cannot be assigned to type \\"None\\"","asyncHelp":"Did you mean \\"async with\\"?","baseClassProvidesType":"Base class \\"{baseClass}\\" provides type \\"{type}\\"","dataClassFieldLocation":"Field declaration","dataClassFrozen":"\\"{name}\\" is frozen","finalMethod":"Final method","keyNotRequired":"\\"{name}\\" is not a required key in \\"{type}\\", so access may result in runtime exception","keyRequiredDeleted":"\\"{name}\\" is a required key and cannot be deleted","keyUndefined":"\\"{name}\\" is not a defined key in \\"{type}\\"","functionParamDefaultMissing":"Parameter \\"{name}\\" is missing default argument","functionParamName":"Parameter name mismatch: \\"{destName}\\" versus \\"{srcName}\\"","functionReturnTypeMismatch":"Function return type \\"{sourceType}\\" is incompatible with type \\"{destType}\\"","functionTooFewParams":"Function accepts too few positional parameters; expected {expected} but received {received}","functionTooManyParams":"Function accepts too many positional parameters; expected {expected} but received {received}","incompatibleGetter":"Property getter method is incompatible","incompatibleSetter":"Property setter method is incompatible","initMethodLocation":"The __init__ method is defined in class \\"{type}\\"","incompatibleDeleter":"Property deleter method is incompatible","initMethodSignature":"Signature of __init__ is \\"{type}\\"","kwargsParamMissing":"Parameter \\"**{paramName}\\" has no corresponding parameter","listAssignmentMismatch":"Type \\"{type}\\" is incompatible with target list","literalAssignmentMismatch":"\\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","matchIsNotExhaustiveType":"Unhandled type: \\"{type}\\"","matchIsNotExhaustiveHint":"If exhaustive handling is not intended, add \\"case _: pass\\"","memberSetClassVar":"Member \\"{name}\\" cannot be assigned through a class instance because it is a ClassVar","memberAssignment":"Expression of type \\"{type}\\" cannot be assigned to member \\"{name}\\" of class \\"{classType}\\"","memberIsAbstract":"\\"{type}.{name}\\" is abstract","memberIsAbstractMore":"and {count} more...","memberIsFinalInProtocol":"\\"{name}\\" is marked Final in protocol","memberIsInitVar":"Member \\"{name}\\" is an init-only field","memberIsNotFinalInProtocol":"\\"{name}\\" is not marked Final in protocol","memberTypeMismatch":"\\"{name}\\" is an incompatible type","memberUnknown":"Member \\"{name}\\" is unknown","missingProtocolMember":"Member \\"{name}\\" is declared in protocol class \\"{classType}\\"","missingGetter":"Property getter method is missing","missingSetter":"Property setter method is missing","missingDeleter":"Property deleter method is missing","namedParamMissingInDest":"Keyword parameter \\"{name}\\" is missing in destination","namedParamMissingInSource":"Keyword parameter \\"{name}\\" is missing in source","namedParamTypeMismatch":"Keyword parameter \\"{name}\\" of type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","newMethodLocation":"The __new__ method is defined in class \\"{type}\\"","newMethodSignature":"Signature of __new__ is \\"{type}\\"","noOverloadAssignable":"No overloaded function matches type \\"{type}\\"","orPatternMissingName":"Missing names: {name}","overloadMethod":"Overload method is defined here","overloadNotAssignable":"One or more overloads of \\"{name}\\" is not assignable","overloadWithImplementation":"The body of a function overload should be \\"...\\"","overriddenMethod":"Overridden method","overriddenSymbol":"Overridden symbol","overrideParamCount":"Parameter count mismatch; base method has {baseCount}, but override has {overrideCount}","overrideParamName":"Parameter {index} name mismatch: base parameter is named \\"{baseName}\\", override parameter is named \\"{overrideName}\\"","overrideParamNamePositionOnly":"Parameter {index} name mismatch: base parameter is named \\"{baseName}\\", override parameter is position-only\\"","overrideParamType":"Parameter {index} type mismatch: base parameter is type \\"{baseType}\\", override parameter is type \\"{overrideType}\\"","overrideReturnType":"Return type mismatch: base method returns type \\"{baseType}\\", override returns type \\"{overrideType}\\"","overrideType":"Base class defines type as \\"{type}\\"","paramAssignment":"Parameter {index}: type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","paramSpecOverload":"ParamSpec cannot be used with overloaded function","paramType":"Parameter type is \\"{paramType}\\"","privateImportFromPyTypedSource":"Import from \\"{module}\\" instead","propertyAccessFromProtocolClass":"A property defined within a protocol class cannot be accessed as a class variable","propertyMethodIncompatible":"Property method \\"{name}\\" is incompatible","propertyMethodMissing":"Property method \\"{name}\\" is missing in override","propertyMissingDeleter":"Property \\"{name}\\" has no defined deleter","propertyMissingSetter":"Property \\"{name}\\" has no defined setter","protocolIncompatible":"\\"{sourceType}\\" is incompatible with protocol \\"{destType}\\"","protocolMemberClassVar":"\\"{name}\\" is not a class variable","protocolMemberMissing":"\\"{name}\\" is not present","protocolSourceIsNotConcrete":"\\"{sourceType}\\" is not a concrete class type and cannot be assigned to type \\"{destType}\\"","readOnlyAttribute":"Attribute \\"{name}\\" is read-only","seeDeclaration":"See declaration","seeClassDeclaration":"See class declaration","seeFunctionDeclaration":"See function declaration","seeMethodDeclaration":"See method declaration","seeParameterDeclaration":"See parameter declaration","seeVariableDeclaration":"See variable declaration","tupleEntryTypeMismatch":"Tuple entry {entry} is incorrect type","tupleAssignmentMismatch":"Type \\"{type}\\" is incompatible with target tuple","tupleSizeMismatch":"Element size mismatch; expected {expected} but received {received}","tupleSizeMismatchIndeterminate":"Tuple size mismatch; expected {expected} but received indeterminate number","typeAssignmentMismatch":"Type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","typeBound":"Type \\"{sourceType}\\" is incompatible with bound type \\"{destType}\\" for type variable \\"{name}\\"","typeConstrainedTypeVar":"Type \\"{type}\\" is incompatible with constrained type variable \\"{name}\\"","typedDictFieldMissing":"\\"{name}\\" is missing from \\"{type}\\"","typedDictFieldNotRequired":"\\"{name}\\" is not required in \\"{type}\\"","typedDictFieldRequired":"\\"{name}\\" is required in \\"{type}\\"","typedDictFieldTypeMismatch":"Type \\"{type}\\" is not assignable to field \\"{name}\\"","typedDictFieldRedefinition":"Type in parent class is \\"{parentType}\\" and type in child class is \\"{childType}\\"","typedDictFieldUndefined":"\\"{name}\\" is an undefined field in type \\"{type}\\"","typedDictFinalMismatch":"\\"{sourceType}\\" is incompatible with \\"{destType}\\" because of a @final mismatch","typeIncompatible":"\\"{sourceType}\\" is incompatible with \\"{destType}\\"","typeNotCallable":"Type \\"{type}\\" is not callable","typeNotClass":"\\"{type}\\" is not a class","typeParamSpec":"Type \\"{type}\\" is incompatible with ParamSpec \\"{name}\\"","typeNotStringLiteral":"\\"{type}\\" is not a string literal","typeOfSymbol":"Type of \\"{name}\\" is \\"{type}\\"","typeUnsupported":"Type \\"{type}\\" is unsupported","typeVarIsContravariant":"TypeVar \\"{name}\\" is contravariant","typeVarIsCovariant":"TypeVar \\"{name}\\" is covariant","typeVarIsInvariant":"TypeVar \\"{name}\\" is invariant","typeVarNotAllowed":"TypeVar or generic type with type arguments not allowed","typeVarsMissing":"Missing type variables: {names}","typeVarTupleRequiresKnownLength":"TypeVarTuple cannot be bound to a tuple of unknown length","unreachableExcept":"\\"{exceptionType}\\" is a subclass of \\"{parentType}\\"","useDictInstead":"Use Dict[T1, T2] to indicate a dictionary type","useListInstead":"Use List[T] to indicate a list type or Union[T1, T2] to indicate a union type","useTupleInstead":"Use Tuple[T1, ..., Tn] to indicate a tuple type or Union[T1, T2] to indicate a union type","useTypeInstead":"Use Type[T] instead"},"CodeAction":{"addOptionalToAnnotation":"Add \\"Optional\\" to Type Annotation","createTypeStub":"Create Type Stub","createTypeStubFor":"Create Type Stub For \\"{moduleName}\\"","executingCommand":"Executing command","filesToAnalyzeOne":"1 file to analyze","filesToAnalyzeCount":"{count} files to analyze","findingReferences":"Finding references","organizeImports":"Organize Imports"},"Refactoring":{"moveFile":"Do you want to update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?","moveFileLabel":"Update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?","moveFileDescription":"Update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?"}}')},9191:()=>{},2016:()=>{},6341:()=>{},198:()=>{}},__webpack_module_cache__={},leafPrototypes,getProto;function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},getProto=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,__webpack_require__.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var n=Object.create(null);__webpack_require__.r(n);var i={};leafPrototypes=leafPrototypes||[null,getProto({}),getProto([]),getProto(getProto)];for(var r=2&t&&e;"object"==typeof r&&!~leafPrototypes.indexOf(r);r=getProto(r))Object.getOwnPropertyNames(r).forEach((t=>i[t]=()=>e[t]));return i.default=()=>e,__webpack_require__.d(n,i),n},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((t,n)=>(__webpack_require__.f[n](e,t),t)),[])),__webpack_require__.u=e=>"pyright-locale-"+{43:"ja",100:"en",231:"fr",327:"zh-cn",491:"ko",521:"zh-tw",537:"ca",598:"lol",640:"pl",689:"es-es",888:"nl",913:"de"}[e]+"-"+e+"-"+{43:"30f155cbba7ffa35a09e",100:"ddc72e6b2c1f5de1a885",231:"e938f9c58b9ac7c8a0c8",327:"7f4c7cd6c69bb031b753",491:"e2a228c1a7f81e59f14b",521:"73fec50d616e10ee0648",537:"102d34250bd64dcffb61",598:"50989152ee9593f45224",640:"569b6cb153bf9bb688ed",689:"26d9690baff64c901ed8",888:"d3c1f910f1d36b76668c",913:"9659826d2d95dc8190bd"}[e]+".worker.js",__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var t=__webpack_require__.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");n.length&&(e=n[n.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{var e={885:1};__webpack_require__.f.i=(t,n)=>{e[t]||importScripts(__webpack_require__.p+__webpack_require__.u(t))};var t=self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[],n=t.push.bind(t);t.push=t=>{var[i,r,s]=t;for(var o in r)__webpack_require__.o(r,o)&&(__webpack_require__.m[o]=r[o]);for(s&&s(__webpack_require__);i.length;)e[i.pop()]=1;n(t)}})();var __webpack_exports__={};(()=>{"use strict";var e=__webpack_require__(3984);function t(e){return e}function n(e,t){return e===t}function i(e,t){return e===t?0:void 0===e?-1:void 0===t?1:et;n--)e[n]=e[n-1];e[t]=n}return e}function p(e,t){return!!e&&(t?e.some(t):e.length>0)}function d(e,t,n,i,r){return function(e,t,n,i,r){if(!p(e))return-1;let s=r||0,o=e.length-1;for(;s<=o;){const r=s+(o-s>>1);switch(i(n(e[r]),t)){case-1:s=r+1;break;case 0:return r;case 1:o=r-1}}return~s}(e,n(t),n,i,r)}function h(e,t,n){const i=e.get(t);if(void 0!==i)return i;const r=n();return e.set(t,r),r}function m(e,t){for(let n=0;nt(e))).reduce(((t,n,i)=>(t.set(n,(t.get(n)||[]).concat(e[i])),t)),new Map)}Object.prototype.hasOwnProperty;const g="typeshed-fallback",y="lib",_="Lib",v="lib64",T="site-packages",b="-stubs";var I,S=__webpack_require__(6470);I=(()=>{var e={470:e=>{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,i="",r=0,s=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=i.lastIndexOf("/");if(l!==i.length-1){-1===l?(i="",r=0):r=(i=i.slice(0,l)).length-1-i.lastIndexOf("/"),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",r=0,s=a,o=0;continue}t&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+e.slice(s+1,a):i=e.slice(s+1,a),r=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",r=!1,s=arguments.length-1;s>=-1&&!r;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e="/"),o=e),t(o),0!==o.length&&(i=o+"/"+i,r=47===o.charCodeAt(0))}return i=n(i,!r),r?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var i=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!i)).length||i||(e="."),e.length>0&&r&&(e+="/"),i?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":i.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=i.resolve(e))===(n=i.resolve(n)))return"";for(var r=1;rc){if(47===n.charCodeAt(a+p))return n.slice(a+p+1);if(0===p)return n.slice(a+p)}else o>c&&(47===e.charCodeAt(r+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(r+p);if(d!==n.charCodeAt(a+p))break;47===d&&(u=p)}var h="";for(p=r+u+1;p<=s;++p)p!==s&&47!==e.charCodeAt(p)||(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(a+u):(a+=u,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),i=47===n,r=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){r=o;break}}else s=!1;return-1===r?i?"/":".":i&&1===r?"//":e.slice(0,r)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var i,r=0,s=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,l=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){r=i+1;break}}else-1===l&&(o=!1,l=i+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=i):(a=-1,s=l))}return r===s?s=l:-1===s&&(s=e.length),e.slice(r,s)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){r=i+1;break}}else-1===s&&(o=!1,s=i+1);return-1===s?"":e.slice(r,s)},extname:function(e){t(e);for(var n=-1,i=0,r=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===r&&(s=!1,r=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){i=a+1;break}}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+"/"+i:i}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var i,r=e.charCodeAt(0),s=47===r;s?(n.root="/",i=1):i=0;for(var o=-1,a=0,l=-1,c=!0,u=e.length-1,p=0;u>=i;--u)if(47!==(r=e.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===r?-1===o?o=u:1!==p&&(p=1):-1!==o&&(p=-1);else if(!c){a=u+1;break}return-1===o||-1===l||0===p||1===p&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i},447:(e,t,n)=>{var i;if(n.r(t),n.d(t,{URI:()=>f,Utils:()=>w}),"object"==typeof{env:{},execArgv:[],cwd:()=>"/",memoryUsage:()=>({heapUsed:0,rss:1})})i="win32"==={env:{},execArgv:[],cwd:()=>"/",memoryUsage:()=>({heapUsed:0,rss:1})}.platform;else if("object"==typeof navigator){var r=navigator.userAgent;i=r.indexOf("Windows")>=0}var s,o,a=(s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),l=/^\w[\w\d+.-]*$/,c=/^\//,u=/^\/\//;function p(e,t){if(!e.scheme&&t)throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'.concat(e.authority,'", path: "').concat(e.path,'", query: "').concat(e.query,'", fragment: "').concat(e.fragment,'"}'));if(e.scheme&&!l.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!c.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(u.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}var d="",h="/",m=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,f=function(){function e(e,t,n,i,r,s){void 0===s&&(s=!1),"object"==typeof e?(this.scheme=e.scheme||d,this.authority=e.authority||d,this.path=e.path||d,this.query=e.query||d,this.fragment=e.fragment||d):(this.scheme=function(e,t){return e||t?e:"file"}(e,s),this.authority=t||d,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==h&&(t=h+t):t=h}return t}(this.scheme,n||d),this.query=i||d,this.fragment=r||d,p(this,s))}return e.isUri=function(t){return t instanceof e||!!t&&"string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"string"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString},Object.defineProperty(e.prototype,"fsPath",{get:function(){return b(this,!1)},enumerable:!1,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,n=e.authority,i=e.path,r=e.query,s=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=d),void 0===n?n=this.authority:null===n&&(n=d),void 0===i?i=this.path:null===i&&(i=d),void 0===r?r=this.query:null===r&&(r=d),void 0===s?s=this.fragment:null===s&&(s=d),t===this.scheme&&n===this.authority&&i===this.path&&r===this.query&&s===this.fragment?this:new y(t,n,i,r,s)},e.parse=function(e,t){void 0===t&&(t=!1);var n=m.exec(e);return n?new y(n[2]||d,C(n[4]||d),C(n[5]||d),C(n[7]||d),C(n[9]||d),t):new y(d,d,d,d,d)},e.file=function(e){var t=d;if(i&&(e=e.replace(/\\/g,h)),e[0]===h&&e[1]===h){var n=e.indexOf(h,2);-1===n?(t=e.substring(2),e=h):(t=e.substring(2,n),e=e.substring(n)||h)}return new y("file",t,e,d,d)},e.from=function(e){var t=new y(e.scheme,e.authority,e.path,e.query,e.fragment);return p(t,!0),t},e.prototype.toString=function(e){return void 0===e&&(e=!1),I(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var n=new y(t);return n._formatted=t.external,n._fsPath=t._sep===g?t.fsPath:null,n}return t},e}(),g=i?1:void 0,y=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return a(t,e),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath},enumerable:!1,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?I(this,!0):(this._formatted||(this._formatted=I(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=g),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},t}(f),_=((o={})[58]="%3A",o[47]="%2F",o[63]="%3F",o[35]="%23",o[91]="%5B",o[93]="%5D",o[64]="%40",o[33]="%21",o[36]="%24",o[38]="%26",o[39]="%27",o[40]="%28",o[41]="%29",o[42]="%2A",o[43]="%2B",o[44]="%2C",o[59]="%3B",o[61]="%3D",o[32]="%20",o);function v(e,t){for(var n=void 0,i=-1,r=0;r=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s)-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),void 0!==n&&(n+=e.charAt(r));else{void 0===n&&(n=e.substr(0,r));var o=_[s];void 0!==o?(-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),n+=o):-1===i&&(i=r)}}return-1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function T(e){for(var t=void 0,n=0;n1&&"file"===e.scheme?"//".concat(e.authority).concat(e.path):47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,i&&(n=n.replace(/\//g,"\\")),n}function I(e,t){var n=t?T:v,i="",r=e.scheme,s=e.authority,o=e.path,a=e.query,l=e.fragment;if(r&&(i+=r,i+=":"),(s||"file"===r)&&(i+=h,i+=h),s){var c=s.indexOf("@");if(-1!==c){var u=s.substr(0,c);s=s.substr(c+1),-1===(c=u.indexOf(":"))?i+=n(u,!1):(i+=n(u.substr(0,c),!1),i+=":",i+=n(u.substr(c+1),!1)),i+="@"}-1===(c=(s=s.toLowerCase()).indexOf(":"))?i+=n(s,!1):(i+=n(s.substr(0,c),!1),i+=s.substr(c))}if(o){if(o.length>=3&&47===o.charCodeAt(0)&&58===o.charCodeAt(2))(p=o.charCodeAt(1))>=65&&p<=90&&(o="/".concat(String.fromCharCode(p+32),":").concat(o.substr(3)));else if(o.length>=2&&58===o.charCodeAt(1)){var p;(p=o.charCodeAt(0))>=65&&p<=90&&(o="".concat(String.fromCharCode(p+32),":").concat(o.substr(2)))}i+=n(o,!0)}return a&&(i+="?",i+=n(a,!1)),l&&(i+="#",i+=t?l:v(l,!1)),i}function S(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+S(e.substr(3)):e}}var x=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function C(e){return e.match(x)?e.replace(x,(function(e){return S(e)})):e}var w,E=n(470),k=function(e,t,n){if(n||2===arguments.length)for(var i,r=0,s=t.length;r{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n(447)})();const{URI:x,Utils:C}=I;function w(e,t,n,i){e||(n&&(t+="\r\nVerbose Debug Information: "+("string"==typeof n?n:n())),E(t?"False expression: "+t:"False expression.",i||w))}function E(e,t){const n=new Error(e?`Debug Failure. ${e}`:"Debug Failure.");throw Error.captureStackTrace&&Error.captureStackTrace(n,t||E),n}function k(e,t="Illegal value:",n){E(`${t} ${JSON.stringify(e)}`,n||k)}function D(e){if(e)return JSON.stringify(e).length>2?e:{name:e.name&&r(e.name)?e.name:"noname",message:e.message&&r(e.message)?e.message:"nomessage",stack:e.stack&&r(e.stack)?e.stack:void 0}}let A;try{A=__webpack_require__(2016),(null==A?void 0:A.randomBytes)||(A=void 0)}catch{}function P(e){if(A)return A.randomBytes(e).toString("hex");if(crypto){return t=crypto.getRandomValues(new Uint8Array(e)),[...t].map((e=>e.toString(16).padStart(2,"0"))).join("")}var t;E("crypto library not found")}var R=__webpack_require__(7588),F=__webpack_require__.n(R);function N(e,t){const n=e.toLocaleLowerCase(),i=t.toLocaleLowerCase(),r=n.length,s=i.length;let o=0,a=0;for(;o0&&!r[r.length-1]&&r.pop(),K([i,...r])}function K(e){if(!p(e))return[];const t=[e[0]];for(let n=1;n1){if(".."!==t[t.length-1]){t.pop();continue}}else if(t[0])continue;t.push(i)}}return t}function J(e){return 0===e.length?"":X((e[0]&&le(e[0]))+e.slice(1).join(S.sep))}function Y(e,t){if(!e.startsWith(le(t)))return;const n=G(e);let i=".";for(let e=G(t).length;e=0?i.substring(r):""}function se(e,n,i){return w(H(e)>0==H(n)>0,"Paths must either both be absolute or both be relative"),function(e,t,n,i){const r=G(e),s=G(t);let o;for(o=0;oe.namet.name?1:0)),r=[],s=[];for(const e of i)if("."!==e.name&&".."!==e.name)if(e.isFile())r.push(e.name);else if(e.isDirectory())s.push(e.name);else if(e.isSymbolicLink()){const i=ye(t,te(n,e.name));(null==i?void 0:i.isFile())?r.push(e.name):(null==i?void 0:i.isDirectory())&&s.push(e.name)}return{files:r,directories:s}}function be(e,t){let n=function(e,t){let n=me(te(e,t));n.endsWith(".py")||n.endsWith(".pyi")||(n=le(n));const i=G(n),r=Ie(),s=`(${r}[^${r}.][^${r}]*)*?`,o=new RegExp(`[^\\w\\s${r}]`,"g");i.length>0&&(i[0]=ue(i[0]));let a="",l=!0;for(let e of i)"**"===e?a+=s:(l||(e=r+e),a+=e.replace(o,(e=>"*"===e?`[^${r}]*`:"?"===e?`[^${r}]`:"\\"+e)),l=!1);return a}(e,t);n=`^(${n})($|${Ie()})`;const i=new RegExp(n);return{wildcardRoot:function(e,t){let n=me(te(e,t));n.endsWith(".py")||n.endsWith(".pyi")||(n=le(n));const i=G(n);if(i.length>0&&(i[0]=ue(i[0])),1===i.length&&!i[0])return S.sep;let r="",s=!0;for(let e of i){if("**"===e)break;if(e.match(/[*?]/))break;s||(e=S.sep+e),r+=e,s=!1}return r}(e,t),regExp:i}}function Ie(){return"/"===S.sep?"/":"\\\\"}function Se(e){const t=H(e);return t>0&&t===e.length}function xe(e,t,n){if(e===t)return 0;if(void 0===e)return-1;if(void 0===t)return 1;const r=e.substring(0,H(e)),s=t.substring(0,H(t)),o=O(r,s);if(0!==o)return o;const a=Ie(),l=new RegExp(`(^|${a}).{0,2}($|${a})`),c=e.substring(r.length),u=t.substring(s.length);if(!l.test(c)&&!l.test(u))return n(c,u);const p=G(e),d=G(t),h=Math.min(p.length,d.length);for(let e=1;e=t.length&&46===e.charCodeAt(e.length-t.length)){const i=e.slice(e.length-t.length);if(n(i,t))return i}}function we(e,t){return e.getMappedFilePath(function(e){let t=me(x.parse(e).path);return t.match(/^\\[a-zA-Z]:\\/)&&(t=t.substr(1)),t}(t))}function Ee(e,t){return e.getUri(e.getOriginalFilePath(t))}function ke(e,t){return function(e){return void 0!==W||(W=function(e){let t;try{let n,i;do{n=`${P(21)}-a`,t=S.join(e.tmpdir(),n),i=S.join(e.tmpdir(),n.toUpperCase())}while(e.existsSync(t)||e.existsSync(i));return e.writeFileSync(t,"","utf8"),!e.existsSync(i)}catch(e){return!1}finally{t&&e.unlinkSync(t)}}(e)),W}(e)?t:t.toLowerCase()}var De;!function(e){e[e.V3_0=768]="V3_0",e[e.V3_1=769]="V3_1",e[e.V3_2=770]="V3_2",e[e.V3_3=771]="V3_3",e[e.V3_4=772]="V3_4",e[e.V3_5=773]="V3_5",e[e.V3_6=774]="V3_6",e[e.V3_7=775]="V3_7",e[e.V3_8=776]="V3_8",e[e.V3_9=777]="V3_9",e[e.V3_10=778]="V3_10",e[e.V3_11=779]="V3_11"}(De||(De={}));const Ae=De.V3_10;function Pe(e){return`${e>>8&255}.${255&e}`}function Re(e){const t=e.split(".");if(!(t.length<2))return function(e,t){if(isNaN(e)||isNaN(t))return;if(e>255||t>255)return;const n=256*e+t;if(void 0!==De[n]&&n>>8==3)return n}(parseInt(t[0],10),parseInt(t[1],10))}var Fe;!function(e){e[e.NotIdentifierChar=0]="NotIdentifierChar",e[e.StartIdentifierChar=1]="StartIdentifierChar",e[e.IdentifierChar=2]="IdentifierChar",e[e.SurrogateChar=3]="SurrogateChar"}(Fe||(Fe={}));const Ne=256,Me=new Array(Ne),Oe={},Le={};let Ue=!1;function Ve(e,t){if(e=48&&e<=57||95===e}function We(e){return Be(e)||e>=97&&e<=102||e>=65&&e<=70||95===e}function je(e){return e>=48&&e<=55||95===e}function ze(e){return 48===e||49===e||95===e}function $e(e,t){if(Oe[e]!==Fe.SurrogateChar)return Fe.NotIdentifierChar;const n=Le[e];return n?n[t]:Fe.NotIdentifierChar}const He=[[95,6277,6278,8472,8494,12443,12444],[[65,90],[192,214],[216,222],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,452,455,458,461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,497,500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],975,[978,980],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],[4256,4293],4295,4301,[5024,5109],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8120,8123],[8136,8139],[8152,8155],[8168,8172],[8184,8187],8450,8455,[8459,8461],[8464,8466],8469,[8473,8477],8484,8486,8488,[8490,8493],[8496,8499],[8510,8511],8517,8579,[11264,11310],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,[65313,65338],[66560,66599],[66736,66771],[68736,68786],[71840,71871],[119808,119833],[119860,119885],[119912,119937],119964,[119966,119967],119970,[119973,119974],[119977,119980],[119982,119989],[120016,120041],[120068,120069],[120071,120074],[120077,120084],[120086,120092],[120120,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120172,120197],[120224,120249],[120276,120301],[120328,120353],[120380,120405],[120432,120457],[120488,120512],[120546,120570],[120604,120628],[120662,120686],[120720,120744],120778,[125184,125217]],[[97,122],181,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,[311,312],314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,[396,397],402,405,[409,411],414,417,419,421,424,[426,427],429,432,436,438,[441,442],[445,447],454,457,460,462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,496],499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,[563,569],572,[575,576],578,583,585,587,589,[591,659],[661,687],881,883,887,[891,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,[1019,1020],[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1377,1415],[5112,5117],[7296,7304],[7424,7467],[7531,7543],[7545,7578],7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7837],7839,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8071],[8080,8087],[8096,8103],[8112,8116],[8118,8119],8126,[8130,8132],[8134,8135],[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8458,[8462,8463],8467,8495,8500,8505,[8508,8509],[8518,8521],8526,8580,[11312,11358],11361,[11365,11366],11368,11370,11372,11377,[11379,11380],[11382,11387],11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,[11491,11492],11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,2581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,[42799,42801],42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,[42865,42872],42874,42876,42879,42881,42883,42885,42887,42892,42894,42897,[42899,42901],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42933,42935,43002,[43824,43866],[43872,43877],[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[68800,68850],[71872,71903],[119834,119859],[119886,119892],[119894,119911],[119938,119963],[119990,119993],119995,[119997,120003],[120005,120015],[120042,120067],[120094,120119],[120146,120171],[120198,120223],[120250,120275],[120302,120327],[120354,120379],[120406,120431],[120458,120485],[120514,120538],[120540,120545],[120572,120596],[120598,120603],[120630,120654],[120656,120661],[120688,120712],[120714,120719],[120746,120770],[120772,120777],120779,[125218,125251]],[453,456,459,498,[8072,8079],[8088,8095],[8104,8111],8124,8140,8188],[170,186,443,[448,451],660,[1488,1514],[1520,1522],[1568,1599],[1601,1610],[1646,1647],[1649,1747],1749,[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2048,2069],[2112,2136],[2144,2154],[2208,2228],[2230,2237],[2308,2361],2365,2384,[2392,2401],[2418,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,3294,[3296,3297],[3313,3314],[3333,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],[3634,3635],[3648,3653],[3713,3714],3716,[3719,3720],3722,3725,[3732,3735],[3737,3743],[3745,3747],3749,3751,[3754,3755],[3757,3760],[3762,3763],3773,[3776,3780],[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4304,4346],[4349,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5873,5880],[5888,5900],[5902,5905],[5920,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6108,[6176,6210],[6212,6263],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],[6917,6963],[6981,6987],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7287],[7401,7404],[7406,7409],[7413,7414],[8501,8504],[11568,11623],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],12294,12348,[12353,12438],12447,[12449,12538],12543,[12549,12590],[12593,12686],[12704,12730],[12784,12799],[13312,19893],[19968,40938],[40960,40980],[40982,42124],[42192,42231],[42240,42507],[42512,42527],[42538,42539],42606,[42656,42725],42895,42999,[43003,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,43261,[43274,43301],[43312,43334],[43360,43388],[43396,43442],[43488,43492],[43495,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43631],[43633,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43740],[43744,43754],43762,[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43968,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65382,65391],[65393,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[66176,66204],[66208,66256],[66304,66335],[66349,66368],[66370,66377],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66640,66717],[66816,66855],[66864,66915],[67072,67382],[67392,67413],[67424,67431],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68147],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[69635,69687],[69763,69807],[69840,69864],[69891,69926],[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],[71424,71449],71935,72192,[72203,72242],72250,72272,[72284,72323],[72326,72329],[72384,72440],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73728,74649],[74880,75075],[77824,78894],[82944,83526],[92160,92728],[92736,92766],[92880,92909],[92928,92975],[93027,93047],[93053,93071],[93952,94020],94032,[94208,100332],[100352,101106],[110592,110878],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[124928,125124],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173782],[173824,177972],[177984,178205],[178208,183969],[183984,191456],[194560,195101]],[[688,705],[710,721],[736,740],748,750,884,890,1369,1600,[1765,1766],[2036,2037],2042,2074,2084,2088,2417,3654,3782,4348,6103,6211,6823,[7288,7293],[7468,7530],7544,[7579,7615],8305,8319,[8336,8348],[11388,11389],11631,11823,12293,[12337,12341],12347,[12445,12446],[12540,12542],40981,[42232,42237],42508,42623,[42652,42653],[42775,42783],42864,42888,[43e3,43001],43471,43494,43632,43741,[43763,43764],[43868,43871],65392,[65438,65439],[92992,92995],[94099,94111],[94176,94177]],[[5870,5872],[8544,8578],[8581,8584],12295,[12321,12329],[12344,12346],[42726,42735],[65856,65908],66369,66378,[66513,66517],[74752,74862]]],Ge=[{55297:[[56320,56359],[56496,56531]],55299:[[56448,56498]],55302:[[56480,56511]],55323:[[56896,56927]],55349:[[56320,56345],[56372,56397],[56424,56449],56476,[56478,56479],56482,[56485,56486],[56489,56492],[56494,56501],[56528,56553],[56580,56581],[56583,56586],[56589,56596],[56598,56604],[56632,56633],[56635,56638],[56640,56644],56646,[56650,56656],[56684,56709],[56736,56761],[56788,56813],[56840,56865],[56892,56917],[56944,56969],[57e3,57024],[57058,57082],[57116,57140],[57174,57198],[57232,57256],[57290,57290]],55354:[[56576,56609]]},{55297:[[56360,56399],[56536,56571]],55299:[[56512,56562]],55302:[[56512,56543]],55323:[[56928,56959]],55349:[[56346,56371],[56398,56404],[56406,56423],[56450,56475],[56502,56505],56507,[56509,56515],[56517,56527],[56554,56579],[56606,56631],[56658,56683],[56710,56735],[56762,56787],[56814,56839],[56866,56891],[56918,56943],[56970,56997],[57026,57050],[57052,57057],[57084,57108],[57110,57115],[57142,57166],[57168,57173],[57200,57224],[57226,57231],[57258,57282],[57284,57289],[57291,57291]],55354:[[56610,56643]]},{55296:[[56320,56331],[56333,56358],[56360,56378],[56380,56381],[56383,56397],[56400,56413],[56448,56570],[56960,56988],[56992,57040],[57088,57119],[57133,57152],[57154,57161],[57168,57205],[57216,57245],[57248,57283],[57288,57295]],55297:[[56400,56477],[56576,56615],[56624,56675],[56832,57142],[57152,57173],[57184,57191]],55298:[[56320,56325],[56328,56328],[56330,56373],[56375,56376],[56380,56380],[56383,56405],[56416,56438],[56448,56478],[56544,56562],[56564,56565],[56576,56597],[56608,56633],[56704,56759],[56766,56767],[56832,56832],[56848,56851],[56853,56855],[56857,56885],[56928,56956],[56960,56988],[57024,57031],[57033,57060],[57088,57141],[57152,57173],[57184,57202],[57216,57233]],55299:[[56320,56392],[56576,56611],[56960,57001],[57008,57009],[57088,57116],57127,[57136,57157],[57264,57284],[57312,57334]],55300:[[56323,56375],[56451,56495],[56528,56552],[56579,56614],56644,56647,[56656,56690],56694,[56707,56754],[56769,56772],56794,56796,[56832,56849],[56851,56875],[56960,56966],56968,[56970,56973],[56975,56989],[56991,57e3],[57008,57054],[57093,57100],[57103,57104],[57107,57128],[57130,57136],[57138,57139],[57141,57145],57149,57168,[57181,57185]],55301:[[56320,56372],[56391,56394],[56415,56417],[56448,56495],[56516,56517],56519,[56704,56750],[56792,56795],[56832,56879],56900,[56960,57002],57016,[57088,57114]],55302:[[56320,56363],[56575,56582],56585,[56588,56595],[56597,56598],[56600,56623],56639,56641,[56736,56743],[56746,56784],56801,56803,56832,[56843,56882],56890,56912,[56924,56969],56989,[57024,57080]],55303:[[56320,56328],[56330,56366],56384,56434,[56576,56582],[56584,56585],[56587,56624],56646,[56672,56677],[56679,56680],[56682,56713],56728,[57056,57074],57264],55304:[[56320,57241]],55305:[[56448,56643]],55308:[[56320,57343]],55309:[[56320,56366]],55313:[[56320,56902]],55322:[[56320,56888],[56896,56926],[57040,57069],[57088,57135],[57187,57207],[57213,57231]],55323:[[57088,57162],57168],55324:[56320],55329:[57335],55330:[[56320,57343]],55331:[[56320,56533],[56576,56576],[56584,56584]],55340:[[56320,56606],[56656,56658],[56676,56679],[56688,57083]],55343:[[56320,56426],[56432,56444],[56448,56456],[56464,56473]],55352:[[56576,56620],56654,[57024,57067]],55354:[[56320,56516]],55355:[[56832,56835],[56837,56863],[56865,56866],56868,56871,[56873,56882],[56884,56887],56889,56891,56898,56903,56905,56907,[56909,56911],[56913,56914],56916,56919,56921,56923,56925,56927,[56929,56930],56932,[56935,56938],[56940,56946],[56948,56951],[56953,56956],56958,[56960,56969],[56971,56987],[56993,56995],[56997,57001],[57003,57019]],55360:[56320],55401:[57053,57088],55405:[57140,57152],55406:[56349,56352],55411:[56993,57008],55418:[57312],55422:[[56320,56861]],55424:[56320],55428:[57162]},{55322:[[57152,57155]],55323:[[57235,57247],[57312,57313],57315],55352:[[56631,56637]],55354:[56651]},{55296:[[56640,56692],57153,57162,[57297,57301]],55305:[[56320,56430]]}],Ke=[[183,903,4969,4970,4971,4972,4973,4974,4975,4976,4977,6618],[[768,879],[1155,1159],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2260,2273],[2275,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2433,2492,[2497,2500],2509,[2530,2531],[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,2879,[2881,2884],2893,2902,[2914,2915],2946,3008,3021,3072,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,3263,3270,[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],3405,[3426,3427],3530,[3538,3540],3542,3633,[3636,3642],[3655,3662],3761,[3764,3769],[3771,3772],[3784,3789],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,[4957,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6109,[6155,6157],[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,[6832,6845],[6912,6915],6964,[6966,6970],6972,6978,[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],7142,[7144,7145],7149,[7151,7153],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7673],[7675,7679],[8400,8412],8417,[8421,8432],[11503,11505],11647,[11744,11775],[12330,12333],[12441,12442],42607,[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43045,43046],[43204,43205],[43232,43249],[43302,43309],[43335,43345],[43392,43394],43443,[43446,43449],43452,43493,[43561,43566],[43569,43570],[43573,43574],43587,43596,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,[43756,43757],43766,44005,44008,44013,64286,[65024,65039],[65056,65071],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],69633,[69688,69702],[69759,69761],[69811,69814],[69817,69818],[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],[70090,70092],[70191,70193],70196,[70198,70199],70206,70367,[70371,70378],[70400,70401],70460,70464,[70502,70508],[70512,70516],[70712,70719],[70722,70724],70726,[70835,70840],70842,[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71349],71351,[71453,71455],[71458,71461],[71463,71467],[72193,72198],[72201,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],72767,[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[92912,92916],[92976,92982],[94095,94098],[113821,113822],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[125136,125142],[125252,125258],[917760,917999]],[2307,2363,[2366,2368],[2377,2380],[2382,2383],[2434,2435],[2494,2496],[2503,2504],[2507,2508],2519,2563,[2622,2624],2691,[2750,2752],2761,[2763,2764],[2818,2819],2878,2880,[2887,2888],[2891,2892],2903,[3006,3007],[3009,3010],[3014,3016],[3018,3020],3031,[3073,3075],[3137,3140],[3202,3203],3262,[3264,3268],[3271,3272],[3274,3275],[3285,3286],[3330,3331],[3390,3392],[3398,3400],[3402,3404],3415,[3458,3459],[3535,3537],[3544,3551],[3570,3571],[3902,3903],3967,[4139,4140],4145,4152,[4155,4156],[4182,4183],[4194,4196],[4199,4205],[4227,4228],[4231,4236],4239,[4250,4252],6070,[6078,6085],[6087,6088],[6435,6438],[6441,6443],[6448,6449],[6451,6456],[6681,6682],6741,6743,6753,[6755,6756],[6765,6770],6916,6965,6971,[6973,6977],[6979,6980],7042,7073,[7078,7079],7082,7143,[7146,7148],7150,[7154,7155],[7204,7211],[7220,7221],7393,[7410,7411],7415,[12334,12335],[43043,43044],43047,[43136,43137],[43188,43203],[43346,43347],43395,[43444,43445],[43450,43451],[43453,43456],[43567,43568],[43571,43572],43597,43643,43645,43755,[43758,43759],43765,[44003,44004],[44006,44007],[44009,44010],44012,69632,69634,69762,[69808,69810],[69815,69816],69932,70018,[70067,70069],[70079,70080],[70188,70190],[70194,70195],70197,[70368,70370],[70402,70403],[70462,70463],[70465,70468],[70471,70472],[70475,70477],70487,[70498,70499],[70709,70711],[70720,70721],70725,[70832,70834],70841,[70843,70846],70849,[71087,71089],[71096,71099],71102,[71216,71218],[71227,71228],71230,71340,[71342,71343],71350,[71456,71457],71462,[72199,72200],72249,[72279,72280],72343,72751,72766,72873,72881,72884,[94033,94078],[119141,119142],[119149,119154]],[[48,57],[1632,1641],[1776,1785],[1984,1993],[2406,2415],[2534,2543],[2662,2671],[2790,2799],[2918,2927],[3046,3055],[3174,3183],[3302,3311],[3430,3439],[3558,3567],[3664,3673],[3792,3801],[3872,3881],[4160,4169],[4240,4249],[6112,6121],[6160,6169],[6470,6479],[6608,6617],[6784,6793],[6800,6809],[6992,7001],[7088,7097],[7232,7241],[7248,7257],[42528,42537],[43216,43225],[43264,43273],[43472,43481],[43504,43513],[43600,43609],[44016,44025],[65296,65305],[66720,66729],[69734,69743],[69872,69881],[69942,69951],[70096,70105],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71472,71481],[71904,71913],[72784,72793],[73040,73049],[92768,92777],[93008,93017],[120782,120831],[125264,125273]],[95,[8255,8256],8276,[65075,65076],[65101,65103],65343]],Je=[{55296:[56829,57056,[57206,57210]],55298:[[56833,56835],[56837,56838],[56844,56847],[56888,56890],56895,[57061,57062]],55299:[[56612,56615],[57003,57004],[57158,57168]],55300:[56321,[56376,56390],[56447,56449],[56499,56502],[56505,56506],[56576,56578],[56615,56619],[56621,56628],56691,[56704,56705],[56758,56766],[56777,56780],56783,[56879,56881],56884,[56886,56887],56894,57055,[57059,57066],[57088,57089],[57147,57148],57152,[57190,57196],[57200,57204]],55301:[[56376,56383],[56386,56388],56390,56414,[56499,56504],56506,[56511,56512],[56514,56515],[56754,56757],[56764,56765],[56767,56768],[56796,56797],[56883,56890],56893,[56895,56896],57003,57005,[57008,57013],57015,[57117,57119],[57122,57125],[57127,57131]],55302:[[56367,56375],[56377,56378],[56635,56636],56638,56643,[56788,56791],[56794,56795],56800,[56833,56842],[56883,56888],[56891,56894],56903,[56913,56918],[56921,56923],[56970,56982],[56984,56985]],55303:[[56368,56374],[56376,56381],56383,[56466,56487],[56490,56496],[56498,56499],[56501,56502],[56625,56630],56634,[56636,56637],[56639,56645],56647,[56720,56721],56725,56727,[57075,57076]],55322:[[57072,57076],[57136,57142]],55323:[57167,[57231,57234],57316],55343:[[56477,56478]],55348:[[56679,56681],[56699,56706],[56709,56715],[56746,56749],[56898,56900]],55350:[[56832,56886],[56891,56940],56949,56964,[56987,56991],[56993,57007]],55352:[[56320,56326],[56328,56344],[56347,56353],[56355,56356],[56358,56362],[56624,56630],[57068,57071]],55354:[[56528,56534],[56644,56650]],56128:[[56576,56815]]},{55300:[56320,56322,56450,[56496,56498],[56503,56504],56620,[56645,56646],56706,[56755,56757],[56767,56768],56782,[56876,56878],[56882,56883],56885,[57056,57058],[57090,57091],[57150,57151],[57153,57156],[57159,57160],[57163,57165],57175,[57186,57187]],55301:[[56373,56375],[56384,56385],56389,[56496,56498],56505,[56507,56510],56513,[56751,56753],[56760,56763],56766,[56880,56882],[56891,56892],56894,57004,[57006,57007],57014,[57120,57121],57126],55302:[[56364,56366],56376,[56624,56629],[56631,56632],56637,56640,56642,[56785,56787],[56796,56799],56804,56889,[56919,56920],56983],55303:[56367,56382,56489,56497,56500,[56714,56718],[56723,56724],56726,[57077,57078]],55323:[[57169,57223],[57328,57329]],55348:[[56677,56678],[56685,56690]]},{55297:[[56480,56489]],55299:[[56624,56633]],55300:[[56422,56431],[56560,56569],[56630,56639],[56784,56793],[57072,57081]],55301:[[56400,56409],[56528,56537],[56912,56921],[57024,57033],[57136,57145]],55302:[[56544,56553],56656],55303:[[56400,56409],[56656,56665],[56736,56745]],55322:[[56928,56937],[57168,57177]],55349:[[57294,57343]],55352:[[56640,56649],[57072,57081]],55354:[[56656,56665]],55358:[[57328,57337]]}];function Ye(e,t,n,i,r){for(let s=0;s=Ne)break}}function Qe(e,t){for(const n in e)Le[n]||(Le[n]={},Oe[n]=Fe.SurrogateChar),Ye(e[n],t,!1,Le[n],Le[n])}function Ze(e){if(Me.fill(Fe.NotIdentifierChar),Ke.forEach((t=>{Ye(t,Fe.IdentifierChar,e,Me,Oe)})),He.forEach((t=>{Ye(t,Fe.StartIdentifierChar,e,Me,Oe)})),!e){for(const e of Je)Qe(e,Fe.IdentifierChar);for(const e of Ge)Qe(e,Fe.StartIdentifierChar)}}function Xe(e,t){if(!e.existsSync(t)||!fe(e,t))return;let n=!1;const i=te(t,"py.typed");if(!e.existsSync(t)||!ge(e,i))return;const r=e.statSync(i);if(r.size>0&&r.size<65536){const t=e.readFileSync(i,"utf8");(t.match(/partial\n/)||t.match(/partial\r\n/))&&(n=!0)}return{pyTypedPath:i,isPartiallyTyped:n}}function et(e){const t=e.map((e=>e.toLowerCase()));return e=>{if(!e||e.indexOf("__pycache__")>=0)return!0;const n=e.toLowerCase();return t.every((e=>n.indexOf(e)<0))}}Ze(!0);const tt={close(){}},nt={createFileWatcher:(e,t)=>tt,onFileChange(e,t){}};class it{constructor(e,t){this.name=e,this._file=t}isFile(){return this._file}isDirectory(){return!this._file}isBlockDevice(){return!1}isCharacterDevice(){return!1}isSymbolicLink(){return!1}isFIFO(){return!1}isSocket(){return!1}}class rt extends class{constructor(e){this._realFS=e,this._entryMap=new Map,this._reverseEntryMap=new Map,this._folderMap=new Map}existsSync(e){return!this._isMovedEntry(e)&&this._realFS.existsSync(this._getOriginalPath(e))}mkdirSync(e,t){throw new Error("Operation is not allowed.")}chdir(e){throw new Error("Operation is not allowed.")}readdirEntriesSync(e){const t=le(e),n=[],i=this._folderMap.get(t);return i&&!this._realFS.existsSync(e)||n.push(...this._realFS.readdirEntriesSync(e).filter((t=>!this._isMovedEntry(te(e,t.name))))),i?n.concat(i.map((e=>new it(e.name,e.isFile)))):n}readdirSync(e){return this.readdirEntriesSync(e).map((e=>e.name))}readFileSync(e,t){return this._realFS.readFileSync(this._getOriginalPath(e),t)}writeFileSync(e,t,n){throw new Error("Operation is not allowed.")}statSync(e){return this._realFS.statSync(this._getOriginalPath(e))}unlinkSync(e){throw new Error("Operation is not allowed.")}realpathSync(e){return this._entryMap.has(e)?e:this._realFS.realpathSync(e)}getModulePath(){return this._realFS.getModulePath()}createFileSystemWatcher(e,t){return this._realFS.createFileSystemWatcher(e,t)}createReadStream(e){return this._realFS.createReadStream(this._getOriginalPath(e))}createWriteStream(e){throw new Error("Operation is not allowed.")}copyFileSync(e,t){throw new Error("Operation is not allowed.")}readFile(e){return this._realFS.readFile(this._getOriginalPath(e))}readFileText(e,t){return this._realFS.readFileText(this._getOriginalPath(e),t)}tmpdir(){return this._realFS.tmpdir()}tmpfile(e){return this._realFS.tmpfile(e)}realCasePath(e){return this._realFS.realCasePath(e)}getUri(e){return this._realFS.getUri(e)}isMappedFilePath(e){return this._entryMap.has(e)||this._realFS.isMappedFilePath(e)}getOriginalFilePath(e){return this._realFS.getOriginalFilePath(this._getOriginalPath(e))}getMappedFilePath(e){var t;const n=this._realFS.getMappedFilePath(e);return null!==(t=this._reverseEntryMap.get(n))&&void 0!==t?t:n}isInZipOrEgg(e){return this._realFS.isInZipOrEgg(e)}_recordMovedEntry(e,t,n=!0,i=!0){this._entryMap.set(e,t),n&&this._reverseEntryMap.set(t,e);const r=le($(e)),s=h(this._folderMap,r,(()=>[])),o=de(e);s.some((e=>e.name===o))||s.push({name:o,isFile:i})}_getOriginalPath(e){var t;return null!==(t=this._entryMap.get(e))&&void 0!==t?t:e}_isMovedEntry(e){return this._reverseEntryMap.has(e)}_clear(){this._entryMap.clear(),this._reverseEntryMap.clear(),this._folderMap.clear()}}{constructor(e){super(e),this._rootSearched=new Set,this._partialStubPackagePaths=new Set,this._conflictMap=new Map,this._customUriMap=new Map}mkdirSync(e,t){this._realFS.mkdirSync(e,t)}chdir(e){this._realFS.chdir(e)}writeFileSync(e,t,n){this._realFS.writeFileSync(this._getOriginalPath(e),t,n)}unlinkSync(e){this._realFS.unlinkSync(this._getOriginalPath(e))}createWriteStream(e){return this._realFS.createWriteStream(this._getOriginalPath(e))}copyFileSync(e,t){this._realFS.copyFileSync(this._getOriginalPath(e),this._getOriginalPath(t))}getUri(e){const t=this._customUriMap.get(this.getMappedFilePath(e));return t?t.uri:this._realFS.getUri(e)}hasUriMapEntry(e,t){const n=this._customUriMap.get(t);return!(!n||n.uri!==e)}addUriMap(e,t){const n=this._customUriMap.get(t);return n?n.uri===e&&(n.closed=!1,!0):(this._customUriMap.set(t,{uri:e,closed:!1,hasPendingRequest:!1}),!0)}removeUriMap(e,t){const n=this._customUriMap.get(t);return!(!n||n.uri!==e||(n.hasPendingRequest?(n.closed=!0,0):(this._customUriMap.delete(t),0)))}pendingRequest(e,t){const n=this._customUriMap.get(e);n&&(t||!n.closed?n.hasPendingRequest=t:this._customUriMap.delete(e))}isPartialStubPackagesScanned(e){var t;return this.isPathScanned(null!==(t=e.root)&&void 0!==t?t:"")}isPathScanned(e){return this._rootSearched.has(e)}processPartialStubPackages(e,t){var n;for(const i of e)if(this._rootSearched.add(i),this._realFS.existsSync(i)&&fe(this._realFS,i))for(const e of this._realFS.readdirEntriesSync(i)){const r=te(i,e.name);if(!(e.isSymbolicLink()?null===(n=ye(this._realFS,r))||void 0===n?void 0:n.isDirectory():e.isDirectory())||!e.name.endsWith(b))continue;const s=Xe(this._realFS,r);if(!s||!s.isPartiallyTyped)continue;let o;this._partialStubPackagePaths.add(r);const a=e.name.substr(0,e.name.length-b.length);for(const e of t){const t=te(e,a);try{const e=ye(this._realFS,t);if(!(null==e?void 0:e.isDirectory()))continue;const n=Xe(this._realFS,t);if(n&&!n.isPartiallyTyped)continue;o=null!=o?o:this._getRelativePathPartialStubs(r);for(const e of o){const n=te(r,e),i=te(t,e);if(this.existsSync(i)){const t=ie(i,"py"),r=ie(te(this.tmpdir(),"conflictFiles",a,e),"py");this._conflictMap.has(i)||this.existsSync(t)||this.existsSync(r)||(this._recordMovedEntry(r,n,!1),this._conflictMap.set(i,r))}else this._recordMovedEntry(i,n)}}catch{}}}}clearPartialStubs(){super._clear(),this._rootSearched.clear(),this._partialStubPackagePaths.clear(),this._conflictMap.clear()}getConflictedFile(e){return this._conflictMap.get(e)}_getRelativePathPartialStubs(e){const t=[],n=le(e).length,i=e=>{for(const r of this._realFS.readdirEntriesSync(e)){const s=te(e,r.name);let o=r.isDirectory(),a=r.isFile();if(r.isSymbolicLink()){const e=ye(this._realFS,s);e&&(o=e.isDirectory(),a=e.isFile())}if(o&&i(s),a&&r.name.endsWith(".pyi")){const e=s.substring(n);e&&t.push(e)}}};return i(e),t}_isMovedEntry(e){return this._partialStubPackagePaths.has(e)||super._isMovedEntry(e)}}var st=__webpack_require__(3374),ot=__webpack_require__(8934);let at;class lt extends ot.ResponseError{constructor(){super(ot.LSPErrorCodes.RequestCancelled,"request cancelled")}static is(e){return e.code===ot.LSPErrorCodes.RequestCancelled}}function ct(e){if(!o()&&e.isCancellationRequested)throw new lt}function ut(...e){const t=new st.CancellationTokenSource,n=[];for(const i of e)n.push(i.onCancellationRequested((e=>{t.cancel()})));return n.push(t.token.onCancellationRequested((e=>{n.forEach((e=>e.dispose()))}))),t}class pt{createCancellationTokenSource(){return new st.CancellationTokenSource}}var dt,ht,mt,ft;function gt(e,t){return e.linet.line?1:e.charactert.character?1:0}function yt(e,t){return!(gt(t.start,e.end)>0||gt(e.start,t.end)>0)}function _t(e,t){return ht.is(t)?gt(e.start,t)<=0&>(e.end,t)>=0:_t(e,t.start)&&_t(e,t.end)}function vt(e,t){return 0===gt(e,t)}function Tt(e,t){return vt(e.start,t.start)&&vt(e.end,t.end)}function bt(e,t){t&&(Array.isArray(t)?t.forEach((t=>{bt(e,t)})):(gt(t.start,e.start)<0&&(e.start=t.start),gt(t.end,e.end)>0&&(e.end=t.end)))}function It(e,t){if(0===t.end)return{line:0,character:0};let n=0;e>=t.end&&(e=t.end-1,n=1);const i=t.getItemContaining(e);w(i>=0&&i<=t.length);const r=t.getItemAt(i);return w(void 0!==r),{line:i,character:e-r.start+n}}function St(e,t,n){return{start:It(e,n),end:It(t,n)}}function xt(e,t){if(!(e.line>=t.count))return t.getItemAt(e.line).start+e.character}function Ct(e,t){const n=xt(e.start,t);if(void 0===n)return;const i=xt(e.end,t);return void 0!==i?dt.fromBounds(n,i):void 0}function wt(e,t){return St(e.start,dt.getEnd(e),t)}!function(e){function t(e,t){if(e<0)throw new Error("start must be non-negative");if(t<0)throw new Error("length must be non-negative");return{start:e,length:t}}function n(e){return e.start+e.length}function i(e,t){return t>=e.start&&t<=n(e)}function r(e,t){t&&(Array.isArray(t)?t.forEach((t=>{r(e,t)})):(t.startn(e)&&(e.length+=n(t)-n(e))))}e.create=t,e.fromBounds=function(e,n){if(e<0)throw new Error("start must be non-negative");if(e>n)throw new Error("end must be greater than or equal to start");return t(e,n-e)},e.getEnd=n,e.contains=function(e,t){return t>=e.start&&t=e.start&&n(t)<=n(e)},e.overlaps=i,e.overlapsRange=function(e,t){return i(e,t.start)||i(t,e.start)},e.extend=r,e.combine=function(e){if(0===e.length)return;const t=e[0];for(let n=1;n2&&e.startsWith("__")&&!e.endsWith("__")}function Jt(e){return e.length>1&&e.startsWith("_")&&!e.startsWith("__")}function Yt(e){return Kt(e)||Jt(e)}function Qt(e){return e.length>4&&e.startsWith("__")&&e.endsWith("__")}function Zt(e){return!!e.match($t)&&!e.match(Ht)}function Xt(e){return!!e.match(Gt)}function en(e){return e.importResult?0===e.importResult.importType?0:1===e.importResult.importType||e.importResult.isLocalTypingsFile?1:e.importResult.isRelative?3:2:2}function tn(e,t=!1){const n={orderedImports:[],mapByFilePath:new Map};let i=!1,r=!1;return e.statements.forEach((e=>{47===e.nodeType?e.statements.forEach((e=>{20===e.nodeType?(r=!0,function(e,t,n){e.list.forEach((i=>{const r=Rt(i.module);let s;r&&r.isImportFound&&(s=r.resolvedPaths[r.resolvedPaths.length-1]);const o={node:e,subnode:i,importResult:r,resolvedPath:s,moduleName:ln(i.module),followsNonImportStatement:n};t.orderedImports.push(o),s&&(t.mapByFilePath.has(s)||t.mapByFilePath.set(s,o))}))}(e,n,i),i=!1):22===e.nodeType?(r=!0,function(e,t,n,i){var r;const s=Rt(e.module);let o;if(s&&s.isImportFound&&(o=s.resolvedPaths[s.resolvedPaths.length-1]),i&&s){t.implicitImports=null!==(r=t.implicitImports)&&void 0!==r?r:new Map;for(const n of s.implicitImports){const i=e.imports.find((e=>e.name.value===n.name));i&&t.implicitImports.set(n.path,i)}}const a={node:e,importResult:s,resolvedPath:o,moduleName:ln(e.module),followsNonImportStatement:n};if(t.orderedImports.push(a),o){const e=t.mapByFilePath.get(o);(!e||20===e.node.nodeType||e.moduleName.length>a.moduleName.length)&&t.mapByFilePath.set(o,a)}}(e,n,i,t),i=!1):i=r})):i=r})),n}function nn(e){return Zt(e)?0:Xt(e)?1:2}function rn(e,t,n){const i=[];if(!t.node||22!==t.node.nodeType||t.node.isWildcardImport)return i;const r=t.node;if(0===(e=(Array.isArray(e)?e:[e]).filter((e=>!!e.name&&!r.imports.some((t=>t.name.value===e.name&&t.alias===e.alias))))).length)return i;for(const r of e)i.push(on(r.name,r.alias,t.node,n));const s=f(i,(e=>mt.print(e.range))),o=[];for(const e of s.values())1===e.length?o.push(e[0]):o.push({range:e[0].range,replacementText:e.sort(((e,t)=>sn(e.importName,t.importName))).map((e=>e.replacementText)).join("")});return o}function sn(e,t){const n=nn(e)-nn(t);return 0!==n?n:L(e.replace(/_/g,"="),t.replace(/_/g,"="))}function on(e,t,n,i){let r;for(const t of n.imports){if(sn(t.name.value,e)>0)break;r=t}let s=!1,o="";if(n.imports.length>0){const e=It(n.start,i.tokenizerOutput.lines),t=It(n.imports[0].start,i.tokenizerOutput.lines),r=n.imports.length>1?It(n.imports[1].start,i.tokenizerOutput.lines):void 0;if(t.line>e.line&&(void 0===r||r.line>t.line)){const e=i.tokenizerOutput.lines.getItemAt(t.line);o=i.text.substr(e.start,t.character),/^\s*$/.test(o)&&(s=!0)}}const a=It(r?dt.getEnd(r):n.imports.length>0?n.imports[0].start:n.start+n.length,i.tokenizerOutput.lines),l=t?`${e} as ${t}`:`${e}`;let c;if(s){const e=i.tokenizerOutput.predominantEndOfLineSequence;c=r?`,${e}${o}${l}`:`${l},${e}${o}`}else c=r?`, ${l}`:`${l}, `;return{range:{start:a,end:a},importName:e,replacementText:c}}function an(e,t,i,r,s,o){return function(e,t){if(t.length<2)return t.map((e=>r(e)));const n=[...f(t,(e=>`${e.importGroup} ${mt.print(e.range)}`))].sort(((e,t)=>L(e[0],t[0]))).map((e=>e[1])),i=[];for(const t of n)1===t.length?i.push(r(t[0])):i.push({range:t[0].range,replacementText:t[0].preChange+t.map((e=>e.importStatement)).sort(((e,t)=>s(e,t))).join(e.tokenizerOutput.predominantEndOfLineSequence)+t[0].postChange});return i;function r(e){return{range:e.range,replacementText:e.preChange+e.importStatement+e.postChange}}function s(e,t){const n=e.startsWith("import");return n===t.startsWith("import")?ee.name?"from":"import")),c=l.get("import");c&&p(c,(e=>`import ${e.join(", ")}`));const u=l.get("from");return u&&p(u,(e=>`from ${i} import ${e.join(", ")}`)),a;function p(e,l){const c=e.map((e=>function(e,t){const n=e.name?e.name:t;return{sortText:n,text:e.alias?`${n} as ${e.alias}`:n}}(e,i))).sort(((e,t)=>sn(e.sortText,t.sortText))).reduce(((e,t)=>function(e,t,i=n){return function(e,t,i=n){if(e)for(const n of e)if(i(n,t))return!0;return!1}(e,t,i)||e.push(t),e}(e,t.text)),[]);a.push(function(e,t,n,i,r,s){let o,a="",l="";const c=xt(s,r.tokenizerOutput.lines);if(t.orderedImports.length>0&&c>t.orderedImports[0].node.start){let e=!0,s=t.orderedImports[0],c=0;for(const o of t.orderedImports){const l=o.importResult?en(o):c;if(in)break;if(o.followsNonImportStatement){i>c&&(a=r.tokenizerOutput.predominantEndOfLineSequence+a);break}o===t.orderedImports[t.orderedImports.length-1]&&i>l&&(a=r.tokenizerOutput.predominantEndOfLineSequence+a),e=!e&&ie.value)).join("."),t}function cn(e){let t=2;return e.isLocalTypingsFile||1===e.importType?t=1:0===e.importType&&(t=0),t}function un(e,t,n,i=!1,r){let s,o=t;(r=void 0!==r?r:ge(e,t))&&(o=$(t));let a=n;if(r){a=$(n);const e=he(de(n));"__init__"!==e?s=e:i&&(s=de(a),a=$(a))}const l=se(o,a,(t=>e.realCasePath(t)));let c=".";for(let e=1;ele(ke(e,me(t))))).filter((e=>e!==n)).filter((e=>e.startsWith(n))),!this._libPathCache.some((e=>t.startsWith(e))))}checked(e,t,n){h(this._importChecked,t,(()=>new Map)).set(e,n)}add(e){h(this._cachedResults,e.importName,(()=>new Map)).set(e.path,e.importResult)}reset(){this._importChecked.clear(),this._cachedResults.clear(),this._libPathCache=void 0}}const hn="stdlib",mn="stubs";function fn(e,t,n,i,r,s){if(i.push("Finding python search paths"),void 0!==t.venvPath&&t.venv){const n=t.venv,r=te(t.venvPath,n),s=[],o=[];if([y,v,_].forEach((t=>{const n=function(e,t,n){if(!e.existsSync(t))return void n.push(`Did not find '${t}'`);n.push(`Found path '${t}'; looking for site-packages`);const i=te(t,T);if(e.existsSync(i))return n.push(`Found path '${i}'`),i;n.push(`Did not find '${i}', so looking for python subdirectory`);const r=ve(e,t);for(let i=0;i{yn(e,t).forEach((e=>{_n(s,e)}))})),s.length>0)return i.push("Found the following 'site-packages' dirs"),s.forEach((e=>{i.push(` ${e}`)})),s;i.push("Did not find any 'site-packages' dirs. Falling back on python interpreter.")}const o=n.getPythonSearchPaths(t.pythonPath,i);return r&&s?o.paths.filter((e=>!ne(s,e,!0)||ne(o.prefix,e,!0))):o.paths}function gn(e){return"python"===(e=e.trim())||"python3"===e}function yn(e,t){const n=[];return e.readdirEntriesSync(t).filter((e=>(e.isFile()||e.isSymbolicLink())&&e.name.endsWith(".pth"))).sort(((e,t)=>i(e.name,t.name))).forEach((i=>{const r=te(t,i.name),s=ye(e,r);(null==s?void 0:s.isFile())&&s.size>0&&s.size<65536&&e.readFileSync(r,"utf8").split(/\r?\n/).forEach((i=>{const r=i.trim();if(r.length>0&&!r.startsWith("#")&&!r.match(/^import\s/)){const i=te(t,r);e.existsSync(i)&&fe(e,i)&&n.push(i)}}))})),n}function _n(e,t){return!e.some((e=>e===t))&&(e.push(t),!0)}function vn(e){return{leadingDots:0,nameParts:e.split("."),importedSymbols:[]}}const Tn=[".pyd",".so",".dylib"],bn=[".py",".pyi",...Tn];class In{constructor(e,t,n){this.fileSystem=e,this._configOptions=t,this.host=n,this._cachedImportResults=new Map,this._cachedModuleNameResults=new Map,this._cachedEntriesForPath=new Map,this.cachedParentImportResults=new dn((()=>this.getPythonSearchPaths([])))}invalidateCache(){this._cachedImportResults=new Map,this._cachedModuleNameResults=new Map,this.cachedParentImportResults.reset(),this._invalidateFileSystemCache(),this.fileSystem instanceof rt&&this.fileSystem.clearPartialStubs()}resolveImport(e,t,n){return this._resolveImport(e,t,n)}_resolveImport(e,t,n){const i=this.formatImportName(n),r=this._resolveImportStrict(i,e,t,n,[]);if(r.isImportFound||n.leadingDots>0)return r;const s=le($(e=ke(this.fileSystem,me(e)))),o=this.cachedParentImportResults.getImportResult(s,i,r);if(o)return this.filterImplicitImports(o,n.importedSymbols);const a=this.getParentImportResolutionRoot(e,t.root);if(!this.cachedParentImportResults.checkValidPath(this.fileSystem,e,a))return r;const l={importPath:void 0};let c=s;for(;this._shouldWalkUp(c,a,t);){const e=this.resolveAbsoluteImport(c,t,n,i,[],void 0,void 0,!1,!0);if(this.cachedParentImportResults.checked(c,i,l),e.isImportFound)return l.importPath=c,this.cachedParentImportResults.add({importResult:e,path:c,importName:i}),this.filterImplicitImports(e,n.importedSymbols);let r;if([r,c]=this._tryWalkUp(c),!r)break}return this.cachedParentImportResults.checked(c,i,l),r}_resolveImportStrict(e,t,n,i,r){const s={importName:e,isRelative:!1,isImportFound:!1,isPartlyResolved:!1,isNamespacePackage:!1,isStubPackage:!1,importFailureInfo:r,resolvedPaths:[],importType:2,isStubFile:!1,isNativeLib:!1,implicitImports:[],filteredImplicitImports:[],nonStubImportResult:void 0};if(this.ensurePartialStubPackages(n),i.leadingDots>0){const s=this._resolveRelativeImport(t,n,i,e,r);if(s)return s.isRelative=!0,s}else{const r=this._lookUpResultsInCache(n,e,i.importedSymbols);if(r&&(!r.isImportFound||!r.isNamespacePackage||this._isNamespacePackageResolved(i,r.implicitImports)))return r;const o=this._resolveBestAbsoluteImport(t,n,i,!0);if(o)return o.isStubFile&&(o.nonStubImportResult=this._resolveBestAbsoluteImport(t,n,i,!1)||s),this.addResultsToCache(n,e,o,i.importedSymbols)}return this.addResultsToCache(n,e,s,void 0)}getCompletionSuggestions(e,t,n){const i=this._getCompletionSuggestionsStrict(e,t,n);if(n.leadingDots>0)return i;const r=this.getParentImportResolutionRoot(e,t.root);let s=le($(ke(this.fileSystem,me(e))));for(;this._shouldWalkUp(s,r,t);){let r;if(this._getCompletionSuggestionsAbsolute(e,t,s,n,i,!1),[r,s]=this._tryWalkUp(s),!r)break}return i}_getCompletionSuggestionsStrict(e,t,n){const i=[],r=new Set;if(n.leadingDots>0)this._getCompletionSuggestionsRelative(e,t,n,r);else{n.nameParts.length>0&&this._getCompletionSuggestionsTypeshedPath(e,t,n,!0,r),t.root&&this._getCompletionSuggestionsAbsolute(e,t,t.root,n,r);for(const i of t.extraPaths)this._getCompletionSuggestionsAbsolute(e,t,i,n,r);this._configOptions.stubPath&&this._getCompletionSuggestionsAbsolute(e,t,this._configOptions.stubPath,n,r),this._getCompletionSuggestionsTypeshedPath(e,t,n,!1,r);const s=this.getPythonSearchPaths(i);for(const i of s)this._getCompletionSuggestionsAbsolute(e,t,i,n,r)}return r}getSourceFilesFromStub(e,t,n){const i=[];if(this._cachedImportResults.forEach((t=>{t.forEach((t=>{if(t.isStubFile&&t.isImportFound&&t.nonStubImportResult&&t.resolvedPaths[t.resolvedPaths.length-1]===e&&t.nonStubImportResult.isImportFound){const e=t.nonStubImportResult.resolvedPaths[t.nonStubImportResult.resolvedPaths.length-1];(e.endsWith(".py")||e.endsWith(".pyi"))&&i.push(e)}}))})),0===i.length){const t=ie(e,".py");this.dirExistsCached(t)&&i.push(t)}if(0===i.length){const n=this.getImportRoots(t),r=[];for(const t of n)if(ne(t,e,!0)){const n=se(t,e,!0);if(n.length>1){n[1].endsWith(b)&&(n[1]=n[1].substr(0,n[1].length-b.length));const e=J(n);e&&r.push(e)}}for(const e of r)for(const t of n){let n=ie(ee(t,e),".py");if(this.fileExistsCached(n))i.push(n);else{const e=he(n);e.endsWith("__init__")?(n=e.substr(0,e.length-9)+".py",this.fileExistsCached(n)&&i.push(n)):(n=te(e,"__init__.py"),this.fileExistsCached(n)&&i.push(n))}}}return i}getModuleNameForImport(e,t){const n=h(this._cachedModuleNameResults,t.root,(()=>new Map));return h(n,e,(()=>this._getModuleNameForImport(e,t)))}_getModuleNameForImport(e,t){let n,i=0,r=!1;const s=[],o=this._getStdlibTypeshedPath(t,s);if(o&&(n=this.getModuleNameFromPath(o,e),n)){const e={leadingDots:0,nameParts:n.split("."),importedSymbols:void 0};if(this._isStdlibTypeshedStubValidForVersion(e,t,[]))return{moduleName:n,importType:i,isLocalTypingsFile:r}}t.root&&(n=this.getModuleNameFromPath(t.root,e),i=2);for(const r of t.extraPaths){const t=this.getModuleNameFromPath(r,e);(!n||t&&t.length0&&i.push(...o),i}readdirEntriesCached(e){const t=this._cachedEntriesForPath.get(e);if(t)return t;let n;try{n=this.fileSystem.readdirEntriesSync(e)}catch{n=[]}return this._cachedEntriesForPath.set(e,n),n}fileExistsCached(e){var t,n;const i=this._splitPath(e);if(!i[0]||!i[1])return!!this.fileSystem.existsSync(e)&&null!==(n=null===(t=ye(this.fileSystem,e))||void 0===t?void 0:t.isFile())&&void 0!==n&&n;const r=this.readdirEntriesCached(i[0]).find((e=>e.name===i[1]));if(null==r?void 0:r.isFile())return!0;if(null==r?void 0:r.isSymbolicLink()){const t=_e(this.fileSystem,e);if(t&&this.fileSystem.existsSync(t)&&ge(this.fileSystem,t))return!0}return!1}dirExistsCached(e){var t,n;const i=this._splitPath(e);if(!i[0]||!i[1])return!!this.fileSystem.existsSync(e)&&null!==(n=null===(t=ye(this.fileSystem,e))||void 0===t?void 0:t.isDirectory())&&void 0!==n&&n;const r=this.readdirEntriesCached(i[0]).find((e=>e.name===i[1]));if(null==r?void 0:r.isDirectory())return!0;if(null==r?void 0:r.isSymbolicLink()){const t=_e(this.fileSystem,e);if(t&&this.fileSystem.existsSync(t)&&fe(this.fileSystem,t))return!0}return!1}ensurePartialStubPackages(e){if(!(this.fileSystem instanceof rt))return!1;if(this.fileSystem.isPartialStubPackagesScanned(e))return!1;const t=this.fileSystem,n=[],i=[];return r(this._configOptions.stubPath),r(e.root),e.extraPaths.forEach((e=>r(e))),r(this.getTypeshedPathEx(e,n)),this.getPythonSearchPaths(n).forEach((e=>r(e))),this.fileSystem.processPartialStubPackages(i,this.getImportRoots(e)),this._invalidateFileSystemCache(),!0;function r(e){e&&!t.isPathScanned(e)&&i.push(e)}}addResultsToCache(e,t,n,i){return h(this._cachedImportResults,e.root,(()=>new Map)).set(t,n),this.filterImplicitImports(n,i)}resolveAbsoluteImport(e,t,n,i,r,s=!1,o=!1,a=!1,l=!0,c=!1){if(l&&a){const o=this._resolveAbsoluteImport(e,t,n,i,r,s,!1,!0,!0,!0);if(o.packageDirectory&&(!o.isNamespacePackage||o.isImportFound))return o}return this._resolveAbsoluteImport(e,t,n,i,r,s,o,!1,l,c)}_invalidateFileSystemCache(){this._cachedEntriesForPath.clear()}_splitPath(e){const t=G(e);return t.length<=1?[e,""]:[J(t.slice(0,-1)),t[t.length-1]]}_resolveAbsoluteImport(e,t,n,i,r,s,o,a,l,c){a?r.push(`Attempting to resolve stub package using root path '${e}'`):r.push(`Attempting to resolve using root path '${e}'`);const u=[];let p,d,h,m=e,f=!1,g=!1,y=!1,_=!1,v=[];if(0===n.nameParts.length){const e="__init__",t=te(m,e+".py"),n=te(m,e+".pyi");l&&this.fileExistsCached(n)?(r.push(`Resolved import with file '${n}'`),u.push(n),y=!0):this.fileExistsCached(t)?(r.push(`Resolved import with file '${t}'`),u.push(t)):(r.push(`Partially resolved import with directory '${m}'`),u.push(""),f=!0),v=this._findImplicitImports(i,m,[t,n])}else for(let e=0;ethis._isNativeModuleFileName(S,e)));if(e){const s=te(I,e);_=this._resolveNativeModuleStub(s,t,i,n,r,u)}}!_&&T?(r.push(`Partially resolved import with directory '${m}'`),u.push(""),h&&(v=this._findImplicitImports(i,m,[x,C]),f=!0)):_&&r.push(`Did not find file '${C}' or '${x}'`)}break}const T=u.length>0&&u.length0:u.length>=n.nameParts.length,{importName:i,isRelative:!1,isNamespacePackage:f,isStubPackage:g,isImportFound:h,isPartlyResolved:T,importFailureInfo:r,importType:2,resolvedPaths:u,searchPath:e,isStubFile:y,isNativeLib:_,implicitImports:v,pyTypedInfo:d,filteredImplicitImports:v,packageDirectory:p}}getTypeshedPathEx(e,t){}resolveImportEx(e,t,n,i,r=[],s=!0){}resolveNativeImportEx(e,t,n=[]){}getNativeModuleName(e){const t=pe(e,!1).toLowerCase();if(this._isNativeModuleFileExtension(t))return he(he(e))}_lookUpResultsInCache(e,t,n){const i=this._cachedImportResults.get(e.root);if(!i)return;const r=i.get(t);return r?this.filterImplicitImports(r,n):void 0}_isNamespacePackageResolved(e,t){if(e.importedSymbols){if(!e.importedSymbols.some((e=>t.some((t=>t.name===e)))))return!1}else if(0===t.length)return!1;return!0}getModuleNameFromPath(e,t,n=!1){e=le(e);let i=he(t);if(this._isNativeModuleFileExtension(pe(t))&&(i=he(i)),!i.startsWith(e))return;i.endsWith("__init__")&&(i=i.substr(0,i.length-9));const r=G(i.substr(e.length));if(r.shift(),n){if(0===r.length)return;r.shift()}return 0===r.length||(r[0].endsWith(b)&&(r[0]=r[0].substr(0,r[0].length-b.length)),r.some((e=>!this._isIdentifier(e))))?void 0:r.join(".")}_resolveBestAbsoluteImport(e,t,n,i){const r=this.formatImportName(n),s=[];if(i&&this._configOptions.stubPath){s.push(`Looking in stubPath '${this._configOptions.stubPath}'`);const e=this.resolveAbsoluteImport(this._configOptions.stubPath,t,n,r,s,void 0,!1,!0,i,!1);if(e.isImportFound)return e.importType=2,e.isLocalTypingsFile=!0,e}let o,a;t.root&&(s.push(`Looking in root directory of execution environment '${t.root}'`),a=this.resolveAbsoluteImport(t.root,t,n,r,s,void 0,!0,!0,i,!1),o=a);for(const e of t.extraPaths)s.push(`Looking in extraPath '${e}'`),a=this.resolveAbsoluteImport(e,t,n,r,s,void 0,!0,!0,i,!1),o=this._pickBestImport(o,a,n);const l=this.getPythonSearchPaths(s);if(l.length>0)for(const e of l){s.push(`Looking in python search path '${e}'`);const a=this.resolveAbsoluteImport(e,t,n,r,s,!1,!0,!0,i,!0);if(a){if(a.importType=1,a.isImportFound&&a.isStubFile)return a;o=this._pickBestImport(o,a,n)}}else s.push("No python interpreter search path");if(t.root!==this._getTypeshedRoot(t,s)&&(null==o?void 0:o.pyTypedInfo)&&!o.isPartlyResolved)return o;const c=this.resolveImportEx(e,t,n,r,s,i);if(c)return c;if(i&&n.nameParts.length>0){s.push("Looking for typeshed stdlib path");const e=this._findTypeshedPath(t,n,r,!0,s);if(e)return e.isTypeshedFile=!0,e;s.push("Looking for typeshed third-party path");const i=this._findTypeshedPath(t,n,r,!1,s);i&&(i.isTypeshedFile=!0,o=this._pickBestImport(o,i,n))}return o}_pickBestImport(e,t,n){if(!e)return t;if(!t)return e;if(t.isImportFound){if(!e.isImportFound)return t;if(e.isNamespacePackage&&!t.isNamespacePackage)return t;if(2===e.importType&&!e.isNamespacePackage)return e;if(e.isNamespacePackage&&t.isNamespacePackage&&n.importedSymbols&&!this._isNamespacePackageResolved(n,e.implicitImports)&&this._isNamespacePackageResolved(n,t.implicitImports))return t;if(e.pyTypedInfo&&!t.pyTypedInfo)return e;if(!e.pyTypedInfo&&t.pyTypedInfo)return t;if(e.isStubFile&&!t.isStubFile)return e;if(!e.isStubFile&&t.isStubFile)return t;if(e.resolvedPaths.length>t.resolvedPaths.length)return t}else if(t.isPartlyResolved&&e.isNamespacePackage&&!t.isNamespacePackage)return t;return e}_isIdentifier(e){for(let t=0;tthis.fileSystem.realCasePath(e)));this._cachedPythonSearchPaths=[...new Set(t)]}return this._cachedPythonSearchPaths}_findTypeshedPath(e,t,n,i,r){let s;if(r.push(`Looking for typeshed ${i?hn:mn} path`),i){const n=this._getStdlibTypeshedPath(e,r,t);n&&(s=[n])}else s=this._getThirdPartyTypeshedPackagePaths(t,e,r);if(s)for(const o of s)if(this.dirExistsCached(o)){const s=this.resolveAbsoluteImport(o,e,t,n,r);if(s.isImportFound)return s.importType=i?0:1,s}r.push("Typeshed path not found")}_buildTypeshedThirdPartyPackageMap(e){this._cachedTypeshedThirdPartyPackagePaths=new Map,e&&this.readdirEntriesCached(e).forEach((t=>{if(t.isDirectory()){const n=te(e,t.name);this.readdirEntriesCached(n).forEach((e=>{if("@python2"!==e.name)if(e.isDirectory()){const t=this._cachedTypeshedThirdPartyPackagePaths.get(e.name);t?t.push(n):this._cachedTypeshedThirdPartyPackagePaths.set(e.name,[n])}else if(e.isFile()&&e.name.endsWith(".pyi")){const t=he(e.name),i=this._cachedTypeshedThirdPartyPackagePaths.get(t);i?i.push(n):this._cachedTypeshedThirdPartyPackagePaths.set(t,[n])}}))}})),this._cachedTypeshedThirdPartyPackageRoots=[...new Set(...this._cachedTypeshedThirdPartyPackagePaths.values())].sort()}_getCompletionSuggestionsTypeshedPath(e,t,n,i,r){const s=[];let o;if(i){const e=this._getStdlibTypeshedPath(t,s,n);e&&(o=[e])}else{o=this._getThirdPartyTypeshedPackagePaths(n,t,s,!1);const e=this.getTypeshedPathEx(t,s);e&&(o=null!=o?o:[],o.push(e))}o&&o.forEach((i=>{this.dirExistsCached(i)&&this._getCompletionSuggestionsAbsolute(e,t,i,n,r)}))}_getStdlibTypeshedPath(e,t,n){const i=this._getTypeshedSubdirectory(!0,e,t);if(!i||!n||this._isStdlibTypeshedStubValidForVersion(n,e,t))return i}_getThirdPartyTypeshedPath(e,t){return this._getTypeshedSubdirectory(!1,e,t)}_isStdlibTypeshedStubValidForVersion(e,t,n){this._cachedTypeshedStdLibModuleVersions||(this._cachedTypeshedStdLibModuleVersions=this._readTypeshedStdLibVersions(t,n));for(let n=1;n<=e.nameParts.length;n++){const i=e.nameParts.slice(0,n),r=this._cachedTypeshedStdLibModuleVersions.get(i.join("."));if(r){if(t.pythonVersionr.max)return!1}}return!0}_readTypeshedStdLibVersions(e,t){const n=new Map,i=this._getTypeshedSubdirectory(!0,e,t);if(i){const e=te(i,"VERSIONS");try{const i=this.fileSystem.statSync(e);i.size>0&&i.size<262144?this.fileSystem.readFileSync(e,"utf8").split(/\r?\n/).forEach((e=>{const t=e.split("#")[0].split(":");if(2!==t.length)return;const i=t[1].split("-");if(i.length>2)return;const r=t[0].trim();if(!r)return;let s=i[0].trim();s.endsWith("+")&&(s=s.substr(0,s.length-1));let o,a=Re(s);a||(a=De.V3_0),i.length>1&&(o=Re(i[1].trim())),n.set(r,{min:a,max:o})})):t.push("Typeshed stdlib VERSIONS file is unexpectedly large")}catch(e){t.push(`Could not read typeshed stdlib VERSIONS file: '${JSON.stringify(e)}'`)}}return n}_getThirdPartyTypeshedPackagePaths(e,t,n,i=!0){const r=this._getThirdPartyTypeshedPath(t,n);this._cachedTypeshedThirdPartyPackagePaths||this._buildTypeshedThirdPartyPackageMap(r);const s=e.nameParts.length>0?e.nameParts[0]:"";return i?this._cachedTypeshedThirdPartyPackagePaths.get(s):s?function(e){const t=[];for(const i of e)i&&(n=i,(Array.isArray?Array.isArray(n):n instanceof Array)?c(t,i):t.push(i));var n;return t}(function(e,t){const n=[];return e.forEach(((e,t)=>{(e=>e.startsWith(s))(t)&&n.push(e)})),n}(this._cachedTypeshedThirdPartyPackagePaths)):[]}_getThirdPartyTypeshedPackageRoots(e,t){const n=this._getThirdPartyTypeshedPath(e,t);return this._cachedTypeshedThirdPartyPackagePaths||this._buildTypeshedThirdPartyPackageMap(n),this._cachedTypeshedThirdPartyPackageRoots}_getTypeshedRoot(e,t){if(void 0!==this._cachedTypeshedRoot)return this._cachedTypeshedRoot;let n="";if(this._configOptions.typeshedPath){const e=this._configOptions.typeshedPath;this.dirExistsCached(e)&&(n=e)}else{const e=this.getPythonSearchPaths(t);for(const t of e){const e=te(t,"typeshed");if(this.dirExistsCached(e)){n=e;break}}}return n||(n=function(e){let t=e.getModulePath();if(!t)return;t=$(le(me(t)));const n=te(t,g);if(e.existsSync(n))return n;const i=te($(t),g);return e.existsSync(i)?i:void 0}(this.fileSystem)||""),this._cachedTypeshedRoot=n,n}_getTypeshedSubdirectory(e,t,n){if(e){if(void 0!==this._cachedTypeshedStdLibPath)return this._cachedTypeshedStdLibPath}else if(void 0!==this._cachedTypeshedThirdPartyPath)return this._cachedTypeshedThirdPartyPath;let i=this._getTypeshedRoot(t,n);if(i=function(e,t){return te(e,t?hn:mn)}(i,e),this.dirExistsCached(i))return e?this._cachedTypeshedStdLibPath=i:this._cachedTypeshedThirdPartyPath=i,i}_resolveRelativeImport(e,t,n,i,r){r.push("Attempting to resolve relative import");const s=pn($(e),n.leadingDots);if(!s)return void r.push(`Invalid relative path '${i}'`);const o=this.resolveAbsoluteImport(s,t,n,i,r,!1,!0);return this.filterImplicitImports(o,n.importedSymbols)}_getCompletionSuggestionsRelative(e,t,n,i){const r=pn($(e),n.leadingDots);r&&this._getCompletionSuggestionsAbsolute(e,t,r,n,i)}_getFilesInDirectory(e){const t=this.readdirEntriesCached(e),n=t.filter((e=>e.isFile())).map((e=>e.name));return t.forEach((t=>{var i;const r=te(e,t.name);t.isSymbolicLink()&&(null===(i=ye(this.fileSystem,r))||void 0===i?void 0:i.isFile())&&n.push(t.name)})),n}_getCompletionSuggestionsAbsolute(e,t,n,i,r,s=!0){let o=n;const a=i.nameParts.map((e=>e));i.hasTrailingDot&&a.push("");const l=i.leadingDots,c=a.slice(0,-1);if(0===a.length)this._addFilteredSuggestionsAbsolute(e,t,o,"",r,l,c,s);else for(let n=0;n{const l=pe(n,!1).toLowerCase(),c=he(n,!0);if(bn.some((e=>e===l))){if("__init__"===c)return;if(i&&!N(i,c))return;if(!this._isUniqueValidSuggestion(c,r)||!this._isResolvableSuggestion(c,s,o,e,t,a))return;r.add(c)}})),l.directories.forEach((n=>{i&&!n.startsWith(i)||this._isUniqueValidSuggestion(n,r)&&this._isResolvableSuggestion(n,s,o,e,t,a)&&r.add(n)}))}_isResolvableSuggestion(e,t,n,i,r,s){const o={leadingDots:t,nameParts:[...n,e],importedSymbols:[]};if(s){const e=this.formatImportName(o),t=[];return this._resolveImportStrict(e,i,r,o,t).isImportFound}return this._resolveImport(i,r,o).isImportFound}_isUniqueValidSuggestion(e,t){return!(t.has(e)||/[.-]/.test(e)||Qt(e)&&"__future__"!==e)}filterImplicitImports(e,t){if(void 0===t){const t=Object.assign({},e);return t.filteredImplicitImports=[],t}if(0===t.length)return e;if(0===e.implicitImports.length)return e;const n=e.implicitImports.filter((e=>t.some((t=>t===e.name))));if(n.length===e.implicitImports.length)return e;const i=Object.assign({},e);return i.filteredImplicitImports=n,i}_findImplicitImports(e,t,n){const i=new Map,r=Te(this.readdirEntriesCached(t),this.fileSystem,t);for(const s of r.files){const r=pe(s);let o,a=!1;if(".py"===r||".pyi"===r)o=he(s);else{if(!this._isNativeModuleFileExtension(r)||this.fileExistsCached(`${s}.py`)||this.fileExistsCached(`${s}.pyi`))continue;o=s.substr(0,s.indexOf(".")),a=!0}const l=te(t,s);if(!n.find((e=>e===l))){const n={isStubFile:s.endsWith(".pyi"),isNativeLib:a,name:o,path:l},r=i.get(n.name);if(!r||!r.isStubFile){if(a){const i=te(t,s),r=this.resolveNativeImportEx(i,`${e}.${o}`,[]);r&&(n.path=r,n.isNativeLib=!1)}i.set(n.name,n)}}}for(const e of r.directories){const r=te(t,e,"__init__.py"),s=r+"i";let o=!1,a="";if(this.fileExistsCached(s)?(o=!0,a=s):this.fileExistsCached(r)&&(a=r),a&&!n.find((e=>e===a))){const t={isStubFile:o,isNativeLib:!1,name:e,path:a};i.set(t.name,t)}}return[...i.values()]}formatImportName(e){return".".repeat(e.leadingDots)+e.nameParts.join(".")}_resolveNativeModuleStub(e,t,n,i,r,s){let o=n;if(i.leadingDots>0){const n=this.getModuleNameForImport(e,t);o=n.moduleName.length>0?n.moduleName:o}const a=this.resolveNativeImportEx(e,o,r);return a?(r.push(`Resolved native import ${n} with stub '${a}'`),s.push(a),!1):(r.push(`Resolved import with file '${e}'`),s.push(e),!0)}_isNativeModuleFileName(e,t){const n=pe(t,!1).toLowerCase(),i=he(t,!0);return this._isNativeModuleFileExtension(n)&&V(e,i)}_isNativeModuleFileExtension(e){return Tn.some((t=>t===e))}_tryWalkUp(e){return Se(e)?[!1,""]:[!0,le(ke(this.fileSystem,me(te(e,".."))))]}_shouldWalkUp(e,t,n){return e.length>t.length||e===t&&!n.root}getParentImportResolutionRoot(e,t){return le(t?ke(this.fileSystem,me(t)):$(e))}}const Sn=new(__webpack_require__(2477).ProtocolRequestType)("pyright/apidocs");let xn;function Cn(e){xn=e}function wn(){if(!xn)throw new Error("Host must be initialized");return xn}function En(){return wn().createMessageChannel()}function kn(){return wn().parentPort()}function Dn(){return wn().threadId()}function An(e,t){if(Array.isArray(e))return e.map(t);if(n=e,"[object Object]"===Object.prototype.toString.call(n)){const n=Object.create(null);return Object.entries(e).forEach((([e,i])=>{n[e]=t(i)})),n}var n;return t(e)}class Pn{constructor(){this._startTime=Date.now()}getDurationInMilliseconds(){return Date.now()-this._startTime}getDurationInSeconds(){return this.getDurationInMilliseconds()/1e3}}class Rn{constructor(){this.totalTime=0,this.callCount=0,this.isTiming=!1}timeOperation(e){if(this.callCount++,this.isTiming)return e();{this.isTiming=!0;const t=new Pn,n=e();return this.totalTime+=t.getDurationInMilliseconds(),this.isTiming=!1,n}}subtractFromTime(e){if(this.isTiming){this.isTiming=!1;const t=new Pn;e(),this.totalTime-=t.getDurationInMilliseconds(),this.isTiming=!0}else e()}printTime(){const e=this.totalTime/1e3;return(Math.round(100*e)/100).toString()+"sec"}}const Fn=new class{constructor(){this.totalDuration=new Pn,this.findFilesTime=new Rn,this.readFileTime=new Rn,this.tokenizeFileTime=new Rn,this.parseFileTime=new Rn,this.resolveImportsTime=new Rn,this.cycleDetectionTime=new Rn,this.bindTime=new Rn,this.typeCheckerTime=new Rn,this.typeEvaluationTime=new Rn}printSummary(e){e.info(`Completed in ${this.totalDuration.getDurationInSeconds()}sec`)}printDetails(e){e.info(""),e.info("Timing stats"),e.info("Find Source Files: "+this.findFilesTime.printTime()),e.info("Read Source Files: "+this.readFileTime.printTime()),e.info("Tokenize: "+this.tokenizeFileTime.printTime()),e.info("Parse: "+this.parseFileTime.printTime()),e.info("Resolve Imports: "+this.resolveImportsTime.printTime()),e.info("Bind: "+this.bindTime.printTime()),e.info("Check: "+this.typeCheckerTime.printTime()),e.info("Detect Cycles: "+this.cycleDetectionTime.printTime())}getTotalDuration(){return this.totalDuration.getDurationInSeconds()}},Nn=e=>{};function Mn(e,t,n,i,r,s){let o=!1;i=null!=i?i:Nn;try{ct(s);const r=new Pn;o=e.analyze(t,s);const a=e.getFilesToAnalyzeCount(),l=e.getDiagnostics(n),c=l.length,u=r.getDurationInSeconds();(c>0||!o)&&i({diagnostics:l,filesInProgram:e.getFileCount(),filesRequiringAnalysis:a,checkingOnlyOpenFiles:e.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:u})}catch(e){if(lt.is(e))return!1;const t=((a=e).stack?a.stack.toString():void 0)||("string"==typeof a.message?a.message:void 0)||JSON.stringify(a);r.error("Error performing analysis: "+t),i({diagnostics:[],filesInProgram:0,filesRequiringAnalysis:0,checkingOnlyOpenFiles:!0,fatalErrorOccurred:!0,configParseErrorOccurred:!1,elapsedTime:0,error:D(e)})}var a;return o}var On,Ln=__webpack_require__(5269);!function(e){e.Error="error",e.Warn="warn",e.Info="info",e.Log="log"}(On||(On={}));class Un{log(e){console.info(e)}info(e){console.info(e)}warn(e){console.warn(e)}error(e){console.error(e)}}class Vn{constructor(e,t=""){this._console=e,this._name=t,this._levelMap=new Map([[On.Error,0],[On.Warn,1],[On.Info,2],[On.Log,3]]),this._maxLevel=2}get level(){switch(this._maxLevel){case 0:return On.Error;case 1:return On.Warn;case 2:return On.Info}return On.Log}set level(e){let t=this._levelMap.get(e);void 0===t&&(t=this._levelMap.get(On.Info)),this._maxLevel=t}error(e){this._log(On.Error,`${this._prefix}${e}`)}warn(e){this._log(On.Warn,`${this._prefix}${e}`)}info(e){this._log(On.Info,`${this._prefix}${e}`)}log(e){this._log(On.Log,`${this._prefix}${e}`)}get _prefix(){return this._name?`(${this._name}) `:""}_log(e,t){this._getNumericalLevel(e)>this._maxLevel||qn(this._console,e,t)}_getNumericalLevel(e){const t=this._levelMap.get(e);return w(void 0!==t,"Logger: unknown log level."),void 0!==t?t:2}}function qn(e,t,n){switch(t){case On.Log:e.log(n);break;case On.Info:e.info(n);break;case On.Warn:e.warn(n);break;case On.Error:e.error(n);break;default:E(`${t} is not expected`)}}class Bn{constructor(e,t){this._console=e,this._prefix=t,this._dummyState=new Wn,this._indentation="",this._previousTitles=[]}log(e,t,n=-1,i=!1){if(void 0===this._console)return t(this._dummyState);const r=this._console.level;if(void 0===r||r!==On.Log&&r!==On.Info)return t(this._dummyState);const s=this._indentation;this._previousTitles.push(`${s}${e} ...`),this._indentation+=" ";const o=new Wn;try{return t(o)}finally{const t=o.duration;if(this._indentation=s,this._previousTitles.length>0&&(o.isSuppressed()||t<=n))this._previousTitles.pop();else{this._printPreviousTitles();let n=`[${this._prefix}] ${this._indentation}${e}${o.get()} (${t}ms)`;i&&o.fileReadTotal+o.tokenizeTotal+o.parsingTotal+o.resolveImportsTotal+o.bindingTotal>0&&(n+=` [f:${o.fileReadTotal}, t:${o.tokenizeTotal}, p:${o.parsingTotal}, i:${o.resolveImportsTotal}, b:${o.bindingTotal}]`),this._console.log(n),t>=2e3&&this._console.info(`[${this._prefix}] Long operation: ${e} (${t}ms)`)}}}_printPreviousTitles(){if(this._previousTitles.pop(),!(this._previousTitles.length<=0)){for(const e of this._previousTitles)this._console.log(`[${this._prefix}] ${e}`);this._previousTitles.length=0}}}class Wn{constructor(){this._start=new Pn,this._startFile=Fn.readFileTime.totalTime,this._startToken=Fn.tokenizeFileTime.totalTime,this._startParse=Fn.parseFileTime.totalTime,this._startImport=Fn.resolveImportsTime.totalTime,this._startBind=Fn.bindTime.totalTime}get duration(){return this._start.getDurationInMilliseconds()}get fileReadTotal(){return Fn.readFileTime.totalTime-this._startFile}get tokenizeTotal(){return Fn.tokenizeFileTime.totalTime-this._startToken}get parsingTotal(){return Fn.parseFileTime.totalTime-this._startParse}get resolveImportsTotal(){return Fn.resolveImportsTime.totalTime-this._startImport}get bindingTotal(){return Fn.bindTime.totalTime-this._startBind}add(e){e&&(this._addendum=e)}get(){return this._addendum?` [${this._addendum}]`:""}suppress(){this._suppress=!0}isSuppressed(){return!!this._suppress}}function jn(e){return 3===e.type}function zn(e){return 4===e.type}function $n(e){return 2===e.type}function Hn(e){return 1===e.type}function Gn(e){return 6===e.type}let Kn=1;function Jn(e,t){t.startdt.getEnd(e)&&(e.length=dt.getEnd(t)-e.start)}var Yn,Qn,Zn,Xn,ei,ti,ni,ii,ri,si,oi,ai,li,ci,ui,pi,di,hi,mi,fi,gi,yi,_i,vi,Ti,bi,Ii,Si,xi,Ci,wi,Ei,ki,Di,Ai,Pi,Ri,Fi,Ni,Mi,Oi,Li,Ui,Vi,qi,Bi,Wi,ji,zi,$i,Hi,Gi,Ki,Ji,Yi,Qi,Zi,Xi,er,tr,nr,ir,rr,sr,or,ar,lr,cr,ur,pr,dr,hr,mr,fr,gr;function yr(e){switch(e.nodeType){case 0:case 55:case 7:case 4:case 54:case 6:case 51:case 56:case 52:case 9:case 32:case 24:case 46:case 60:case 61:case 35:case 30:case 38:case 11:case 18:case 40:case 49:case 27:case 48:case 15:case 16:case 31:case 45:return!0;default:return!1}}!function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:36,id:Kn++,statements:[]}}}(Yn||(Yn={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:50,id:Kn++,statements:[]}}}(Qn||(Qn={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:19,id:Kn++,testExpression:t,ifSuite:n,elseSuite:i};return t.parent=r,n.parent=r,Jn(r,t),Jn(r,n),i&&(Jn(r,i),i.parent=r),r}}(Zn||(Zn={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:57,id:Kn++,testExpression:t,whileSuite:n};return t.parent=i,n.parent=i,Jn(i,n),i}}(Xn||(Xn={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:26,id:Kn++,targetExpression:t,iterableExpression:n,forSuite:i};return t.parent=r,n.parent=r,i.parent=r,Jn(r,i),r}}(ei||(ei={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:33,id:Kn++,targetExpression:t,iterableExpression:n};return t.parent=i,n.parent=i,Jn(i,t),Jn(i,n),i}}(ti||(ti={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:34,id:Kn++,testExpression:t};return t.parent=n,Jn(n,t),n}}(ni||(ni={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:53,id:Kn++,trySuite:t,exceptClauses:[]};return t.parent=n,Jn(n,t),n}}(ii||(ii={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:25,id:Kn++,exceptSuite:t,isExceptGroup:n};return t.parent=i,Jn(i,t),i}}(ri||(ri={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:28,id:Kn++,decorators:[],name:t,parameters:[],suite:n};return t.parent=i,n.parent=i,Jn(i,n),i}}(si||(si={})),function(e){e.create=function(e,t){return{start:e.start,length:e.length,nodeType:41,id:Kn++,category:t}}}(oi||(oi={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:10,id:Kn++,decorators:[],name:t,arguments:[],suite:n};return t.parent=i,n.parent=i,Jn(i,n),i},e.createDummyForDecorators=function(e){const t={start:e[0].start,length:0,nodeType:10,id:Kn++,decorators:e,name:{start:e[0].start,length:0,id:0,nodeType:38,token:{type:7,start:0,length:0,comments:[],value:""},value:""},arguments:[],suite:{start:e[0].start,length:0,id:0,nodeType:50,statements:[]}};return e.forEach((e=>{e.parent=t,Jn(t,e)})),t.name.parent=t,t.suite.parent=t,t}}(ai||(ai={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:58,id:Kn++,withItems:[],suite:t};return t.parent=n,Jn(n,t),n}}(li||(li={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:59,id:Kn++,expression:e};return e.parent=t,t}}(ci||(ci={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:13,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(ui||(ui={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:47,id:Kn++,statements:[]}}}(pi||(pi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:0,id:Kn++,category:t,child:n,decorators:i};return n&&(n.parent=r,Jn(r,n)),i&&(i.forEach((e=>{e.parent=r})),i.length>0&&Jn(r,i[0])),r}}(di||(di={})),function(e){e.create=function(e,t,n){var i;const r={start:e.start,length:e.length,nodeType:55,id:Kn++,operator:n,operatorToken:e,expression:t};return t.parent=r,r.maxChildDepth=1+(null!==(i=t.maxChildDepth)&&void 0!==i?i:0),Jn(r,t),r}}(hi||(hi={})),function(e){e.create=function(e,t,n,i){var r,s;const o={start:e.start,length:e.length,nodeType:7,id:Kn++,leftExpression:e,operatorToken:n,operator:i,rightExpression:t};return e.parent=o,t.parent=o,o.maxChildDepth=1+Math.max(null!==(r=e.maxChildDepth)&&void 0!==r?r:0,null!==(s=t.maxChildDepth)&&void 0!==s?s:0),Jn(o,t),o}}(mi||(mi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:4,id:Kn++,name:e,rightExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(fi||(fi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:3,id:Kn++,leftExpression:e,rightExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(gi||(gi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:54,id:Kn++,valueExpression:e,typeAnnotation:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(yi||(yi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:62,id:Kn++,isParamListEllipsis:t,paramTypeAnnotations:n,returnTypeAnnotation:i};return n.forEach((e=>{e.parent=r})),i.parent=r,Jn(r,i),r}}(_i||(_i={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:5,id:Kn++,leftExpression:e,operator:n,rightExpression:t,destExpression:i};return e.parent=r,t.parent=r,i.parent=r,Jn(r,t),r}}(vi||(vi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:6,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Ti||(Ti={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:51,id:Kn++,ifExpression:e,testExpression:t,elseExpression:n};return e.parent=i,t.parent=i,n.parent=i,Jn(i,n),i}}(bi||(bi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:56,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Ii||(Ii={})),function(e){e.create=function(e,t){return{start:e.start,length:e.length,nodeType:52,id:Kn++,expressions:[],enclosedInParens:t}}}(Si||(Si={})),function(e){e.create=function(e,t,n){var i;const r={start:e.start,length:e.length,nodeType:9,id:Kn++,leftExpression:e,arguments:t,trailingComma:n};return e.parent=r,r.maxChildDepth=1+(null!==(i=e.maxChildDepth)&&void 0!==i?i:0),t.length>0&&(t.forEach((e=>{e.parent=r})),Jn(r,t[t.length-1])),r}}(xi||(xi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:32,id:Kn++,expression:e,forIfNodes:[]};return e.parent=t,t}}(Ci||(Ci={})),function(e){e.create=function(e,t,n,i){var r;const s={start:e.start,length:e.length,nodeType:24,id:Kn++,baseExpression:e,items:t,trailingComma:n};return e.parent=s,t.forEach((e=>{e.parent=s})),Jn(s,i),s.maxChildDepth=1+(null!==(r=e.maxChildDepth)&&void 0!==r?r:0),s}}(wi||(wi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:46,id:Kn++}}}(Ei||(Ei={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:60,id:Kn++,expression:t};return t&&(t.parent=n,Jn(n,t)),n}}(ki||(ki={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:61,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Di||(Di={})),function(e){e.create=function(e,t){var n;const i={start:e.start,length:e.length,nodeType:35,id:Kn++,leftExpression:e,memberName:t};return e.parent=i,t.parent=i,Jn(i,t),i.maxChildDepth=1+(null!==(n=e.maxChildDepth)&&void 0!==n?n:0),i}}(Ai||(Ai={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:30,id:Kn++,parameters:[],expression:t};return t.parent=n,Jn(n,t),n}}(Pi||(Pi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:38,id:Kn++,token:e,value:e.value}}}(Ri||(Ri={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:11,id:Kn++,constType:e.keywordType}}}(Fi||(Fi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:18,id:Kn++}}}(Ni||(Ni={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:40,id:Kn++,value:e.value,isInteger:e.isInteger,isImaginary:e.isImaginary}}}(Mi||(Mi={})),function(e){e.create=function(e,t,n){return{start:e.start,length:e.length,nodeType:49,id:Kn++,token:e,value:t,hasUnescapeErrors:n}}}(Oi||(Oi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:27,id:Kn++,token:e,value:t,hasUnescapeErrors:n,expressions:i};return i.forEach((e=>{e.parent=r})),r}}(Li||(Li={})),function(e){e.create=function(e){const t={start:e[0].start,length:e[0].length,nodeType:48,id:Kn++,strings:e};return e.length>0&&(e.forEach((e=>{e.parent=t})),Jn(t,e[e.length-1])),t}}(Ui||(Ui={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:15,id:Kn++,entries:[]}}}(Vi||(Vi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:17,id:Kn++,keyExpression:e,valueExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(qi||(qi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:16,id:Kn++,expandExpression:e};return e.parent=t,t}}(Bi||(Bi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:45,id:Kn++,entries:[]}}}(Wi||(Wi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:31,id:Kn++,entries:[]}}}(ji||(ji={})),function(e){e.create=function(e,t,n){const i={start:e?e.start:t.start,length:e?e.length:t.length,nodeType:1,id:Kn++,valueExpression:t,argumentCategory:n};return t.parent=i,Jn(i,t),i}}(zi||(zi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:14,id:Kn++,expressions:[]}}}($i||($i={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:42,id:Kn++}}}(Hi||(Hi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:20,id:Kn++,list:[]}}}(Gi||(Gi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:37,id:Kn++,leadingDots:0,nameParts:[]}}}(Ki||(Ki={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:21,id:Kn++,module:e};return e.parent=t,t}}(Ji||(Ji={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:22,id:Kn++,module:t,imports:[],isWildcardImport:!1,usesParens:!1};return t.parent=n,Jn(n,t),n}}(Yi||(Yi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:23,id:Kn++,name:e};return e.parent=t,t}}(Qi||(Qi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:29,id:Kn++,nameList:[]}}}(Zi||(Zi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:39,id:Kn++,nameList:[]}}}(Xi||(Xi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:2,id:Kn++,testExpression:t};return t.parent=n,Jn(n,t),n}}(er||(er={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:8,id:Kn++}}}(tr||(tr={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:12,id:Kn++}}}(nr||(nr={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:44,id:Kn++}}}(ir||(ir={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:43,id:Kn++}}}(rr||(rr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:63,id:Kn++,subjectExpression:t,cases:[]};return t.parent=n,Jn(n,t),n}}(sr||(sr={})),function(e){e.create=function(e,t,n,i,r){const s={start:e.start,length:e.length,nodeType:64,id:Kn++,pattern:t,isIrrefutable:n,guardExpression:i,suite:r};return Jn(s,r),t.parent=s,r.parent=s,i&&(i.parent=s),s}}(or||(or={})),function(e){e.create=function(e,t){const n=t.findIndex((e=>1===e.orPatterns.length&&69===e.orPatterns[0].nodeType&&e.orPatterns[0].isStar)),i={start:e.start,length:e.length,nodeType:65,id:Kn++,entries:t,starEntryIndex:n>=0?n:void 0};return t.length>0&&Jn(i,t[t.length-1]),t.forEach((e=>{e.parent=i})),i}}(ar||(ar={})),function(e){e.create=function(e,t){const n={start:e[0].start,length:e[0].length,nodeType:66,id:Kn++,orPatterns:e,target:t};return e.length>1&&Jn(n,e[e.length-1]),e.forEach((e=>{e.parent=n})),t&&(Jn(n,t),t.parent=n),n}}(lr||(lr={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:67,id:Kn++,expression:e};return e.parent=t,t}}(cr||(cr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:68,id:Kn++,className:e,arguments:t};return e.parent=n,t.forEach((e=>{e.parent=n})),t.length>0&&Jn(n,t[t.length-1]),n}}(ur||(ur={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:74,id:Kn++,pattern:e,name:t};return e.parent=n,t&&(Jn(n,t),t.parent=n),n}}(pr||(pr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:69,id:Kn++,target:e,isStar:void 0!==t,isWildcard:"_"===e.value};return e.parent=n,t&&Jn(n,t),n}}(dr||(dr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:70,id:Kn++,entries:t};return t.length>0&&Jn(n,t[t.length-1]),t.forEach((e=>{e.parent=n})),n}}(hr||(hr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:71,id:Kn++,keyPattern:e,valuePattern:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(mr||(mr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:72,id:Kn++,target:t};return t.parent=n,Jn(n,t),n}}(fr||(fr={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:73,id:Kn++,expression:e};return e.parent=t,t}}(gr||(gr={}));class _r{walk(e){const t=this.visitNode(e);t.length>0&&this.walkMultiple(t)}walkMultiple(e){e.forEach((e=>{e&&this.walk(e)}))}visitNode(e){var t;switch(e.nodeType){case 0:if(this.visitError(e))return[e.child,...null!==(t=e.decorators)&&void 0!==t?t:[]];break;case 1:if(this.visitArgument(e))return[e.name,e.valueExpression];break;case 2:if(this.visitAssert(e))return[e.testExpression,e.exceptionExpression];break;case 3:if(this.visitAssignment(e))return[e.leftExpression,e.rightExpression,e.typeAnnotationComment];break;case 4:if(this.visitAssignmentExpression(e))return[e.name,e.rightExpression];break;case 5:if(this.visitAugmentedAssignment(e))return[e.leftExpression,e.rightExpression];break;case 6:if(this.visitAwait(e))return[e.expression];break;case 7:if(this.visitBinaryOperation(e))return[e.leftExpression,e.rightExpression];break;case 8:if(this.visitBreak(e))return[];break;case 9:if(this.visitCall(e))return[e.leftExpression,...e.arguments];break;case 10:if(this.visitClass(e))return[...e.decorators,e.name,...e.arguments,e.suite];break;case 11:if(this.visitConstant(e))return[];break;case 12:if(this.visitContinue(e))return[];break;case 13:if(this.visitDecorator(e))return[e.expression];break;case 14:if(this.visitDel(e))return e.expressions;break;case 15:if(this.visitDictionary(e))return e.entries;break;case 16:if(this.visitDictionaryExpandEntry(e))return[e.expandExpression];break;case 17:if(this.visitDictionaryKeyEntry(e))return[e.keyExpression,e.valueExpression];break;case 18:if(this.visitEllipsis(e))return[];break;case 19:if(this.visitIf(e))return[e.testExpression,e.ifSuite,e.elseSuite];break;case 20:if(this.visitImport(e))return e.list;break;case 21:if(this.visitImportAs(e))return[e.module,e.alias];break;case 22:if(this.visitImportFrom(e))return[e.module,...e.imports];break;case 23:if(this.visitImportFromAs(e))return[e.name,e.alias];break;case 24:if(this.visitIndex(e))return[e.baseExpression,...e.items];break;case 25:if(this.visitExcept(e))return[e.typeExpression,e.name,e.exceptSuite];break;case 26:if(this.visitFor(e))return[e.targetExpression,e.iterableExpression,e.forSuite,e.elseSuite];break;case 27:if(this.visitFormatString(e))return e.expressions;break;case 28:if(this.visitFunction(e))return[...e.decorators,e.name,...e.parameters,e.returnTypeAnnotation,e.functionAnnotationComment,e.suite];break;case 29:if(this.visitGlobal(e))return e.nameList;break;case 30:if(this.visitLambda(e))return[...e.parameters,e.expression];break;case 31:if(this.visitList(e))return e.entries;break;case 32:if(this.visitListComprehension(e))return[e.expression,...e.forIfNodes];break;case 33:if(this.visitListComprehensionFor(e))return[e.targetExpression,e.iterableExpression];break;case 34:if(this.visitListComprehensionIf(e))return[e.testExpression];break;case 35:if(this.visitMemberAccess(e))return[e.leftExpression,e.memberName];break;case 36:if(this.visitModule(e))return[...e.statements];break;case 37:if(this.visitModuleName(e))return e.nameParts;break;case 38:if(this.visitName(e))return[];break;case 39:if(this.visitNonlocal(e))return e.nameList;break;case 40:if(this.visitNumber(e))return[];break;case 41:if(this.visitParameter(e))return[e.name,e.typeAnnotation,e.typeAnnotationComment,e.defaultValue];break;case 42:if(this.visitPass(e))return[];break;case 43:if(this.visitRaise(e))return[e.typeExpression,e.valueExpression,e.tracebackExpression];break;case 44:if(this.visitReturn(e))return[e.returnExpression];break;case 45:if(this.visitSet(e))return e.entries;break;case 46:if(this.visitSlice(e))return[e.startValue,e.endValue,e.stepValue];break;case 47:if(this.visitStatementList(e))return e.statements;break;case 48:if(this.visitStringList(e))return[e.typeAnnotation,...e.strings];break;case 49:if(this.visitString(e))return[];break;case 50:if(this.visitSuite(e))return[...e.statements];break;case 51:if(this.visitTernary(e))return[e.ifExpression,e.testExpression,e.elseExpression];break;case 52:if(this.visitTuple(e))return e.expressions;break;case 53:if(this.visitTry(e))return[e.trySuite,...e.exceptClauses,e.elseSuite,e.finallySuite];break;case 54:if(this.visitTypeAnnotation(e))return[e.valueExpression,e.typeAnnotation];break;case 55:if(this.visitUnaryOperation(e))return[e.expression];break;case 56:if(this.visitUnpack(e))return[e.expression];break;case 57:if(this.visitWhile(e))return[e.testExpression,e.whileSuite,e.elseSuite];break;case 58:if(this.visitWith(e))return[...e.withItems,e.suite];break;case 59:if(this.visitWithItem(e))return[e.expression,e.target];break;case 60:if(this.visitYield(e))return[e.expression];break;case 61:if(this.visitYieldFrom(e))return[e.expression];break;case 62:if(this.visitFunctionAnnotation(e))return[...e.paramTypeAnnotations,e.returnTypeAnnotation];break;case 63:if(this.visitMatch(e))return[e.subjectExpression,...e.cases];break;case 64:if(this.visitCase(e))return[e.pattern,e.guardExpression,e.suite];break;case 65:if(this.visitPatternSequence(e))return[...e.entries];break;case 66:if(this.visitPatternAs(e))return[...e.orPatterns,e.target];break;case 67:if(this.visitPatternLiteral(e))return[e.expression];break;case 68:if(this.visitPatternClass(e))return[e.className,...e.arguments];break;case 69:if(this.visitPatternCapture(e))return[e.target];break;case 70:if(this.visitPatternMapping(e))return[...e.entries];break;case 71:if(this.visitPatternMappingKeyEntry(e))return[e.keyPattern,e.valuePattern];break;case 72:if(this.visitPatternMappingExpandEntry(e))return[e.target];break;case 73:if(this.visitPatternValue(e))return[e.expression];break;case 74:if(this.visitPatternClassArgument(e))return[e.name,e.pattern];break;default:E("Unexpected node type")}return[]}visitArgument(e){return!0}visitAssert(e){return!0}visitAssignment(e){return!0}visitAssignmentExpression(e){return!0}visitAugmentedAssignment(e){return!0}visitAwait(e){return!0}visitBinaryOperation(e){return!0}visitBreak(e){return!0}visitCall(e){return!0}visitCase(e){return!0}visitClass(e){return!0}visitTernary(e){return!0}visitContinue(e){return!0}visitConstant(e){return!0}visitDecorator(e){return!0}visitDel(e){return!0}visitDictionary(e){return!0}visitDictionaryKeyEntry(e){return!0}visitDictionaryExpandEntry(e){return!0}visitError(e){return!0}visitEllipsis(e){return!0}visitIf(e){return!0}visitImport(e){return!0}visitImportAs(e){return!0}visitImportFrom(e){return!0}visitImportFromAs(e){return!0}visitIndex(e){return!0}visitExcept(e){return!0}visitFor(e){return!0}visitFormatString(e){return!0}visitFunction(e){return!0}visitFunctionAnnotation(e){return!0}visitGlobal(e){return!0}visitLambda(e){return!0}visitList(e){return!0}visitListComprehension(e){return!0}visitListComprehensionFor(e){return!0}visitListComprehensionIf(e){return!0}visitMatch(e){return!0}visitMemberAccess(e){return!0}visitModule(e){return!0}visitModuleName(e){return!0}visitName(e){return!0}visitNonlocal(e){return!0}visitNumber(e){return!0}visitParameter(e){return!0}visitPass(e){return!0}visitPatternCapture(e){return!0}visitPatternClass(e){return!0}visitPatternClassArgument(e){return!0}visitPatternAs(e){return!0}visitPatternLiteral(e){return!0}visitPatternMappingExpandEntry(e){return!0}visitPatternSequence(e){return!0}visitPatternValue(e){return!0}visitPatternMappingKeyEntry(e){return!0}visitPatternMapping(e){return!0}visitRaise(e){return!0}visitReturn(e){return!0}visitSet(e){return!0}visitSlice(e){return!0}visitStatementList(e){return!0}visitString(e){return!0}visitStringList(e){return!0}visitSuite(e){return!0}visitTuple(e){return!0}visitTry(e){return!0}visitTypeAnnotation(e){return!0}visitUnaryOperation(e){return!0}visitUnpack(e){return!0}visitWhile(e){return!0}visitWith(e){return!0}visitWithItem(e){return!0}visitYield(e){return!0}visitYieldFrom(e){return!0}}function vr(e){let t=0,n=e;for(;n;)t++,n=n.parent;return t}function Tr(e,t){if(tdt.getEnd(e))return;const n=(new _r).visitNode(e);for(const e of n)if(e){const n=Tr(e,t);if(n)return n}return e}function br(e,t,n){const i=[n];let r=e;for(;r;)r=Er(r),r&&i.push(r.name.value);return i.push(t),i.reverse().join(".")}function Ir(e){return e.start}function Sr(e,t){let n="";return 1===e.argumentCategory?n="*":2===e.argumentCategory&&(n="**"),e.name&&(n+=e.name.value+"="),n+=xr(e.valueExpression,t),n}function xr(e,t=0){switch(e.nodeType){case 38:return e.value;case 35:return xr(e.leftExpression,t)+"."+e.memberName.value;case 9:return xr(e.leftExpression,t)+"("+e.arguments.map((e=>Sr(e,t))).join(", ")+")";case 24:return xr(e.baseExpression,t)+"["+e.items.map((e=>Sr(e,t))).join(", ")+"]"+(e.trailingComma?",":"");case 55:return Cr(e.operator)+xr(e.expression,t);case 7:{const n=xr(e.leftExpression,t)+" "+Cr(e.operator)+" "+xr(e.rightExpression,t);return e.parenthesized?`(${n})`:n}case 40:{let t=e.value.toString();return t.endsWith("n")&&(t=t.substring(0,t.length-1)),e.isImaginary&&(t+="j"),t}case 48:return 1&t&&e.typeAnnotation?xr(e.typeAnnotation,t):e.strings.map((e=>xr(e,t))).join(" ");case 49:{let t="";return 8&e.token.flags&&(t+="r"),16&e.token.flags&&(t+="u"),32&e.token.flags&&(t+="b"),64&e.token.flags&&(t+="f"),4&e.token.flags?1&e.token.flags?t+=`'''${e.token.escapedValue}'''`:t+=`"""${e.token.escapedValue}"""`:1&e.token.flags?t+=`'${e.token.escapedValue}'`:t+=`"${e.token.escapedValue}"`,t}case 3:return xr(e.leftExpression,t)+" = "+xr(e.rightExpression,t);case 4:return xr(e.name,t)+" := "+xr(e.rightExpression,t);case 54:return xr(e.valueExpression,t)+": "+xr(e.typeAnnotation,t);case 5:return xr(e.leftExpression,t)+" "+Cr(e.operator)+" "+xr(e.rightExpression,t);case 6:return"await "+xr(e.expression,t);case 51:return xr(e.ifExpression,t)+" if "+xr(e.testExpression,t)+" else "+xr(e.elseExpression,t);case 31:return`[${e.entries.map((e=>xr(e,t))).join(", ")}]`;case 56:return"*"+xr(e.expression,t);case 52:{const n=e.expressions.map((e=>xr(e,t)));return 1===n.length?`(${n[0]}, )`:`(${n.join(", ")})`}case 60:return e.expression?"yield "+xr(e.expression,t):"yield";case 61:return"yield from "+xr(e.expression,t);case 18:return"...";case 32:{let n="";return yr(e.expression)?n=xr(e.expression,t):17===e.expression.nodeType&&(n=`${xr(e.expression.keyExpression,t)}: ${xr(e.expression.valueExpression,t)}`),n=n+" "+e.forIfNodes.map((e=>33===e.nodeType?(e.isAsync?"async ":"")+"for "+xr(e.targetExpression,t)+` in ${xr(e.iterableExpression,t)}`:`if ${xr(e.testExpression,t)}`)).join(" "),e.isParenthesized?`(${n}})`:n}case 46:{let n="";return e.startValue&&(n+=xr(e.startValue,t)),e.endValue&&(n+=": "+xr(e.endValue,t)),e.stepValue&&(n+=": "+xr(e.stepValue,t)),n}case 30:return"lambda "+e.parameters.map((e=>{let n="";return 1===e.category?n+="*":2===e.category&&(n+="**"),e.name&&(n+=e.name.value),e.defaultValue&&(n+=" = "+xr(e.defaultValue,t)),n})).join(", ")+": "+xr(e.expression,t);case 11:if(33===e.constType)return"True";if(15===e.constType)return"False";if(9===e.constType)return"__debug__";if(26===e.constType)return"None";break;case 15:{const n=`${e.entries.map((e=>17===e.nodeType?`${xr(e.keyExpression,t)}: ${xr(e.valueExpression,t)}`:xr(e,t)))}`;return n?`{ ${n} }`:"{}"}case 16:return`**${xr(e.expandExpression,t)}`;case 45:return e.entries.map((e=>xr(e,t))).join(", ")}return""}function Cr(e){const t={0:"+",1:"+=",2:"=",3:"&",4:"&=",5:"~",6:"|",7:"|=",8:"^",9:"^=",10:"/",11:"/=",12:"==",13:"//",14:"//=",15:">",16:">=",17:"<<",18:"<<=",19:"<>",20:"<",21:"<=",22:"@",23:"@=",24:"%",25:"%=",26:"*",27:"*=",28:"!=",29:"**",30:"**=",31:">>",32:">>=",33:"-",34:"-=",36:"and",37:"or",38:"not",39:"is",40:"is not",41:"in",42:"not in"};return t[e]?t[e]:"unknown"}function wr(e){let t=e.parent;for(;t;){if(50===t.nodeType)return t;t=t.parent}}function Er(e,t=!1){let n=e.parent;for(;n;){if(10===n.nodeType)return n;if(36===n.nodeType)return;if(28===n.nodeType&&t)return;n=n.parent}}function kr(e){let t,n=e.parent;for(;n;){if(28===n.nodeType&&!n.decorators.some((e=>e===t)))return n;if(10===n.nodeType)return;t=n,n=n.parent}}function Dr(e){let t=e.parent;for(;t;){if(28===t.nodeType)return t;if(10===t.nodeType)return t;t=t.parent}}function Ar(e){let t,n,i=e,r=!1;for(;i;){switch(41===i.nodeType&&t===i.name&&(r=!0),i.nodeType){case 28:if(i.parameters.some((e=>e===t))){if(r&&void 0!==Ft(i))return i}else if(t===i.suite&&void 0!==Ft(i))return i;break;case 30:if(i.parameters.some((e=>e===t))){if(r&&void 0!==Ft(i))return i}else if((!t||t===i.expression)&&void 0!==Ft(i))return i;break;case 10:if(t===i.suite&&void 0!==Ft(i))return i;break;case 32:if(void 0!==Ft(i)&&(t!==i.forIfNodes[0]||33!==i.forIfNodes[0].nodeType||i.forIfNodes[0].iterableExpression!==n))return i;break;case 36:if(void 0!==Ft(i))return i}n=t,t=i,i=i.parent}E("Did not find evaluation scope")}function Pr(e,t=!1){let n,i=e;for(;i;){switch(i.nodeType){case 28:if((n===i.suite||t)&&!i.decorators.some((e=>e===n)))return i;break;case 10:if(n===i.suite&&!i.decorators.some((e=>e===n)))return i}n=i,i=i.parent}}function Rr(e){let t=Ar(e);for(;10===t.nodeType||32===t.nodeType;)t=Ar(t.parent);return t}function Fr(e){if(38===e.nodeType)return!0;if(35===e.nodeType){if(38!==e.leftExpression.nodeType)return!1;if(!Er(e))return!1;const t=kr(e);return!!t&&"__init__"===t.name.value}return!1}function Nr(e){return!!Er(e,!0)}function Mr(e,t){let n=e;for(;n;){if(n===t)return!0;n=n.parent}return!1}function Or(e){let t=!1;for(const n of e.statements){if(47!==n.nodeType)return!1;for(const e of n.statements)if(18===e.nodeType)t=!0;else if(48!==e.nodeType)return!1}return t}function Lr(e,t){if(38===e.nodeType)return 38===t.nodeType?e.value===t.value:4===t.nodeType&&e.value===t.name.value;if(35===e.nodeType&&35===t.nodeType)return Lr(e.leftExpression,t.leftExpression)&&e.memberName.value===t.memberName.value;if(24===e.nodeType&&24===t.nodeType){if(!Lr(e.baseExpression,t.baseExpression))return!1;if(1!==t.items.length||t.trailingComma||t.items[0].name||0!==t.items[0].argumentCategory)return!1;if(40===e.items[0].valueExpression.nodeType){const n=e.items[0].valueExpression,i=t.items[0].valueExpression;return!(40!==i.nodeType||i.isImaginary||!i.isInteger)&&n.value===i.value}if(48===e.items[0].valueExpression.nodeType){const n=e.items[0].valueExpression,i=t.items[0].valueExpression;if(1===n.strings.length&&49===n.strings[0].nodeType&&48===i.nodeType&&1===i.strings.length&&49===i.strings[0].nodeType)return n.strings[0].value===i.strings[0].value}return!1}return!1}function Ur(e,t){return 35===e.nodeType?Lr(e.leftExpression,t)||Ur(e.leftExpression,t):24===e.nodeType&&(Lr(e.baseExpression,t)||Ur(e.baseExpression,t))}function Vr(e){if(0===e.length)return;if(47!==e[0].nodeType)return;if(!qr(e[0]))return;const t=e[0].statements[0].strings;return 1===t.length?t[0].value:t.map((e=>e.value)).join("")}function qr(e){if(0===e.statements.length||48!==e.statements[0].nodeType)return!1;const t=e.statements[0].strings;return 0!==t.length&&!t.some((e=>0!=(64&e.token.flags)))}class Br extends _r{constructor(e){super(),this._callback=e}visitName(e){return this._callback(e,this._subscriptIndex,this._baseExpression),!0}visitIndex(e){this.walk(e.baseExpression);const t=this._subscriptIndex,n=this._baseExpression;return this._baseExpression=e.baseExpression,e.items.forEach(((e,t)=>{this._subscriptIndex=t,this.walk(e)})),this._subscriptIndex=t,this._baseExpression=n,!1}}class Wr extends _r{constructor(e){super(),this._callback=e}visitCall(e){return this._callback(e),!0}}function jr(e){let t=e;for(;t;){if(41===t.nodeType)return t;t=t.parent}}function zr(e,t,n){let i,r=e;for(;void 0!==r;){if(9===r.nodeType&&u(r)){i=r;break}r=r.parent}if(!i||!i.arguments)return;const s=dt.getEnd(i);if(t>s)return;const o=function(e,t){const n=e.getItemAtPosition(t);if(!(n<0))return e.getItemAt(n)}(n,s-1);if(t===s&&14===(null==o?void 0:o.type))return;let a=!1,l=-1,c=!1;return i.arguments.forEach(((e,i)=>{if(a)return;let r=e.start;const s=n.getItemAtPosition(r);s>=0&&(r=dt.getEnd(n.getItemAt(s-1)));let o=dt.getEnd(e);const u=n.getItemAtPosition(o);if(u>=0)for(let e=u;e=r,a=!0)})),a||(l=i.arguments.length+1),{callNode:i,activeIndex:l,activeOrFake:c};function u(e,i){let r=!0;const s=e.leftExpression.length>0?dt.getEnd(e.leftExpression)-1:e.leftExpression.start,o=n.getItemAtPosition(s);if(o>=0&&o+10&&t===n.module.nameParts[0];case 23:return t===n.alias||!n.alias&&t===n.name;case 35:if(t!==n.memberName)return!1;break;case 25:return t===n.name;case 58:return n.withItems.some((e=>e===t));case 33:return t===n.targetExpression;case 54:if(t===n.typeAnnotation)return!1;break;case 28:case 10:case 36:return!1}t=n,n=n.parent}return!1}function Hr(e){let t=e;for(;t&&36!==t.nodeType;)t=t.parent;return t}function Gr(e){const t=Hr(e);return t?qt(t):void 0}function Kr(e){var t,n;return 21===(null===(n=null===(t=es(e,37))||void 0===t?void 0:t.parent)||void 0===n?void 0:n.nodeType)}function Jr(e){var t;return 21===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.alias===e}function Yr(e){var t,n;return 22===(null===(n=null===(t=es(e,37))||void 0===t?void 0:t.parent)||void 0===n?void 0:n.nodeType)}function Qr(e){var t;return 23===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.name===e}function Zr(e){var t;return 23===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.alias===e}function Xr(e){var t;if(37!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType))return!1;const n=e.parent;return 0!==n.nameParts.length&&n.nameParts[n.nameParts.length-1]===e}function es(e,t){return function(e,n){for(const n of function*(e){for(;void 0!==e;)yield e,e=e.parent}(e))if(n.nodeType===t)return n}(e)}function ts(e){var t;return 35!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)||e.parent.leftExpression===e?e:e.parent}function ns(e){switch(e.type){case 0:case 4:case 5:case 3:return!0;case 2:{if(e.node.typeAnnotation||e.node.typeAnnotationComment)return!0;const t=e.node.parent;if(28===(null==t?void 0:t.nodeType)&&t.functionAnnotationComment&&!t.functionAnnotationComment.isParamListEllipsis){const n=t.functionAnnotationComment.paramTypeAnnotations;return!(t.parameters.length>n.length&&e.node===t.parameters[0])}return!1}case 1:return!!e.typeAnnotationNode;case 6:return!1}}function is(e,t,n=!1){if(e.type!==t.type)return!1;if(e.path!==t.path)return!1;if(e.range.start.line!==t.range.start.line||e.range.start.character!==t.range.start.character)return!1;if(6===e.type&&6===t.type){if(e.symbolName!==t.symbolName||e.usesLocalName!==t.usesLocalName)return!1;if(n)return!0;if(e.firstNamePart!==t.firstNamePart)return!1}return!0}function rs(e){return 1===e.type&&!!e.isFinal}function ss(e){return 1===e.type&&!!e.typeAliasAnnotation}function os(e){var t;if(1!==e.type||!e.typeAliasName||e.typeAnnotationNode)return!1;if(3!==(null===(t=e.node.parent)||void 0===t?void 0:t.nodeType))return!1;switch(e.node.parent.rightExpression.nodeType){case 0:case 55:case 4:case 54:case 6:case 51:case 56:case 52:case 9:case 32:case 46:case 60:case 61:case 30:case 40:case 15:case 31:case 45:return!1}return!0}function as(e){var t;switch(e.type){case 6:return e.symbolName;case 4:case 3:return e.node.name.value;case 2:return null===(t=e.node.name)||void 0===t?void 0:t.value;case 1:return 38===e.node.nodeType?e.node.value:void 0;case 0:case 5:return}throw new Error("Shouldn't reach here")}function ls(e){return e.map((e=>{if(6!==e.type)return e;const t={...e};return t.usesLocalName=!1,t}))}function cs(e){return{type:6,node:void 0,path:e,loadSymbolsFromPath:!1,range:{start:{line:0,character:0},end:{line:0,character:0}},implicitImports:new Map,usesLocalName:!1,moduleName:"",isInExceptSuite:!1}}function us(e){const t=e.replace(/\r/g,"").replace(/\t/g," ").split("\n");let n=Number.MAX_VALUE;t.forEach(((e,i)=>{if(t.length<=1||i>0){const t=e.trimLeft();t&&(n=Math.min(n,e.length-t.length))}})),n>=Number.MAX_VALUE&&(n=0);const i=[];for(t.forEach(((e,t)=>{0===t?i.push(e.trim()):i.push(e.substr(n).trimRight())}));i.length>0&&0===i[0].length;)i.shift();for(;i.length>0&&0===i[i.length-1].length;)i.pop();return i}function ps(e,t){if(!e||!t)return;const n=us(e);for(const e of n){const n=e.trim();let i=n.indexOf("@param "+t);if(i>=0)return n.substr(i+7);if(i=n.indexOf(":param "+t),i>=0)return n.substr(i+7);if(i=n.indexOf(t+": "),i>=0)return n.substr(i);if(i=n.indexOf(t+" ("),i>=0)return n.substr(i)}}function ds(e){return new qs(e).convert()}function hs(e){const t=us(e),n=[];for(const e of t){const t=n.length>0?n[n.length-1]:void 0;Ws(e)&&Ws(t)||n.push(e)}return n.join("\n").trimEnd()}const ms=/\S|$/,fs=/\S/,gs=/^\s*~~~+$/,ys=/^\s*\+\+\++$/,_s=/^\s*===+\s+===+$/,vs=/^\s*---+\s+---+$/,Ts=/^(\s*)-\s/,bs=/^(\s*)\*\s/,Is=/^(\s*)\d+\.\s/,Ss=/^(\s+\* )(.*)$/,xs=/^\s*\.\. /,Cs=/^\s*\.\.\s+(\w+)::\s*(.*)$/,ws=/ *>>> /,Es=/^\s*:(param|arg|type|return|rtype|raise|except|var|ivar|cvar|copyright|license)/,ks=/^[.\s\t]+(@\w+)/,Ds=/^(\.\s{3})|^(\.)/,As=[{exp:/^\s*=+(\s+=+)+$/,replacement:"="},{exp:/^\s*-+(\s+-+)+$/,replacement:"-"},{exp:/^\s*~+(\s+-+)+$/,replacement:"~"},{exp:/^\s*\++(\s+\++)+$/,replacement:"+"}],Ps=/\s/g,Rs=/``/g,Fs=/~/g,Ns=/\+/g,Ms=/[_*~[\]]/g,Os=/(\[.*\]\(.*\))/g,Ls=[{exp://g,replacement:">"}],Us=/^\s*::$/,Vs=[{exp:/\s+::$/g,replacement:""},{exp:/(\S)\s*::$/g,replacement:"$1:"},{exp:/:[\w_\-+:.]+:`/g,replacement:"`"},{exp:/`:[\w_\-+:.]+:/g,replacement:"`"}];class qs{constructor(e){this._builder="",this._skipAppendEmptyLine=!0,this._insideInlineCode=!1,this._appendDirectiveBlock=!1,this._stateStack=[],this._lineNum=0,this._blockIndent=0,this._state=this._parseText,this._lines=us(e)}convert(){for(this._lines.some((e=>ks.exec(e)))&&(this._lines=this._lines.map((e=>e.replace(Ds,""))));void 0!==this._currentLineOrUndefined();){const e=this._state,t=this._lineNum;if(this._state(),this._state===e&&this._lineNum===t)break}return this._state===this._parseBacktickBlock||this._state===this._parseDocTest||this._state===this._parseLiteralBlock?this._trimOutputAndAppendLine("```"):this._insideInlineCode&&this._trimOutputAndAppendLine("`",!0),this._builder.trim()}_eatLine(){this._lineNum++}_currentLineOrUndefined(){return this._lineNum!Ws(e)))||"")}_currentLineIsOutsideBlock(){return this._currentIndent()n)||Ws(t)||this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")||js(t)||(this._builder=this._builder.slice(0,-1)+"\\\n"),n>i&&!Ws(t)&&!this._builder.endsWith("\\\n")&&!this._builder.endsWith("\n\n")&&(this._builder=this._builder.slice(0,-1)+"\\\n"),0===n||this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")?this._convertIndent(e):e.trimStart()}_convertIndent(e){return e.replace(/^([ \t]+)(.+)$/g,((e,t,n)=>" ".repeat(t.length)+n))}_escapeHtml(e){return Ls.forEach((t=>{e=e.replace(t.exp,t.replacement)})),e}_appendTextLine(e){const t=(e=this._preprocessTextLine(e)).split("`");for(let e=0;e0&&(this._insideInlineCode=!this._insideInlineCode,this._append("`")),this._insideInlineCode)this._append(n);else{if(n=this._escapeHtml(n),0===e){if(1===t.length){for(const e of As)if(e.exp.test(n)){n=n.replace(Ps,e.replacement);break}if(gs.test(n)){this._append(n.replace(Fs,"-"));continue}if(ys.test(n)){this._append(n.replace(Ns,"-"));continue}}const e=Ss.exec(n);null!==e&&3===e.length&&(this._append(e[1]),n=e[2])}n.split(Os).forEach((e=>{Os.test(e)?this._append(e):this._append(e.replace(Ms,((e,t,n)=>"\\"===n.charAt(t-1)?e:"\\"+e)))}))}}this._builder+="\n"}_preprocessTextLine(e){return Us.test(e)?"":(Vs.forEach((t=>e=e.replace(t.exp,t.replacement))),e=e.replace(Rs,"`"))}_parseEmpty(){if(Ws(this._currentLineOrUndefined()))return this._appendLine(),void this._eatLine();this._state=this._parseText}_beginMinIndentCodeBlock(e){this._appendLine("```"),this._pushAndSetState(e),this._blockIndent=this._currentIndent()}_beginBacktickBlock(){return!!this._currentLine().startsWith("```")&&(this._appendLine(this._currentLine()),this._pushAndSetState(this._parseBacktickBlock),this._eatLine(),!0)}_parseBacktickBlock(){this._currentLine().startsWith("```")?(this._appendLine("```"),this._appendLine(),this._popState()):this._appendLine(this._currentLine()),this._eatLine()}_beginDocTest(){return!!ws.test(this._currentLine())&&(this._beginMinIndentCodeBlock(this._parseDocTest),this._appendLine(this._currentLineWithinBlock()),this._eatLine(),!0)}_parseDocTest(){if(this._currentLineIsOutsideBlock()||Ws(this._currentLine()))return this._trimOutputAndAppendLine("```"),this._appendLine(),void this._popState();this._appendLine(this._currentLineWithinBlock()),this._eatLine()}_beginLiteralBlock(){const e=this._lineAt(this._lineNum-1);if(void 0===e)return!1;if(!Ws(e))return!1;let t=this._lineNum-2;for(;t>=0;t--){const e=this._lineAt(t);if(!Ws(e)){if(e.endsWith("::"))break;return!1}}return!(t<0||(0===this._currentIndent()?(this._appendLine("```"),this._pushAndSetState(this._parseLiteralBlockSingleLine),0):(this._beginMinIndentCodeBlock(this._parseLiteralBlock),0)))}_parseLiteralBlock(){return Ws(this._currentLineOrUndefined())?(this._appendLine(),void this._eatLine()):this._currentLineIsOutsideBlock()?(this._trimOutputAndAppendLine("```"),this._appendLine(),void this._popState()):(this._appendLine(this._currentLineWithinBlock()),void this._eatLine())}_parseLiteralBlockSingleLine(){this._appendLine(this._currentLine()),this._appendLine("```"),this._appendLine(),this._popState(),this._eatLine()}_beginDirective(){return!!xs.test(this._currentLine())&&(this._pushAndSetState(this._parseDirective),this._blockIndent=this._nextBlockIndent(),this._appendDirectiveBlock=!1,!0)}_beginFieldList(){var e,t;if(this._insideInlineCode)return!1;let n=this._currentLine();if(n.startsWith("@"))return this._appendLine(),this._appendTextLine(n),this._eatLine(),!0;const i=!(null==n?void 0:n.endsWith(":"))&&!(null==n?void 0:n.endsWith("::"))&&(null!==(t=null===(e=n.match(/:/g))||void 0===e?void 0:e.length)&&void 0!==t?t:0)%2==1,r=Es.test(n);if(i||r){const e=this._lineAt(this._lineNum-1);return this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")||js(e)||(this._builder=this._builder.slice(0,-1)+"\\\n"),n=this._convertIndent(n),this._appendTextLine(n),this._eatLine(),!0}return!1}_beginTableBlock(){if(this._insideInlineCode)return!1;const e=this._currentLine();return!!_s.test(e)&&(this._tableState={header:e.trimStart(),inHeader:!0},this._eatLine(),this._pushAndSetState(this._parseTableBlock),!0)}_parseTableBlock(){if(Ws(this._currentLineOrUndefined())||!this._tableState)return this._tableState=void 0,void this._popState();let e=this._currentLine();if(_s.test(e))return this._eatLine(),this._appendLine("\n
\n"),this._popState(),void(this._tableState=void 0);{let t="|";const n=this._tableState.header.split(" "),i=[];if(this._tableState.inHeader){do{let t=0;for(let r=0;r${o} `),t+=s}this._eatLine(),e=this._currentLine()}while(!Ws(this._currentLineOrUndefined())&&!vs.test(e)&&!_s.test(e));this._tableState.inHeader=!1,i.forEach((e=>{t+=`${e}|`})),this._appendLine(t);const r=e.trimStart().replace(/=/g,"-").replace(" ","|");this._appendLine(`|${r}|`),this._eatLine()}else{let i=0;n.forEach((n=>{const r=n.length+1,s=e.slice(i,i+r);t+=`${s}|`,i+=r})),this._appendLine(t),this._eatLine()}}}_beginList(){if(this._insideInlineCode)return!1;let e=this._currentLine();const t=Ts.exec(e);if(2===(null==t?void 0:t.length))return t[1].length>=4&&(e=" ".repeat(t[1].length/2)+e.trimLeft()),this._appendTextLine(e),this._eatLine(),this._state!==this._parseList&&this._pushAndSetState(this._parseList),!0;const n=bs.exec(e);if(2===(null==n?void 0:n.length))return 0===n[1].length?e=e=" "+e:n[1].length>=4&&(e=" ".repeat(n[1].length/2)+e.trimLeft()),this._appendTextLine(e),this._eatLine(),this._state!==this._parseList&&this._pushAndSetState(this._parseList),!0;const i=Is.exec(e);return 2===(null==i?void 0:i.length)&&(this._appendTextLine(e),this._eatLine(),!0)}_parseList(){if(Ws(this._currentLineOrUndefined())||this._currentLineIsOutsideBlock())this._popState();else if(!this._beginList()){const e=this._currentLine().trimStart();this._appendTextLine(e),this._eatLine()}}_parseDirective(){const e=Cs.exec(this._currentLine());if(null!==e&&3===e.length){const t=e[1],n=e[2];"class"===t&&(this._appendDirectiveBlock=!0,this._appendLine(),this._appendLine("```"),this._appendLine(n),this._appendLine("```"),this._appendLine())}0===this._blockIndent?this._popState():this._state=this._parseDirectiveBlock,this._eatLine()}_parseDirectiveBlock(){Ws(this._currentLineOrUndefined())||!this._currentLineIsOutsideBlock()?(this._appendDirectiveBlock&&this._appendTextLine(this._currentLine().trimLeft()),this._eatLine()):this._popState()}_appendLine(e){Ws(e)?this._skipAppendEmptyLine||(this._builder+="\n",this._skipAppendEmptyLine=!0):(this._builder+=e+"\n",this._skipAppendEmptyLine=!1)}_append(e){this._builder+=e,this._skipAppendEmptyLine=!1}_trimOutputAndAppendLine(e,t=!1){this._builder=this._builder.trimRight(),this._skipAppendEmptyLine=!1,t||this._appendLine(),this._appendLine(e)}}function Bs(e){return e.search(ms)}function Ws(e){return void 0===e||!fs.test(e)}function js(e){var t,n;return void 0!==e&&(null!==(n=null===(t=e.match(/^\s*[#`~=-]{3,}/))||void 0===t?void 0:t.length)&&void 0!==n?n:0)>0}function zs(e){return Ft(Ar(e))}const $s="*";class Hs{constructor(e,t,n){this.className=e,this.itemName=t,this.itemType=n}}const Gs=14;var Ks,Js,Ys,Qs,Zs,Xs,eo,to,no,io,ro,so,oo;function ao(e){return 4===e.category}function lo(e){return 3===e.category&&Ks.isInstance(e)}function co(e){return 3===e.category&&Ks.isInstantiable(e)}function uo(e){return 2===e.category}function po(e){return 1===e.category}function ho(e){return 2===e.category||1===e.category||!!fo(e)&&void 0===e.subtypes.find((e=>!ho(e)))}function mo(e){return 0===e.category}function fo(e){return 9===e.category}function go(e){return!!mo(e)||!!fo(e)&&void 0!==e.subtypes.find((e=>go(e)))}function yo(e){return 7===e.category}function _o(e){return 7===e.category&&Ks.isInstantiable(e)}function vo(e){return 7===e.category&&Ks.isInstance(e)}function To(e){return 8===e.category}function bo(e){return 10===e.category}function Io(e){return 10===e.category&&e.details.isVariadic}function So(e){return fo(e)&&1===e.subtypes.length&&(e=e.subtypes[0]),10===e.category&&e.details.isVariadic&&!!e.isVariadicUnpacked}function xo(e){return!(!yo(e)||!e.isUnpacked)}function Co(e){return So(e)||xo(e)}function wo(e){return 10===e.category&&e.details.isParamSpec}function Eo(e){return 5===e.category}function ko(e){return 6===e.category}function Do(e){return e.typeAliasInfo?e.typeAliasInfo:bo(e)&&e.details.recursiveTypeAliasName&&e.details.boundType&&e.details.boundType.typeAliasInfo?e.details.boundType.typeAliasInfo:void 0}function Ao(e,t,n=!1,i=!1,r=0){var s,o;if(e===t)return!0;if(e.category!==t.category)return!1;if(!i&&e.flags!==t.flags)return!1;if(r>Gs)return!0;switch(r++,e.category){case 7:{const i=t;if(!Zs.isSameGenericClass(e,i,r))return!1;if(!ro.isSame(e.condition,t.condition))return!1;if(!n||!Zs.isPseudoGenericClass(e))if(e.tupleTypeArguments&&i.tupleTypeArguments){const t=e.tupleTypeArguments||[],s=i.tupleTypeArguments||[];if(t.length!==s.length)return!1;for(let e=0;e0===e.category&&!e.name)),l=o.findIndex((e=>0===e.category&&!e.name));for(let t=0;t=a;if(p!==(void 0!==l&&t>=l))return!1;if(p&&c.name!==u.name)return!1;if(!Ao(Xs.getEffectiveParameterType(e,t),Xs.getEffectiveParameterType(i,t),n,!1,r))return!1}let c=e.details.declaredReturnType;e.specializedTypes&&e.specializedTypes.returnType&&(c=e.specializedTypes.returnType),!c&&e.inferredReturnType&&(c=e.inferredReturnType);let u=i.details.declaredReturnType;return i.specializedTypes&&i.specializedTypes.returnType&&(u=i.specializedTypes.returnType),!u&&i.inferredReturnType&&(u=i.inferredReturnType),!!(!c&&!u||c&&u&&Ao(c,u,n,!1,r))}case 6:{const s=t;if(e.overloads.length!==s.overloads.length)return!1;for(let t=0;t!so.containsType(n,e,r)))}case 10:{const i=t;if(e.scopeId!==i.scopeId)return!1;if(e.details.recursiveTypeParameters&&i.details.recursiveTypeParameters){const i=(null===(s=null==e?void 0:e.typeAliasInfo)||void 0===s?void 0:s.typeArguments)||[],a=(null===(o=null==t?void 0:t.typeAliasInfo)||void 0===o?void 0:o.typeArguments)||[],l=Math.max(i.length,a.length);for(let e=0;epo(e)))}function Ro(e){return fo(e)?No(e,(e=>mo(e))):mo(e)?Ys.create():e}function Fo(e){return No(e,(e=>lo(e)))}function No(e,t){if(fo(e)){const n=e.subtypes.filter((e=>!t(e)));if(n.lengtht(e))):t(e)?e:void 0}function Oo(e,t){let n=!1;if(0===(e=e.filter((e=>(4===e.category&&e.isNoReturn&&(n=!0),4!==e.category)))).length)return n?no.createNoReturn():no.createNever();let i=!0;for(let t=1;tvo(e)&&void 0!==e.literalValue||_o(e)&&void 0!==e.literalValue?1:vo(t)&&void 0!==t.literalValue||_o(t)&&void 0!==t.literalValue?-1:vo(e)&&e.isEmptyContainer?1:vo(t)&&t.isEmptyContainer?-1:0)),0===r.length)return Ys.create();const o=so.create();s.length>0&&(o.typeAliasSources=new Set,s.forEach((e=>{o.typeAliasSources.add(e)})));let a=!1;return r.forEach(((e,n)=>{0===n?so.addType(o,e):void 0===t||o.subtypes.lengtht===e.details.name))||n.some((t=>t===e.aliasName))}return!0}function i(t,n,i=0){if(i>Gs)return!0;if(i++,t.details===n.details)return!0;const r=t.details,s=n.details;if(r===s)return!0;if(r.fullName!==s.fullName||r.flags!==s.flags||r.typeSourceId!==s.typeSourceId||r.baseClasses.length!==s.baseClasses.length||r.typeParameters.length!==s.typeParameters.length)return!1;if(e.isBuiltIn(t,"NamedTuple")&&e.isBuiltIn(n,"NamedTuple"))return!0;if(e.isBuiltIn(t,"tuple")&&e.isBuiltIn(n,"tuple"))return!0;for(let e=0;eao(e)&&!e.isNoReturn?Ys.create():e)):void 0,o.isTypeArgumentExplicit=n,i&&(o.includeSubclasses=!0),o.tupleTypeArguments=r?r.map((e=>ao(e.type)?{type:Ys.create(),isUnbounded:e.isUnbounded}:e)):void 0,void 0!==s&&(o.isEmptyContainer=s),o},e.cloneWithLiteral=function(e,t){const n=Ks.cloneType(e);return n.literalValue=t,n},e.cloneForTypingAlias=function(e,t){const n=Ks.cloneType(e);return n.aliasName=t,n},e.cloneForNarrowedTypedDictEntries=function(e,t){const n=Ks.cloneType(e);return n.typedDictNarrowedEntries=t,n},e.cloneWithNewTypeParameters=function(e,t){const n=Ks.cloneType(e);return n.details={...n.details},n.details.typeParameters=t,n},e.cloneForTypeGuard=function(e,t,n){const i=Ks.cloneType(e);return i.typeGuardType=t,i.isStrictTypeGuard=n,i},e.cloneForSymbolTableUpdate=function(e){const n=Ks.cloneType(e);return n.details={...n.details},n.details.fields=new Map(n.details.fields),n.details.mro=[...n.details.mro],n.details.mro[0]=t(n),n},e.cloneForUnpacked=function(e,t=!0){const n=Ks.cloneType(e);return n.isUnpacked=t,n},e.isLiteralValueSame=function(e,t){return void 0===e.literalValue?void 0===t.literalValue:void 0!==t.literalValue&&(e.literalValue instanceof Hs?t.literalValue instanceof Hs&&e.literalValue.itemName===t.literalValue.itemName:e.literalValue===t.literalValue)},e.isUnspecialized=function(e){return e.details.typeParameters.length>0&&void 0===e.typeArguments},e.isSpecialBuiltIn=function(e,t){return!!(2&e.details.flags||e.aliasName)&&(void 0===t||e.details.name===t)},e.isBuiltIn=n,e.supportsAbstractMethods=function(e){return!!(512&e.details.flags)},e.isDataClass=function(e){return!!(4&e.details.flags)},e.isSkipSynthesizedDataClassInit=function(e){return!!(16&e.details.flags)},e.isSkipSynthesizedDataClassEq=function(e){return!!(32&e.details.flags)},e.isFrozenDataClass=function(e){return!!(8&e.details.flags)},e.isSynthesizedDataclassOrder=function(e){return!!(64&e.details.flags)},e.isDataClassKeywordOnlyParams=function(e){return!!(2097152&e.details.flags)},e.isGeneratedDataClassSlots=function(e){return!!(33554432&e.details.flags)},e.isSynthesizeDataClassUnsafeHash=function(e){return!!(67108864&e.details.flags)},e.isTypedDictClass=function(e){return!!(128&e.details.flags)},e.isCanOmitDictValues=function(e){return!!(256&e.details.flags)},e.isEnumClass=function(e){return!!(1048576&e.details.flags)},e.isPropertyClass=function(e){return!!(2048&e.details.flags)},e.isClassProperty=function(e){return!!(4194304&e.details.flags)},e.isFinal=function(e){return!!(4096&e.details.flags)},e.isProtocolClass=function(e){return!!(8192&e.details.flags)},e.isDefinedInStub=function(e){return!!(8388608&e.details.flags)},e.isPseudoGenericClass=function(e){return!!(16384&e.details.flags)},e.getDataClassEntries=function(e){return e.details.dataClassEntries||[]},e.isRuntimeCheckable=function(e){return!!(32768&e.details.flags)},e.isTypingExtensionClass=function(e){return!!(65536&e.details.flags)},e.isPartiallyConstructed=function(e){return!!(131072&e.details.flags)},e.hasCustomClassGetItem=function(e){return!!(262144&e.details.flags)},e.isTupleClass=function(e){return!!(524288&e.details.flags)},e.isReadOnlyInstanceVariables=function(e){return!!(16777216&e.details.flags)},e.getTypeParameters=function(e){return e.details.typeParameters},e.hasUnknownBaseClass=function(e){return e.details.mro.some((e=>ho(e)))},e.isSameGenericClass=i,e.isDerivedFrom=function e(t,r,s){if(i(t,r))return s&&s.push(t),!0;if(n(t)&&n(r,"object"))return s&&s.push(r),!0;for(const n of t.details.baseClasses)if(_o(n)){if(e(n,r,s))return s&&s.push(t),!0}else if(ho(n))return s&&s.push(Ys.create()),!0;return!1}}(Zs||(Zs={})),function(e){function t(e,t,n,i,r,s){return{category:5,details:{name:e,fullName:t,moduleName:n,flags:i,parameters:[],docString:s},flags:r}}function n(e,t){return w(t0&&0===e.details.parameters[0].category?(e.details.parameters.length>0&&!e.details.parameters[0].isTypeInferred&&(o.strippedFirstParamType=n(e,0)),o.details.parameters=e.details.parameters.slice(1)):i=!1,o.details.flags&=-4,o.details.flags|=4),void 0!==e.typeAliasInfo&&(o.typeAliasInfo=e.typeAliasInfo),e.specializedTypes&&(o.specializedTypes={parameterTypes:i?e.specializedTypes.parameterTypes.slice(1):e.specializedTypes.parameterTypes,returnType:e.specializedTypes.returnType}),o.inferredReturnType=e.inferredReturnType,o.boundTypeVarScopeId=s,o},e.cloneAsInstance=function(e){w(Ks.isInstantiable(e));const t=Ks.cloneType(e);return t.flags&=~9,t.flags|=2,t},e.cloneAsInstantiable=function(e){w(Ks.isInstance(e));const t=Ks.cloneType(e);return t.flags&=-11,t.flags|=1,t},e.cloneForSpecialization=function(e,n,i){const r=t(e.details.name,e.details.fullName,e.details.moduleName,e.details.flags,e.flags,e.details.docString);return r.details=e.details,w(n.parameterTypes.length===e.details.parameters.length),r.specializedTypes=n,i&&(r.inferredReturnType=i),r},e.cloneForParamSpec=function(n,i){const r=t(n.details.name,n.details.fullName,n.details.moduleName,n.details.flags,n.flags,n.details.docString);return r.specializedTypes=n.specializedTypes,r.details={...n.details},delete r.details.paramSpec,i&&(r.details.parameters=[...n.details.parameters,...i.parameters.map((e=>({category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})))],r.details.docString||(r.details.docString=i.docString),r.details.flags=98311&i.flags|64,e.isParamSpecValue(n)&&(r.details.flags|=65536),r.specializedTypes&&i.parameters.forEach((e=>{r.specializedTypes.parameterTypes.push(e.type)})),r.details.paramSpec=i.paramSpec),r},e.cloneWithNewFlags=function(e,t){const n=Ks.cloneType(e);return n.details={...e.details},n.details.flags=t,n},e.cloneForParamSpecApplication=function(e,t){const n=Ks.cloneType(e);if(n.details={...e.details},n.details.parameters=n.details.parameters.slice(0,n.details.parameters.length-2),t.parameters.some((e=>0===e.category&&!e.name))&&n.details.parameters.length>0){const e=n.details.parameters[n.details.parameters.length-1];0!==e.category||e.name||n.details.parameters.pop()}return t.parameters.forEach((e=>{n.details.parameters.push({category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})})),n.details.paramSpec=t.paramSpec,n.details.docString||(n.details.docString=t.docString),n},e.cloneRemoveParamSpecVariadics=function(e,n){const i=t(e.details.name,e.details.fullName,e.details.moduleName,e.details.flags,e.flags,e.details.docString);return i.details={...e.details},i.details.parameters=i.details.parameters.slice(0,i.details.parameters.length-2),e.specializedTypes&&(i.specializedTypes={...e.specializedTypes},i.specializedTypes.parameterTypes=i.specializedTypes.parameterTypes.slice(0,i.specializedTypes.parameterTypes.length-2)),i.details.paramSpec||(i.details.paramSpec=n),i},e.addDefaultParameters=function(t,n=!1){e.addParameter(t,{category:1,name:"args",type:n?Ys.create():io.create(),hasDeclaredType:!n}),e.addParameter(t,{category:2,name:"kwargs",type:n?Ys.create():io.create(),hasDeclaredType:!n})},e.hasDefaultParameters=function(t){let n=!1,i=!1;for(let r=0;rt.typeVarName?1:e.constraintIndext.constraintIndex?1:0}e.combine=function(e,n){if(!e)return n;if(!n)return e;const i=[...e];return n.forEach((e=>{i.some((n=>0===t(e,n)))||i.push(e)})),i.sort(t)},e.isSame=function(e,t){return e?!(!t||e.length!==t.length)&&void 0===e.find(((e,n)=>e.typeVarName!==t[n].typeVarName||e.constraintIndex!==t[n].constraintIndex)):!t},e.isCompatible=function(e,t){if(!e||!t)return!0;for(const n of e){let e=!1;const i=t.find((t=>n.typeVarName===t.typeVarName&&(e=!0,n.constraintIndex===t.constraintIndex)));if(e&&!i)return!1}return!0}}(ro||(ro={})),function(e){e.create=function(){return{category:9,subtypes:[],flags:3}},e.addType=function(e,t){vo(t)&&Zs.isBuiltIn(t,"str")&&void 0!==t.literalValue&&void 0===t.condition?(void 0===e.literalStrMap&&(e.literalStrMap=new Map),e.literalStrMap.set(t.literalValue,t)):vo(t)&&Zs.isBuiltIn(t,"int")&&void 0!==t.literalValue&&void 0===t.condition&&(void 0===e.literalIntMap&&(e.literalIntMap=new Map),e.literalIntMap.set(t.literalValue,t)),e.flags&=t.flags,e.subtypes.push(t)},e.containsType=function(e,t,n=0){if(vo(t)&&void 0===t.condition){if(Zs.isBuiltIn(t,"str")&&void 0!==t.literalValue&&void 0!==e.literalStrMap)return e.literalStrMap.has(t.literalValue);if(Zs.isBuiltIn(t,"int")&&void 0!==t.literalValue&&void 0!==e.literalIntMap)return e.literalIntMap.has(t.literalValue)}return void 0!==e.subtypes.find((e=>Ao(e,t,void 0,void 0,n)))},e.addTypeAliasSource=function(e,t){if(9===t.category){const n=t.typeAliasInfo?[t]:t.typeAliasSources;n&&(e.typeAliasSources||(e.typeAliasSources=new Set),n.forEach((t=>{e.typeAliasSources.add(t)})))}}}(so||(so={})),function(e){function t(e,t){return`${e}.${t}`}function n(e,t,n){return{category:10,details:{name:e,constraints:[],variance:0,isParamSpec:t,isVariadic:!1,isSynthesized:!1},flags:n}}e.createInstance=function(e){return n(e,!1,2)},e.createInstantiable=function(e,t=!1){return n(e,t,1)},e.cloneAsInstance=function(e){w(Ks.isInstantiable(e));const t=Ks.cloneType(e);return t.flags&=~9,t.flags|=2,t},e.cloneAsInstantiable=function(e){w(Ks.isInstance(e));const t=Ks.cloneType(e);return t.flags&=-11,t.flags|=1,t},e.cloneForScopeId=function(e,n,i,r){const s=Ks.cloneType(e);return s.nameWithScope=t(e.details.name,n),s.scopeId=n,s.scopeName=i,s.scopeType=r,s},e.cloneForUnpacked=function(e,t=!1){w(e.details.isVariadic);const n=Ks.cloneType(e);return n.isVariadicUnpacked=!0,n.isVariadicInUnion=t,n},e.cloneForPacked=function(e){w(e.details.isVariadic);const t=Ks.cloneType(e);return t.isVariadicUnpacked=!1,t.isVariadicInUnion=!1,t},e.cloneAsInvariant=function(e){if(e.details.isParamSpec||e.details.isVariadic)return e;if(0===e.details.variance&&void 0===e.details.boundType&&0===e.details.constraints.length)return e;const t=Ks.cloneType(e);return t.details={...t.details},t.details.variance=0,t.details.boundType=void 0,t.details.constraints=[],t},e.cloneForParamSpecAccess=function(e,t){const n=Ks.cloneType(e);return n.paramSpecAccess=t,n},e.cloneAsSpecializedSelf=function(e,t){w(e.details.isSynthesizedSelf);const n=Ks.cloneType(e);return n.details={...n.details},n.details.boundType=t,n},e.makeNameWithScope=t,e.addConstraint=function(e,t){e.details.constraints.push(t)},e.getNameWithScope=function(e){return e.nameWithScope||e.details.name},e.getReadableName=function(e){return e.scopeName?`${e.details.name}@${e.scopeName}`:e.details.name}}(oo||(oo={}));let Uo=1;class Vo{constructor(e=4){this.id=Uo++,this._flags=e}static createWithType(e,t){const n=new Vo(e);return n._synthesizedType=t,n}isInitiallyUnbound(){return!!(1&this._flags)}setIsExternallyHidden(){this._flags|=2}isExternallyHidden(){return!!(2&this._flags)}setIsIgnoredForProtocolMatch(){this._flags|=64}isIgnoredForProtocolMatch(){return!!(64&this._flags)}setIsClassMember(){this._flags|=4}isClassMember(){return!!(4&this._flags)}setIsInstanceMember(){this._flags|=8}isInstanceMember(){return!!(8&this._flags)}setIsClassVar(){this._flags|=128}isClassVar(){return!!(128&this._flags)}setIsInitVar(){this._flags|=1024}isInitVar(){return!!(1024&this._flags)}setIsInDunderAll(){this._flags|=256}isInDunderAll(){return!!(256&this._flags)}setIsPrivateMember(){this._flags|=32}isPrivateMember(){return!!(32&this._flags)}setPrivatePyTypedImport(){this._flags|=512}isPrivatePyTypedImport(){return!!(512&this._flags)}addDeclaration(e){if(this._declarations){const t=this._declarations.findIndex((t=>is(t,e)));if(t<0)this._declarations.push(e),this._declarations.forEach((e=>{1===e.type&&e.typeAliasName&&delete e.typeAliasName}));else{const n=this._declarations[t];ns(e)?(this._declarations[t]=e,1===n.type&&1===e.type&&!e.inferredTypeSource&&n.inferredTypeSource&&(e.inferredTypeSource=n.inferredTypeSource)):1===e.type&&1===n.type&&(e.isFinal&&(n.isFinal=!0),e.typeAliasAnnotation&&(n.typeAliasAnnotation=e.typeAliasAnnotation,n.typeAliasName=e.typeAliasName),!n.inferredTypeSource&&e.inferredTypeSource&&(n.inferredTypeSource=e.inferredTypeSource))}}else this._declarations=[e]}hasDeclarations(){return!!this._declarations&&this._declarations.length>0}getDeclarations(){return this._declarations?this._declarations:[]}hasTypedDeclarations(){return!!this._synthesizedType||this.getDeclarations().some((e=>ns(e)))}getTypedDeclarations(){return this.getDeclarations().filter((e=>ns(e)))}getSynthesizedType(){return this._synthesizedType}}function qo(e){const t=e.getTypedDeclarations();if(t.length>0)return t[t.length-1]}function Bo(e){const t=e.getTypedDeclarations();return t.length>0&&1===t[t.length-1].type}function Wo(e){return e.getDeclarations().some((e=>rs(e)))}class jo{constructor(e){this._isLocked=!1,Array.isArray(e)?this._solveForScopes=e:this._solveForScopes=void 0!==e?[e]:void 0,this._typeVarMap=new Map,this._paramSpecMap=new Map}clone(){const e=new jo;return this._solveForScopes&&(e._solveForScopes=[...this._solveForScopes]),this._typeVarMap.forEach((t=>{e.setTypeVarType(t.typeVar,t.narrowBound,t.wideBound,t.retainLiteral)})),this._paramSpecMap.forEach((t=>{e.setParamSpec(t.paramSpec,t.type)})),this._variadicTypeVarMap&&this._variadicTypeVarMap.forEach((t=>{e.setVariadicTypeVar(t.typeVar,t.types)})),e._isLocked=this._isLocked,e}copyFromClone(e){this._typeVarMap=e._typeVarMap,this._paramSpecMap=e._paramSpecMap,this._variadicTypeVarMap=e._variadicTypeVarMap,this._isLocked=e._isLocked}getSolveForScopes(){return this._solveForScopes}hasSolveForScope(e){return void 0!==e&&void 0!==this._solveForScopes&&this._solveForScopes.some((t=>t===e||t===$s))}setSolveForScopes(e){this._solveForScopes=e}addSolveForScope(e){void 0===e||this.hasSolveForScope(e)||(this._solveForScopes||(this._solveForScopes=[]),this._solveForScopes.push(e))}isEmpty(){return 0===this._typeVarMap.size&&0===this._paramSpecMap.size}getScore(){let e=0;return this._typeVarMap.forEach((t=>{e+=1;const n=this.getTypeVarType(t.typeVar);e+=1-this._getComplexityScoreForType(n)})),e+=this._paramSpecMap.size,e}hasTypeVar(e){return this._typeVarMap.has(this._getKey(e))}getTypeVarType(e,t=!1){const n=this._typeVarMap.get(this._getKey(e));if(n)return n.narrowBound?n.narrowBound:t?void 0:n.wideBound}setTypeVarType(e,t,n,i){w(!this._isLocked);const r=this._getKey(e);this._typeVarMap.set(r,{typeVar:e,narrowBound:t,wideBound:n,retainLiteral:i})}getVariadicTypeVar(e){var t,n;return null===(n=null===(t=this._variadicTypeVarMap)||void 0===t?void 0:t.get(this._getKey(e)))||void 0===n?void 0:n.types}setVariadicTypeVar(e,t){w(!this._isLocked);const n=this._getKey(e);this._variadicTypeVarMap||(this._variadicTypeVarMap=new Map),this._variadicTypeVarMap.set(n,{typeVar:e,types:t})}getTypeVar(e){const t=this._getKey(e);return this._typeVarMap.get(t)}getTypeVars(){const e=[];return this._typeVarMap.forEach((t=>{e.push(t)})),e}hasParamSpec(e){return this._paramSpecMap.has(this._getKey(e))}getParamSpec(e){var t;return null===(t=this._paramSpecMap.get(this._getKey(e)))||void 0===t?void 0:t.type}setParamSpec(e,t){w(!this._isLocked),this._paramSpecMap.set(this._getKey(e),{paramSpec:e,type:t})}typeVarCount(){return this._typeVarMap.size}getWideTypeBound(e){const t=this._typeVarMap.get(this._getKey(e));if(t)return t.wideBound}getRetainLiterals(e){const t=this._typeVarMap.get(this._getKey(e));return!!(null==t?void 0:t.retainLiteral)}lock(){w(!this._isLocked),this._isLocked=!0}unlock(){this._isLocked=!1}isLocked(){return this._isLocked}_getKey(e){return oo.getNameWithScope(e)}_getComplexityScoreForType(e,t=0){if(t>Gs)return 1;switch(t++,e.category){case 1:case 2:case 3:case 5:case 6:case 10:return.5;case 0:case 4:return 1;case 9:{let n=0;return e.subtypes.length<16&&Jo(e,(e=>{const i=this._getComplexityScoreForType(e,t);n=Math.max(n,i)})),.75+n/4}case 7:return this._getComplexityScoreForClass(e,t)}return 0}_getComplexityScoreForClass(e,t){let n=0,i=0;return e.tupleTypeArguments?e.tupleTypeArguments.forEach((e=>{n+=this._getComplexityScoreForType(e.type,t),i++})):e.typeArguments?e.typeArguments.forEach((e=>{n+=this._getComplexityScoreForType(e,t),i++})):e.details.typeParameters&&e.details.typeParameters.forEach((e=>{n+=this._getComplexityScoreForType(io.create(),t),i++})),.5+.25*(i>0?n/i:0)}}var zo,$o;function Ho(e){const t={firstPositionOrKeywordIndex:0,positionParamCount:0,positionOnlyParamCount:0,params:[],hasUnpackedVariadicTypeVar:!1};let n=e.details.parameters.findIndex((e=>0===e.category&&!e.name));if(n<0)for(let t=0;t=0&&(t.firstPositionOrKeywordIndex=n);for(let i=0;i{if(r.name){let a;a=1===r.category?zo.PositionOnly:i?zo.KeywordOnly:n>=0&&s{1===e.category?e.name&&xo(e.type)&&e.type.tupleTypeArguments?e.type.tupleTypeArguments.forEach(((n,i)=>{const s=Io(n.type)||n.isUnbounded?1:0;1===s&&(t.argsIndex=t.params.length),Io(e.type)&&(t.hasUnpackedVariadicTypeVar=!0),r({category:s,name:`${e.name}[${i.toString()}]`,type:n.type,hasDeclaredType:!0},i,n.type)})):(e.name&&void 0===t.argsIndex&&(t.argsIndex=t.params.length,Io(e.type)&&(t.hasUnpackedVariadicTypeVar=!0)),!i&&(n<0||s>=n)&&(t.firstKeywordOnlyIndex=t.params.length,e.name&&t.firstKeywordOnlyIndex++,i=!0),r(e,s)):2===e.category?(i=!0,vo(e.type)&&xo(e.type)&&e.type.details.typedDictEntries?(void 0===t.firstKeywordOnlyIndex&&(t.firstKeywordOnlyIndex=t.params.length),e.type.details.typedDictEntries.forEach(((e,t)=>{r({category:0,name:t,type:e.valueType,hasDeclaredType:!0,hasDefault:!e.isRequired},s,e.valueType)}))):e.name&&(void 0===t.kwargsIndex&&(t.kwargsIndex=t.params.length),void 0===t.firstKeywordOnlyIndex&&(t.firstKeywordOnlyIndex=t.params.length),r(e,s))):0===e.category&&(e.name&&!i&&t.positionParamCount++,r(e,s))})),t}function Go(e){return!!fo(e)&&void 0!==Mo(e,(e=>lo(e)))}function Ko(e,t){if(fo(e)){const n=[];let i=!1;if(e.subtypes.forEach((r=>{const s=t(r);s?s!==r?(n.push(Zo(s,Xo(e))),i=!0):n.push(r):i=!0})),!i)return e;const r=Oo(n);return 9===r.category&&so.addTypeAliasSource(r,e),r}return t(e)||no.createNever()}function Jo(e,t){fo(e)?e.subtypes.forEach(((e,n)=>{t(e,n)})):t(e,0)}function Yo(e,t){if(e.length<2)return!0;for(let n=1;nQo(e))):e}function Zo(e,t){if(!t)return e;switch(e.category){case 0:case 1:case 2:case 4:case 8:case 10:return e;case 3:case 5:return Ks.cloneForCondition(e,ro.combine(e.condition,t));case 6:return eo.create(e.overloads.map((e=>Zo(e,t))));case 7:return Ks.cloneForCondition(e,ro.combine(e.condition,t));case 9:return Oo(e.subtypes.map((e=>Zo(e,t))))}}function Xo(e){switch(e.category){case 0:case 1:case 2:case 4:case 8:case 10:case 6:case 9:return;case 3:case 7:case 5:return e.condition}}function ea(e){return!!bo(e)&&!!e.details.recursiveTypeAliasName&&!e.details.boundType}function ta(e){var t;if(e&&bo(e)&&e.details.recursiveTypeAliasName&&e.details.boundType){const n=Ks.isInstance(e)?Fa(e.details.boundType):e.details.boundType;return(null===(t=e.typeAliasInfo)||void 0===t?void 0:t.typeArguments)&&e.details.recursiveTypeParameters?fa(n,Ea(e.details.recursiveTypeParameters,e.typeAliasInfo.typeArguments,na(e))):n}return e}function na(e){return yo(e)||Eo(e)?e.details.typeVarScopeId:bo(e)?e.scopeId:void 0}function ia(e){let t;if(_o(e)?t=e:vo(e)&&(t=Zs.cloneAsInstantiable(e)),!t)return;const n=t.details.mro.find((e=>_o(e)&&pa(e)));return n&&_o(n)?Zs.isSameGenericClass(t,n)?t:fa(n,wa(t)):void 0}function ra(e){return Ks.isInstance(e)&&void 0!==e.literalValue}function sa(e){return vo(e)?void 0!==e.literalValue:!!fo(e)&&!Mo(e,(e=>!vo(e)||void 0===e.literalValue))}function oa(e,t=!1,n=0){var i;if(n>Gs)return!1;if(n++,vo(e)&&ra(e))return!0;if(t&&yo(e)){const r=(null===(i=e.tupleTypeArguments)||void 0===i?void 0:i.map((e=>e.type)))||e.typeArguments;if(r)return r.some((e=>oa(e,t,n)))}if(fo(e))return e.subtypes.some((e=>oa(e,t,n)));if(ko(e))return e.overloads.some((e=>oa(e,t,n)));if(Eo(e)){const i=Xs.getSpecializedReturnType(e);if(i&&oa(i,t,n))return!0;for(let i=0;i{const i=aa(e);i?t||(t=i):n=!0})),n?void 0:t}}function la(e){return fo(e)?e.subtypes.length:1}function ca(e){return uo(e)&&e.isEllipsis}function ua(e){return vo(e)&&Zs.isPropertyClass(e)}function pa(e){return Zs.isBuiltIn(e,"tuple")}function da(e){return e.tupleTypeArguments&&e.tupleTypeArguments.some((e=>e.isUnbounded))}function ha(e,t,n){if(Zs.isUnspecialized(t))return e;const i=wa(t,void 0);return n&&ma(i,t,n),fa(e,i)}function ma(e,t,n){const i=Aa(t,!1);e.setTypeVarType(i,Fa(n))}function fa(e,t,n=!1,i=!1,r=!1){return!t.isEmpty()||n||r?new Qa(t,n,i,r).apply(e):e}function ga(e){const t=new Map;return Zs.isProtocolClass(e)&&ya(e,t),t}function ya(e,t,n=0){n>Gs||(e.details.baseClasses.forEach((e=>{yo(e)&&Zs.isProtocolClass(e)&&ya(e,t,n+1)})),e.details.fields.forEach(((n,i)=>{n.isIgnoredForProtocolMatch()||t.set(i,{symbol:n,classType:e,isInstanceMember:n.isInstanceMember(),isClassVar:n.isClassVar(),isTypeDeclared:n.hasTypedDeclarations(),skippedUndeclaredType:!1})})))}function _a(e,t,n=0){if(vo(e))return va(e,t,n)}function va(e,t,n=0){var i;return null===(i=Ta(e,t,n).next())||void 0===i?void 0:i.value}function*Ta(e,t,n=0){const i=0!=(16&n);let r=!1;if(yo(e)){let s=0;1&n&&(s|=1),2&n&&(s|=2),4&n&&(s|=4),32&n&&(s|=8);const o=ba(e,s);for(const[e,s]of o){if(!_o(e)){if(!i){const e={symbol:Vo.createWithType(0,Ys.create()),isInstanceMember:!1,isClassVar:!0,classType:Ys.create(),isTypeDeclared:!1,skippedUndeclaredType:!1};yield e}continue}if(!_o(s))continue;const o=s.details.fields;if(0==(8&n)){const e=o.get(t);if(e&&e.isInstanceMember()){const t=e.hasTypedDeclarations();if(!i||t){const n={symbol:e,isInstanceMember:!0,isClassVar:e.isClassVar(),classType:s,isTypeDeclared:t,skippedUndeclaredType:r};yield n}else r=!0}}const a=o.get(t);if(a&&a.isClassMember()){const e=a.hasTypedDeclarations();if(!i||e){let t=!1;if(Zs.isDataClass(s)||Zs.isTypedDictClass(s)){const e=a.getDeclarations();e.length>0&&1===e[0].type&&(t=!0)}const n={symbol:a,isInstanceMember:t,isClassVar:a.isClassVar(),classType:s,isTypeDeclared:e,skippedUndeclaredType:r};yield n}else r=!0}}}else if(ho(e)){const e={symbol:Vo.createWithType(0,Ys.create()),isInstanceMember:!1,isClassVar:!0,classType:Ys.create(),isTypeDeclared:!1,skippedUndeclaredType:!1};yield e}}function*ba(e,t=0){if(yo(e)){let n=0!=(1&t);for(const i of e.details.mro){if(n){n=!1;continue}const r=ha(i,e);if(4&t&&_o(r)&&Zs.isBuiltIn(r,"object"))break;if(8&t&&_o(r)&&Zs.isBuiltIn(r,"type"))break;if(yield[i,r],0!=(2&t))break}}}function Ia(e,t){for(const n of t)e.find((e=>Ao(Fa(e),Fa(n))))||e.push(n)}function Sa(e,t=0){var n,i;if(t>Gs)return[];if(t++,null===(n=e.typeAliasInfo)||void 0===n?void 0:n.typeArguments){const n=[];return null===(i=e.typeAliasInfo)||void 0===i||i.typeArguments.forEach((e=>{Ia(n,Sa(e,t))})),n}if(bo(e))return e.details.recursiveTypeAliasName||wo(e)&&e.paramSpecAccess?[]:[Ks.isInstantiable(e)?oo.cloneAsInstance(e):e];if(yo(e))return(e=>{const n=[];return e.typeArguments&&e.typeArguments.forEach((e=>{Ia(n,Sa(e,t))})),n})(e);if(fo(e)){const n=[];return Jo(e,(e=>{Ia(n,Sa(e,t))})),n}if(Eo(e)){const n=[];for(let i=0;i{t.setTypeVarType(e,Ys.create())})),fa(e,t)}function Ca(e,t,n,i=0){if(!(i>Gs||(i++,n.isLocked())))switch(e.category){case 9:Jo(e,(e=>{Ca(e,t,n,i)}));break;case 7:e.typeArguments&&e.typeArguments.forEach((e=>{Ca(e,t,n,i)})),e.tupleTypeArguments&&e.tupleTypeArguments.forEach((e=>{Ca(e.type,t,n,i)}));break;case 5:e.specializedTypes?(e.specializedTypes.parameterTypes.forEach((e=>{Ca(e,t,n,i)})),e.specializedTypes.returnType&&Ca(e.specializedTypes.returnType,t,n,i)):(e.details.parameters.forEach((e=>{Ca(e.type,t,n,i)})),e.details.declaredReturnType&&Ca(e.details.declaredReturnType,t,n,i));break;case 6:e.overloads.forEach((e=>{Ca(e,t,n,i)}));break;case 10:n.hasTypeVar(e)||n.setTypeVarType(e,t)}}function wa(e,t=!0){const n=Zs.getTypeParameters(e);let i=e.typeArguments;i||t||(i=n);const r=Ea(n,i,na(e));return Zs.isTupleClass(e)&&e.tupleTypeArguments&&n.length>=1&&r.setVariadicTypeVar(n[0],e.tupleTypeArguments),r}function Ea(e,t,n){const i=new jo(n);return e.forEach(((e,n)=>{let r;if(t)if(wo(e)){if(n{t.push({category:e.category,name:e.name,hasDefault:!!e.hasDefault,isNameSynthesized:e.isNameSynthesized,type:Xs.getEffectiveParameterType(n,i)})})),i.setParamSpec(e,{parameters:t,typeVarScopeId:r.details.typeVarScopeId,flags:r.details.flags,docString:r.details.docString,paramSpec:r.details.paramSpec})}else wo(r)&&i.setParamSpec(e,{flags:0,parameters:[],typeVarScopeId:void 0,docString:void 0,paramSpec:r})}else r=n>=t.length?io.create():t[n],i.setTypeVarType(e,r,r,!0)})),i}function ka(e,t){if(0===Zs.getTypeParameters(t).length)return t;const n=fa(t,wa(e));return w(_o(n)),n}function Da(e,t,n){if(Zs.isSameGenericClass(e,t))return!0;for(const i of e.details.baseClasses)if(_o(i)){if(Da(i,t,n))return!0}else if(!n&&ho(i))return!0;return!1}function Aa(e,t){var n;const i=oo.createInstance("__type_of_self__"),r=null!==(n=na(e))&&void 0!==n?n:"";i.details.isSynthesized=!0,i.details.isSynthesizedSelf=!0,i.nameWithScope=oo.makeNameWithScope(i.details.name,r),i.scopeId=r;const s=Zs.cloneForSpecialization(e,Zs.getTypeParameters(e),!1,!0);return i.details.boundType=Zs.cloneAsInstance(s),t?oo.cloneAsInstantiable(i):i}function Pa(e){const t=Xs.getSpecializedReturnType(e);if(t){const e=za(t);if(e)return e.length>=3?e[2]:Ys.create()}}function Ra(e){return!!Ks.isInstantiable(e)||!(!vo(e)||!Zs.isBuiltIn(e,"type"))||!!fo(e)&&e.subtypes.every((e=>Ra(e)))}function Fa(e){let t=Ko(e,(e=>{switch(e.category){case 7:return Zs.isBuiltIn(e,"Type")?!e.typeArguments||e.typeArguments.length<1?Ys.create():Na(e.typeArguments[0]):Zs.cloneAsInstance(e);case 3:return to.createInstance();case 5:if(Ks.isInstantiable(e))return Xs.cloneAsInstance(e);break;case 10:if(Ks.isInstantiable(e))return oo.cloneAsInstance(e)}return e}));return e.typeAliasInfo&&e!==t&&(t=Ks.cloneForTypeAlias(t,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,e.typeAliasInfo.typeArguments)),t}function Na(e){let t=Ko(e,(e=>{switch(e.category){case 7:if(Ks.isInstance(e))return Zs.cloneAsInstantiable(e);break;case 3:return to.createType();case 5:if(Ks.isInstance(e))return Xs.cloneAsInstantiable(e);break;case 10:if(Ks.isInstance(e))return oo.cloneAsInstantiable(e)}return e}));return e.typeAliasInfo&&e!==t&&(t=Ks.cloneForTypeAlias(t,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,e.typeAliasInfo.typeArguments)),t}function Ma(e,t,n){for(let i=0;i{if((i.isClassMember()||n&&i.isInstanceMember())&&!(e&&Bo(i)||i.isInitVar())){const e=t.get(r);e?!e.hasTypedDeclarations()&&i.hasTypedDeclarations()&&t.set(r,i):t.set(r,i)}}))}}if(!n){const n=e.details.effectiveMetaclass;if(n&&_o(n))for(const e of n.details.mro){if(!_o(e))break;e.details.fields.forEach(((e,n)=>{const i=t.get(n);i?!i.hasTypedDeclarations()&&e.hasTypedDeclarations()&&t.set(n,e):t.set(n,e)}))}}}function Oa(e){let t=!1;return Jo(e,(e=>{po(e)&&(t=!0)})),t}function La(e,t=!1,n=0){var i,r;if(n>Gs)return!1;if(n++,po(e))return!0;if((null===(i=e.typeAliasInfo)||void 0===i?void 0:i.typeArguments)&&e.typeAliasInfo.typeArguments.some((e=>La(e,t,n))))return!0;if(fo(e))return void 0!==Mo(e,(e=>La(e,t,n)));if(yo(e)){if(Ks.isInstance(e)&&(t=!1),!t&&!Zs.isPseudoGenericClass(e)){const i=(null===(r=e.tupleTypeArguments)||void 0===r?void 0:r.map((e=>e.type)))||e.typeArguments;if(i)for(const e of i)if(La(e,t,n))return!0}return!1}if(ko(e))return e.overloads.some((e=>La(e,!1,n)));if(Eo(e)){for(let t=0;tZs.cloneForSpecialization(e,[t],!0)))):e}function Va(e,t){if(!t||!_o(t)||da(t))return;let n,i=!0;return Jo(e,(e=>{if(vo(e)){let t;yo(e)&&pa(e)&&!da(e)&&(t=e),t||(t=e.details.mro.find((e=>yo(e)&&pa(e)&&!da(e)))),t&&yo(t)&&t.tupleTypeArguments?n?n.length===t.tupleTypeArguments.length?t.tupleTypeArguments.forEach(((e,t)=>{n[t].push(e.type)})):i=!1:n=t.tupleTypeArguments.map((e=>[e.type])):i=!1}else i=!1})),i&&n?Fa(qa(t,n.map((e=>({type:Oo(e),isUnbounded:!1}))))):void 0}function qa(e,t,n=!0,i=!0,r=!1){let s=Oo(t.map((e=>e.type)));i&&(s=Qo(s)),ao(s)&&(s=io.create());const o=Zs.cloneForSpecialization(e,[s],n,void 0,t);return r&&(o.isUnpacked=!0),o}function Ba(e){if(Eo(e))return Wa(e);const t=[];let n=!1;for(const i of e.overloads){const e=Wa(i);t.push(e),e!==i&&(n=!0)}return n?eo.create(t):e}function Wa(e){const t=e.details.parameters.length;if(t<2)return e;const n=e.details.parameters[t-2],i=e.details.parameters[t-1];return 1===n.category&&2===i.category&&wo(n.type)&&wo(i.type)&&Ao(n.type,i.type)?Xs.cloneRemoveParamSpecVariadics(e,n.type):e}function ja(e){return vo(e)&&pa(e)&&e.tupleTypeArguments&&e.isUnpacked?Oo(e.tupleTypeArguments.map((e=>e.type))):e}function za(e){var t;if(vo(e)){if(Zs.isBuiltIn(e,["Generator","AsyncGenerator"]))return e.typeArguments;if(Zs.isBuiltIn(e,"AwaitableGenerator"))return null===(t=e.typeArguments)||void 0===t?void 0:t.slice(1)}}function $a(e,t=!1,n=!1,i=0){var r;if(i>Gs)return!1;switch(i++,e.category){case 7:return(!Zs.isPseudoGenericClass(e)||!t)&&(e.typeArguments?void 0!==e.typeArguments.find((e=>$a(e,t,n,i))):Zs.getTypeParameters(e).length>0);case 5:{if(e.details.paramSpec)return!0;for(let r=0;r$a(e,t,n,i)));case 9:return void 0!==Mo(e,(e=>$a(e,t,n,i)));case 10:if(!e.details.recursiveTypeAliasName)return!e.details.isSynthesizedSelf||!n;if(null===(r=e.typeAliasInfo)||void 0===r?void 0:r.typeArguments)return e.typeAliasInfo.typeArguments.some((e=>$a(e,t,n,i)))}return!1}function Ha(e){let t=!0;const n=e.details.baseClasses.filter(((t,n)=>{if(_o(t)&&Zs.isBuiltIn(t,"Generic")){if(Zs.isProtocolClass(e))return!1;if(e.details.baseClasses.some(((e,t)=>t>n&&_o(e)&&e.typeArguments&&e.isTypeArgumentExplicit)))return!1}return!0})),i=[];n.forEach(((e,t)=>{if(_o(e)){const t=wa(e,!1);i.push(e.details.mro.map((e=>fa(e,t))))}else i.push([e])})),i.push(n.map((t=>fa(t,wa(e,!1)))));const r=wa(e,!1);e.details.mro.push(fa(e,r));const s=(e,t)=>t.some((t=>t.findIndex((t=>_o(t)&&Zs.isSameGenericClass(t,e)))>0)),o=(e,t)=>{for(let n=0;n!_o(t)||!Zs.isSameGenericClass(t,e)))};for(;;){let n,r=!1;for(let t=0;t0){if(void 0===n&&(n=a),!_o(a[0])){r=!0,e.details.mro.push(a[0]),a.shift();break}if(!s(a[0],i)){r=!0,e.details.mro.push(a[0]),o(a[0],i);break}}}if(!n)break;r||(t=!1,_o(n[0])?(e.details.mro.push(n[0]),o(n[0],i)):(e.details.mro.push(n[0]),n.shift()))}return t}function Ga(e){const t=[];return Ka(e,t),t}function Ka(e,t,n=0){if(n>Gs)return;n++;const i=e=>{e&&!t.some((t=>t===e))&&t.push(e)};switch(e.category){case 7:case 5:i(e.details.moduleName);break;case 6:e.overloads.forEach((e=>{Ka(e,t,n)}));break;case 9:Jo(e,(e=>{Ka(e,t,n)}));break;case 8:i(e.moduleName)}}function Ja(e){let t=e.parameters.length>0;if(1===e.parameters.length){const n=e.parameters[0];0!==n.category||n.name||(t=!1)}if(t||!e.paramSpec){const t=Xs.createInstance("","","",65536);return e.parameters.forEach((e=>{Xs.addParameter(t,{category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})})),t.details.paramSpec=e.paramSpec,t.details.docString=e.docString,t}return e.paramSpec}!function(e){e[e.PositionOnly=0]="PositionOnly",e[e.PositionOrKeyword=1]="PositionOrKeyword",e[e.KeywordOnly=2]="KeywordOnly"}(zo||(zo={}));class Ya{constructor(){this._isTransformingTypeArg=!1}apply(e,t=new Set,n=0){var i;if(n>Gs)return e;if(n++,!$a(e))return e;if(ho(e))return e;if(lo(e))return e;if(bo(e)){if(e.details.recursiveTypeAliasName){if(!(null===(i=e.typeAliasInfo)||void 0===i?void 0:i.typeArguments))return e;let r=!1;const s=e.typeAliasInfo.typeArguments.map((e=>{const i=this.apply(e,t,n);return i!==e&&(r=!0),i}));return r?Ks.cloneForTypeAlias(e,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,s):e}let r=e;const s=oo.getNameWithScope(e);return t.has(s)||(r=this.transformTypeVar(e),this._isTransformingTypeArg||(t.add(s),r=this.apply(r,t,n),t.delete(s)),Io(e)&&e.isVariadicInUnion&&(r=ja(r))),r}if(fo(e)){const i=Ko(e,(e=>{let i=this.apply(e,t,n);if(Io(e)&&!Io(i)){const e=[];Jo(i,(t=>{e.push(ja(t))})),i=Oo(e)}return i}));return this.transformUnion&&fo(i)?this.transformUnion(i):i}if(yo(e))return this._transformTypeVarsInClassType(e,t,n);if(Eo(e))return this._transformTypeVarsInFunctionType(e,t,n);if(ko(e)){let i=!1;const r=[];return e.overloads.forEach((e=>{const s=this._transformTypeVarsInFunctionType(e,t,n);r.push(s),s!==e&&(i=!0)})),i?eo.create(r):e}return e}transformTypeVar(e){return e}transformVariadicTypeVar(e){}transformParamSpec(e){}transformUnion(e){return e}_transformTypeVarsInClassType(e,t,n){if(0===Zs.getTypeParameters(e).length&&!Zs.isSpecialBuiltIn(e))return e;let i,r=[],s=!1;const o=Zs.getTypeParameters(e),a=e=>{const t=this.transformParamSpec(e);return t?(s=!0,Ja(t)):e},l=this._isTransformingTypeArg;return this._isTransformingTypeArg=!0,e.typeArguments?r=e.typeArguments.map((e=>{if(bo(e)&&e.details.isParamSpec)return a(e);let i=this.apply(e,t,n);return i!==e&&(s=!0,bo(e)&&Io(e)&&e.isVariadicInUnion&&(i=ja(i))),i})):o.forEach((e=>{let i=e;if(e.details.isParamSpec)i=a(e),i!==e&&(s=!0);else{const r=oo.getNameWithScope(e);t.has(r)||(i=this.transformTypeVar(e),i!==e&&(this._isTransformingTypeArg||(t.add(r),i=this.apply(i,t,n),t.delete(r)),s=!0))}r.push(i)})),Zs.isTupleClass(e)&&(e.tupleTypeArguments?(i=[],e.tupleTypeArguments.forEach((e=>{const r=this.apply(e.type,t,n);r!==e.type&&(s=!0),Io(e.type)&&vo(r)&&pa(r)&&r.tupleTypeArguments?i.push(...r.tupleTypeArguments):i.push({type:r,isUnbounded:e.isUnbounded})}))):o.length>0&&(i=this.transformVariadicTypeVar(o[0]),i&&(s=!0))),this._isTransformingTypeArg=l,s?Zs.cloneForSpecialization(e,r,!0,void 0,i):e}_transformTypeVarsInFunctionType(e,t,n){let i=e;if(i.details.paramSpec){const e=this.transformParamSpec(i.details.paramSpec);e&&(i=Xs.cloneForParamSpec(i,e))}const r=Xs.getSpecializedReturnType(i),s=r?this.apply(r,t,n):void 0;let o=r!==s;const a={parameterTypes:[],returnType:s};if(i.details.parameters.length>=2){const e=i.details.parameters[i.details.parameters.length-2],t=i.details.parameters[i.details.parameters.length-1],n=Xs.getEffectiveParameterType(i,i.details.parameters.length-2),r=Xs.getEffectiveParameterType(i,i.details.parameters.length-1);if(1===e.category&&2===t.category&&wo(n)&&wo(r)&&Ao(n,r)){const e=this.transformParamSpec(n);e&&(i=Xs.cloneForParamSpecApplication(i,e))}}let l,c,u;for(let e=0;e{if(t===l){let e=!1;c.forEach((t=>{Xs.addParameter(p,{category:t.isUnbounded?1:0,name:`__p${p.details.parameters.length}`,isNameSynthesized:!0,type:t.type,hasDeclaredType:!0}),t.isUnbounded&&(e=!0)})),e?h=!0:d=!0}else{const n={...i.details.parameters[t]};1!==n.category||n.name?2===n.category&&(d=!1):d=!1,0===n.category&&n.name&&d&&(Xs.addParameter(p,{category:1,type:Ys.create()}),d=!1),n.type=e,n.name&&n.isNameSynthesized&&(n.name=`__p${p.details.parameters.length}`),0===n.category&&!n.name&&h||Xs.addParameter(p,n)}})),p.details.declaredReturnType=a.returnType,p}}class Qa extends Ya{constructor(e,t=!1,n=!1,i=!1){super(),this._typeVarMap=e,this._unknownIfNotFound=t,this._useNarrowBoundOnly=n,this._eliminateUnsolvedInUnions=i}transformTypeVar(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId)){let t=this._typeVarMap.getTypeVarType(e,this._useNarrowBoundOnly);if(!t&&this._useNarrowBoundOnly){const n=this._typeVarMap.getTypeVarType(e);n&&oa(n,!0)&&(t=n)}if(t)return Ks.isInstantiable(e)&&(t=Na(t)),t;if(this._unknownIfNotFound)return Ys.create()}return e}transformUnion(e){if(this._eliminateUnsolvedInUnions){const t=Ko(e,(e=>{if(!bo(e)||void 0===e.scopeId||!this._typeVarMap.hasSolveForScope(e.scopeId))return e}));return ao(t)?e:t}return e}transformVariadicTypeVar(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId))return this._typeVarMap.getVariadicTypeVar(e)}transformParamSpec(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId))return this._typeVarMap.getParamSpec(e)}}class Za extends Ya{constructor(e,t){super(),this._typeVarMap=e,this._liveTypeVarScopes=t,this.dummyScopeId="__expected_type_scope_id",this.dummyTypeVarPrefix="__expected_type_",this._typeVarMap.addSolveForScope(this.dummyScopeId)}_isTypeVarLive(e){return this._liveTypeVarScopes.some((t=>e.scopeId===t))}_createDummyTypeVar(e){if(e.details.isSynthesized&&e.details.name.startsWith(this.dummyTypeVarPrefix))return e;const t=Ks.isInstance(e);let n=oo.createInstance(`__expected_type_${Za.synthesizedTypeVarIndexForExpectedType}`);return n.details.isSynthesized=!0,n.scopeId=this.dummyScopeId,n.nameWithScope=oo.makeNameWithScope(n.details.name,this.dummyScopeId),t||(n=Na(n)),n.details.boundType=e.details.boundType,n.details.constraints=e.details.constraints,n.details.variance=e.details.variance,Za.synthesizedTypeVarIndexForExpectedType++,n}transformTypeVar(e){return this._isTypeVarLive(e)?e:this._createDummyTypeVar(e)}}Za.synthesizedTypeVarIndexForExpectedType=1;class Xa{constructor(e,t,n,i,r,s,o){this._importResolver=e,this._execEnv=t,this._evaluator=n,this._fileBinder=i,this._boundSourceGetter=r,this._mapCompiled=s,this._preferStubs=o}findModules(e){return this._getBoundSourceFilesFromStubFile(e).map((e=>{var t;return null===(t=e.getParseResults())||void 0===t?void 0:t.parseTree})).filter(a)}findDeclarations(e){return zn(e)?this._findClassOrTypeAliasDeclarations(e):jn(e)?this._findFunctionOrTypeAliasDeclarations(e):Hn(e)?this._findVariableDeclarations(e):$n(e)?this._findParameterDeclarations(e):5===e.type?this._findSpecialBuiltInClassDeclarations(e):[]}findClassDeclarations(e){return this._findClassOrTypeAliasDeclarations(e).filter((e=>zn(e))).map((e=>e))}findClassDeclarationsByType(e,t){const n=[];return this._addClassTypeDeclarations(e,t,n,new Set),n.filter((e=>zn(e))).map((e=>e))}findFunctionDeclarations(e){return this._findFunctionOrTypeAliasDeclarations(e).filter((e=>jn(e))).map((e=>e))}_findSpecialBuiltInClassDeclarations(e,t=new Set){if(38===e.node.valueExpression.nodeType){const n=e.node.valueExpression.value;return this._getBoundSourceFilesFromStubFile(e.path).flatMap((e=>this._findClassDeclarationsByName(e,n,t)))}return[]}_findClassOrTypeAliasDeclarations(e,t=new Set){const n=this._getFullClassName(e.node);return this._getBoundSourceFilesFromStubFile(e.path).flatMap((e=>this._findClassDeclarationsByName(e,n,t)))}_findFunctionOrTypeAliasDeclarations(e,t=new Set){const n=e.node.name.value,i=this._getBoundSourceFilesFromStubFile(e.path);if(e.isMethod){const r=Er(e.node);if(void 0===r)return[];const s=this._getFullClassName(r);return i.flatMap((e=>this._findMethodDeclarationsByName(e,s,n,t)))}return i.flatMap((e=>this._findFunctionDeclarationsByName(e,n,t)))}_findVariableDeclarations(e,t=new Set){if(38!==e.node.nodeType)return[];const n=e.node.value,i=this._getBoundSourceFilesFromStubFile(e.path),r=Er(e.node);if(r){const e=this._getFullClassName(r);return i.flatMap((i=>this._findFieldDeclarationsByName(i,e,n,t)))}return i.flatMap((e=>this._findVariableDeclarationsByName(e,n,t)))}_findParameterDeclarations(e){const t=[];if(!e.node.name)return t;const n=kr(e.node);if(!n)return t;const i=this._evaluator.getDeclarationsForNameNode(n.name);if(!i)return t;const r=new Set;for(const n of i)for(const i of this._findFunctionOrTypeAliasDeclarations(n,r))t.push(...this._lookUpSymbolDeclarations(i.node,e.node.name.value).filter((e=>$n(e))).map((e=>e)));return t}_findMemberDeclarationsByName(e,t,n,i,r){const s=[],o=this._findClassDeclarationsByName(e,t,r);for(const e of o.filter((e=>zn(e))).map((e=>e))){const t=this._evaluator.getTypeOfClass(e.node);if(!t)continue;const o=va(t.classType,n);if(o)for(const e of o.symbol.getDeclarations())i(e,r,s)}return s}_findFieldDeclarationsByName(e,t,n,i){let r=[];const s=`@${e.getFilePath()}/c/${t}/v/${n}`;return i.has(s)||(i.add(s),r=this._findMemberDeclarationsByName(e,t,n,((e,t,n)=>{if(Hn(e))if(this._isStubThatShouldBeMappedToImplementation(e.path))for(const i of this._findVariableDeclarations(e,t))Hn(i)&&n.push(i);else n.push(e)}),i),i.delete(s)),r}_findMethodDeclarationsByName(e,t,n,i){let r=[];const s=`@${e.getFilePath()}/c/${t}/f/${n}`;return i.has(s)||(i.add(s),r=this._findMemberDeclarationsByName(e,t,n,((e,t,n)=>{jn(e)&&(this._isStubThatShouldBeMappedToImplementation(e.path)?n.push(...this._findFunctionOrTypeAliasDeclarations(e,t)):n.push(e))}),i),i.delete(s)),r}_findVariableDeclarationsByName(e,t,n){var i;const r=[],s=`@${e.getFilePath()}/v/${t}`;if(n.has(s))return r;n.add(s);const o=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(!o)return r;const a=this._lookUpSymbolDeclarations(o,t);if(0===a.length)this._addDeclarationsFollowingWildcardImports(o,t,r,n);else for(const e of a)this._addVariableDeclarations(e,r,n);return n.delete(s),r}_findFunctionDeclarationsByName(e,t,n){var i;const r=[],s=`@${e.getFilePath()}/f/${t}`;if(n.has(s))return r;n.add(s);const o=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(!o)return r;const a=this._lookUpSymbolDeclarations(o,t);if(0===a.length)this._addDeclarationsFollowingWildcardImports(o,t,r,n);else for(const e of a)this._addClassOrFunctionDeclarations(e,r,n);return n.delete(s),r}_findClassDeclarationsByName(e,t,n){var i;let r=[];const s=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(s){let i=t.split(".");i.length>0&&(r=this._findClassDeclarations(e,i[0],s,n),i=i.slice(1));for(const t of i)r=r.flatMap((i=>this._findClassDeclarations(e,t,i.node,n)))}return r}_findClassDeclarations(e,t,n,i){const r=[],s=`@${e.getFilePath()}[${n.start}]${t}`;if(i.has(s))return r;i.add(s);const o=this._lookUpSymbolDeclarations(n,t);if(0===o.length&&36===n.nodeType)this._addDeclarationsFollowingWildcardImports(n,t,r,i);else for(const e of o)this._addClassOrFunctionDeclarations(e,r,i);return i.delete(s),r}_addVariableDeclarations(e,t,n){if(Hn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findVariableDeclarations(e,n)):t.push(e);else if(Gn(e)){const i=this._evaluator.resolveAliasDeclaration(e,!0);i&&(Hn(i)?this._addVariableDeclarations(i,t,n):(zn(i)||jn(i))&&this._addClassOrFunctionDeclarations(i,t,n))}}_addClassOrFunctionDeclarations(e,t,n){var i;if(zn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findClassOrTypeAliasDeclarations(e,n)):t.push(e);else if(jn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findFunctionOrTypeAliasDeclarations(e,n)):t.push(e);else if(Gn(e)){const i=this._evaluator.resolveAliasDeclaration(e,!0);i&&!Gn(i)&&this._addClassOrFunctionDeclarations(i,t,n)}else if(Hn(e)){this._addVariableDeclarations(e,t,n);const r=null!==(i=e.typeAliasName)&&void 0!==i?i:e.node,s=this._evaluator.getType(r);if(!s)return;if(Eo(s)&&s.details.declaration)this._addClassOrFunctionDeclarations(s.details.declaration,t,n);else if(ko(s))for(const e of s.overloads.map((e=>e.details.declaration)).filter(a))this._addClassOrFunctionDeclarations(e,t,n);else _o(s)&&this._addClassTypeDeclarations(e.path,s,t,n)}}_addClassTypeDeclarations(e,t,n,i){const r=t.details.filePath,s=this._getSourceFiles(r),o=t.details.fullName.substring(t.details.moduleName.length+1);for(const e of s)n.push(...this._findClassDeclarationsByName(e,o,i))}_getSourceFiles(e){const t=[];if(this._isStubThatShouldBeMappedToImplementation(e))t.push(...this._getBoundSourceFilesFromStubFile(e));else{const n=this._boundSourceGetter(e);n&&t.push(n)}return t}_addDeclarationsFollowingWildcardImports(e,t,n,i){var r,s;const o=null===(r=Ft(e))||void 0===r?void 0:r.symbolTable;if(o)for(const e of o.values())for(const r of e.getDeclarations()){if(!Gn(r)||!r.path||22!==r.node.nodeType||!r.node.isWildcardImport)continue;const e=`@${r.path}/l/${t}`;if(i.has(e))continue;i.add(e);const o=this._getSourceFiles(r.path);for(const e of o){const r=null===(s=e.getParseResults())||void 0===s?void 0:s.parseTree;if(!r)continue;const o=this._lookUpSymbolDeclarations(r,t);if(0===o.length)this._addDeclarationsFollowingWildcardImports(r,t,n,i);else for(const e of o){const t=this._evaluator.resolveAliasDeclaration(e,!0);t&&(jn(t)||zn(t)?this._addClassOrFunctionDeclarations(t,n,i):Hn(t)&&this._addVariableDeclarations(t,n,i))}}}}_lookUpSymbolDeclarations(e,t){if(void 0===e)return[];const n=Ft(e),i=null==n?void 0:n.lookUpSymbol(t),r=null==i?void 0:i.getDeclarations();return null!=r?r:[]}_getFullClassName(e){const t=[];let n=e;for(;void 0!==n;)t.push(n.name.value),n=Er(n);return t.reverse().join(".")}_getBoundSourceFilesFromStubFile(e){return this._importResolver.getSourceFilesFromStub(e,this._execEnv,this._mapCompiled).map((t=>this._fileBinder(e,t))).filter(a)}_isStubThatShouldBeMappedToImplementation(e){return!this._preferStubs&&(!!el(e)&&this._importResolver.getSourceFilesFromStub(e,this._execEnv,this._mapCompiled).every((t=>t!==e)))}}function el(e){return".pyi"===re(e,[".pyi"],!1)}function tl(e){switch(e){case"error":return 0;case"warning":return 1;case"information":return 2;default:throw new Error(`${e} is not expected`)}}class nl{constructor(e,t,n){this.category=e,this.message=t,this.range=n,this._relatedInfo=[]}addAction(e){void 0===this._actions?this._actions=[e]:this._actions.push(e)}getActions(){return this._actions}setRule(e){this._rule=e}getRule(){return this._rule}addRelatedInfo(e,t,n){this._relatedInfo.push({filePath:t,message:e,range:n})}getRelatedInfo(){return this._relatedInfo}}class il{constructor(){this._messages=[],this._childAddenda=[]}addMessage(e){this._messages.push(e)}createAddendum(){const e=new il;return this.addAddendum(e),e}getString(e=5,t=8){let n=this._getLinesRecursive(e,t);n.length>t&&(n=n.slice(0,t),n.push(" ..."));const i=n.join("\n");return i.length>0?"\n"+i:""}isEmpty(){return 0===this._getMessageCount()}addAddendum(e){this._childAddenda.push(e)}getChildren(){return this._childAddenda}getMessages(){return this._messages}_getMessageCount(e=0){if(e>64)return 0;let t=this._messages.length;for(const n of this._childAddenda)t+=n._getMessageCount(e+1);return t}_getLinesRecursive(e,t,n=0){if(e<=0||n>64)return[];let i=[];for(const r of this._childAddenda){const s=this._messages.length>0?e-1:e;if(i.push(...r._getLinesRecursive(s,t,n+1)),i.length>=t){i=i.slice(0,t);break}}const r=this._messages.length>0?"  ":"";return this._messages.concat(i).map((e=>r+e))}}!function(e){e.strictListInference="strictListInference",e.strictSetInference="strictSetInference",e.strictDictionaryInference="strictDictionaryInference",e.strictParameterNoneValue="strictParameterNoneValue",e.enableTypeIgnoreComments="enableTypeIgnoreComments",e.reportGeneralTypeIssues="reportGeneralTypeIssues",e.reportPropertyTypeMismatch="reportPropertyTypeMismatch",e.reportFunctionMemberAccess="reportFunctionMemberAccess",e.reportMissingImports="reportMissingImports",e.reportMissingModuleSource="reportMissingModuleSource",e.reportMissingTypeStubs="reportMissingTypeStubs",e.reportImportCycles="reportImportCycles",e.reportUnusedImport="reportUnusedImport",e.reportUnusedClass="reportUnusedClass",e.reportUnusedFunction="reportUnusedFunction",e.reportUnusedVariable="reportUnusedVariable",e.reportDuplicateImport="reportDuplicateImport",e.reportWildcardImportFromLibrary="reportWildcardImportFromLibrary",e.reportOptionalSubscript="reportOptionalSubscript",e.reportOptionalMemberAccess="reportOptionalMemberAccess",e.reportOptionalCall="reportOptionalCall",e.reportOptionalIterable="reportOptionalIterable",e.reportOptionalContextManager="reportOptionalContextManager",e.reportOptionalOperand="reportOptionalOperand",e.reportTypedDictNotRequiredAccess="reportTypedDictNotRequiredAccess",e.reportUntypedFunctionDecorator="reportUntypedFunctionDecorator",e.reportUntypedClassDecorator="reportUntypedClassDecorator",e.reportUntypedBaseClass="reportUntypedBaseClass",e.reportUntypedNamedTuple="reportUntypedNamedTuple",e.reportPrivateUsage="reportPrivateUsage",e.reportPrivateImportUsage="reportPrivateImportUsage",e.reportConstantRedefinition="reportConstantRedefinition",e.reportIncompatibleMethodOverride="reportIncompatibleMethodOverride",e.reportIncompatibleVariableOverride="reportIncompatibleVariableOverride",e.reportInconsistentConstructor="reportInconsistentConstructor",e.reportOverlappingOverload="reportOverlappingOverload",e.reportMissingSuperCall="reportMissingSuperCall",e.reportUninitializedInstanceVariable="reportUninitializedInstanceVariable",e.reportInvalidStringEscapeSequence="reportInvalidStringEscapeSequence",e.reportUnknownParameterType="reportUnknownParameterType",e.reportUnknownArgumentType="reportUnknownArgumentType",e.reportUnknownLambdaType="reportUnknownLambdaType",e.reportUnknownVariableType="reportUnknownVariableType",e.reportUnknownMemberType="reportUnknownMemberType",e.reportMissingParameterType="reportMissingParameterType",e.reportMissingTypeArgument="reportMissingTypeArgument",e.reportInvalidTypeVarUse="reportInvalidTypeVarUse",e.reportCallInDefaultInitializer="reportCallInDefaultInitializer",e.reportUnnecessaryIsInstance="reportUnnecessaryIsInstance",e.reportUnnecessaryCast="reportUnnecessaryCast",e.reportUnnecessaryComparison="reportUnnecessaryComparison",e.reportAssertAlwaysTrue="reportAssertAlwaysTrue",e.reportSelfClsParameterName="reportSelfClsParameterName",e.reportImplicitStringConcatenation="reportImplicitStringConcatenation",e.reportUndefinedVariable="reportUndefinedVariable",e.reportUnboundVariable="reportUnboundVariable",e.reportInvalidStubStatement="reportInvalidStubStatement",e.reportIncompleteStub="reportIncompleteStub",e.reportUnsupportedDunderAll="reportUnsupportedDunderAll",e.reportUnusedCallResult="reportUnusedCallResult",e.reportUnusedCoroutine="reportUnusedCoroutine",e.reportUnnecessaryTypeIgnoreComment="reportUnnecessaryTypeIgnoreComment",e.reportMatchNotExhaustive="reportMatchNotExhaustive",e.reportMicrobitVersionApiUnsupported="reportMicrobitVersionApiUnsupported"}($o||($o={}));class rl{constructor(e){this._formatString=e}format(e){let t=this._formatString;return Object.keys(e).forEach((n=>{t=t.replace(`{${n}}`,e[n].toString())})),t}getFormatString(){return this._formatString}}let sl="default";function ol(){return"simplified"===sl}function al(e){return ol()?"":e.getString()}let ll;const cl=__webpack_require__(6395);function ul(e){void 0===ll&&(ll={});const t=e.split("."),n=pl(ll,t)||pl(cl,t);if(n)return n;E(`Missing localized string for key "${e}"`)}function pl(e,t){let n=e;for(const e of t){if(!n[e])return;n=n[e]}return n}async function dl({locale:e,style:t}={}){t&&(sl=t);const n=e?e.toLowerCase():function(){try{if(null===navigator||void 0===navigator?void 0:navigator.language)return navigator.language.toLowerCase()}catch{}const e=process.env,t=e.VSCODE_NLS_CONFIG;if(t)try{return JSON.parse(t).locale}catch{}const n=e.LC_ALL||e.LC_MESSAGES||e.LANG||e.LANGUAGE;if(n){const e=n.split(".");if(e.length>0&&e[0])return e[0]}return"en-us"}();ll=await async function(e){let t=await hl(e);if(void 0!==t)return t;const n=e.split("-");return n.length>0&&n[0]&&(t=await hl(n[0]),void 0!==t)?t:{}}(n)}async function hl(e){switch(e){case"ca":return(await __webpack_require__.e(537).then(__webpack_require__.t.bind(__webpack_require__,6464,19))).default;case"de":return(await __webpack_require__.e(913).then(__webpack_require__.t.bind(__webpack_require__,1362,19))).default;case"fr":return(await __webpack_require__.e(231).then(__webpack_require__.t.bind(__webpack_require__,4846,19))).default;case"es-es":return(await __webpack_require__.e(689).then(__webpack_require__.t.bind(__webpack_require__,4162,19))).default;case"ja":return(await __webpack_require__.e(43).then(__webpack_require__.t.bind(__webpack_require__,244,19))).default;case"ko":return(await __webpack_require__.e(491).then(__webpack_require__.t.bind(__webpack_require__,1372,19))).default;case"pl":return(await __webpack_require__.e(640).then(__webpack_require__.t.bind(__webpack_require__,464,19))).default;case"nl":return(await __webpack_require__.e(888).then(__webpack_require__.t.bind(__webpack_require__,5101,19))).default;case"zh-cn":return(await __webpack_require__.e(327).then(__webpack_require__.t.bind(__webpack_require__,8131,19))).default;case"zh-tw":return(await __webpack_require__.e(521).then(__webpack_require__.t.bind(__webpack_require__,9753,19))).default;case"lol":return(await __webpack_require__.e(598).then(__webpack_require__.t.bind(__webpack_require__,8007,19))).default;default:return(await __webpack_require__.e(100).then(__webpack_require__.t.bind(__webpack_require__,8416,19))).default}}var ml;function fl(e,t,n){w(Zs.isTypedDictClass(n));const i=Xs.createInstance("__new__","","",65);Xs.addParameter(i,{category:0,name:"cls",type:n,hasDeclaredType:!0}),Xs.addDefaultParameters(i),i.details.declaredReturnType=Zs.cloneAsInstance(n);const r=Xs.createInstance("__init__","","",64);Xs.addParameter(r,{category:0,name:"self",type:Zs.cloneAsInstance(n),hasDeclaredType:!0}),r.details.declaredReturnType=to.createInstance(),Xs.addParameter(r,{category:1,type:io.create(),hasDeclaredType:!0});const s=gl(e,n);s.forEach(((e,t)=>{Xs.addParameter(r,{category:0,name:t,hasDefault:!e.isRequired,type:e.valueType,hasDeclaredType:!0})}));const o=n.details.fields;o.set("__init__",Vo.createWithType(4,r)),o.set("__new__",Vo.createWithType(4,i));const a=e.getBuiltInType(t,"str");if(_o(a)){const i={category:0,name:"self",type:Zs.cloneAsInstance(n),hasDeclaredType:!0},r=e=>{let t=oo.createInstance(`__${e.details.name}_default`);return t.details.isSynthesized=!0,t=oo.cloneForScopeId(t,e.details.typeVarScopeId,n.details.name,1),t},l=(n,s,o,a=!1)=>{const l=Xs.createInstance("get","","",320);if(Xs.addParameter(l,i),l.details.typeVarScopeId=e.getScopeIdForNode(t),Xs.addParameter(l,{category:0,name:"k",type:n,hasDeclaredType:!0}),o){const e=r(l);Xs.addParameter(l,{category:0,name:"default",type:a?s:e,hasDeclaredType:!0}),l.details.declaredReturnType=a?s:Oo([s,e])}else l.details.declaredReturnType=Oo([s,to.createInstance()]);return l},c=(n,s)=>{const o={category:0,name:"k",type:n,hasDeclaredType:!0},a=Xs.createInstance("pop","","",320);Xs.addParameter(a,i),Xs.addParameter(a,o),a.details.declaredReturnType=s;const l=Xs.createInstance("pop","","",320);Xs.addParameter(l,i),Xs.addParameter(l,o),l.details.typeVarScopeId=e.getScopeIdForNode(t);const c=r(l);return Xs.addParameter(l,{category:0,name:"default",hasDeclaredType:!0,type:c,hasDefault:!0}),l.details.declaredReturnType=Oo([s,c]),[a,l]},u=(e,t)=>{const n=Xs.createInstance("setdefault","","",320);return Xs.addParameter(n,i),Xs.addParameter(n,{category:0,name:"k",hasDeclaredType:!0,type:e}),Xs.addParameter(n,{category:0,name:"default",hasDeclaredType:!0,type:t}),n.details.declaredReturnType=t,n},p=e=>{const t=Xs.createInstance("delitem","","",320);return Xs.addParameter(t,i),Xs.addParameter(t,{category:0,name:"k",hasDeclaredType:!0,type:e}),t.details.declaredReturnType=to.createInstance(),t},d=[],h=[],m=[];s.forEach(((e,t)=>{const n=Zs.cloneAsInstance(Zs.cloneWithLiteral(a,t));d.push(l(n,e.valueType,!1)),d.push(l(n,e.valueType,!0,!0)),d.push(l(n,e.valueType,!0,!1)),h.push(...c(n,e.valueType)),m.push(u(n,e.valueType))}));const f=Zs.cloneAsInstance(a);d.push(l(f,io.create(),!1)),d.push(l(f,io.create(),!0)),o.set("get",Vo.createWithType(4,eo.create(d))),h.length>0&&o.set("pop",Vo.createWithType(4,eo.create(h))),m.length>0&&o.set("setdefault",Vo.createWithType(4,eo.create(m))),o.set("__delitem__",Vo.createWithType(4,p(f)))}}function gl(e,t,n=!1){if(!t.details.typedDictEntries){const n=new Map;yl(e,t,n),t.details.typedDictEntries=n}const i=new Map;return t.details.typedDictEntries.forEach(((e,t)=>{i.set(t,{...e})})),n&&t.typedDictNarrowedEntries&&t.typedDictNarrowedEntries.forEach(((e,t)=>{i.set(t,{...e})})),i}function yl(e,t,n,i=0){w(Zs.isTypedDictClass(t)),i>Gs||(i++,t.details.baseClasses.forEach((t=>{_o(t)&&Zs.isTypedDictClass(t)&&yl(e,t,n,i)})),t.details.fields.forEach(((i,r)=>{if(!i.isIgnoredForProtocolMatch()){const s=qo(i);if(s&&1===s.type){const o=e.getEffectiveTypeOfSymbol(i);let a=!Zs.isCanOmitDictValues(t);!function(e){return e.getDeclarations().some((e=>1===e.type&&!!e.isRequired))}(i)?function(e){return e.getDeclarations().some((e=>1===e.type&&!!e.isNotRequired))}(i)&&(a=!1):a=!0;const l=n.get(r);if(l&&!Ao(l.valueType,o)){const t=new il;t.addMessage(ml.DiagnosticAddendum.typedDictFieldRedefinition().format({parentType:e.printType(l.valueType),childType:e.printType(o)})),e.addDiagnostic(qt(s.node).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typedDictFieldRedefinition().format({name:r})+t.getString(),s.node)}n.set(r,{valueType:o,isRequired:a,isProvided:!1})}}})))}function _l(e,t,n,i,r=0){let s=!0;const o=gl(e,t),a=gl(e,n,!0);return o.forEach(((o,l)=>{const c=a.get(l);c?(o.isRequired&&!c.isRequired?(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldRequired().format({name:l,type:e.printType(t)})),s=!1):!o.isRequired&&c.isRequired&&(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldNotRequired().format({name:l,type:e.printType(t)})),s=!1),e.canAssignType(o.valueType,c.valueType,void 0,void 0,void 0,r)||(i&&i.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:l})),s=!1)):(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldMissing().format({name:l,type:e.printType(n)})),s=!1)})),s}function vl(e,t,n,i){if(1!==t.items.length)return e.addError(ml.Diagnostic.typeArgsMismatchOne().format({received:t.items.length}),t),{node:t,type:Ys.create()};if(t.trailingComma||t.items[0].name||0!==t.items[0].argumentCategory)return;const r=gl(e,n,"get"===i.method),s=e.getTypeOfExpression(t.items[0].valueExpression),o=s.type;let a=new il,l=!0;const c=Ko(o,(s=>{if(ho(s))return s;if(vo(s)&&Zs.isBuiltIn(s,"str")){if(void 0===s.literalValue)return Ys.create();const o=s.literalValue,c=r.get(o);return c?(c.isRequired||c.isProvided||"get"!==i.method||function(e,t=!1){let n,i=e;for(;i;){switch(i.nodeType){case 53:return i.trySuite===n;case 58:if(t&&i.suite===n)return!0;break;case 28:case 36:case 10:return!1}n=i,i=i.parent}return!1}(t,!0)||a.addMessage(ml.DiagnosticAddendum.keyNotRequired().format({name:o,type:e.printType(n)})),"set"===i.method?e.canAssignType(c.valueType,i.setType||io.create(),a)||(l=!1):"del"===i.method&&c.isRequired&&(a.addMessage(ml.DiagnosticAddendum.keyRequiredDeleted().format({name:o})),l=!1),c.valueType):(a.addMessage(ml.DiagnosticAddendum.keyUndefined().format({name:o,type:e.printType(n)})),l=!1,Ys.create())}return a.addMessage(ml.DiagnosticAddendum.typeNotStringLiteral().format({type:e.printType(s)})),l=!1,Ys.create()}));if(i.setExpectedTypeDiag&&(a=i.setExpectedTypeDiag),!a.isEmpty()){let n;n="set"===i.method?ml.Diagnostic.typedDictSet():"del"===i.method?ml.Diagnostic.typedDictDelete():ml.Diagnostic.typedDictAccess();const r=qt(t);e.addDiagnostic(l?r.diagnosticRuleSet.reportTypedDictNotRequiredAccess:r.diagnosticRuleSet.reportGeneralTypeIssues,l?$o.reportTypedDictNotRequiredAccess:$o.reportGeneralTypeIssues,n+a.getString(),t)}return{node:t,type:c,isIncomplete:!!s.isIncomplete}}function Tl(e,t){if(6===e.category){if(0===e.overloads.length)return!1;e=e.overloads[0]}return"builtins"===e.details.moduleName&&!!t&&!!e.boundToType&&!Zs.isSameGenericClass(t,e.boundToType)}function bl(e,t,n){const i=Er(e.node.name,!1),r=i?n.getTypeOfClass(i):void 0;if(r)return function(e,t,n,i){if(!e||!jn(e))return;const r=n.getTypeForDeclaration(e);if(!r||!ua(r))return;const s=28===e.node.nodeType?e.node.name.value:void 0;if(!s)return;const o=ba(i,0);for(const[e]of o){if(!_o(e))continue;const i=e.details.fields.get(s),r=null==i?void 0:i.getDeclarations();if(r)for(const e of r)if(jn(e)){const i=n.getTypeForDeclaration(e);if(i&&ua(i)){const n=El(e,t);if(n)return n}}}}(e,t,n,r.classType)}function Il(e,t,n){let i=e.docString;return!i&&t&&el(t.path)&&(i=function(e){for(const t of e)if(t.statements){const e=Vr(t.statements);if(e)return e}}(n.findModules(t.path))),i}function Sl(e,t,n){let i=e.details.docString;if(!i&&t&&zn(t)&&(i=kl([t]),!i&&t&&el(t.path)&&4===t.type)&&(i=kl(n.findClassDeclarations(t))),!i&&t){const r=n.findClassDeclarationsByType(t.path,e);r&&(i=kl(r.filter((e=>zn(e))).map((e=>e))))}return i}function xl(e){var t,n,i;return Vr(null!==(i=null===(n=null===(t=e.node)||void 0===t?void 0:t.suite)||void 0===n?void 0:n.statements)&&void 0!==i?i:[])}function Cl(e,t){if(e)return void 0!==e.docString?e.docString:function(e,t){const n=[];if(!el(e.path))return n;for(const i of t.findDeclarations(e))if(Hn(i)&&i.docString)n.push(i.docString);else if(zn(i)||jn(i)){const e=xl(i);e&&n.push(e)}return n}(e,t).find((e=>e))}function wl(e,t,n){if(!ko(e))return;const i=[];if(e.overloads.some((e=>e.details.docString)))e.overloads.forEach((e=>{e.details.docString&&i.push(e.details.docString)}));else if(t&&el(t.path)&&jn(t)){const e=kl(n.findFunctionDeclarations(t));e&&i.push(e)}return i}function El(e,t){let n=kl([e]);return!n&&el(e.path)&&(n=kl(t.findFunctionDeclarations(e))),n}function kl(e){for(const t of e){const e=xl(t);if(e)return e}}!function(e){let t,n,i,r;!function(e){e.annotatedParamCountMismatch=()=>new rl(ul("Diagnostic.annotatedParamCountMismatch")),e.annotatedTypeArgMissing=()=>ul("Diagnostic.annotatedTypeArgMissing"),e.annotationFormatString=()=>ul("Diagnostic.annotationFormatString"),e.annotationNotSupported=()=>ul("Diagnostic.annotationNotSupported"),e.annotationSpansStrings=()=>ul("Diagnostic.annotationSpansStrings"),e.annotationStringEscape=()=>ul("Diagnostic.annotationStringEscape"),e.argAssignment=()=>new rl(ul("Diagnostic.argAssignment")),e.argAssignmentFunction=()=>new rl(ul("Diagnostic.argAssignmentFunction")),e.argAssignmentParam=()=>new rl(ul("Diagnostic.argAssignmentParam")),e.argAssignmentParamFunction=()=>new rl(ul("Diagnostic.argAssignmentParamFunction")),e.argMissingForParam=()=>new rl(ul("Diagnostic.argMissingForParam")),e.argMissingForParams=()=>new rl(ul("Diagnostic.argMissingForParams")),e.argMorePositionalExpectedCount=()=>new rl(ul("Diagnostic.argMorePositionalExpectedCount")),e.argMorePositionalExpectedOne=()=>ul("Diagnostic.argMorePositionalExpectedOne"),e.argPositional=()=>ul("Diagnostic.argPositional"),e.argPositionalExpectedCount=()=>new rl(ul("Diagnostic.argPositionalExpectedCount")),e.argPositionalExpectedOne=()=>ul("Diagnostic.argPositionalExpectedOne"),e.argTypePartiallyUnknown=()=>ul("Diagnostic.argTypePartiallyUnknown"),e.argTypeUnknown=()=>ul("Diagnostic.argTypeUnknown"),e.assertAlwaysTrue=()=>ul("Diagnostic.assertAlwaysTrue"),e.assignmentExprContext=()=>ul("Diagnostic.assignmentExprContext"),e.assignmentExprComprehension=()=>new rl(ul("Diagnostic.assignmentExprComprehension")),e.assignmentExprInSubscript=()=>ul("Diagnostic.assignmentExprInSubscript"),e.assignmentInProtocol=()=>ul("Diagnostic.assignmentInProtocol"),e.assignmentTargetExpr=()=>ul("Diagnostic.assignmentTargetExpr"),e.asyncNotInAsyncFunction=()=>ul("Diagnostic.asyncNotInAsyncFunction"),e.awaitIllegal=()=>ul("Diagnostic.awaitIllegal"),e.awaitNotInAsync=()=>ul("Diagnostic.awaitNotInAsync"),e.backticksIllegal=()=>ul("Diagnostic.backticksIllegal"),e.baseClassCircular=()=>ul("Diagnostic.baseClassCircular"),e.baseClassInvalid=()=>ul("Diagnostic.baseClassInvalid"),e.baseClassFinal=()=>new rl(ul("Diagnostic.baseClassFinal")),e.baseClassMethodTypeIncompatible=()=>new rl(ul("Diagnostic.baseClassMethodTypeIncompatible")),e.baseClassUnknown=()=>ul("Diagnostic.baseClassUnknown"),e.bindTypeMismatch=()=>new rl(ul("Diagnostic.bindTypeMismatch")),e.booleanIsLowerCase=()=>new rl(ul("Diagnostic.booleanIsLowerCase")),e.breakOutsideLoop=()=>ul("Diagnostic.breakOutsideLoop"),e.callableExtraArgs=()=>ul("Diagnostic.callableExtraArgs"),e.callableFirstArg=()=>ul("Diagnostic.callableFirstArg"),e.callableSecondArg=()=>ul("Diagnostic.callableSecondArg"),e.casePatternIsIrrefutable=()=>ul("Diagnostic.casePatternIsIrrefutable"),e.classAlreadySpecialized=()=>new rl(ul("Diagnostic.classAlreadySpecialized")),e.classDecoratorTypeUnknown=()=>ul("Diagnostic.classDecoratorTypeUnknown"),e.classDefinitionCycle=()=>new rl(ul("Diagnostic.classDefinitionCycle")),e.classGetItemClsParam=()=>ul("Diagnostic.classGetItemClsParam"),e.classMethodClsParam=()=>ul("Diagnostic.classMethodClsParam"),e.classNotRuntimeSubscriptable=()=>new rl(ul("Diagnostic.classNotRuntimeSubscriptable")),e.classPatternBuiltInArgCount=()=>ul("Diagnostic.classPatternBuiltInArgCount"),e.classPatternBuiltInArgPositional=()=>ul("Diagnostic.classPatternBuiltInArgPositional"),e.classPatternTypeAlias=()=>new rl(ul("Diagnostic.classPatternTypeAlias")),e.classVarNotAllowed=()=>ul("Diagnostic.classVarNotAllowed"),e.classVarFirstArgMissing=()=>ul("Diagnostic.classVarFirstArgMissing"),e.classVarOverridesInstanceVar=()=>new rl(ul("Diagnostic.classVarOverridesInstanceVar")),e.classVarTooManyArgs=()=>ul("Diagnostic.classVarTooManyArgs"),e.classVarWithTypeVar=()=>ul("Diagnostic.classVarWithTypeVar"),e.clsSelfParamTypeMismatch=()=>new rl(ul("Diagnostic.clsSelfParamTypeMismatch")),e.comparisonAlwaysFalse=()=>new rl(ul("Diagnostic.comparisonAlwaysFalse")),e.comparisonAlwaysTrue=()=>new rl(ul("Diagnostic.comparisonAlwaysTrue")),e.comprehensionInDict=()=>ul("Diagnostic.comprehensionInDict"),e.comprehensionInSet=()=>ul("Diagnostic.comprehensionInSet"),e.concatenateParamSpecMissing=()=>ul("Diagnostic.concatenateParamSpecMissing"),e.concatenateTypeArgsMissing=()=>ul("Diagnostic.concatenateTypeArgsMissing"),e.constantRedefinition=()=>new rl(ul("Diagnostic.constantRedefinition")),e.constructorNoArgs=()=>new rl(ul("Diagnostic.constructorNoArgs")),e.constructorParametersMismatch=()=>new rl(ul("Diagnostic.constructorParametersMismatch")),e.continueInFinally=()=>ul("Diagnostic.continueInFinally"),e.continueOutsideLoop=()=>ul("Diagnostic.continueOutsideLoop"),e.dataClassBaseClassNotFrozen=()=>ul("Diagnostic.dataClassBaseClassNotFrozen"),e.dataClassFieldWithDefault=()=>ul("Diagnostic.dataClassFieldWithDefault"),e.dataClassPostInitParamCount=()=>new rl(ul("Diagnostic.dataClassPostInitParamCount")),e.dataClassPostInitType=()=>new rl(ul("Diagnostic.dataClassPostInitType")),e.dataClassSlotsOverwrite=()=>ul("Diagnostic.dataClassSlotsOverwrite"),e.dataClassTransformExpectedBoolLiteral=()=>ul("Diagnostic.dataClassTransformExpectedBoolLiteral"),e.dataClassTransformFieldDescriptor=()=>new rl(ul("Diagnostic.dataClassTransformFieldDescriptor")),e.dataClassTransformPositionalParam=()=>ul("Diagnostic.dataClassTransformPositionalParam"),e.dataClassTransformUnknownArgument=()=>new rl(ul("Diagnostic.dataClassTransformUnknownArgument")),e.declaredReturnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.declaredReturnTypePartiallyUnknown")),e.declaredReturnTypeUnknown=()=>ul("Diagnostic.declaredReturnTypeUnknown"),e.defaultValueContainsCall=()=>ul("Diagnostic.defaultValueContainsCall"),e.defaultValueNotAllowed=()=>ul("Diagnostic.defaultValueNotAllowed"),e.defaultValueNotEllipsis=()=>ul("Diagnostic.defaultValueNotEllipsis"),e.deprecatedType=()=>new rl(ul("Diagnostic.deprecatedType")),e.dictExpandIllegalInComprehension=()=>ul("Diagnostic.dictExpandIllegalInComprehension"),e.dictInAnnotation=()=>ul("Diagnostic.dictInAnnotation"),e.dictKeyValuePairs=()=>ul("Diagnostic.dictKeyValuePairs"),e.dictUnpackIsNotMapping=()=>ul("Diagnostic.dictUnpackIsNotMapping"),e.delTargetExpr=()=>ul("Diagnostic.delTargetExpr"),e.dunderAllSymbolNotPresent=()=>new rl(ul("Diagnostic.dunderAllSymbolNotPresent")),e.duplicateArgsParam=()=>ul("Diagnostic.duplicateArgsParam"),e.duplicateBaseClass=()=>ul("Diagnostic.duplicateBaseClass"),e.duplicateCatchAll=()=>ul("Diagnostic.duplicateCatchAll"),e.duplicateEnumMember=()=>new rl(ul("Diagnostic.duplicateEnumMember")),e.duplicateImport=()=>new rl(ul("Diagnostic.duplicateImport")),e.duplicateKwargsParam=()=>ul("Diagnostic.duplicateKwargsParam"),e.duplicateKeywordOnly=()=>ul("Diagnostic.duplicateKeywordOnly"),e.duplicateParam=()=>new rl(ul("Diagnostic.duplicateParam")),e.duplicateCapturePatternTarget=()=>new rl(ul("Diagnostic.duplicateCapturePatternTarget")),e.duplicateStarPattern=()=>ul("Diagnostic.duplicateStarPattern"),e.duplicateStarStarPattern=()=>ul("Diagnostic.duplicateStarStarPattern"),e.duplicatePositionOnly=()=>ul("Diagnostic.duplicatePositionOnly"),e.duplicateUnpack=()=>ul("Diagnostic.duplicateUnpack"),e.ellipsisContext=()=>ul("Diagnostic.ellipsisContext"),e.ellipsisSecondArg=()=>ul("Diagnostic.ellipsisSecondArg"),e.enumClassOverride=()=>new rl(ul("Diagnostic.enumClassOverride")),e.exceptionGroupIncompatible=()=>ul("Diagnostic.exceptionGroupIncompatible"),e.exceptionTypeIncorrect=()=>new rl(ul("Diagnostic.exceptionTypeIncorrect")),e.exceptionTypeNotClass=()=>new rl(ul("Diagnostic.exceptionTypeNotClass")),e.exceptionTypeNotInstantiable=()=>new rl(ul("Diagnostic.exceptionTypeNotInstantiable")),e.expectedAfterDecorator=()=>ul("Diagnostic.expectedAfterDecorator"),e.expectedArrow=()=>ul("Diagnostic.expectedArrow"),e.expectedAsAfterException=()=>ul("Diagnostic.expectedAsAfterException"),e.expectedAssignRightHandExpr=()=>ul("Diagnostic.expectedAssignRightHandExpr"),e.expectedBinaryRightHandExpr=()=>ul("Diagnostic.expectedBinaryRightHandExpr"),e.expectedBoolLiteral=()=>ul("Diagnostic.expectedBoolLiteral"),e.expectedCase=()=>ul("Diagnostic.expectedCase"),e.expectedClassName=()=>ul("Diagnostic.expectedClassName"),e.expectedCloseBrace=()=>ul("Diagnostic.expectedCloseBrace"),e.expectedCloseBracket=()=>ul("Diagnostic.expectedCloseBracket"),e.expectedCloseParen=()=>ul("Diagnostic.expectedCloseParen"),e.expectedColon=()=>ul("Diagnostic.expectedColon"),e.expectedComplexNumberLiteral=()=>ul("Diagnostic.expectedComplexNumberLiteral"),e.expectedDecoratorExpr=()=>ul("Diagnostic.expectedDecoratorExpr"),e.expectedDecoratorName=()=>ul("Diagnostic.expectedDecoratorName"),e.expectedDecoratorNewline=()=>ul("Diagnostic.expectedDecoratorNewline"),e.expectedDelExpr=()=>ul("Diagnostic.expectedDelExpr"),e.expectedElse=()=>ul("Diagnostic.expectedElse"),e.expectedEqualityOperator=()=>ul("Diagnostic.expectedEqualityOperator"),e.expectedExceptionClass=()=>ul("Diagnostic.expectedExceptionClass"),e.expectedExceptionObj=()=>ul("Diagnostic.expectedExceptionObj"),e.expectedExpr=()=>ul("Diagnostic.expectedExpr"),e.expectedImport=()=>ul("Diagnostic.expectedImport"),e.expectedImportAlias=()=>ul("Diagnostic.expectedImportAlias"),e.expectedImportSymbols=()=>ul("Diagnostic.expectedImportSymbols"),e.expectedIdentifier=()=>ul("Diagnostic.expectedIdentifier"),e.expectedIndentedBlock=()=>ul("Diagnostic.expectedIndentedBlock"),e.expectedIn=()=>ul("Diagnostic.expectedIn"),e.expectedInExpr=()=>ul("Diagnostic.expectedInExpr"),e.expectedFunctionAfterAsync=()=>ul("Diagnostic.expectedFunctionAfterAsync"),e.expectedFunctionName=()=>ul("Diagnostic.expectedFunctionName"),e.expectedMemberName=()=>ul("Diagnostic.expectedMemberName"),e.expectedModuleName=()=>ul("Diagnostic.expectedModuleName"),e.expectedNameAfterAs=()=>ul("Diagnostic.expectedNameAfterAs"),e.expectedNamedParameter=()=>ul("Diagnostic.expectedNamedParameter"),e.expectedNewline=()=>ul("Diagnostic.expectedNewline"),e.expectedNewlineOrSemicolon=()=>ul("Diagnostic.expectedNewlineOrSemicolon"),e.expectedOpenParen=()=>ul("Diagnostic.expectedOpenParen"),e.expectedParamName=()=>ul("Diagnostic.expectedParamName"),e.expectedPatternExpr=()=>ul("Diagnostic.expectedPatternExpr"),e.expectedPatternSubjectExpr=()=>ul("Diagnostic.expectedPatternSubjectExpr"),e.expectedPatternValue=()=>ul("Diagnostic.expectedPatternValue"),e.expectedReturnExpr=()=>ul("Diagnostic.expectedReturnExpr"),e.expectedSliceIndex=()=>ul("Diagnostic.expectedSliceIndex"),e.expectedTypeNotString=()=>ul("Diagnostic.expectedTypeNotString"),e.expectedYieldExpr=()=>ul("Diagnostic.expectedYieldExpr"),e.finalClassIsAbstract=()=>new rl(ul("Diagnostic.finalClassIsAbstract")),e.finalContext=()=>ul("Diagnostic.finalContext"),e.finalMethodOverride=()=>new rl(ul("Diagnostic.finalMethodOverride")),e.finalReassigned=()=>new rl(ul("Diagnostic.finalReassigned")),e.finalRedeclaration=()=>new rl(ul("Diagnostic.finalRedeclaration")),e.finalRedeclarationBySubclass=()=>new rl(ul("Diagnostic.finalRedeclarationBySubclass")),e.finalTooManyArgs=()=>ul("Diagnostic.finalTooManyArgs"),e.finalUnassigned=()=>new rl(ul("Diagnostic.finalUnassigned")),e.formatStringBrace=()=>ul("Diagnostic.formatStringBrace"),e.formatStringBytes=()=>ul("Diagnostic.formatStringBytes"),e.formatStringEscape=()=>ul("Diagnostic.formatStringEscape"),e.formatStringInPattern=()=>ul("Diagnostic.formatStringInPattern"),e.formatStringIllegal=()=>ul("Diagnostic.formatStringIllegal"),e.formatStringUnicode=()=>ul("Diagnostic.formatStringUnicode"),e.formatStringUnterminated=()=>ul("Diagnostic.formatStringUnterminated"),e.functionDecoratorTypeUnknown=()=>ul("Diagnostic.functionDecoratorTypeUnknown"),e.generatorAsyncReturnType=()=>ul("Diagnostic.generatorAsyncReturnType"),e.generatorNotParenthesized=()=>ul("Diagnostic.generatorNotParenthesized"),e.generatorSyncReturnType=()=>ul("Diagnostic.generatorSyncReturnType"),e.genericClassAssigned=()=>ul("Diagnostic.genericClassAssigned"),e.genericClassDeleted=()=>ul("Diagnostic.genericClassDeleted"),e.genericNotAllowed=()=>ul("Diagnostic.genericNotAllowed"),e.genericTypeAliasBoundTypeVar=()=>new rl(ul("Diagnostic.genericTypeAliasBoundTypeVar")),e.genericTypeArgMissing=()=>ul("Diagnostic.genericTypeArgMissing"),e.genericTypeArgTypeVar=()=>ul("Diagnostic.genericTypeArgTypeVar"),e.genericTypeArgUnique=()=>ul("Diagnostic.genericTypeArgUnique"),e.globalReassignment=()=>new rl(ul("Diagnostic.globalReassignment")),e.globalRedefinition=()=>new rl(ul("Diagnostic.globalRedefinition")),e.implicitStringConcat=()=>ul("Diagnostic.implicitStringConcat"),e.importCycleDetected=()=>ul("Diagnostic.importCycleDetected"),e.importDepthExceeded=()=>new rl(ul("Diagnostic.importDepthExceeded")),e.importResolveFailure=()=>new rl(ul("Diagnostic.importResolveFailure")),e.importSourceResolveFailure=()=>new rl(ul("Diagnostic.importSourceResolveFailure")),e.importSymbolUnknown=()=>new rl(ul("Diagnostic.importSymbolUnknown")),e.incompatibleMethodOverride=()=>new rl(ul("Diagnostic.incompatibleMethodOverride")),e.inconsistentIndent=()=>ul("Diagnostic.inconsistentIndent"),e.inconsistentTabs=()=>ul("Diagnostic.inconsistentTabs"),e.initMustReturnNone=()=>ul("Diagnostic.initMustReturnNone"),e.initSubclassClsParam=()=>ul("Diagnostic.initSubclassClsParam"),e.instanceMethodSelfParam=()=>ul("Diagnostic.instanceMethodSelfParam"),e.instanceVarOverridesClassVar=()=>new rl(ul("Diagnostic.instanceVarOverridesClassVar")),e.instantiateAbstract=()=>new rl(ul("Diagnostic.instantiateAbstract")),e.instantiateProtocol=()=>new rl(ul("Diagnostic.instantiateProtocol")),e.internalBindError=()=>new rl(ul("Diagnostic.internalBindError")),e.internalParseError=()=>new rl(ul("Diagnostic.internalParseError")),e.internalTypeCheckingError=()=>new rl(ul("Diagnostic.internalTypeCheckingError")),e.invalidIdentifierChar=()=>ul("Diagnostic.invalidIdentifierChar"),e.invalidStubStatement=()=>ul("Diagnostic.invalidStubStatement"),e.invalidTokenChars=()=>new rl(ul("Diagnostic.invalidTokenChars")),e.isInstanceInvalidType=()=>new rl(ul("Diagnostic.isInstanceInvalidType")),e.isSubclassInvalidType=()=>new rl(ul("Diagnostic.isSubclassInvalidType")),e.keyValueInSet=()=>ul("Diagnostic.keyValueInSet"),e.keywordArgInTypeArgument=()=>ul("Diagnostic.keywordArgInTypeArgument"),e.keywordOnlyAfterArgs=()=>ul("Diagnostic.keywordOnlyAfterArgs"),e.keywordSubscriptIllegal=()=>ul("Diagnostic.keywordSubscriptIllegal"),e.lambdaReturnTypeUnknown=()=>ul("Diagnostic.lambdaReturnTypeUnknown"),e.lambdaReturnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.lambdaReturnTypePartiallyUnknown")),e.listAssignmentMismatch=()=>new rl(ul("Diagnostic.listAssignmentMismatch")),e.listInAnnotation=()=>ul("Diagnostic.listInAnnotation"),e.literalUnsupportedType=()=>ul("Diagnostic.literalUnsupportedType"),e.literalEmptyArgs=()=>ul("Diagnostic.literalEmptyArgs"),e.literalNotCallable=()=>ul("Diagnostic.literalNotCallable"),e.matchIncompatible=()=>ul("Diagnostic.matchIncompatible"),e.matchIsNotExhaustive=()=>ul("Diagnostic.matchIsNotExhaustive"),e.maxParseDepthExceeded=()=>ul("Diagnostic.maxParseDepthExceeded"),e.memberAccess=()=>new rl(ul("Diagnostic.memberAccess")),e.memberDelete=()=>new rl(ul("Diagnostic.memberDelete")),e.memberSet=()=>new rl(ul("Diagnostic.memberSet")),e.metaclassConflict=()=>ul("Diagnostic.metaclassConflict"),e.metaclassDuplicate=()=>ul("Diagnostic.metaclassDuplicate"),e.metaclassIsGeneric=()=>ul("Diagnostic.metaclassIsGeneric"),e.methodNotDefined=()=>new rl(ul("Diagnostic.methodNotDefined")),e.methodNotDefinedOnType=()=>new rl(ul("Diagnostic.methodNotDefinedOnType")),e.methodOrdering=()=>ul("Diagnostic.methodOrdering"),e.methodOverridden=()=>new rl(ul("Diagnostic.methodOverridden")),e.methodReturnsNonObject=()=>new rl(ul("Diagnostic.methodReturnsNonObject")),e.microbitVersionApiUnsupported=()=>new rl(ul("Diagnostic.microbitVersionApiUnsupported")),e.missingProtocolMembers=()=>ul("Diagnostic.missingProtocolMembers"),e.missingSuperCall=()=>new rl(ul("Diagnostic.missingSuperCall")),e.moduleAsType=()=>ul("Diagnostic.moduleAsType"),e.moduleNotCallable=()=>ul("Diagnostic.moduleNotCallable"),e.moduleUnknownMember=()=>new rl(ul("Diagnostic.moduleUnknownMember")),e.namedExceptAfterCatchAll=()=>ul("Diagnostic.namedExceptAfterCatchAll"),e.namedParamAfterParamSpecArgs=()=>new rl(ul("Diagnostic.namedParamAfterParamSpecArgs")),e.namedTupleEmptyName=()=>ul("Diagnostic.namedTupleEmptyName"),e.namedTupleFirstArg=()=>ul("Diagnostic.namedTupleFirstArg"),e.namedTupleMultipleInheritance=()=>ul("Diagnostic.namedTupleMultipleInheritance"),e.namedTupleNameType=()=>ul("Diagnostic.namedTupleNameType"),e.namedTupleNameUnique=()=>ul("Diagnostic.namedTupleNameUnique"),e.namedTupleNoTypes=()=>ul("Diagnostic.namedTupleNoTypes"),e.namedTupleSecondArg=()=>ul("Diagnostic.namedTupleSecondArg"),e.newClsParam=()=>ul("Diagnostic.newClsParam"),e.newTypeLiteral=()=>ul("Diagnostic.newTypeLiteral"),e.newTypeNotAClass=()=>ul("Diagnostic.newTypeNotAClass"),e.newTypeProtocolClass=()=>ul("Diagnostic.newTypeProtocolClass"),e.nonDefaultAfterDefault=()=>ul("Diagnostic.nonDefaultAfterDefault"),e.noneNotCallable=()=>ul("Diagnostic.noneNotCallable"),e.noneNotIterable=()=>ul("Diagnostic.noneNotIterable"),e.noneNotSubscriptable=()=>ul("Diagnostic.noneNotSubscriptable"),e.noneNotUsableWith=()=>ul("Diagnostic.noneNotUsableWith"),e.noneOperator=()=>new rl(ul("Diagnostic.noneOperator")),e.noneUnknownMember=()=>new rl(ul("Diagnostic.noneUnknownMember")),e.nonLocalNoBinding=()=>new rl(ul("Diagnostic.nonLocalNoBinding")),e.nonLocalReassignment=()=>new rl(ul("Diagnostic.nonLocalReassignment")),e.nonLocalRedefinition=()=>new rl(ul("Diagnostic.nonLocalRedefinition")),e.nonLocalInModule=()=>ul("Diagnostic.nonLocalInModule"),e.noOverload=()=>new rl(ul("Diagnostic.noOverload")),e.noReturnContainsReturn=()=>ul("Diagnostic.noReturnContainsReturn"),e.noReturnContainsYield=()=>ul("Diagnostic.noReturnContainsYield"),e.noReturnReturnsNone=()=>ul("Diagnostic.noReturnReturnsNone"),e.notRequiredArgCount=()=>ul("Diagnostic.notRequiredArgCount"),e.notRequiredNotInTypedDict=()=>ul("Diagnostic.notRequiredNotInTypedDict"),e.objectNotCallable=()=>new rl(ul("Diagnostic.objectNotCallable")),e.obscuredClassDeclaration=()=>new rl(ul("Diagnostic.obscuredClassDeclaration")),e.obscuredFunctionDeclaration=()=>new rl(ul("Diagnostic.obscuredFunctionDeclaration")),e.obscuredMethodDeclaration=()=>new rl(ul("Diagnostic.obscuredMethodDeclaration")),e.obscuredParameterDeclaration=()=>new rl(ul("Diagnostic.obscuredParameterDeclaration")),e.obscuredVariableDeclaration=()=>new rl(ul("Diagnostic.obscuredVariableDeclaration")),e.operatorLessOrGreaterDeprecated=()=>ul("Diagnostic.operatorLessOrGreaterDeprecated"),e.optionalExtraArgs=()=>ul("Diagnostic.optionalExtraArgs"),e.orPatternIrrefutable=()=>ul("Diagnostic.orPatternIrrefutable"),e.orPatternMissingName=()=>ul("Diagnostic.orPatternMissingName"),e.overlappingOverload=()=>new rl(ul("Diagnostic.overlappingOverload")),e.overloadAbstractMismatch=()=>new rl(ul("Diagnostic.overloadAbstractMismatch")),e.overloadImplementationMismatch=()=>new rl(ul("Diagnostic.overloadImplementationMismatch")),e.overloadReturnTypeMismatch=()=>new rl(ul("Diagnostic.overloadReturnTypeMismatch")),e.overloadWithImplementation=()=>new rl(ul("Diagnostic.overloadWithImplementation")),e.overloadWithoutImplementation=()=>new rl(ul("Diagnostic.overloadWithoutImplementation")),e.paramAfterKwargsParam=()=>ul("Diagnostic.paramAfterKwargsParam"),e.paramAlreadyAssigned=()=>new rl(ul("Diagnostic.paramAlreadyAssigned")),e.paramAnnotationMissing=()=>new rl(ul("Diagnostic.paramAnnotationMissing")),e.paramNameMissing=()=>new rl(ul("Diagnostic.paramNameMissing")),e.paramSpecArgsKwargsUsage=()=>ul("Diagnostic.paramSpecArgsKwargsUsage"),e.paramSpecArgsUsage=()=>ul("Diagnostic.paramSpecArgsUsage"),e.paramSpecAssignedName=()=>new rl(ul("Diagnostic.paramSpecAssignedName")),e.paramSpecContext=()=>ul("Diagnostic.paramSpecContext"),e.paramSpecFirstArg=()=>ul("Diagnostic.paramSpecFirstArg"),e.paramSpecKwargsUsage=()=>ul("Diagnostic.paramSpecKwargsUsage"),e.paramSpecNotBound=()=>new rl(ul("Diagnostic.paramSpecNotBound")),e.paramSpecNotUsedByOuterScope=()=>new rl(ul("Diagnostic.paramSpecNotUsedByOuterScope")),e.paramSpecUnknownArg=()=>ul("Diagnostic.paramSpecUnknownArg"),e.paramSpecUnknownMember=()=>new rl(ul("Diagnostic.paramSpecUnknownMember")),e.paramSpecUnknownParam=()=>new rl(ul("Diagnostic.paramSpecUnknownParam")),e.paramTypeCovariant=()=>ul("Diagnostic.paramTypeCovariant"),e.paramTypeUnknown=()=>new rl(ul("Diagnostic.paramTypeUnknown")),e.paramAssignmentMismatch=()=>new rl(ul("Diagnostic.paramAssignmentMismatch")),e.paramTypePartiallyUnknown=()=>new rl(ul("Diagnostic.paramTypePartiallyUnknown")),e.parenthesizedContextManagerIllegal=()=>ul("Diagnostic.parenthesizedContextManagerIllegal"),e.positionArgAfterNamedArg=()=>ul("Diagnostic.positionArgAfterNamedArg"),e.privateImportFromPyTypedModule=()=>new rl(ul("Diagnostic.privateImportFromPyTypedModule")),e.positionOnlyAfterArgs=()=>ul("Diagnostic.positionOnlyAfterArgs"),e.positionOnlyAfterKeywordOnly=()=>ul("Diagnostic.positionOnlyAfterKeywordOnly"),e.positionOnlyIncompatible=()=>ul("Diagnostic.positionOnlyIncompatible"),e.positionOnlyFirstParam=()=>ul("Diagnostic.positionOnlyFirstParam"),e.privateUsedOutsideOfClass=()=>new rl(ul("Diagnostic.privateUsedOutsideOfClass")),e.privateUsedOutsideOfModule=()=>new rl(ul("Diagnostic.privateUsedOutsideOfModule")),e.propertyOverridden=()=>new rl(ul("Diagnostic.propertyOverridden")),e.propertyStaticMethod=()=>ul("Diagnostic.propertyStaticMethod"),e.protectedUsedOutsideOfClass=()=>new rl(ul("Diagnostic.protectedUsedOutsideOfClass")),e.protocolBaseClass=()=>new rl(ul("Diagnostic.protocolBaseClass")),e.protocolIllegal=()=>ul("Diagnostic.protocolIllegal"),e.protocolMemberNotClassVar=()=>new rl(ul("Diagnostic.protocolMemberNotClassVar")),e.protocolNotAllowedInTypeArgument=()=>ul("Diagnostic.protocolNotAllowedInTypeArgument"),e.protocolUsedInCall=()=>new rl(ul("Diagnostic.protocolUsedInCall")),e.protocolVarianceContravariant=()=>new rl(ul("Diagnostic.protocolVarianceContravariant")),e.protocolVarianceCovariant=()=>new rl(ul("Diagnostic.protocolVarianceCovariant")),e.protocolVarianceInvariant=()=>new rl(ul("Diagnostic.protocolVarianceInvariant")),e.recursiveDefinition=()=>new rl(ul("Diagnostic.recursiveDefinition")),e.relativeImportNotAllowed=()=>ul("Diagnostic.relativeImportNotAllowed"),e.requiredArgCount=()=>ul("Diagnostic.requiredArgCount"),e.requiredNotInTypedDict=()=>ul("Diagnostic.requiredNotInTypedDict"),e.returnMissing=()=>new rl(ul("Diagnostic.returnMissing")),e.returnOutsideFunction=()=>ul("Diagnostic.returnOutsideFunction"),e.returnTypeContravariant=()=>ul("Diagnostic.returnTypeContravariant"),e.returnTypeMismatch=()=>new rl(ul("Diagnostic.returnTypeMismatch")),e.returnTypeUnknown=()=>ul("Diagnostic.returnTypeUnknown"),e.returnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.returnTypePartiallyUnknown")),e.revealLocalsArgs=()=>ul("Diagnostic.revealLocalsArgs"),e.revealLocalsNone=()=>ul("Diagnostic.revealLocalsNone"),e.revealTypeArgs=()=>ul("Diagnostic.revealTypeArgs"),e.revealTypeExpectedTextArg=()=>ul("Diagnostic.revealTypeExpectedTextArg"),e.revealTypeExpectedTextMismatch=()=>new rl(ul("Diagnostic.revealTypeExpectedTextMismatch")),e.revealTypeExpectedTypeMismatch=()=>new rl(ul("Diagnostic.revealTypeExpectedTypeMismatch")),e.selfTypeContext=()=>ul("Diagnostic.selfTypeContext"),e.selfTypeWithTypedSelfOrCls=()=>ul("Diagnostic.selfTypeWithTypedSelfOrCls"),e.setterGetterTypeMismatch=()=>ul("Diagnostic.setterGetterTypeMismatch"),e.starPatternInAsPattern=()=>ul("Diagnostic.starPatternInAsPattern"),e.starPatternInOrPattern=()=>ul("Diagnostic.starPatternInOrPattern"),e.singleOverload=()=>new rl(ul("Diagnostic.singleOverload")),e.slotsAttributeError=()=>new rl(ul("Diagnostic.slotsAttributeError")),e.slotsClassVarConflict=()=>new rl(ul("Diagnostic.slotsClassVarConflict")),e.starStarWildcardNotAllowed=()=>ul("Diagnostic.starStarWildcardNotAllowed"),e.staticClsSelfParam=()=>ul("Diagnostic.staticClsSelfParam"),e.strictTypeGuardReturnType=()=>new rl(ul("Diagnostic.strictTypeGuardReturnType")),e.stringNonAsciiBytes=()=>ul("Diagnostic.stringNonAsciiBytes"),e.stringNotSubscriptable=()=>ul("Diagnostic.stringNotSubscriptable"),e.stringUnsupportedEscape=()=>ul("Diagnostic.stringUnsupportedEscape"),e.stringUnterminated=()=>ul("Diagnostic.stringUnterminated"),e.stubFileMissing=()=>new rl(ul("Diagnostic.stubFileMissing")),e.stubUsesGetAttr=()=>ul("Diagnostic.stubUsesGetAttr"),e.sublistParamsIncompatible=()=>ul("Diagnostic.sublistParamsIncompatible"),e.superCallArgCount=()=>ul("Diagnostic.superCallArgCount"),e.superCallFirstArg=()=>new rl(ul("Diagnostic.superCallFirstArg")),e.superCallSecondArg=()=>new rl(ul("Diagnostic.superCallSecondArg")),e.superCallZeroArgForm=()=>ul("Diagnostic.superCallZeroArgForm"),e.symbolIsUnbound=()=>new rl(ul("Diagnostic.symbolIsUnbound")),e.symbolIsUndefined=()=>new rl(ul("Diagnostic.symbolIsUndefined")),e.symbolIsPossiblyUnbound=()=>new rl(ul("Diagnostic.symbolIsPossiblyUnbound")),e.symbolOverridden=()=>new rl(ul("Diagnostic.symbolOverridden")),e.totalOrderingMissingMethod=()=>ul("Diagnostic.totalOrderingMissingMethod"),e.trailingCommaInFromImport=()=>ul("Diagnostic.trailingCommaInFromImport"),e.tryWithoutExcept=()=>ul("Diagnostic.tryWithoutExcept"),e.tupleAssignmentMismatch=()=>new rl(ul("Diagnostic.tupleAssignmentMismatch")),e.tupleInAnnotation=()=>ul("Diagnostic.tupleInAnnotation"),e.tupleIndexOutOfRange=()=>new rl(ul("Diagnostic.tupleIndexOutOfRange")),e.typeAliasIsRecursiveDirect=()=>new rl(ul("Diagnostic.typeAliasIsRecursiveDirect")),e.typeAliasIsRecursiveIndirect=()=>new rl(ul("Diagnostic.typeAliasIsRecursiveIndirect")),e.typeAliasNotInModuleOrClass=()=>ul("Diagnostic.typeAliasNotInModuleOrClass"),e.typeAliasRedeclared=()=>new rl(ul("Diagnostic.typeAliasRedeclared")),e.typeAnnotationCall=()=>ul("Diagnostic.typeAnnotationCall"),e.typeAnnotationVariable=()=>ul("Diagnostic.typeAnnotationVariable"),e.typeArgListExpected=()=>ul("Diagnostic.typeArgListExpected"),e.typeArgListNotAllowed=()=>ul("Diagnostic.typeArgListNotAllowed"),e.typeArgsExpectingNone=()=>new rl(ul("Diagnostic.typeArgsExpectingNone")),e.typeArgsMismatchOne=()=>new rl(ul("Diagnostic.typeArgsMismatchOne")),e.typeArgsMissingForAlias=()=>new rl(ul("Diagnostic.typeArgsMissingForAlias")),e.typeArgsMissingForClass=()=>new rl(ul("Diagnostic.typeArgsMissingForClass")),e.typeArgsTooFew=()=>new rl(ul("Diagnostic.typeArgsTooFew")),e.typeArgsTooMany=()=>new rl(ul("Diagnostic.typeArgsTooMany")),e.typeAssignmentMismatch=()=>new rl(ul("Diagnostic.typeAssignmentMismatch")),e.typeCallNotAllowed=()=>ul("Diagnostic.typeCallNotAllowed"),e.typedDictAccess=()=>ul("Diagnostic.typedDictAccess"),e.typedDictBadVar=()=>ul("Diagnostic.typedDictBadVar"),e.typedDictBaseClass=()=>ul("Diagnostic.typedDictBaseClass"),e.typedDictDelete=()=>ul("Diagnostic.typedDictDelete"),e.typedDictEmptyName=()=>ul("Diagnostic.typedDictEmptyName"),e.typedDictEntryName=()=>ul("Diagnostic.typedDictEntryName"),e.typedDictEntryUnique=()=>ul("Diagnostic.typedDictEntryUnique"),e.typedDictExtraArgs=()=>ul("Diagnostic.typedDictExtraArgs"),e.typedDictFieldRedefinition=()=>new rl(ul("Diagnostic.typedDictFieldRedefinition")),e.typedDictFirstArg=()=>ul("Diagnostic.typedDictFirstArg"),e.typedDictSecondArgDict=()=>ul("Diagnostic.typedDictSecondArgDict"),e.typedDictSecondArgDictEntry=()=>ul("Diagnostic.typedDictSecondArgDictEntry"),e.typedDictSet=()=>ul("Diagnostic.typedDictSet"),e.typedDictTotalParam=()=>ul("Diagnostic.typedDictTotalParam"),e.typeExpectedClass=()=>new rl(ul("Diagnostic.typeExpectedClass")),e.typeGuardArgCount=()=>ul("Diagnostic.typeGuardArgCount"),e.typeNotAwaitable=()=>new rl(ul("Diagnostic.typeNotAwaitable")),e.typeNotCallable=()=>new rl(ul("Diagnostic.typeNotCallable")),e.typeNotIntantiable=()=>new rl(ul("Diagnostic.typeNotIntantiable")),e.typeNotIterable=()=>new rl(ul("Diagnostic.typeNotIterable")),e.typeNotSpecializable=()=>new rl(ul("Diagnostic.typeNotSpecializable")),e.typeNotSubscriptable=()=>new rl(ul("Diagnostic.typeNotSubscriptable")),e.typeNotUsableWith=()=>new rl(ul("Diagnostic.typeNotUsableWith")),e.typeNotSupportBinaryOperator=()=>new rl(ul("Diagnostic.typeNotSupportBinaryOperator")),e.typeNotSupportBinaryOperatorBidirectional=()=>new rl(ul("Diagnostic.typeNotSupportBinaryOperatorBidirectional")),e.typeNotSupportUnaryOperator=()=>new rl(ul("Diagnostic.typeNotSupportUnaryOperator")),e.typeNotSupportUnaryOperatorBidirectional=()=>new rl(ul("Diagnostic.typeNotSupportUnaryOperatorBidirectional")),e.typePartiallyUnknown=()=>new rl(ul("Diagnostic.typePartiallyUnknown")),e.typeUnknown=()=>new rl(ul("Diagnostic.typeUnknown")),e.typeVarAssignedName=()=>new rl(ul("Diagnostic.typeVarAssignedName")),e.typeVarAssignmentMismatch=()=>new rl(ul("Diagnostic.typeVarAssignmentMismatch")),e.typeVarBoundAndConstrained=()=>ul("Diagnostic.typeVarBoundAndConstrained"),e.typeVarFirstArg=()=>ul("Diagnostic.typeVarFirstArg"),e.typeVarGeneric=()=>ul("Diagnostic.typeVarGeneric"),e.typeVarNoMember=()=>new rl(ul("Diagnostic.typeVarNoMember")),e.typeVarNotSubscriptable=()=>new rl(ul("Diagnostic.typeVarNotSubscriptable")),e.typeVarNotUsedByOuterScope=()=>new rl(ul("Diagnostic.typeVarNotUsedByOuterScope")),e.typeVarSingleConstraint=()=>ul("Diagnostic.typeVarSingleConstraint"),e.typeVarsNotInGeneric=()=>ul("Diagnostic.typeVarsNotInGeneric"),e.typeVarTupleMustBeUnpacked=()=>ul("Diagnostic.typeVarTupleMustBeUnpacked"),e.typeVarTupleContext=()=>ul("Diagnostic.typeVarTupleContext"),e.typeVarUnknownParam=()=>new rl(ul("Diagnostic.typeVarUnknownParam")),e.typeVarUsedByOuterScope=()=>new rl(ul("Diagnostic.typeVarUsedByOuterScope")),e.typeVarUsedOnlyOnce=()=>new rl(ul("Diagnostic.typeVarUsedOnlyOnce")),e.typeVarVariance=()=>ul("Diagnostic.typeVarVariance"),e.unaccessedClass=()=>new rl(ul("Diagnostic.unaccessedClass")),e.unaccessedFunction=()=>new rl(ul("Diagnostic.unaccessedFunction")),e.unaccessedImport=()=>new rl(ul("Diagnostic.unaccessedImport")),e.unaccessedSymbol=()=>new rl(ul("Diagnostic.unaccessedSymbol")),e.unaccessedVariable=()=>new rl(ul("Diagnostic.unaccessedVariable")),e.unexpectedAsyncToken=()=>ul("Diagnostic.unexpectedAsyncToken"),e.unexpectedExprToken=()=>ul("Diagnostic.unexpectedExprToken"),e.unexpectedIndent=()=>ul("Diagnostic.unexpectedIndent"),e.unexpectedUnindent=()=>ul("Diagnostic.unexpectedUnindent"),e.unionSyntaxIllegal=()=>ul("Diagnostic.unionSyntaxIllegal"),e.unionTypeArgCount=()=>ul("Diagnostic.unionTypeArgCount"),e.uninitializedInstanceVariable=()=>new rl(ul("Diagnostic.uninitializedInstanceVariable")),e.unnecessaryCast=()=>new rl(ul("Diagnostic.unnecessaryCast")),e.unnecessaryIsInstanceAlways=()=>new rl(ul("Diagnostic.unnecessaryIsInstanceAlways")),e.unnecessaryIsSubclassAlways=()=>new rl(ul("Diagnostic.unnecessaryIsSubclassAlways")),e.unnecessaryTypeIgnore=()=>ul("Diagnostic.unnecessaryTypeIgnore"),e.unpackArgCount=()=>ul("Diagnostic.unpackArgCount"),e.unpackedArgInTypeArgument=()=>ul("Diagnostic.unpackedArgInTypeArgument"),e.unpackedArgWithVariadicParam=()=>ul("Diagnostic.unpackedArgWithVariadicParam"),e.unpackedDictArgumentNotMapping=()=>ul("Diagnostic.unpackedDictArgumentNotMapping"),e.unpackedSubscriptIllegal=()=>ul("Diagnostic.unpackedSubscriptIllegal"),e.unpackedTypedDictArgument=()=>ul("Diagnostic.unpackedTypedDictArgument"),e.unpackedTypeVarTupleExpected=()=>new rl(ul("Diagnostic.unpackedTypeVarTupleExpected")),e.unpackExpectedTypedDict=()=>ul("Diagnostic.unpackExpectedTypedDict"),e.unpackExpectedTypeVarTuple=()=>ul("Diagnostic.unpackExpectedTypeVarTuple"),e.unpackIllegalInComprehension=()=>ul("Diagnostic.unpackIllegalInComprehension"),e.unpackInAnnotation=()=>ul("Diagnostic.unpackInAnnotation"),e.unpackInDict=()=>ul("Diagnostic.unpackInDict"),e.unpackInSet=()=>ul("Diagnostic.unpackInSet"),e.unpackNotAllowed=()=>ul("Diagnostic.unpackNotAllowed"),e.unpackOperatorNotAllowed=()=>ul("Diagnostic.unpackOperatorNotAllowed"),e.unpackTuplesIllegal=()=>ul("Diagnostic.unpackTuplesIllegal"),e.unreachableCode=()=>ul("Diagnostic.unreachableCode"),e.unreachableExcept=()=>ul("Diagnostic.unreachableExcept"),e.unsupportedDunderAllOperation=()=>ul("Diagnostic.unsupportedDunderAllOperation"),e.unusedCallResult=()=>new rl(ul("Diagnostic.unusedCallResult")),e.unusedCoroutine=()=>ul("Diagnostic.unusedCoroutine"),e.varAnnotationIllegal=()=>ul("Diagnostic.varAnnotationIllegal"),e.variadicTypeArgsTooMany=()=>ul("Diagnostic.variadicTypeArgsTooMany"),e.variadicTypeParamTooManyAlias=()=>new rl(ul("Diagnostic.variadicTypeParamTooManyAlias")),e.variadicTypeParamTooManyClass=()=>new rl(ul("Diagnostic.variadicTypeParamTooManyClass")),e.walrusIllegal=()=>ul("Diagnostic.walrusIllegal"),e.walrusNotAllowed=()=>ul("Diagnostic.walrusNotAllowed"),e.wildcardInFunction=()=>ul("Diagnostic.wildcardInFunction"),e.wildcardLibraryImport=()=>ul("Diagnostic.wildcardLibraryImport"),e.yieldFromIllegal=()=>ul("Diagnostic.yieldFromIllegal"),e.yieldFromOutsideAsync=()=>ul("Diagnostic.yieldFromOutsideAsync"),e.yieldOutsideFunction=()=>ul("Diagnostic.yieldOutsideFunction"),e.yieldTypeMismatch=()=>new rl(ul("Diagnostic.yieldTypeMismatch")),e.yieldWithinListCompr=()=>ul("Diagnostic.yieldWithinListCompr"),e.zeroCaseStatementsFound=()=>ul("Diagnostic.zeroCaseStatementsFound"),e.zeroLengthTupleNotAllowed=()=>ul("Diagnostic.zeroLengthTupleNotAllowed")}(t=e.Diagnostic||(e.Diagnostic={})),function(e){e.argParam=()=>new rl(ul("DiagnosticAddendum.argParam")),e.argParamFunction=()=>new rl(ul("DiagnosticAddendum.argParamFunction")),e.argsParamMissing=()=>new rl(ul("DiagnosticAddendum.argsParamMissing")),e.argsPositionOnly=()=>new rl(ul("DiagnosticAddendum.argsPositionOnly")),e.argumentType=()=>new rl(ul("DiagnosticAddendum.argumentType")),e.argumentTypes=()=>new rl(ul("DiagnosticAddendum.argumentTypes")),e.assignToNone=()=>ul("DiagnosticAddendum.assignToNone"),e.asyncHelp=()=>ul("DiagnosticAddendum.asyncHelp"),e.baseClassProvidesType=()=>new rl(ul("DiagnosticAddendum.baseClassProvidesType")),e.dataClassFrozen=()=>new rl(ul("DiagnosticAddendum.dataClassFrozen")),e.dataClassFieldLocation=()=>ul("DiagnosticAddendum.dataClassFieldLocation"),e.finalMethod=()=>ul("DiagnosticAddendum.finalMethod"),e.functionParamDefaultMissing=()=>new rl(ul("DiagnosticAddendum.functionParamDefaultMissing")),e.functionParamName=()=>new rl(ul("DiagnosticAddendum.functionParamName")),e.functionReturnTypeMismatch=()=>new rl(ul("DiagnosticAddendum.functionReturnTypeMismatch")),e.functionTooFewParams=()=>new rl(ul("DiagnosticAddendum.functionTooFewParams")),e.incompatibleGetter=()=>ul("DiagnosticAddendum.incompatibleGetter"),e.incompatibleSetter=()=>ul("DiagnosticAddendum.incompatibleSetter"),e.incompatibleDeleter=()=>ul("DiagnosticAddendum.incompatibleDeleter"),e.initMethodLocation=()=>new rl(ul("DiagnosticAddendum.initMethodLocation")),e.initMethodSignature=()=>new rl(ul("DiagnosticAddendum.initMethodSignature")),e.functionTooManyParams=()=>new rl(ul("DiagnosticAddendum.functionTooManyParams")),e.keyNotRequired=()=>new rl(ul("DiagnosticAddendum.keyNotRequired")),e.keyRequiredDeleted=()=>new rl(ul("DiagnosticAddendum.keyRequiredDeleted")),e.keyUndefined=()=>new rl(ul("DiagnosticAddendum.keyUndefined")),e.kwargsParamMissing=()=>new rl(ul("DiagnosticAddendum.kwargsParamMissing")),e.listAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.listAssignmentMismatch")),e.literalAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.literalAssignmentMismatch")),e.matchIsNotExhaustiveType=()=>new rl(ul("DiagnosticAddendum.matchIsNotExhaustiveType")),e.matchIsNotExhaustiveHint=()=>ul("DiagnosticAddendum.matchIsNotExhaustiveHint"),e.memberAssignment=()=>new rl(ul("DiagnosticAddendum.memberAssignment")),e.memberIsAbstract=()=>new rl(ul("DiagnosticAddendum.memberIsAbstract")),e.memberIsAbstractMore=()=>new rl(ul("DiagnosticAddendum.memberIsAbstractMore")),e.memberIsFinalInProtocol=()=>new rl(ul("DiagnosticAddendum.memberIsFinalInProtocol")),e.memberIsInitVar=()=>new rl(ul("DiagnosticAddendum.memberIsInitVar")),e.memberIsNotFinalInProtocol=()=>new rl(ul("DiagnosticAddendum.memberIsNotFinalInProtocol")),e.memberSetClassVar=()=>new rl(ul("DiagnosticAddendum.memberSetClassVar")),e.memberTypeMismatch=()=>new rl(ul("DiagnosticAddendum.memberTypeMismatch")),e.memberUnknown=()=>new rl(ul("DiagnosticAddendum.memberUnknown")),e.missingProtocolMember=()=>new rl(ul("DiagnosticAddendum.missingProtocolMember")),e.missingGetter=()=>ul("DiagnosticAddendum.missingGetter"),e.missingSetter=()=>ul("DiagnosticAddendum.missingSetter"),e.missingDeleter=()=>ul("DiagnosticAddendum.missingDeleter"),e.namedParamMissingInDest=()=>new rl(ul("DiagnosticAddendum.namedParamMissingInDest")),e.namedParamMissingInSource=()=>new rl(ul("DiagnosticAddendum.namedParamMissingInSource")),e.namedParamTypeMismatch=()=>new rl(ul("DiagnosticAddendum.namedParamTypeMismatch")),e.newMethodLocation=()=>new rl(ul("DiagnosticAddendum.newMethodLocation")),e.newMethodSignature=()=>new rl(ul("DiagnosticAddendum.newMethodSignature")),e.noOverloadAssignable=()=>new rl(ul("DiagnosticAddendum.noOverloadAssignable")),e.orPatternMissingName=()=>new rl(ul("DiagnosticAddendum.orPatternMissingName")),e.overloadMethod=()=>ul("DiagnosticAddendum.overloadMethod"),e.overloadNotAssignable=()=>new rl(ul("DiagnosticAddendum.overloadNotAssignable")),e.overloadWithImplementation=()=>ul("DiagnosticAddendum.overloadWithImplementation"),e.overriddenMethod=()=>ul("DiagnosticAddendum.overriddenMethod"),e.overriddenSymbol=()=>ul("DiagnosticAddendum.overriddenSymbol"),e.overrideParamCount=()=>new rl(ul("DiagnosticAddendum.overrideParamCount")),e.overrideParamName=()=>new rl(ul("DiagnosticAddendum.overrideParamName")),e.overrideParamNamePositionOnly=()=>new rl(ul("DiagnosticAddendum.overrideParamNamePositionOnly")),e.overrideParamType=()=>new rl(ul("DiagnosticAddendum.overrideParamType")),e.overrideReturnType=()=>new rl(ul("DiagnosticAddendum.overrideReturnType")),e.overrideType=()=>new rl(ul("DiagnosticAddendum.overrideType")),e.paramAssignment=()=>new rl(ul("DiagnosticAddendum.paramAssignment")),e.paramSpecOverload=()=>ul("DiagnosticAddendum.paramSpecOverload"),e.paramType=()=>new rl(ul("DiagnosticAddendum.paramType")),e.privateImportFromPyTypedSource=()=>new rl(ul("DiagnosticAddendum.privateImportFromPyTypedSource")),e.propertyAccessFromProtocolClass=()=>ul("DiagnosticAddendum.propertyAccessFromProtocolClass"),e.propertyMethodIncompatible=()=>new rl(ul("DiagnosticAddendum.propertyMethodIncompatible")),e.propertyMethodMissing=()=>new rl(ul("DiagnosticAddendum.propertyMethodMissing")),e.propertyMissingDeleter=()=>new rl(ul("DiagnosticAddendum.propertyMissingDeleter")),e.propertyMissingSetter=()=>new rl(ul("DiagnosticAddendum.propertyMissingSetter")),e.protocolMemberClassVar=()=>new rl(ul("DiagnosticAddendum.protocolMemberClassVar")),e.protocolIncompatible=()=>new rl(ul("DiagnosticAddendum.protocolIncompatible")),e.protocolMemberMissing=()=>new rl(ul("DiagnosticAddendum.protocolMemberMissing")),e.protocolSourceIsNotConcrete=()=>new rl(ul("DiagnosticAddendum.protocolSourceIsNotConcrete")),e.readOnlyAttribute=()=>new rl(ul("DiagnosticAddendum.readOnlyAttribute")),e.seeDeclaration=()=>ul("DiagnosticAddendum.seeDeclaration"),e.seeClassDeclaration=()=>ul("DiagnosticAddendum.seeClassDeclaration"),e.seeFunctionDeclaration=()=>ul("DiagnosticAddendum.seeFunctionDeclaration"),e.seeMethodDeclaration=()=>ul("DiagnosticAddendum.seeMethodDeclaration"),e.seeParameterDeclaration=()=>ul("DiagnosticAddendum.seeParameterDeclaration"),e.seeVariableDeclaration=()=>ul("DiagnosticAddendum.seeVariableDeclaration"),e.tupleEntryTypeMismatch=()=>new rl(ul("DiagnosticAddendum.tupleEntryTypeMismatch")),e.tupleAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.tupleAssignmentMismatch")),e.tupleSizeMismatch=()=>new rl(ul("DiagnosticAddendum.tupleSizeMismatch")),e.tupleSizeMismatchIndeterminate=()=>new rl(ul("DiagnosticAddendum.tupleSizeMismatchIndeterminate")),e.typeAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.typeAssignmentMismatch")),e.typeBound=()=>new rl(ul("DiagnosticAddendum.typeBound")),e.typeConstrainedTypeVar=()=>new rl(ul("DiagnosticAddendum.typeConstrainedTypeVar")),e.typedDictFieldMissing=()=>new rl(ul("DiagnosticAddendum.typedDictFieldMissing")),e.typedDictFieldNotRequired=()=>new rl(ul("DiagnosticAddendum.typedDictFieldNotRequired")),e.typedDictFieldRedefinition=()=>new rl(ul("DiagnosticAddendum.typedDictFieldRedefinition")),e.typedDictFieldRequired=()=>new rl(ul("DiagnosticAddendum.typedDictFieldRequired")),e.typedDictFieldTypeMismatch=()=>new rl(ul("DiagnosticAddendum.typedDictFieldTypeMismatch")),e.typedDictFieldUndefined=()=>new rl(ul("DiagnosticAddendum.typedDictFieldUndefined")),e.typedDictFinalMismatch=()=>new rl(ul("DiagnosticAddendum.typedDictFinalMismatch")),e.typeIncompatible=()=>new rl(ul("DiagnosticAddendum.typeIncompatible")),e.typeNotCallable=()=>new rl(ul("DiagnosticAddendum.typeNotCallable")),e.typeNotClass=()=>new rl(ul("DiagnosticAddendum.typeNotClass")),e.typeParamSpec=()=>new rl(ul("DiagnosticAddendum.typeParamSpec")),e.typeNotStringLiteral=()=>new rl(ul("DiagnosticAddendum.typeNotStringLiteral")),e.typeOfSymbol=()=>new rl(ul("DiagnosticAddendum.typeOfSymbol")),e.typeUnsupported=()=>new rl(ul("DiagnosticAddendum.typeUnsupported")),e.typeVarIsContravariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsContravariant")),e.typeVarIsCovariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsCovariant")),e.typeVarIsInvariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsInvariant")),e.typeVarTupleRequiresKnownLength=()=>ul("DiagnosticAddendum.typeVarTupleRequiresKnownLength"),e.typeVarNotAllowed=()=>ul("DiagnosticAddendum.typeVarNotAllowed"),e.typeVarsMissing=()=>new rl(ul("DiagnosticAddendum.typeVarsMissing")),e.unreachableExcept=()=>new rl(ul("DiagnosticAddendum.unreachableExcept")),e.useDictInstead=()=>ul("DiagnosticAddendum.useDictInstead"),e.useListInstead=()=>ul("DiagnosticAddendum.useListInstead"),e.useTupleInstead=()=>ul("DiagnosticAddendum.useTupleInstead"),e.useTypeInstead=()=>ul("DiagnosticAddendum.useTypeInstead")}(n=e.DiagnosticAddendum||(e.DiagnosticAddendum={})),function(e){e.addOptionalToAnnotation=()=>ul("CodeAction.addOptionalToAnnotation"),e.createTypeStub=()=>ul("CodeAction.createTypeStub"),e.createTypeStubFor=()=>new rl(ul("CodeAction.createTypeStubFor")),e.executingCommand=()=>ul("CodeAction.executingCommand"),e.filesToAnalyzeOne=()=>ul("CodeAction.filesToAnalyzeOne"),e.filesToAnalyzeCount=()=>new rl(ul("CodeAction.filesToAnalyzeCount")),e.findingReferences=()=>ul("CodeAction.findingReferences"),e.organizeImports=()=>ul("CodeAction.organizeImports")}(i=e.CodeAction||(e.CodeAction={})),function(e){e.moveFile=()=>new rl(ul("Refactoring.moveFile")),e.moveFileLabel=()=>new rl(ul("Refactoring.moveFileLabel")),e.moveFileDescription=()=>new rl(ul("Refactoring.moveFileDescription"))}(r=e.Refactoring||(e.Refactoring={}))}(ml||(ml={}));const Dl=/'/g,Al=/\\"/g;function Pl(e,t,n,i=[]){const r=0!=(16&t),s=0!=(128&t);if(t&=-145,e.typeAliasInfo){let r=!0;if((0==(32&t)||i.find((t=>t===e)))&&(r=!1),!r)try{i.push(e);let r=e.typeAliasInfo.name;const s=e.typeAliasInfo.typeParameters;if(s){let o;e.typeAliasInfo.typeArguments?(0==(2&t)||e.typeAliasInfo.typeArguments.some((e=>!ho(e))))&&(o=[],e.typeAliasInfo.typeArguments.forEach(((e,r)=>{Io(r{o.push(Pl(e.type,t,n,i))})):o.push(Pl(e,t,n,i))}))):(0==(2&t)||s.some((e=>!ho(e))))&&(o=[],s.forEach((e=>{o.push(Pl(e,t,n,i))}))),o&&(0===o.length?r+="[()]":r+=`[${o.join(", ")}]`)}if(10!==e.category)return r}finally{i.pop()}}if(i.find((t=>{var n;return t===e||void 0!==t.typeAliasInfo&&t.typeAliasInfo.fullName===(null===(n=e.typeAliasInfo)||void 0===n?void 0:n.fullName)}))||i.length>Gs)return bo(e)&&e.details.isSynthesized&&e.details.recursiveTypeAliasName?e.details.recursiveTypeAliasName:e.typeAliasInfo?e.typeAliasInfo.name:"...";try{i.push(e);const o=0==(64&t),a=e=>void 0!==e.condition&&o?"*":"";switch(e.category){case 0:return"Unbound";case 1:return 0!=(1&t)?"Any":"Unknown";case 8:return`Module("${e.moduleName}")`;case 7:return Ks.isInstance(e)?void 0!==e.literalValue?`Literal[${Rl(e)}]`:`${Fl(e,t,n,i)}${a(e)}`:void 0!==e.literalValue?`Type[Literal[${Rl(e)}]]${a(e)}`:`Type[${Fl(e,t,n,i)}]${a(e)}`;case 5:{const r=Nl(e,t,n,i),o=`(${r[0].join(", ")})`;if(Xs.isParamSpecValue(e))return o;const a=`${o} -> ${r[1]}`;return s?`(${a})`:a}case 6:return`Overload[${e.overloads.map((e=>Pl(e,t,n,i))).join(", ")}]`;case 9:{const s=new Set,o=new Set,a=8&t?128|t:t;if(0==(32&t)&&e.typeAliasSources)for(const t of e.typeAliasSources){let r=!0,l=!0;const c=new Set;for(const n of t.subtypes){let t=0,i=!1;for(const r of e.subtypes){if(Ao(n,r,void 0,!0)){s.has(t)||(l=!1),c.add(t),i=!0;break}t++}if(!i){r=!1;break}}r&&!l&&(o.add(Pl(t,a,n,i)),c.forEach((e=>s.add(e))))}const l=e.subtypes.findIndex((e=>lo(e)));if(l>=0&&!s.has(l)){const r=Fo(e);if(ao(r))return"None";const s=Pl(r,a,n,i);return 8&t?s+" | None":"Optional["+s+"]"}const c=new Set,u=new Set;Jo(e,((e,t)=>{s.has(t)||(vo(e)&&void 0!==e.literalValue?c.add(Rl(e)):_o(e)&&void 0!==e.literalValue?u.add(Rl(e)):o.add(Pl(e,a,n,i)))}));const p=[];if(o.forEach((e=>p.push(e))),c.size>0){const e=[];c.forEach((t=>e.push(t))),p.push(`Literal[${e.join(", ")}]`)}if(u.size>0){const e=[];u.forEach((t=>e.push(t))),p.push(`Type[Literal[${e.join(", ")}]]`)}if(1===p.length)return p[0];if(8&t){const e=p.join(" | ");return r?`(${e})`:e}return`Union[${p.join(", ")}]`}case 10:{if(e.details.isSynthesized){if(e.details.recursiveTypeAliasName)return 0!=(32&t)&&e.details.boundType?Pl(Ks.isInstance(e)?Fa(e.details.boundType):e.details.boundType,t,n,i):e.details.recursiveTypeAliasName;if(e.details.isSynthesizedSelf&&e.details.boundType){let r=Pl(e.details.boundType,-33&t,n,i);return ho(e.details.boundType)||(r=`Self@${r}`),Ks.isInstantiable(e)?`Type[${r}]`:r}return 0!=(1&t)?"Any":"Unknown"}if(e.details.isParamSpec)return e.paramSpecAccess?`${e.details.name}.${e.paramSpecAccess}`:`${oo.getReadableName(e)}`;let r=oo.getReadableName(e);return e.isVariadicUnpacked&&(r=`*${r}`),Ks.isInstantiable(e)?`Type[${r}]`:r}case 3:return`${Ks.isInstantiable(e)?"Type[None]":"None"}${a(e)}`;case 4:return e.isNoReturn?"NoReturn":"Never";case 2:return e.isEllipsis?"...":"Any"}return""}finally{i.pop()}}function Rl(e,t="'"){const n=e.literalValue;if(void 0===n)return"";let i;if("string"==typeof n){const r="bytes"===e.details.name?"b":"";i=JSON.stringify(n).toString(),'"'!==t&&(i=`'${i.substring(1,i.length-1).replace(Al,'"').replace(Dl,"\\'")}'`),r&&(i=`${r}${i}`)}else"boolean"==typeof n?i=n?"True":"False":n instanceof Hs?i=`${n.className}.${n.itemName}`:"bigint"==typeof n?(i=n.toString(),i.endsWith("n")&&(i=i.substring(0,i.length-1))):i=n.toString();return i}function Fl(e,t,n,i=[]){var r,s;let o=e.aliasName||e.details.name;if(!Zs.isPseudoGenericClass(e)){const a=Zs.getTypeParameters(e),l=a.length>0?a[a.length-1]:void 0,c=!!l&&l.details.isVariadic,u=null!==(r=e.tupleTypeArguments)&&void 0!==r?r:null===(s=e.typeArguments)||void 0===s?void 0:s.map((e=>({type:e,isUnbounded:!1})));if(u)if(u.length>0){const r=[];let s=!0;u.forEach(((e,o)=>{const l=o{ho(e.type)||(s=!1);const r=Pl(e.type,t,n,i);return e.isUnbounded?`*tuple[${r}, ...]`:r})));else{ho(e.type)||(s=!1);const o=Pl(e.type,t,n,i);e.isUnbounded?1===u.length?r.push(o,"..."):r.push(`*tuple[${o}, ...]`):r.push(o)}})),e.isUnpacked&&(o="*"+o),0!=(2&t)&&s||(o+="["+r.join(", ")+"]")}else(Zs.isTupleClass(e)||c)&&(o+="[()]");else a.length>0&&(0==(2&t)||a.some((e=>!ho(e))))&&(o+="["+a.map((e=>Pl(e,t,n,i))).join(", ")+"]")}return o}function Nl(e,t,n,i=[]){const r=[];let s=!1;e.details.parameters.forEach(((o,a)=>{if(a===e.details.parameters.length-1&&1===o.category&&Io(o.type)){const s=Xs.getEffectiveParameterType(e,a);if(vo(s)&&Zs.isBuiltIn(s,"tuple")&&s.tupleTypeArguments)return void s.tupleTypeArguments.forEach((e=>{const s=Pl(e.type,t,n,i);r.push(s)}))}let l="";1===o.category?o.name&&o.isNameSynthesized||(l+="*"):2===o.category&&(l+="**"),o.name&&!o.isNameSynthesized&&(l+=o.name,s=!0);let c="=",u=!1;if(o.name)if(o.hasDeclaredType||o.isTypeInferred){const r=Xs.getEffectiveParameterType(e,a),s=i.length{const i=t.resolveAliasDeclaration(e,n);if(i&&(o.push(i),r&&el(i.path))){const e=r.findDeclarations(i);for(const t of e)t&&t.path&&this._addIfUnique(o,t)}})),o}collect(){return this.walk(this._startingNode),this._results}walk(e){zt(e)||super.walk(e)}visitName(e){if(ct(this._cancellationToken),e.value!==this._symbolName)return!1;if(this._declarations.length>0){const t=Ml._getDeclarationsForNode(e,this._evaluator);t&&t.length>0&&t.some((e=>this._resultsContainsDeclaration(e)))&&this._addResult(e)}else this._addResult(e);return!1}visitString(e){return ct(this._cancellationToken),this._dunderAllNameNodes.has(e)&&this._addResult(e),!1}_addResult(e){const t=38===e.nodeType?e:function(e){return function(e){const t=e.quoteMarkLength,n=!(65536&e.flags);return dt.create(e.start+t,e.length-t-(n?t:0))}(e.token)}(e);this._results.push({node:e,range:t})}_resultsContainsDeclaration(e){const t=this._evaluator.resolveAliasDeclaration(e,!1);if(!t)return!1;if(this._declarations.some((e=>is(e,t,this._treatModuleInImportAndFromImportSame))))return!0;const n=this._getResolveAliasDeclaration(t);return!(!n||n===t)&&this._declarations.some((e=>is(e,n,this._treatModuleInImportAndFromImportSame)))}_getResolveAliasDeclaration(e){if(n(e))return ls([e])[0];const t=this._evaluator.resolveAliasDeclaration(e,!0);return n(t)?ls([t])[0]:t;function n(e){return!!e&&6===e.type&&e.node&&e.usesLocalName&&21===e.node.nodeType}}_setDunderAllNodes(e){if(36!==e.nodeType)return;const t=Wt(e);if(!t)return;const n=zs(e);n&&t.stringNodes.forEach((e=>{if(e.value!==this._symbolName)return;const t=n.lookUpSymbolRecursive(e.value);t&&t.symbol.getDeclarations().some((e=>this._resultsContainsDeclaration(e)))&&this._dunderAllNameNodes.add(e)}))}static _addIfUnique(e,t){for(const n of e)if(is(n,t))return;e.push(t)}static _getDeclarationsForNode(e,t){var n,i,r,s,o,a;if(37!==(null===(n=e.parent)||void 0===n?void 0:n.nodeType)){let n=t.getDeclarationsForNameNode(e)||[];if(23===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&(n=n.filter((t=>t.node===e.parent))),0===n.length){const n=t.getType(e);if(8===(null==n?void 0:n.category))return[cs(n.filePath)]}for(const e of n.filter((e=>Gn(e)&&!e.loadSymbolsFromPath))){const i=e.node;23!==i.nodeType&&n.push(...t.getDeclarationsForNameNode(i.module.nameParts[0])||[])}return n}const l=e.parent;if(21===(null===(r=l.parent)||void 0===r?void 0:r.nodeType)||22===(null===(s=l.parent)||void 0===s?void 0:s.nodeType)){const n=l.nameParts.findIndex((t=>t===e));if(0===n){let n=[];const i=1===l.nameParts.length&&21===l.parent.nodeType&&!!l.parent.alias,r=i?l.parent.alias.value:l.nameParts[0].value,s=null===(o=zs(e))||void 0===o?void 0:o.lookUpSymbolRecursive(r);return s&&1===l.nameParts.length&&(n.push(...s.symbol.getDeclarations().filter((e=>Gn(e)))),n.length>1&&(n=n.filter((e=>void 0!==(e=e).firstNamePart?e.firstNamePart===l.nameParts[0].value:e.node===l.parent))),i&&(n=ls(n))),n.push(...(null===(a=t.getDeclarationsForNameNode(l.nameParts[0]))||void 0===a?void 0:a.filter((e=>Gn(e))))||[]),n}return n>0&&t.getDeclarationsForNameNode(l.nameParts[n])||[]}return[]}}function Ol(e,t,n=70){let i="";const r=e.overloads.filter((e=>Xs.isOverloaded(e))).map((e=>e.details.name+t.printType(e,!1)));for(let e=0;en&&r[e-1].length<=n&&(i+="\n"),i+=r[e],en&&(i+="\n"));return i}function Ll(e,t,n){const i=e.details.declaration,r=i?Er(i.node):void 0,s=r?n.getTypeOfClass(r):void 0;return function(e,t,n,i){let r;if(!Tl(e,i)&&t&&jn(t)&&(r=function(e,t,n){if(!Eo(e))return;let i=e.details.docString;return!i&&t&&(i=El(t,n)),!i&&e.details.declaration&&(i=El(e.details.declaration,n)),i}(e,t,n)),!r&&i){const t=Ta(i,e.details.name,29);for(const e of t)if(e.symbol.getDeclarations().length>0){const t=e.symbol.getDeclarations().slice(-1)[0];if(jn(t)&&(r=El(t,n),r))break}}return r||e.details.docString}(e,i,t,null==s?void 0:s.classType)}function Ul(e,t,n){if(0===e.overloads.length)return[];const i=e.overloads[0].details.declaration,r=i?Er(i.node):void 0,s=r?n.getTypeOfClass(r):void 0;return function(e,t,n,i,r){let s;if(!Tl(e,r))for(const i of t)if(s=wl(e,i,n),s&&s.length>0)return s;if(r&&e.overloads.length>0){const t=Ta(r,e.overloads[0].details.name,29);for(const e of t){const t=e.symbol.getDeclarations().slice(-1)[0],r=i.getTypeForDeclaration(t);if(r&&(s=wl(r,t,n),s&&s.length>0))break}}return null!=s?s:[]}(e,e.overloads.map((e=>e.details.declaration)).filter(a),t,n,null==s?void 0:s.classType)}function Vl(e,t,n,i){if(1===(null==n?void 0:n.type)&&n.typeAliasName&&n.docString)return[n.docString];if(To(t)){const i=Il(t,n,e);if(i)return[i]}else if(_o(t)){const i=Sl(t,n,e);if(i)return[i]}else if(Eo(t)){const n=Ll(t,e,i);if(n)return[n]}else{if(ko(t))return Ul(t,e,i);if(1===(null==n?void 0:n.type)){const t=Cl(n,e);if(t)return[t]}else if(3===(null==n?void 0:n.type)){const t=bl(n,e,i);if(t)return[t]}}return[]}var ql,Bl;!function(e){const t=["True","False","None","and","or","not","is","lambda","yield","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","nonlocal","pass","raise","return","try","while","with"],n=[...t,"async","await"],i=[...n,"case","match"];e.forVersion=function(e){return e>=De.V3_10?i:e>=De.V3_5?n:t}}(ql||(ql={})),function(e){e[e.LikelyKeyword=0]="LikelyKeyword",e[e.RecentImportModuleName=1]="RecentImportModuleName",e[e.ImportModuleName=2]="ImportModuleName",e[e.LiteralValue=3]="LiteralValue",e[e.NamedParameter=4]="NamedParameter",e[e.RecentKeywordOrSymbol=5]="RecentKeywordOrSymbol",e[e.RecentAutoImport=6]="RecentAutoImport",e[e.Keyword=7]="Keyword",e[e.EnumMember=8]="EnumMember",e[e.NormalSymbol=9]="NormalSymbol",e[e.PrivateSymbol=10]="PrivateSymbol",e[e.DunderSymbol=11]="DunderSymbol",e[e.AutoImport=12]="AutoImport"}(Bl||(Bl={}));const Wl="Dictionary key";class jl{constructor(e,t,n,i,r,s,o,a,l,c,u,p,d){this._workspacePath=e,this._parseResults=t,this._fileContents=n,this._importResolver=i,this._position=r,this._filePath=s,this._configOptions=o,this._importLookup=a,this._evaluator=l,this._options=c,this._sourceMapper=u,this._autoImportMaps=p,this._cancellationToken=d,this._insideStringLiteral=!1,this._execEnv=this._configOptions.findExecEnvironment(this._filePath)}getCompletionsForPosition(){var e,t;const n=xt(this._position,this._parseResults.tokenizerOutput.lines);if(void 0===n)return;const i=function(e,t){const n=e.getItemAtPosition(t);if(n<0)return;const i=e.getItemAt(n);return dt.overlaps(i,t)?i:void 0}(this._parseResults.tokenizerOutput.tokens,n);5===(null==i?void 0:i.type)&&(this._insideStringLiteral=!!dt.contains(i,n)||!!(65536&i.flags));let r=Tr(this._parseResults.parseTree,n);const s=r,o=r?vr(r):0;if(!s||38!==s.nodeType){let t=n,i=!1;for(;t>=0;){t--;const n=this._fileContents.substr(t,1);if("("===n||"\n"===n||"}"===n)break;","===n&&(i=!0);const a=Tr(this._parseResults.parseTree,t);if(a&&a!==s){vr(a)>o&&(r=a,i&&23===(null===(e=r.parent)||void 0===e?void 0:e.nodeType)&&(r=r.parent));break}}}if(void 0===r)return;const a=this._parseResults.tokenizerOutput.lines.getItemAt(this._position.line),l=this._fileContents.substr(a.start,a.length),c=l.substr(0,this._position.character),u=l.substr(this._position.character),p=c.search(/\w+$/),d=p>=0?c.substr(p):"";if(this._isWithinComment(n))return;let h=r;for(;h&&0!==h.nodeType;)h=h.parent;let m=h||r;for(;;){if(ct(this._cancellationToken),49===m.nodeType)return this._getLiteralCompletions(m,d,c,u);if(48===m.nodeType||27===m.nodeType)return;if(37===m.nodeType)return this._getImportModuleCompletions(m);if(0===m.nodeType)return this._getExpressionErrorCompletions(m,d,c,u);if(35===m.nodeType)return this._getMemberAccessCompletions(m.leftExpression,d);if(15===m.nodeType){const e=new $l;if(this._addTypedDictKeys(m,void 0,c,u,e))return{completionMap:e}}const e=es(m,17);if(e&&15===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)){const t=e.parent;if(t.trailingCommaToken&&t.trailingCommaToken.starte.label===n&&e.autoImportText===i));if(r>0&&(jl._mostRecentCompletions=jl._mostRecentCompletions.splice(r,1)),0!==r&&jl._mostRecentCompletions.unshift({label:n,autoImportText:i}),jl._mostRecentCompletions.length>128&&jl._mostRecentCompletions.pop(),t.symbolLabel)if(this._itemToResolve=e,t.autoImportText){if(!e.additionalTextEdits){const e={completionMap:new $l};this._addAutoImportCompletions(t.symbolLabel,1,!1,e)}}else this.getCompletionsForPosition()}_tryGetNameCompletions(e,t,n){var i;if(!e.parent)return!1;if(21!==e.parent.nodeType||e.parent.alias!==e){if(37===e.parent.nodeType){if(e.parent.parent&&21===e.parent.parent.nodeType&&!e.parent.parent.alias&&dt.getEnd(e.parent.parent)this._isOverload(e))))?this._getMethodOverloadsCompletions(n,e):void 0;if(!(41===e.parent.nodeType&&e===e.parent.name||10===e.parent.nodeType&&e===e.parent.name||26===e.parent.nodeType&&dt.contains(e.parent.targetExpression,e.start)||33===e.parent.nodeType&&dt.contains(e.parent.targetExpression,e.start)))return!1}}}_isWithinComment(e){var t,n;const i=function(e,t){const n=t.getItemAtPosition(e);if(n<0)return;let i=t.getItemAt(n);if(!(e>i.start&&e=0;e--){const n=t.getItemAt(e);if(i.start!==n.start)break;i=n}return e<=i.start?i:(w(n+1dt.overlaps(t,e))))&&void 0!==n&&n}_getExpressionErrorCompletions(e,t,n,i){var r;switch(e.category){case 0:return this._createSingleKeywordCompletion("in");case 1:return this._createSingleKeywordCompletion("else");case 2:case 4:return this._getExpressionCompletions(e,t,n,i);case 3:{let r=this._getLiteralCompletions(e,t,n,i);return r&&r.completionMap||(r=this._getExpressionCompletions(e,t,n,i)),r}case 7:if(e.child&&yr(e.child))return this._getMemberAccessCompletions(e.child,t);break;case 10:if(e.child&&38===e.child.nodeType)return(null===(r=e.decorators)||void 0===r?void 0:r.some((e=>this._isOverload(e))))?this._getMethodOverloadsCompletions(t,e.child):this._getMethodOverrideCompletions(t,e.child,e.decorators)}}_isOverload(e){return this._checkDecorator(e,"overload")}_checkDecorator(e,t){return 38===e.expression.nodeType&&e.expression.value===t}_createSingleKeywordCompletion(e){const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.LikelyKeyword,e);const n=new $l;return n.set(t),{completionMap:n}}_getMethodOverloadsCompletions(e,t){var n;const i=function(e,t){const n=Er(t,!1);if(n){const t=e.getTypeOfClass(n);if(!t)return;const i=new Map;for(const e of t.classType.details.mro)_o(e)&&Ma(e,i,!1);return i}const i=function(e){let t=e.parent;for(;t;){if(36===t.nodeType)return t;t=t.parent}E("Module node not found")}(t);if(i){const e=Ft(i);return null==e?void 0:e.symbolTable}}(this._evaluator,t);if(!i)return;const r=28===(null===(n=t.parent)||void 0===n?void 0:n.nodeType)||void 0,s=new $l,o=kr(t);return i.forEach(((n,i)=>{const a=qo(n);if(!a||3!==a.type)return;if(!a.node.decorators.some((e=>this._isOverload(e))))return;const l=n.getDeclarations();if((1!==l.length||!l.some((e=>e.node===o)))&&N(t.value,i)){const o=this._createReplaceEdits(e,t,a.node.name.value);this._addSymbol(i,n,t.value,s,{funcParensDisabled:r,edits:{textEdit:o}})}})),{completionMap:s}}_getMethodOverrideCompletions(e,t,n){var i,r;const s=Er(t,!0);if(!s)return;const o=this._evaluator.getTypeOfClass(s);if(!o)return;const a=new Map;for(let e=1;ethis._checkDecorator(e,"staticmethod"))))&&void 0!==i&&i,c=null!==(r=null==n?void 0:n.some((e=>this._checkDecorator(e,"classmethod"))))&&void 0!==r&&r,u=new $l;return a.forEach(((n,i)=>{let r=qo(n);if(r&&3===r.type&&N(t.value,i)){const s=this._evaluator.getTypeForDeclaration(r);if(!s)return;let a=vo(s)&&Zs.isPropertyClass(s);if(Qt(i)&&(a=!1),!Eo(s)&&!a)return;if(a){const e=n.getTypedDeclarations();e.length>0&&3===e[0].type&&(r=e[0])}const p=Eo(s)&&Xs.isStaticMethod(s),d=Eo(s)&&Xs.isClassMethod(s)&&"__init_subclass__"!==i;if(l!==p||c!==d)return;const h=this._printMethodSignature(o.classType,r);let m;m=el(this._filePath)?`${h}: ...`:`${h}:\n${this._printOverriddenMethodBody(o.classType,p,a,r)}`;const f=this._createReplaceEdits(e,t,m);this._addSymbol(i,n,t.value,u,{funcParensDisabled:!0,edits:{format:this._options.snippet?ot.InsertTextFormat.Snippet:void 0,textEdit:f}})}})),{completionMap:u}}_createReplaceEdits(e,t,n){const i=38===(null==t?void 0:t.nodeType)?this._position.character-e.length+t.value.length:this._position.character,r={start:{line:this._position.line,character:this._position.character-e.length},end:{line:this._position.line,character:i}};return ot.TextEdit.replace(r,n)}_printMethodSignature(e,t){const n=t.node;let i;el(this._filePath)?i=!0:e.details.moduleName===t.moduleName&&(i=!1);const r=el(this._filePath)?1:void 0,s=n.parameters.map(((e,t)=>{let s="";1===e.category?s+="*":2===e.category&&(s+="**"),e.name&&(s+=e.name.value);const o=this._evaluator.getTypeAnnotationForParameter(n,t);return o&&(s+=": "+xr(o,r)),e.defaultValue&&(s+=o?" = ":"=",s+=(null!=i?i:!a(e.defaultValue))?"...":xr(e.defaultValue,r)),s||e.name||0!==e.category?s:"/"})).join(", ");let o=n.name.value+"("+s+")";return n.returnTypeAnnotation?o+=" -> "+xr(n.returnTypeAnnotation,r):n.functionAnnotationComment&&(o+=" -> "+xr(n.functionAnnotationComment.returnTypeAnnotation,r)),o;function a(e){switch(e.nodeType){case 40:case 11:return!0;case 49:return 0==(64&e.token.flags);case 48:return e.strings.every(a);case 55:return a(e.expression);case 7:return a(e.leftExpression)&&a(e.rightExpression);default:return!1}}}_printOverriddenMethodBody(e,t,n,i){let r=" ";if(1===e.details.baseClasses.length&&yo(e.details.baseClasses[0])&&"builtins.object"===e.details.baseClasses[0].details.fullName)return r+=this._options.snippet?"${0:pass}":"pass",r;if(0===i.node.parameters.length)return r+=this._options.snippet?"${0:pass}":"pass",r;const s=function(e){const t=[];let n=!1;for(const i of e)i.name&&t.push([i,n]),n=1===i.category||2===i.category;return t}(t?i.node.parameters:i.node.parameters.slice(1));return"__init__"!==i.node.name.value&&(r+="return "),i.node.isAsync&&(r+="await "),n?r+`super().${i.node.name.value}`:r+`super().${i.node.name.value}(${s.map((function(e){var t;const n=null===(t=e[0].name)||void 0===t?void 0:t.value;return 1===e[0].category?`*${n}`:2===e[0].category?`**${n}`:e[1]?`${n}=${n}`:n})).join(", ")})`}_getMemberAccessCompletions(e,t){const n=new Map,i=new $l;let r={},s=this._evaluator.getType(e);return s&&(s=this._evaluator.makeTopLevelTypeVarsConcrete(s),Jo(s,(r=>{if(yo(r=this._evaluator.makeTopLevelTypeVarsConcrete(r)))Ma(r,n,Ks.isInstance(r));else if(To(r))!function(e,t){e.loaderFields&&e.loaderFields.forEach(((e,n)=>{t.set(n,e)})),e.fields.forEach(((e,n)=>{t.set(n,e)}))}(r,n);else if(Eo(r)||ko(r)){const t=this._evaluator.getBuiltInType(e,"function");t&&_o(t)&&Ma(t,n,!0)}else if(lo(r)){const t=this._evaluator.getBuiltInType(e,"object");t&&_o(t)&&Ma(t,n,Ks.isInstance(r))}this._addSymbolsForSymbolTable(n,(()=>!0),t,!1,yo(r)?r:void 0,i)}))),(!s||po(s)||mo(s))&&(r=this._getLastKnownModule(e,s)),{completionMap:i,memberAccessInfo:r}}_getLastKnownModule(e,t){var n;let i=e,r=t,s=35===e.nodeType?null==e?void 0:e.memberName.value:void 0;for(;i&&(9===i.nodeType||35===i.nodeType?(i=i.leftExpression,void 0===s&&(s=35===i.nodeType&&null!==(n=null==i?void 0:i.memberName.value)&&void 0!==n?n:"")):i=void 0,!i||(r=this._evaluator.getType(i),void 0===r||po(r)||mo(r))););const o={};if(r&&!po(r)&&!mo(r)&&i){const e=Ga(r);o.lastKnownModule=e.find((e=>"typing"!==e)),35===i.nodeType?o.lastKnownMemberName=i.memberName.value:(38===i.nodeType&&_o(r)||38===i.nodeType&&vo(r))&&(o.lastKnownMemberName=r.details.name),o.unknownMemberName=s}return o}_getStatementCompletions(e,t,n,i){return this._getExpressionCompletions(e,t,n,i)}_getExpressionCompletions(e,t,n,i){var r,s,o,a;const l=this._isIndexArgument(e);if(!l&&40===e.nodeType)return;if(59===(null===(r=e.parent)||void 0===r?void 0:r.nodeType)&&e.parent===(null===(s=e.parent.target)||void 0===s?void 0:s.parent))return;const c=new $l,u={completionMap:c};if(".."===n.slice(-2))return u;if(this._addCallArgumentCompletions(e,t,n,i,!1,c),this._addSymbols(e,t,c),this._findMatchingKeywords(ql.forVersion(this._execEnv.pythonVersion),t).map((e=>{if(c.has(e))return;const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.Keyword,e),c.set(t)})),t.startsWith("_")||this._itemToResolve||this._addAutoImportCompletions(t,.25,this._options.lazyEdit,u),0===e.nodeType)if(3===e.category&&24===(null===(o=e.parent)||void 0===o?void 0:o.nodeType))this._tryAddTypedDictStringLiteral(e.parent,void 0,void 0,c);else if(2===e.category&&e.parent&&3===e.parent.nodeType){const r=null===(a=this._evaluator.getExpectedType(e))||void 0===a?void 0:a.type;r&&this._addLiteralValuesForTargetType(r,n,t,i,c)}if(l){const n=e.parent.parent;this._getIndexerKeys(n,e).forEach((e=>{c.has(e)||this._addNameToCompletions(e,ot.CompletionItemKind.Constant,t,c,{sortText:this._makeSortText(Bl.LiteralValue,e),itemDetail:Wl})}))}return u}_isIndexArgument(e){const t=e.parent;return t&&1===t.nodeType&&0===t.argumentCategory&&t.parent&&24===t.parent.nodeType&&t.parent.baseExpression&&38===t.parent.baseExpression.nodeType}_addCallArgumentCompletions(e,t,n,i,r,s){const o=zr(e,xt(this._position,this._parseResults.tokenizerOutput.lines),this._parseResults.tokenizerOutput.tokens);if(!o)return;const a=this._evaluator.getCallSignatureInfo(o.callNode,o.activeIndex,o.activeOrFake);if(a){const e=It(a.callNode.leftExpression.start+a.callNode.leftExpression.length,this._parseResults.tokenizerOutput.lines);gt(this._position,e)>0&&(r||this._addNamedParameters(a,t,s),this._addLiteralValuesForArgument(a,n,t,i,s))}}_addLiteralValuesForArgument(e,t,n,i,r){e.signatures.forEach((e=>{if(!e.activeParam)return;const s=e.type,o=s.details.parameters.indexOf(e.activeParam);if(o<0)return;const a=s.details.parameters[o].type;this._addLiteralValuesForTargetType(a,t,n,i,r)}))}_addLiteralValuesForTargetType(e,t,n,i,r){const s=this._getQuoteValueFromPriorText(t);this._getSubTypesWithLiteralValues(e).forEach((e=>{if(Zs.isBuiltIn(e,"str")){const t=Rl(e,s.quoteCharacter);void 0===s.stringValue?this._addNameToCompletions(t,ot.CompletionItemKind.Constant,n,r,{sortText:this._makeSortText(Bl.LiteralValue,e.literalValue)}):this._addStringLiteralToCompletions(t.substr(1,t.length-2),s.stringValue,i,s.quoteCharacter,r)}}))}_getDictExpressionStringKeys(e,t){const n=function(e){if(15===e.nodeType)return e;let t=e;for(;t&&15!==t.nodeType&&45!==t.nodeType;)if(t=t.parent,!t)return;return t}(e);return n?n.entries.flatMap((e=>17!==e.nodeType||(null==t?void 0:t.has(e.keyExpression.id))?[]:48===e.keyExpression.nodeType?[e.keyExpression.strings.map((e=>e.value)).join("")]:[])):[]}_getSubTypesWithLiteralValues(e){const t=[];return Jo(e,(e=>{vo(e)&&ra(e)&&t.push(e)})),t}_getIndexerKeyType(e){var t;if((Zs.isBuiltIn(e,"dict")||Zs.isBuiltIn(e,"Mapping"))&&2===(null===(t=e.typeArguments)||void 0===t?void 0:t.length))return e.typeArguments[0];const n=_a(e,"__getitem__");if(null==n?void 0:n.symbol.hasDeclarations()){const e=n.symbol.getDeclarations()[0];if(jn(e)&&e.isMethod){const t=this._evaluator.getTypeForDeclaration(e);if(t&&Eo(t)&&2===t.details.parameters.length)return t.details.parameters[1].type}}}_getIndexerKeys(e,t){var n,i,r,s,o,a,l,c,u;if(38!==e.baseExpression.nodeType)return[];const p=this._evaluator.getType(e.baseExpression);if(!p||!vo(p))return[];const d=this._getIndexerKeyType(p);if(d){const e=[];if(this._getSubTypesWithLiteralValues(d).forEach((t=>{(Zs.isBuiltIn(t,"str")||Zs.isBuiltIn(t,"int")||Zs.isBuiltIn(t,"bool")||Zs.isBuiltIn(t,"bytes")||Zs.isEnumClass(t))&&e.push(Rl(t,this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter))})),e.length>0)return e}const h=null!==(n=this._evaluator.getDeclarationsForNameNode(e.baseExpression))&&void 0!==n?n:[],m=h.length>0?h[0]:void 0;if(!m||1!==m.type&&2!==m.type)return[];if(m.path!==this._filePath)return[];let f=e.baseExpression;if(m.node){const e=Ar(m.node);(null===(i=Gr(f))||void 0===i?void 0:i.filePath)===(null===(r=Gr(e))||void 0===r?void 0:r.filePath)&&(f=e)}const g=Ml.collectFromNode(e.baseExpression,this._evaluator,this._cancellationToken,f),y=new Set;for(const e of g){const n=54===(null===(s=e.node.parent)||void 0===s?void 0:s.nodeType)?e.node.parent:e.node;if(3===(null===(o=n.parent)||void 0===o?void 0:o.nodeType)||4===(null===(a=n.parent)||void 0===a?void 0:a.nodeType)){if(15===n.parent.rightExpression.nodeType){const e=n.parent.rightExpression;for(const t of e.entries.filter((e=>17===e.nodeType))){const e=this._parseResults.text.substr(t.keyExpression.start,t.keyExpression.length).trim();e.length>0&&y.add(e)}}if(9===n.parent.rightExpression.nodeType){const e=n.parent.rightExpression,t=this._evaluator.getType(e.leftExpression);if(!t||!_o(t)||!Zs.isBuiltIn(t,"dict"))continue;for(const t of e.arguments){const e=null!==(c=null===(l=t.name)||void 0===l?void 0:l.value.trim())&&void 0!==c?c:"",n=this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter;e.length>0&&y.add(`${n}${e}${n}`)}}}if(24===(null===(u=n.parent)||void 0===u?void 0:u.nodeType)&&1===n.parent.items.length&&0!==n.parent.items[0].valueExpression.nodeType&&!dt.containsRange(n.parent,t)){const e=n.parent.items[0],t=this._parseResults.text.substr(e.valueExpression.start,e.valueExpression.length).trim();t.length>0&&y.add(t)}}return[...y]}_getLiteralCompletions(e,t,n,i){var r,s,o;let a=e.parent;if(!a)return;const l=new $l;if(yr(a)){const o=this._evaluator.getExpectedType(a);if(o&&sa(o.type))return this._addLiteralValuesForTargetType(o.type,n,t,i,l),{completionMap:l};if(49===e.nodeType&&(null===(r=e.parent)||void 0===r?void 0:r.parent)){const t=e.parent.parent;let r;if(17===t.nodeType&&t.keyExpression===e.parent&&15===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)?r=t.parent:45===(null==t?void 0:t.nodeType)&&(r=t),r&&this._addTypedDictKeys(r,e,n,i,l))return{completionMap:l}}}if(1!==a.nodeType){if(48!==a.nodeType||a.strings.length>1)return;if(a=a.parent,!a)return}if(1===a.nodeType&&24===(null===(o=a.parent)||void 0===o?void 0:o.nodeType)){if(!this._tryAddTypedDictStringLiteral(a.parent,49===e.nodeType?n:"",i,l)){const r=this._getIndexerKeys(a.parent,e),s=this._getQuoteValueFromPriorText(n);for(const n of r){const r=/^["|'].*["|']$/.test(n);if(49!==e.nodeType||r)if(r){const e=n.substr(1,n.length-2);this._addStringLiteralToCompletions(e,s.stringValue,i,s.quoteCharacter,l,Wl)}else this._addNameToCompletions(n,ot.CompletionItemKind.Constant,t,l,{sortText:this._makeSortText(Bl.LiteralValue,n),itemDetail:Wl})}if(0===l.size)return}}else{w(49===e.nodeType);const r=xt(this._position,this._parseResults.tokenizerOutput.lines),s=a.start{vo(e)&&Zs.isTypedDictClass(e)&&a.push(e)})),0===a.length)return!1;const l=this._getDictExpressionStringKeys(e,t?new Set([null===(s=t.parent)||void 0===s?void 0:s.id]):void 0);a=this._tryNarrowTypedDicts(a,l);const c=this._getQuoteValueFromPriorText(n),u=new Set(l);return a.forEach((e=>{gl(this._evaluator,e,!0).forEach(((e,t)=>{u.has(t)||r.has(t)||(u.add(t),this._addStringLiteralToCompletions(t,c?c.stringValue:void 0,i,c?c.quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter,r))}))})),!0}_tryNarrowTypedDicts(e,t){const n=e.flatMap((e=>{const n=gl(this._evaluator,e,!0);for(let e=0;en)return{quoteCharacter:"'",stringValue:e.substr(t+1)};if(n>t)return{quoteCharacter:'"',stringValue:e.substr(n+1)}}return{stringValue:void 0,quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter}}_tryAddTypedDictStringLiteral(e,t,n,i){if(!e)return!1;const r=this._evaluator.getType(e.baseExpression);if(!r||!vo(r))return!1;if(!Zs.isTypedDictClass(r))return!1;const s=gl(this._evaluator,r,!0),o=t?this._getQuoteValueFromPriorText(t):void 0;return s.forEach(((e,t)=>{this._addStringLiteralToCompletions(t,o?o.stringValue:void 0,n,o?o.quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter,i)})),!0}_addStringLiteralToCompletions(e,t,n,i,r,s){if(N(t||"",e)){const o=`${i}${e}${i}`;if(r.has(o))return;const a=ot.CompletionItem.create(o);a.kind=ot.CompletionItemKind.Constant,a.sortText=this._makeSortText(Bl.LiteralValue,o);let l=this._position.character;void 0!==t&&(l-=t.length+1);let c=this._position.character;void 0!==n&&n.startsWith(i)&&c++;const u={start:{line:this._position.line,character:l},end:{line:this._position.line,character:c}};a.textEdit=ot.TextEdit.replace(u,o),a.detail=s,r.set(a)}}_addAutoImportCompletions(e,t,n,i){var r,s,o;if(!i.completionMap||!this._configOptions.autoImportCompletions||!this._options.autoImport)return;const a=this._autoImportMaps.getModuleSymbolsMap(),l=new Hl(this._execEnv,this._importResolver,this._parseResults,this._position,i.completionMap,a,{libraryMap:this._autoImportMaps.libraryMap,lazyEdit:n}),c=[],u=null===(r=this._autoImportMaps.nameMap)||void 0===r?void 0:r.get(e);u&&e.length>1&&!i.completionMap.has(e)&&c.push(...l.getAutoImportCandidatesForAbbr(e,u,this._cancellationToken)),c.push(...l.getAutoImportCandidates(e,t,void 0,this._cancellationToken));const p=l.getPerfInfo(),d=new Pn;for(const t of c)t.symbol?this._addSymbol(t.name,t.symbol,e,i.completionMap,{autoImportSource:t.source,autoImportAlias:t.alias,edits:{textEdit:this._createReplaceEdits(e,void 0,t.insertionText),additionalTextEdits:t.edits}}):this._addNameToCompletions(null!==(s=t.alias)&&void 0!==s?s:t.name,null!==(o=t.kind)&&void 0!==o?o:ot.CompletionItemKind.Module,e,i.completionMap,{autoImportText:this._getAutoImportText(t.name,t.source,t.alias),edits:{textEdit:this._createReplaceEdits(e,void 0,t.insertionText),additionalTextEdits:t.edits}});i.autoImportInfo={indexUsed:p.indexUsed,totalTimeInMS:p.totalInMs,moduleTimeInMS:p.moduleTimeInMS,indexTimeInMS:p.indexTimeInMS,importAliasTimeInMS:p.importAliasTimeInMS,itemCount:c.length,symbolCount:p.symbolCount,indexCount:p.indexCount,importAliasCount:p.importAliasCount,additionTimeInMS:d.getDurationInMilliseconds()}}_getImportFromCompletions(e,t){if(e.isWildcardImport)return;const n=Rt(e.module);if(!n)return;const i=new $l,r=n.resolvedPaths.length>0?n.resolvedPaths[n.resolvedPaths.length-1]:"",s=this._importLookup(r);return s&&this._addSymbolsForSymbolTable(s.symbolTable,((t,n)=>t.getDeclarations().some((e=>!(0===e.type)))&&!e.imports.find((e=>e.name.value===n))),t,!0,void 0,i),n.implicitImports.forEach((n=>{e.imports.find((e=>e.name.value===n.name))||this._addNameToCompletions(n.name,ot.CompletionItemKind.Module,t,i)})),{completionMap:i}}_findMatchingKeywords(e,t){return e.filter((e=>!t||N(t,e)))}_addNamedParameters(e,t,n){const i=new Map;e.signatures.forEach((e=>{this._addNamedParametersToMap(e.type,i)})),e.callNode.arguments.forEach((e=>{e.name&&i.delete(e.name.value)})),i.forEach((e=>{if(N(t,e)){const t=e+"=";if(n.has(t))return;const i=ot.CompletionItem.create(t);i.kind=ot.CompletionItemKind.Variable;const r={workspacePath:this._workspacePath,filePath:this._filePath,position:this._position};i.data=r,i.sortText=this._makeSortText(Bl.NamedParameter,e),n.set(i)}}))}_addNamedParametersToMap(e,t){e.details.parameters.forEach((e=>{e.name&&!e.isNameSynthesized&&(Yt(e.name)||t.set(e.name,e.name))}))}_addSymbols(e,t,n){let i=e;for(;i;){let e=zs(i);if(e){for(;e;)this._addSymbolsForSymbolTable(e.symbolTable,(()=>!0),t,!1,void 0,n),e=e.parent;if(10===i.nodeType){const e=this._evaluator.getTypeOfClass(i);e&&_o(e.classType)&&e.classType.details.mro.forEach(((e,i)=>{_o(e)&&this._addSymbolsForSymbolTable(e.details.fields,(e=>!!e.isClassMember()&&e.getDeclarations().some((e=>1===e.type))),t,!1,void 0,n)}))}break}i=i.parent}}_addSymbolsForSymbolTable(e,t,n,i,r,s){e.forEach(((e,o)=>{(!e.isExternallyHidden()||e.getDeclarations().some((e=>{return t=e,n=this._filePath,Gn(t)?(null===(i=Gr(t.node))||void 0===i?void 0:i.filePath)===n:t.path===n;var t,n,i})))&&t(e,o)&&(s.has(o)||this._addSymbol(o,e,n,s,{boundObjectOrClass:r,funcParensDisabled:i}))}))}_addSymbol(e,t,n,i,r){var s,o,a;if(t.isPrivatePyTypedImport())return;let l=qo(t);if(!l){const e=t.getDeclarations();e.length>0&&(l=e[e.length-1])}if(l){let c=ot.CompletionItemKind.Variable;if(l=this._evaluator.resolveAliasDeclaration(l,!0),l&&(c=this._convertDeclarationTypeToItemKind(l),1===l.type&&r.boundObjectOrClass&&_o(r.boundObjectOrClass)&&Zs.isEnumClass(r.boundObjectOrClass)&&3===(null===(s=l.node.parent)||void 0===s?void 0:s.nodeType)&&(c=ot.CompletionItemKind.EnumMember),this._itemToResolve)){const n=this._itemToResolve.data;if(n.symbolLabel===e&&!n.autoImportText){const n=this._evaluator.getEffectiveTypeOfSymbol(t);if(n){let i,s,a;switch(l.type){case 0:case 1:case 2:{let t=!1;if(n&&Ks.isInstantiable(n)){const i=Do(n);i&&i.name===e&&(t=!0)}i=e+": "+this._evaluator.printType(n,t);break}case 3:{const t=r.boundObjectOrClass&&(Eo(n)||ko(n))?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;if(t)if(ua(t)&&r.boundObjectOrClass&&vo(r.boundObjectOrClass)){const n=this._evaluator.getGetterTypeFromProperty(t,!0)||Ys.create();i=e+": "+this._evaluator.printType(n,!1)+" (property)",s=r.boundObjectOrClass.details.fullName+"."+e+" (property)"}else ko(t)?(i=Ol(t,this._evaluator,35),s=zl(t.overloads[0])):(i=e+": "+this._evaluator.printType(t,!1),Eo(t)&&(s=zl(t)));break}case 4:case 5:i="class "+e+"()";break;case 6:if(i=e,l.path){const e=this._importLookup(l.path);e&&(a=e.docString)}break;default:i=e}if(1===l.type&&l.typeAliasName&&l.docString)a=l.docString;else if(To(n))a=Il(n,l,this._sourceMapper);else if(_o(n))a=Sl(n,l,this._sourceMapper);else if(Eo(n)){const e=r.boundObjectOrClass?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;e&&Eo(e)&&(a=Ll(e,this._sourceMapper,this._evaluator))}else if(ko(n)){const e=r.boundObjectOrClass?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;e&&ko(e)&&(a=Ul(e,this._sourceMapper,this._evaluator).find((e=>e)))}else 3===(null==l?void 0:l.type)?a=bl(l,this._sourceMapper,this._evaluator):1===(null==l?void 0:l.type)&&(a=Cl(null!==(o=t.getDeclarations().find((e=>1===e.type&&!!e.docString)))&&void 0!==o?o:l,this._sourceMapper));if(!s&&!a)return;if(this._options.format===ot.MarkupKind.Markdown){let e="";s&&(e+="```python\n"+s+"\n```\n"),s&&a&&(e+="---\n"),a&&(e+=ds(a)),e=e.trimEnd(),this._itemToResolve.documentation={kind:ot.MarkupKind.Markdown,value:e}}else if(this._options.format===ot.MarkupKind.PlainText){let e="";s&&(e+=s+"\n"),s&&a&&(e+="\n"),a&&(e+=hs(a)),e=e.trimEnd(),this._itemToResolve.documentation={kind:ot.MarkupKind.PlainText,value:e}}else E(`Unsupported markup type: ${this._options.format}`)}}}const u=r.autoImportSource?this._getAutoImportText(e,r.autoImportSource,r.autoImportAlias):void 0;this._addNameToCompletions(null!==(a=r.autoImportAlias)&&void 0!==a?a:e,c,n,i,{autoImportText:u,funcParensDisabled:r.funcParensDisabled,edits:r.edits})}else if(t.getSynthesizedType()){const t=ot.CompletionItemKind.Variable;this._addNameToCompletions(e,t,n,i,{funcParensDisabled:r.funcParensDisabled,edits:r.edits})}}_getAutoImportText(e,t,n){const i=function(e,t,n){let i;return i=t?`from ${t} import ${e}`:`import ${e}`,n&&(i=`${i} as ${n}`),i}(e,t,n);return this._options.format===ot.MarkupKind.Markdown?`\`\`\`\n${i}\n\`\`\``:this._options.format===ot.MarkupKind.PlainText?i:void E(`Unsupported markup type: ${this._options.format}`)}_addNameToCompletions(e,t,n,i,r){var s,o,a;if(!(null==r?void 0:r.autoImportText)&&!N(n,e))return;if(i.has(e,$l.matchKindAndImportText,t,null==r?void 0:r.autoImportText))return;const l=ot.CompletionItem.create(e);l.kind=t;const c={workspacePath:this._workspacePath,filePath:this._filePath,position:this._position};if((null==r?void 0:r.funcParensDisabled)&&(c.funcParensDisabled=!0),l.data=c,(null==r?void 0:r.sortText)||(null==r?void 0:r.itemDetail)?(l.sortText=r.sortText,l.detail=r.itemDetail):(null==r?void 0:r.autoImportText)?(l.sortText=this._makeSortText(Bl.AutoImport,e,r.autoImportText),c.autoImportText=r.autoImportText,l.detail="Auto-import"):t===ot.CompletionItemKind.EnumMember?l.sortText=this._makeSortText(Bl.EnumMember,e):Qt(e)?l.sortText=this._makeSortText(Bl.DunderSymbol,e):""===n&&Yt(e)?l.sortText=this._makeSortText(Bl.PrivateSymbol,e):l.sortText=this._makeSortText(Bl.NormalSymbol,e),c.symbolLabel=e,this._options.format===ot.MarkupKind.Markdown){let e="";(null==r?void 0:r.autoImportText)&&(e+=r.autoImportText,(r.typeDetail||r.documentation)&&(e+="\n\n")),(null==r?void 0:r.typeDetail)&&(e+="```python\n"+r.typeDetail+"\n```\n"),(null==r?void 0:r.documentation)&&(e+="---\n",e+=ds(r.documentation)),e=e.trimEnd(),e&&(l.documentation={kind:ot.MarkupKind.Markdown,value:e})}else if(this._options.format===ot.MarkupKind.PlainText){let e="";(null==r?void 0:r.autoImportText)&&(e+=r.autoImportText,(r.typeDetail||r.documentation)&&(e+="\n\n")),(null==r?void 0:r.typeDetail)&&(e+=r.typeDetail+"\n"),(null==r?void 0:r.documentation)&&(e+="\n"+hs(r.documentation)),e=e.trimEnd(),e&&(l.documentation={kind:ot.MarkupKind.PlainText,value:e})}else E(`Unsupported markup type: ${this._options.format}`);(null===(s=null==r?void 0:r.edits)||void 0===s?void 0:s.format)&&(l.insertTextFormat=r.edits.format),(null===(o=null==r?void 0:r.edits)||void 0===o?void 0:o.textEdit)&&(l.textEdit=r.edits.textEdit),(null===(a=null==r?void 0:r.edits)||void 0===a?void 0:a.additionalTextEdits)&&(l.additionalTextEdits=r.edits.additionalTextEdits.map((e=>({range:{start:{line:e.range.start.line,character:e.range.start.character},end:{line:e.range.end.line,character:e.range.end.character}},newText:e.replacementText}))),this._itemToResolve)&&this._itemToResolve.data.autoImportText===c.autoImportText&&(this._itemToResolve.additionalTextEdits=l.additionalTextEdits),i.set(l)}_getRecentListIndex(e,t){return jl._mostRecentCompletions.findIndex((n=>n.label===e&&n.autoImportText===t))}_makeSortText(e,t,n=""){const i=this._getRecentListIndex(t,n);return i>=0&&(e===Bl.AutoImport?e=Bl.RecentAutoImport:e===Bl.ImportModuleName?e=Bl.RecentImportModuleName:e!==Bl.Keyword&&e!==Bl.NormalSymbol&&e!==Bl.PrivateSymbol&&e!==Bl.DunderSymbol||(e=Bl.RecentKeywordOrSymbol)),this._formatInteger(e,2)+"."+this._formatInteger(i,4)+"."+t}_formatInteger(e,t){const n="0".charCodeAt(0);let i="";for(let r=0;re.value)),importedSymbols:[]},n=this._importResolver.getCompletionSuggestions(this._filePath,this._execEnv,t),i=new $l;if(!e.hasTrailingDot&&e.parent&&22===e.parent.nodeType&&e.parent.missingImportKeyword){const e="import",t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.Keyword,e),i.set(t)}return n.forEach((e=>{if(i.has(e))return;const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Module,t.sortText=this._makeSortText(Bl.ImportModuleName,e),i.set(t)})),{completionMap:i}}_isPossiblePropertyDeclaration(e){return e.isMethod&&e.node.decorators.length>0}}function zl(e){const t=e.details.parameters.filter(((e,t)=>!(e.hasDefault||0===t&&"self"===e.name)));return e.details.fullName+"("+t.map((e=>1===e.category?"*"+e.name:2===e.category?"**"+e.name:e.name)).join(", ")+")"}jl._mostRecentCompletions=[];class $l{constructor(){this._completions=new Map}get size(){return this._completions.size}set(e){const t=this._completions.get(e.label);t?Array.isArray(t)?t.push(e):this._completions.set(e.label,[t,e]):this._completions.set(e.label,e)}get(e){return this._completions.get(e)}has(e,t,n,i){const r=this._completions.get(e);return!!r&&(!t||t(r,n,i))}clear(){this._completions.clear()}delete(e){return this._completions.delete(e)}toArray(){var e;const t=[];return null===(e=this._completions)||void 0===e||e.forEach((e=>{Array.isArray(e)?e.forEach((e=>{t.push(e)})):t.push(e)})),t}static matchKindAndImportText(e,t,n){var i;return!!e&&(Array.isArray(e)?!!e.find((e=>e.kind===t&&e.data.autoImport===n)):e.kind===t&&(null===(i=e.data)||void 0===i?void 0:i.autoImport)===n)}static labelOnlyIgnoringAutoImports(e,t,n){var i;if(!e)return!1;if(Array.isArray(e)){if(e.find((e=>{var t;return!(null===(t=e.data)||void 0===t?void 0:t.autoImport)})))return!0}else if(!(null===(i=e.data)||void 0===i?void 0:i.autoImport))return!0;return!1}}class Hl{constructor(e,t,n,i,r,s,o){this._execEnvironment=e,this._importResolver=t,this._parseResults=n,this._invocationPosition=i,this._excludes=r,this._moduleSymbolMap=s,this._options=o,this._stopWatch=new Pn,this._perfInfo={indexUsed:!1,totalInMs:0,moduleTimeInMS:0,indexTimeInMS:0,importAliasTimeInMS:0,symbolCount:0,indexCount:0,importAliasCount:0},this._importStatements=tn(this._parseResults.parseTree,!0),this._perfInfo.indexUsed=!!this._options.libraryMap}getAutoImportCandidatesForAbbr(e,t,n){const i=this._getCandidates(t.importName,1,e,n).get(t.importName);return i?i.filter((e=>e.source===t.importFrom)):[]}getAutoImportCandidates(e,t,n,i){const r=[];return this._getCandidates(e,t,n,i).forEach((e=>r.push(...e))),r}getPerfInfo(){return this._perfInfo.totalInMs=this._stopWatch.getDurationInMilliseconds(),this._perfInfo}_getCandidates(e,t,n,i){const r=new Map,s=new Map;return this._addImportsFromModuleMap(e,t,n,s,r,i),this._addImportsFromLibraryMap(e,t,n,s,r,i),this._addImportsFromImportAliasMap(s,n,r,i),r}_addImportsFromLibraryMap(e,t,n,i,r,s){var o;const a=this._stopWatch.getDurationInMilliseconds();null===(o=this._options.libraryMap)||void 0===o||o.forEach(((o,a)=>{if(o.privateOrProtected)return;if(this._moduleSymbolMap.has(a))return;const l=this._isStubFileOrHasInit(this._options.libraryMap,a);this._processModuleSymbolTable(Gl(o,!0),a,e,t,l,n,i,r,s)})),this._perfInfo.indexTimeInMS=this._stopWatch.getDurationInMilliseconds()-a}_addImportsFromModuleMap(e,t,n,i,r,s){const o=this._stopWatch.getDurationInMilliseconds();this._moduleSymbolMap.forEach(((o,a)=>{const l=this._isStubFileOrHasInit(this._moduleSymbolMap,a);this._processModuleSymbolTable(o,a,e,t,l,n,i,r,s)})),this._perfInfo.moduleTimeInMS=this._stopWatch.getDurationInMilliseconds()-o}_isStubFileOrHasInit(e,t){const n=te($(t),"__init__.py"),i=n+"i";return{isStub:t.endsWith(".pyi"),hasInit:e.has(n)||e.has(i)}}_processModuleSymbolTable(e,t,n,i,r,s,o,a,l){ct(l);const[c,u,p]=this._getImportPartsForSymbols(t);if(!c)return;const d=B(c,".");if(e.forEach(((e,l,h)=>{var m;if(this._perfIndexCount(e,h),!this._shouldIncludeVariable(e,l,r.isStub,h))return;if(!this._isSimilar(n,l,i))return;if(this._containsName(l,c,a))return;if(e.importAlias)return void this._addToImportAliasMap(e.importAlias,{importParts:{symbolName:l,importName:l,importFrom:c,filePath:t,dotCount:d,moduleNameAndType:p},importGroup:u,symbol:e.symbol,kind:e.importAlias.kind,itemKind:e.importAlias.itemKind},o);const f=this._getTextEditsForAutoImportByFilePath(c,l,s,l,u,t);this._addResult(a,{name:l,alias:s,symbol:e.symbol,source:c,kind:null!==(m=e.itemKind)&&void 0!==m?m:Kl(e.kind),insertionText:f.insertionText,edits:f.edits})})),!r.isStub&&!r.hasInit)return;const h=this._getImportParts(t);h&&this._isSimilar(n,h.importName,i)&&(this._containsName(h.importName,h.importFrom,a)||this._addToImportAliasMap({modulePath:t,originalName:h.importName,kind:ot.SymbolKind.Module,itemKind:ot.CompletionItemKind.Module},{importParts:h,importGroup:u,kind:ot.SymbolKind.Module,itemKind:ot.CompletionItemKind.Module},o))}_shouldIncludeVariable(e,t,n,i){var r;return!(!n&&e.kind===ot.SymbolKind.Variable)||!(!this._options.allowVariableInAll||i||!(null===(r=e.symbol)||void 0===r?void 0:r.isInDunderAll()))||function(e){return!Yt(e)&&(Zt(e)||Xt(e))}(t)}_addImportsFromImportAliasMap(e,t,n,i){ct(i);const r=this._stopWatch.getDurationInMilliseconds();e.forEach((e=>{this._perfInfo.importAliasCount+=e.size,e.forEach((e=>{var i,r;if(t){if(this._importStatements.mapByFilePath.has(e.importParts.filePath))return;if(e.importParts.importFrom){const t=this._importStatements.orderedImports.find((t=>t.moduleName===e.importParts.importFrom));if(t&&22===t.node.nodeType&&t.node.imports.some((t=>t.name.value===e.importParts.symbolName)))return}}if(this._containsName(e.importParts.importName,e.importParts.importFrom,n))return;const s=this._getTextEditsForAutoImportByFilePath(null!==(i=e.importParts.importFrom)&&void 0!==i?i:e.importParts.importName,e.importParts.symbolName,t,e.importParts.importName,e.importGroup,e.importParts.filePath);this._addResult(n,{name:e.importParts.importName,alias:t,symbol:e.symbol,kind:null!==(r=e.itemKind)&&void 0!==r?r:Kl(e.kind),source:e.importParts.importFrom,insertionText:s.insertionText,edits:s.edits})}))})),this._perfInfo.importAliasTimeInMS=this._stopWatch.getDurationInMilliseconds()-r}_addToImportAliasMap(e,t,n){if(!n.has(e.modulePath)){const i=new Map;return i.set(e.originalName,t),void n.set(e.modulePath,i)}const i=n.get(e.modulePath);if(!i.has(e.originalName))return void i.set(e.originalName,t);const r=i.get(e.originalName);this._compareImportAliasData(r,t)<=0||i.set(e.originalName,t)}_compareImportAliasData(e,t){const n=e.importGroup-t.importGroup;if(0!==n)return n;const i=e.importParts.dotCount-t.importParts.dotCount;return 0!==i?i:e.symbol&&!t.symbol?-1:!e.symbol&&t.symbol?1:U()(e.importParts.importName,t.importParts.importName)}_getImportPartsForSymbols(e){const t=this._importStatements.mapByFilePath.get(e);if(t)return[t.moduleName,en(t),{importType:2,isLocalTypingsFile:!1,moduleName:t.moduleName}];{const t=this._getModuleNameAndTypeFromFilePath(e);return[t.moduleName,cn(t),t]}}_getImportParts(e){return function(t){const n=t.moduleName;if(!n)return;const i=n.lastIndexOf("."),r=i>0?n.substring(i+1):void 0,s=i>0?n.substring(0,i):void 0;return{symbolName:r,importName:null!=r?r:n,importFrom:s,filePath:e,dotCount:B(n,"."),moduleNameAndType:t}}("__init__"===he(de(e))?this._getModuleNameAndTypeFromFilePath($(e)):this._getModuleNameAndTypeFromFilePath(e))}_isSimilar(e,t,n){if(1===n)return e===t;if(e.length<=0||t.length<=0)return!1;if(!this._options.patternMatcher){const n="_"!==e[0]&&"_"===t[0]&&t.length>1?1:0;return e[0].toLocaleLowerCase()===t[n].toLocaleLowerCase()&&N(e,t)}return this._options.patternMatcher(e,t)}_shouldExclude(e){return this._excludes.has(e,$l.labelOnlyIgnoringAutoImports)}_containsName(e,t,n){if(this._shouldExclude(e))return!0;const i=n.get(e);return!!(null==i?void 0:i.some((e=>e.source===t)))}_getModuleNameAndTypeFromFilePath(e){return this._importResolver.getModuleNameForImport(e,this._execEnvironment)}_getTextEditsForAutoImportByFilePath(e,t,n,i,r,s){var o,a,l,c,u,p;const d=this._importStatements.mapByFilePath.get(s);if(d){if(20===d.node.nodeType){const e=null===(a=null===(o=d.subnode)||void 0===o?void 0:o.alias)||void 0===a?void 0:a.value;if(t)return{insertionText:`${null!=e?e:d.moduleName}.${t}`,edits:[]};if(e)return{insertionText:`${e}`,edits:[]}}if(t&&22===d.node.nodeType&&!d.node.isWildcardImport){const r=d.node.imports.find((e=>e.name.value===t));if(r){const e=null===(l=r.alias)||void 0===l?void 0:l.value;return{insertionText:`${null!=e?e:t}`,edits:[]}}if(e===d.moduleName)return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:rn({name:t,alias:n},d,this._parseResults)}}}else if(t){const r=this._importStatements.orderedImports.find((t=>t.moduleName===e));if(r&&22===r.node.nodeType&&!r.node.isWildcardImport){const e=r.node.imports.find((e=>e.name.value===t));if(!e)return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:rn({name:t,alias:n},r,this._parseResults)};{const t=null===(c=e.alias)||void 0===c?void 0:c.value;if(t)return{insertionText:`${t}`,edits:[]}}}const o=null===(u=this._importStatements.implicitImports)||void 0===u?void 0:u.get(s);if(o){const e=null===(p=o.alias)||void 0===p?void 0:p.value;return{insertionText:`${null!=e?e:o.name.value}.${t}`,edits:[]}}}return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:an({name:t,alias:n},this._importStatements,e,r,this._parseResults,this._invocationPosition)}}_perfIndexCount(e,t){e.symbol?this._perfInfo.symbolCount++:t&&this._perfInfo.indexCount++}_addResult(e,t){let n=e.get(t.name);n||(n=[],e.set(t.name,n)),n.push(t)}}function Gl(e,t){return{forEach(n){e.symbols.forEach((e=>{e.externallyVisible&&n({importAlias:e.alias,kind:e.kind,itemKind:e.itemKind},e.name,t)}))}}}function Kl(e){switch(e){case ot.SymbolKind.File:return ot.CompletionItemKind.File;case ot.SymbolKind.Module:case ot.SymbolKind.Namespace:return ot.CompletionItemKind.Module;case ot.SymbolKind.Package:return ot.CompletionItemKind.Folder;case ot.SymbolKind.Class:return ot.CompletionItemKind.Class;case ot.SymbolKind.Method:return ot.CompletionItemKind.Method;case ot.SymbolKind.Property:return ot.CompletionItemKind.Property;case ot.SymbolKind.Field:return ot.CompletionItemKind.Field;case ot.SymbolKind.Constructor:return ot.CompletionItemKind.Constructor;case ot.SymbolKind.Enum:return ot.CompletionItemKind.Enum;case ot.SymbolKind.Interface:return ot.CompletionItemKind.Interface;case ot.SymbolKind.Function:return ot.CompletionItemKind.Function;case ot.SymbolKind.Variable:case ot.SymbolKind.Array:return ot.CompletionItemKind.Variable;case ot.SymbolKind.String:return ot.CompletionItemKind.Constant;case ot.SymbolKind.Number:case ot.SymbolKind.Boolean:return ot.CompletionItemKind.Value;case ot.SymbolKind.Constant:case ot.SymbolKind.Null:return ot.CompletionItemKind.Constant;case ot.SymbolKind.Object:case ot.SymbolKind.Key:return ot.CompletionItemKind.Value;case ot.SymbolKind.EnumMember:return ot.CompletionItemKind.EnumMember;case ot.SymbolKind.Struct:return ot.CompletionItemKind.Struct;case ot.SymbolKind.Event:return ot.CompletionItemKind.Event;case ot.SymbolKind.Operator:return ot.CompletionItemKind.Operator;case ot.SymbolKind.TypeParameter:return ot.CompletionItemKind.TypeParameter;default:return}}class Jl{static getCallForDeclaration(e,t,n,i){if(ct(i),3===t.type||4===t.type)return{name:e,kind:Zl(t,n),uri:t.path,range:t.range,selectionRange:t.range}}static getIncomingCallsForDeclaration(e,t,n,i,r,s){ct(s);const o=new Ql(e,t,n,i,r,s).findCalls();return o.length>0?o:void 0}static getOutgoingCallsForDeclaration(e,t,n,i){let r;if(ct(i),3===e.type)r=e.node;else if(4===e.type){const t=n.getTypeForDeclaration(e);if(t&&_o(t)){const e=va(t,"__init__",14);if(e){const t=n.getTypeOfMember(e);if(t&&Eo(t)){const t=e.symbol.getDeclarations();if(t&&t.length>0){const e=t[0];3===e.type&&(r=e.node)}}}}}if(!r)return;const s=new Yl(r,t,n,i).findCalls();return s.length>0?s:void 0}static getTargetDeclaration(e,t){let n=e[0];for(const i of e)if((ns(i)||!ns(n))&&(3===i.type||4===i.type)&&(n=i,i.node===t))break;return n}}class Yl extends _r{constructor(e,t,n,i){super(),this._parseRoot=e,this._parseResults=t,this._evaluator=n,this._cancellationToken=i,this._outgoingCalls=[]}findCalls(){return this.walk(this._parseRoot),this._outgoingCalls}visitCall(e){let t;if(ct(this._cancellationToken),38===e.leftExpression.nodeType?t=e.leftExpression:35===e.leftExpression.nodeType&&(t=e.leftExpression.memberName),t){const e=this._evaluator.getDeclarationsForNameNode(t);e&&e.forEach((e=>{this._addOutgoingCallForDeclaration(t,e)}))}return!0}visitMemberAccess(e){ct(this._cancellationToken);const t=this._evaluator.getType(e.leftExpression);return t&&Jo(t,(t=>{let n=t;if(n=this._evaluator.makeTopLevelTypeVarsConcrete(n),!vo(n))return;const i=_a(n,e.memberName.value);if(!i)return;const r=this._evaluator.getTypeOfMember(i),s=i.symbol.getDeclarations();r&&vo(r)&&Zs.isPropertyClass(r)&&s.forEach((t=>{this._addOutgoingCallForDeclaration(e.memberName,t)}))})),!0}_addOutgoingCallForDeclaration(e,t){const n=this._evaluator.resolveAliasDeclaration(t,!0);if(!n)return;if(3!==n.type&&4!==n.type)return;const i={name:e.value,kind:Zl(n,this._evaluator),uri:n.path,range:n.range,selectionRange:n.range};let r=this._outgoingCalls.find((e=>e.to.uri===i.uri&&Tt(e.to.range,i.range)));r||(r={to:i,fromRanges:[]},this._outgoingCalls.push(r));const s=St(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);r.fromRanges.push(s)}}class Ql extends _r{constructor(e,t,n,i,r,s){super(),this._filePath=e,this._symbolName=t,this._declaration=n,this._parseResults=i,this._evaluator=r,this._cancellationToken=s,this._incomingCalls=[]}findCalls(){return this.walk(this._parseResults.parseTree),this._incomingCalls}visitCall(e){let t;if(ct(this._cancellationToken),38===e.leftExpression.nodeType?t=e.leftExpression:35===e.leftExpression.nodeType&&(t=e.leftExpression.memberName),t&&t.value===this._symbolName){const e=this._evaluator.getDeclarationsForNameNode(t);e&&e.map((e=>this._evaluator.resolveAliasDeclaration(e,!0))).filter((e=>void 0!==e)).some((e=>is(e,this._declaration)))&&this._addIncomingCallForDeclaration(t)}return!0}visitMemberAccess(e){if(ct(this._cancellationToken),e.memberName.value===this._symbolName){const t=this._evaluator.getType(e.leftExpression);t&&Jo(t,(t=>{let n=t;if(n=this._evaluator.makeTopLevelTypeVarsConcrete(n),!vo(n))return;const i=_a(n,e.memberName.value);if(!i)return;const r=this._evaluator.getTypeOfMember(i),s=i.symbol.getDeclarations();r&&s.some((e=>is(e,this._declaration)))&&this._addIncomingCallForDeclaration(e.memberName)}))}return!0}_addIncomingCallForDeclaration(e){const t=Rr(e);if(!t)return;let n;if(36===t.nodeType){const e=St(0,0,this._parseResults.tokenizerOutput.lines),t=de(this._filePath);n={name:`(module) ${t}`,kind:ot.SymbolKind.Module,uri:this._filePath,range:e,selectionRange:e}}else if(30===t.nodeType){const e=St(t.start,t.start+t.length,this._parseResults.tokenizerOutput.lines);n={name:"(lambda)",kind:ot.SymbolKind.Function,uri:this._filePath,range:e,selectionRange:e}}else{const e=St(t.name.start,t.name.start+t.name.length,this._parseResults.tokenizerOutput.lines);n={name:t.name.value,kind:ot.SymbolKind.Function,uri:this._filePath,range:e,selectionRange:e}}let i=this._incomingCalls.find((e=>e.from.uri===n.uri&&Tt(e.from.range,n.range)));i||(i={from:n,fromRanges:[]},this._incomingCalls.push(i));const r=St(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);i.fromRanges.push(r)}}function Zl(e,t){let n;switch(e.type){case 4:case 5:n=ot.SymbolKind.Class;break;case 3:if(e.isMethod){const i=t.getTypeForDeclaration(e);n=i&&ua(i)?ot.SymbolKind.Property:ot.SymbolKind.Method}else n=ot.SymbolKind.Function;break;default:n=ot.SymbolKind.Function}return n}class Xl{constructor(e,t,n,i,r){this.requiresGlobalSearch=e,this.nodeAtOffset=t,this.symbolName=n,this.declarations=i,this._reporter=r,this._locations=[]}get locations(){return this._locations}addLocations(...e){0!==e.length&&(this._reporter&&this._reporter(e),this._locations.push(...e))}}class ec{constructor(e,t,n,i,r,s){this._parseResults=e,this._filePath=t,this._referencesResult=n,this._includeDeclaration=i,this._evaluator=r,this._cancellationToken=s}findReferences(e=this._parseResults.parseTree){const t=new Ml(this._referencesResult.symbolName,this._referencesResult.declarations,this._evaluator,this._cancellationToken,e,!0),n=[];for(const e of t.collect())(this._includeDeclaration||e.node!==this._referencesResult.nodeAtOffset)&&n.push({path:this._filePath,range:{start:It(e.range.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(e.range),this._parseResults.tokenizerOutput.lines)}});return n}}class tc{static getDeclarationForNode(e,t,n,i,r,s){ct(s);const o=Ml.getDeclarationsForNode(n,i,!1,s,e);if(0===o.length)return;const a=o.some((e=>{var n,i;if(e.path!==t)return!0;const r=Ar(e.node);return 36===r.nodeType||10===r.nodeType||35===(null===(i=null===(n=e.node)||void 0===n?void 0:n.parent)||void 0===i?void 0:i.nodeType)&&e.node===e.node.parent.memberName}));return new Xl(a,n,n.value,o,r)}static getDeclarationForPosition(e,t,n,i,r,s,o){ct(o);const a=xt(i,t.tokenizerOutput.lines);if(void 0===a)return;const l=Tr(t.parseTree,a);return void 0!==l&&38===l.nodeType?this.getDeclarationForNode(e,n,l,r,s,o):void 0}static addReferences(e,t,n,i,r,s){const o=new ec(e,t,n,i,r,s);n.addLocations(...o.findReferences())}}var nc,ic,rc,sc,oc,ac,lc,cc,uc,pc,dc,hc,mc,fc;!function(e){e[e.File=0]="File",e[e.Folder=1]="Folder",e[e.Symbol=2]="Symbol"}(nc||(nc={}));class gc{constructor(e,t,n,i,r,s,o,a,l){if(this._fs=e,this._evaluator=t,this._moduleFilePath=n,this._moduleNameAndType=r,this._newModuleNameAndType=s,this._type=o,this._declarations=a,this._token=l,this._results=new Map,this._aliasIntroduced=new Set,this._newModuleFilePath=ee(i),this._moduleNames=this._moduleName.split("."),this._newModuleNames=this._newModuleName.split("."),this._moduleNames.length!==this._newModuleNames.length)return void(this._onlyNameChanged=!1);let c=0;for(c=0;ce.realCasePath(t)));return 3===i.length&&".."===i[1]&&".."!==i[2]?"Renamed":"Moved"}(e.fileSystem,i,r))return;let o=te(i,"__init__.pyi");if(!e.fileSystem.existsSync(o)&&(o=te(i,"__init__.py"),!e.fileSystem.existsSync(o)))return;return this._create(e,t,n,o,te(r,de(o)),nc.Folder,s)}}}static createForSymbol(e,t,n,i,r,s,o){if(!e.fileSystem.existsSync(i))return;const a=s.filter((e=>zn(e)||jn(e)||Hn(e)));return 0!==a.length?this._create(e,t,n,i,r,nc.Symbol,a,o):void 0}static _create(e,t,n,i,r,s,o,a){const l=t.findExecEnvironment(i),c=e.getModuleNameForImport(i,l);if(!c.moduleName)return;const u=e.getModuleNameForImport(r,l);if(!u.moduleName)return;a=ot.CancellationToken.is(o)?o:a;const p=ot.CancellationToken.is(o)?[]:o;return 0===p.length&&(p.push(cs(i)),el(i)&&(e.resolveImport(i,l,vn(c.moduleName)),e.getSourceFilesFromStub(i,l,!1).forEach((e=>p.push(cs(e)))))),new gc(e.fileSystem,n,i,r,c,u,s,p,a)}renameReferences(e,t){switch(this._type){case nc.Folder:return this._renameFolderReferences(e,t);case nc.File:return this._renameModuleReferences(e,t);case nc.Symbol:return this._updateSymbolReferences(e,t);default:return k(this._type,`${this._type} is unknown`)}}_updateSymbolReferences(e,t){var n,i,r,s;const o=new Ml(null!==(n=as(this._declarations[0]))&&void 0!==n?n:"",this._declarations,this._evaluator,this._token,t.parseTree,!0),a=tn(t.parseTree,!0),l=a.orderedImports.find((e=>e.moduleName===this._newModuleName)),c=new Set,u=new Map;for(const n of o.collect()){const o=n.node;if(49===o.nodeType)continue;if(Qr(o)){const n=null===(i=o.parent)||void 0===i?void 0:i.parent,s=this._getNewModuleName(e,n.module.leadingDots>0,!1);if(1===n.imports.length)this._addResultWithTextRange(e,n.module,t,s);else{const i=o.parent;this._addFromImportNameDeletion(e,t,c,n.imports,i);const l={name:i.name.value,alias:null===(r=i.alias)||void 0===r?void 0:r.value};this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,n,t,c,a,s,[l]))}continue}const l=ts(o);if(l===o||35!==l.nodeType)continue;const p=35===l.leftExpression.nodeType?l.leftExpression.memberName:38===l.leftExpression.nodeType?l.leftExpression:void 0;if(!p)continue;const d=null===(s=this._evaluator.getDeclarationsForNameNode(p))||void 0===s?void 0:s.filter((e=>Gn(e)&&(21===e.node.nodeType||23===e.node.nodeType)));d&&0!==d.length&&h(u,d[0].node,(()=>[])).push(l)}for(const[n,i]of u){let r;if(this._canReplaceImportName(t,n,i)){const i=this._getReferenceModuleName(a,l);if(21===n.nodeType)i?(r=i,this._addImportNameDeletion(e,t,c,n.parent.list,n)):(r=n.alias?n.alias.value:this._newModuleName,this._addResultWithTextRange(e,n.module,t,this._newModuleName));else if(i)r=i,this._addFromImportNameDeletion(e,t,c,n.parent.imports,n);else{const i=n.parent,s=this._getNewModuleName(e,i.module.leadingDots>0,!0);r=n.alias?n.alias.value:this._newLastModuleName,this._addResultWithTextRange(e,i.module,t,s),this._addResultWithTextRange(e,n.name,t,this._newLastModuleName)}}else{const n=this._getReferenceModuleName(a,l);n?r=n:(r=this._newModuleName,this._addResultEdits(an([],a,this._newModuleName,cn(this._newModuleNameAndType),t,It(t.parseTree.length,t.tokenizerOutput.lines)).map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})))))}for(const n of i)this._addResultWithTextRange(e,n.leftExpression,t,r)}}_getReferenceModuleName(e,t){var n,i;if(t&&20===t.node.nodeType)return(null===(n=t.subnode)||void 0===n?void 0:n.alias)?t.subnode.alias.value:this._newModuleName;if(null===(i=e.implicitImports)||void 0===i?void 0:i.has(this._newModuleFilePath)){const t=e.implicitImports.get(this._newModuleFilePath);return t.alias?t.alias.value:t.name.value}}_canReplaceImportName(e,t,n){var i;const r=null!==(i=t.alias)&&void 0!==i?i:21===t.nodeType?t.module.nameParts[t.module.nameParts.length-1]:t.name,s=Ml.getDeclarationsForNode(r,this._evaluator,!1,this._token);if(0===s.length)return!1;const o=new Ml(r.value,s,this._evaluator,this._token,e.parseTree,!0);for(const e of o.collect())if(!(Kr(e.node)||Jr(e.node)||Yr(e.node)||Qr(e.node)||Zr(e.node)||n.some((t=>dt.containsRange(t,e.node)))))return!1;return!0}_renameFolderReferences(e,t){const n=new Ml(this.lastModuleName,this._declarations,this._evaluator,this._token,t.parseTree,!0);for(const i of n.collect())this._addResultWithTextRange(e,i.range,t,this._newLastModuleName)}_renameModuleReferences(e,t){const n=new Ml(this.lastModuleName,this._declarations,this._evaluator,this._token,t.parseTree,!0),i=new Set,r=n.collect();this._updateModuleReferences(e,t,i,r),this._updateRelativeModuleNamePath(e,t,i,r)}_updateRelativeModuleNamePath(e,t,n,i){if(e!==this._moduleFilePath)return;let r;for(const s of this._getNewRelativeModuleNamesForFileMoved(e,yc.collect(t.parseTree).filter((e=>!i.some((t=>dt.containsRange(e.parent,t.node))))))){if(this._addResultWithTextRange(e,s.moduleName,t,s.newModuleName),!s.itemsToMove)continue;const i=s.moduleName.parent;for(const r of s.itemsToMove)this._addFromImportNameDeletion(e,t,n,i.imports,r);r=null!=r?r:tn(t.parseTree,!1),this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,i,t,n,r,un(this._fs,this._newModuleFilePath,this._newModuleFilePath,!1,!0),s.itemsToMove.map((e=>{var t;return{name:e.name.value,alias:null===(t=e.alias)||void 0===t?void 0:t.value}}))))}}_updateModuleReferences(e,t,n,i){var r,s,o,a,l;let c;for(const u of i){const p=u.node;if(49===p.nodeType){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(Kr(p)){if(!Xr(p))continue;const n=es(p,37);if(1===n.nameParts.length&&21===(null===(r=n.parent)||void 0===r?void 0:r.nodeType)&&!n.parent.alias&&this._newModuleNames.length>1){this._aliasIntroduced.add(n.parent),this._addResultWithTextRange(e,n,t,`${this._newModuleName} as ${this._newLastModuleName}`);continue}this._addResultWithTextRange(e,n,t,this._newModuleName);continue}if(Jr(p)){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(Yr(p)){if(!Xr(p))continue;const r=es(p,37),s=r.parent,o=[],a=[];for(const e of s.imports)this._isExportedSymbol(e.name)?o.push(e):a.push(e);if(0===a.length){this._addResultWithTextRange(e,r,t,this._getNewModuleName(e,r.leadingDots>0,!1));continue}if(0===o.length)continue;if(s.module.leadingDots>0)for(const n of this._getNewRelativeModuleNamesForFileMoved(e,[s.module]))this._addResultWithTextRange(e,n.moduleName,t,n.newModuleName);for(const i of o)this._addFromImportNameDeletion(e,t,n,s.imports,i);c=null!=c?c:tn(t.parseTree,!1),this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,s,t,n,c,this._newModuleName,o.map((e=>{var t;return{name:i.findIndex((t=>t.node===e.name))>=0?this._newLastModuleName:e.name.value,alias:i.findIndex((t=>t.node===e.alias))>=0?this._newLastModuleName:null===(t=e.alias)||void 0===t?void 0:t.value}}))));continue}if(Qr(p)){if(n.has(p.id))continue;const i=null===(s=p.parent)||void 0===s?void 0:s.parent,r=this._getNewModuleName(e,i.module.leadingDots>0,!0);if(this._isExportedSymbol(p)){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(1===i.imports.length)this._addResultWithTextRange(e,i.module,t,r),this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);else{const s=p.parent;if(i.module.leadingDots>0)for(const n of this._getNewRelativeModuleNamesForFileMoved(e,[i.module]))this._addResultWithTextRange(e,n.moduleName,t,n.newModuleName);this._addFromImportNameDeletion(e,t,n,i.imports,s),c=null!=c?c:tn(t.parseTree,!1);const l={name:this._newLastModuleName,alias:(null===(o=s.alias)||void 0===o?void 0:o.value)===this.lastModuleName?this._newLastModuleName:null===(a=s.alias)||void 0===a?void 0:a.value};this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,i,t,n,c,r,[l]))}continue}if(Zr(p)){if(n.has(p.id))continue;this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}const d=Ml.getDeclarationsForNode(p,this._evaluator,!1,this._token).filter((e=>Gn(e)));if(this._onlyNameChanged)this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);else if(null==d?void 0:d.some((e=>!(e.usesLocalName||e.node&&21!==e.node.nodeType||this._aliasIntroduced.has(e.node))))){const n=ts(p);if(35!==(null===(l=n.parent)||void 0===l?void 0:l.nodeType)){this._addResultWithTextRange(e,n,t,this._newModuleName);continue}const i=this._evaluator.getDeclarationsForNameNode(n.parent.memberName);if(!i||0===i.length)continue;this._addResultWithTextRange(e,n,t,this._newModuleName)}else u.node.value===this._newLastModuleName||this._addResultWithTextRange(e,u.range,t,this._newLastModuleName)}}_getNewRelativeModuleNamesForFileMoved(e,t){if(e!==this._moduleFilePath)return[];const n="__init__"===he(de(e)),i=$(e),r=[];for(const e of t){if(0===e.leadingDots)continue;const t=this._getNewModuleNameInfoForFileMoved(e,n,i);if(!t)continue;const s=un(this._fs,t.src,t.dest,!1,!0);r.push({moduleName:e,newModuleName:s,itemsToMove:t.itemsToMove})}return r}_getNewModuleNameInfoForFileMoved(e,t,n){const i=Rt(e);if(!i)return;let r=i.resolvedPaths[i.resolvedPaths.length-1];if(!r){if(0!==e.nameParts.length)return;{const t=pn(n,e.leadingDots);if(!t)return;r=te(t,"__init__.py")}}if(this._moduleFilePath!==r||!t)return{src:this._newModuleFilePath,dest:r};const s=[],o=[];for(const t of e.parent.imports)this._isExportedSymbol(t.name)?s.push(t):o.push(t);return 0===o.length?{src:this._newModuleFilePath,dest:this._newModuleFilePath}:0===s.length?{src:this._newModuleFilePath,dest:this._moduleFilePath}:{src:this._newModuleFilePath,dest:this._moduleFilePath,itemsToMove:[...s]}}_isExportedSymbol(e){const t=this._evaluator.getDeclarationsForNameNode(e);return!!t&&!t.some((e=>Gn(e)&&e.submoduleFallback))}_getNewModuleName(e,t,n){const i=e===this._moduleFilePath?this._newModuleFilePath:e,r=t?un(this._fs,i,this._newModuleFilePath,n,!0):this._newModuleName;if(n&&r.endsWith(this._newLastModuleName)){const e=r===this._newLastModuleName?0:r.length>this._newLastModuleName.length+1&&"."!==r[r.length-this._newLastModuleName.length-2]?1:0,t=r.length-this._newLastModuleName.length-e,n=r.substr(0,t);return n.length>0?n:"."}return r}getEdits(){const e=[];return this._results.forEach((t=>e.push(...t))),e}get lastModuleName(){return this._moduleNames[this._moduleNames.length-1]}get _moduleName(){return this._moduleNameAndType.moduleName}get _newLastModuleName(){return this._newModuleNames[this._newModuleNames.length-1]}get _newModuleName(){return this._newModuleNameAndType.moduleName}_addImportNameDeletion(e,t,n,i,r){this._addImportNameDeletionInternal(e,t,n,i,r,20),n.add(r.module.id),r.module.nameParts.forEach((e=>n.add(e.id))),r.alias&&n.add(r.alias.id)}_addFromImportNameDeletion(e,t,n,i,r){this._addImportNameDeletionInternal(e,t,n,i,r,22),n.add(r.name.id),r.alias&&n.add(r.alias.id)}_addImportNameDeletionInternal(e,t,n,i,r,s){const o=function(e,t){let n;if(1===e.length&&0===t)n=e[0];else if(t===e.length-1){const i=dt.getEnd(e[t-1]);n={start:i,length:dt.getEnd(e[t])-i}}else{const i=e[t].start;n={start:i,length:e[t+1].start-i}}return n}(i,i.findIndex((e=>e===r)));this._addResultWithTextRange(e,o,t,""),n.add(r.id);let a=0;for(a=i.length-1;a>=0&&n.has(i[a].id);a--);if(-1===a){const n=es(r,s);n&&this._addResultWithRange(e,function(e,t){const n=wt(e,t.lines),i=function(e,t,n){const i=n.tokens.getItemAtPosition(t);if(i<0)return;let r=i;for(;r=0&&athis._addResultWithRange(e.filePath,e.range,e.replacementText)))}_getDeletionsForSpan(e,t){var n;return r(e)&&(e=null!==(n=this._results.get(e))&&void 0!==n?n:[]),e.filter((e=>""===e.replacementText&&yt(e.range,t)))}_removeEdits(e,t){var n;r(e)&&(e=null!==(n=this._results.get(e))&&void 0!==n?n:[]),m(e,(e=>t.findIndex((t=>t===e))>=0))}_addResultWithRange(e,t,n){const i=h(this._results,e,(()=>[]));if(""===n){const e=this._getDeletionsForSpan(i,t);e.length>0&&(this._removeEdits(i,e),bt(t,e.map((e=>e.range))))}i.some((e=>Tt(e.range,t)&&e.replacementText===n))||i.push({filePath:e,range:t,replacementText:n})}_getTextEditsForNewOrExistingFromImport(e,t,n,i,r,s,o){const a=r.orderedImports.find((e=>e.moduleName===s));if(a&&22===a.node.nodeType&&!a.node.isWildcardImport){const r=rn(o,a,n);if(a.node!==t)return r.map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})));if(this._onlyNameChanged&&1===o.length&&1===r.length){const s=this._getDeletionsForSpan(e,r[0].range);if(0===s.length)return[{filePath:e,range:r[0].range,replacementText:r[0].replacementText}];{const r=o[0].alias===this._newLastModuleName?this.lastModuleName:o[0].alias,a=t.imports.find((e=>{var t;return e.name.value===this.lastModuleName&&(null===(t=e.alias)||void 0===t?void 0:t.value)===r}));if(a)return this._removeEdits(e,s),a.alias&&i.delete(a.alias.id),[{filePath:e,range:wt(a.name,n.tokenizerOutput.lines),replacementText:this._newLastModuleName}]}}}return an(o,r,s,cn(this._newModuleNameAndType),n,It(n.parseTree.length,n.tokenizerOutput.lines)).map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})))}}class yc extends _r{constructor(){super(...arguments),this._result=[]}walk(e){yr(e)||super.walk(e)}visitModuleName(e){return this._result.push(e),!1}static collect(e){const t=new yc;return t.walk(e),t._result}}class _c{constructor(){this._paths=[]}appendPath(e){this._paths.push(e)}getPaths(){return this._paths}normalizeOrder(){let e=0;this._paths.forEach(((t,n)=>{te?i=r:n=r+1}let r=n-1;return{line:r,character:e-t[r]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],i=e.line+1n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function Sc(e){const t=Ic(e.range);return t!==e.range?{newText:e.newText,range:t}:e}!function(e){e.create=function(e,t,n,i){return new vc(e,t,n,i)},e.update=function(e,t,n){if(e instanceof vc)return e.update(t,n),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},e.applyEdits=function(e,t){let n=e.getText(),i=Tc(t.map(Sc),((e,t)=>{let n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),r=0;const s=[];for(const t of i){let i=e.offsetAt(t.range.start);if(ir&&s.push(n.substring(r,i)),t.newText.length&&s.push(t.newText),r=e.offsetAt(t.range.end)}return s.push(n.substr(r)),s.join("")}}(ic||(ic={})),function(e){e.Darwin="Darwin",e.Windows="Windows",e.Linux="Linux"}(rc||(rc={}));class xc{constructor(e,t,n,i){this.extraPaths=[],this.root=e||void 0,this.pythonVersion=t||Ae,this.pythonPlatform=n,this.extraPaths=[...null!=i?i:[]]}}function Cc(e=!1){const t=[$o.strictListInference,$o.strictSetInference,$o.strictDictionaryInference,$o.strictParameterNoneValue];return e&&t.push($o.enableTypeIgnoreComments),t}function wc(){return[$o.reportGeneralTypeIssues,$o.reportPropertyTypeMismatch,$o.reportFunctionMemberAccess,$o.reportMissingImports,$o.reportMissingModuleSource,$o.reportMissingTypeStubs,$o.reportImportCycles,$o.reportUnusedImport,$o.reportUnusedClass,$o.reportUnusedFunction,$o.reportUnusedVariable,$o.reportDuplicateImport,$o.reportWildcardImportFromLibrary,$o.reportOptionalSubscript,$o.reportOptionalMemberAccess,$o.reportOptionalCall,$o.reportOptionalIterable,$o.reportOptionalContextManager,$o.reportOptionalOperand,$o.reportTypedDictNotRequiredAccess,$o.reportUntypedFunctionDecorator,$o.reportUntypedClassDecorator,$o.reportUntypedBaseClass,$o.reportUntypedNamedTuple,$o.reportPrivateUsage,$o.reportPrivateImportUsage,$o.reportConstantRedefinition,$o.reportIncompatibleMethodOverride,$o.reportIncompatibleVariableOverride,$o.reportInconsistentConstructor,$o.reportOverlappingOverload,$o.reportMissingSuperCall,$o.reportUninitializedInstanceVariable,$o.reportInvalidStringEscapeSequence,$o.reportUnknownParameterType,$o.reportUnknownArgumentType,$o.reportUnknownLambdaType,$o.reportUnknownVariableType,$o.reportUnknownMemberType,$o.reportMissingParameterType,$o.reportMissingTypeArgument,$o.reportInvalidTypeVarUse,$o.reportCallInDefaultInitializer,$o.reportUnnecessaryIsInstance,$o.reportUnnecessaryCast,$o.reportUnnecessaryComparison,$o.reportAssertAlwaysTrue,$o.reportSelfClsParameterName,$o.reportImplicitStringConcatenation,$o.reportUndefinedVariable,$o.reportUnboundVariable,$o.reportInvalidStubStatement,$o.reportIncompleteStub,$o.reportUnsupportedDunderAll,$o.reportUnusedCallResult,$o.reportUnusedCoroutine,$o.reportUnnecessaryTypeIgnoreComment,$o.reportMatchNotExhaustive,$o.reportMicrobitVersionApiUnsupported]}class Ec{constructor(e,t){this.include=[],this.exclude=[],this.ignore=[],this.strict=[],this.autoImportCompletions=!0,this.indexing=!1,this.logTypeEvaluationTime=!1,this.typeEvaluationTimeThreshold=50,this.initializedFromJson=!1,this.analyzeUnannotatedFunctions=!0,this.executionEnvironments=[],this.projectRoot=e,this.typeCheckingMode=t,this.diagnosticRuleSet=Ec.getDiagnosticRuleSet(t)}static getDiagnosticRuleSet(e){return"strict"===e?{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!1,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!0,strictSetInference:!0,strictDictionaryInference:!0,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"error",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"error",reportImportCycles:"error",reportUnusedImport:"error",reportUnusedClass:"error",reportUnusedFunction:"error",reportUnusedVariable:"error",reportDuplicateImport:"error",reportWildcardImportFromLibrary:"error",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"error",reportUntypedClassDecorator:"error",reportUntypedBaseClass:"error",reportUntypedNamedTuple:"error",reportPrivateUsage:"error",reportPrivateImportUsage:"error",reportConstantRedefinition:"error",reportIncompatibleMethodOverride:"error",reportIncompatibleVariableOverride:"error",reportInconsistentConstructor:"error",reportOverlappingOverload:"error",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"error",reportUnknownParameterType:"error",reportUnknownArgumentType:"error",reportUnknownLambdaType:"error",reportUnknownVariableType:"error",reportUnknownMemberType:"error",reportMissingParameterType:"error",reportMissingTypeArgument:"error",reportInvalidTypeVarUse:"error",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"error",reportUnnecessaryCast:"error",reportUnnecessaryComparison:"error",reportAssertAlwaysTrue:"error",reportSelfClsParameterName:"error",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"error",reportIncompleteStub:"error",reportUnsupportedDunderAll:"error",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"error",reportMicrobitVersionApiUnsupported:"warning"}:"off"===e?{printUnknownAsAny:!0,omitTypeArgsIfAny:!0,omitUnannotatedParamType:!0,omitConditionalConstraint:!0,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"none",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"warning",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"none",reportOptionalSubscript:"none",reportOptionalMemberAccess:"none",reportOptionalCall:"none",reportOptionalIterable:"none",reportOptionalContextManager:"none",reportOptionalOperand:"none",reportTypedDictNotRequiredAccess:"none",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"none",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"none",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"none",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"none",reportSelfClsParameterName:"none",reportImplicitStringConcatenation:"none",reportUnboundVariable:"none",reportUndefinedVariable:"warning",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"none",reportUnusedCallResult:"none",reportUnusedCoroutine:"none",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none",reportMicrobitVersionApiUnsupported:"none"}:{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!0,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"warning",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"error",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"warning",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"warning",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"warning",reportSelfClsParameterName:"warning",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"warning",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none",reportMicrobitVersionApiUnsupported:"warning"}}getDefaultExecEnvironment(){return new xc(this.projectRoot,this.defaultPythonVersion,this.defaultPythonPlatform,this.defaultExtraPaths)}findExecEnvironment(e){var t;return null!==(t=this.executionEnvironments.find((t=>{const n=le(me(te(this.projectRoot,t.root)));return e.startsWith(n)})))&&void 0!==t?t:this.getDefaultExecEnvironment()}getExecutionEnvironments(){return this.executionEnvironments.length>0?this.executionEnvironments:[this.getDefaultExecEnvironment()]}initializeFromJson(e,t,n,i,r,s=!1){let o;this.initializedFromJson=!0,s||(this.include=[],void 0===e.include)||(Array.isArray(e.include)?e.include.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "include" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "include" array because it is not relative.`):this.include.push(be(this.projectRoot,e))})):n.error('Config "include" entry must must contain an array.')),this.exclude=[],void 0!==e.exclude&&(Array.isArray(e.exclude)?e.exclude.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "exclude" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "exclude" array because it is not relative.`):this.exclude.push(be(this.projectRoot,e))})):n.error('Config "exclude" entry must contain an array.')),this.ignore=[],void 0!==e.ignore&&(Array.isArray(e.ignore)?e.ignore.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "ignore" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "ignore" array because it is not relative.`):this.ignore.push(be(this.projectRoot,e))})):n.error('Config "ignore" entry must contain an array.')),this.strict=[],void 0!==e.strict&&(Array.isArray(e.strict)?e.strict.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "strict" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "strict" array because it is not relative.`):this.strict.push(be(this.projectRoot,e))})):n.error('Config "strict" entry must contain an array.')),void 0!==e.typeCheckingMode&&("off"===e.typeCheckingMode||"basic"===e.typeCheckingMode||"strict"===e.typeCheckingMode?o=e.typeCheckingMode:n.error('Config "typeCheckingMode" entry must contain "off", "basic", or "strict".')),void 0!==e.useLibraryCodeForTypes&&("boolean"==typeof e.useLibraryCodeForTypes?this.useLibraryCodeForTypes=e.useLibraryCodeForTypes:n.error('Config "useLibraryCodeForTypes" entry must be true or false.')),this.typeCheckingMode=o||t;const a=Ec.getDiagnosticRuleSet(this.typeCheckingMode);if(this.diagnosticRuleSet={...a},this.applyDiagnosticOverrides(r),Cc(!0).forEach((t=>{this.diagnosticRuleSet[t]=this._convertBoolean(e[t],t,this.diagnosticRuleSet[t])})),wc().forEach((t=>{this.diagnosticRuleSet[t]=this._convertDiagnosticLevel(e[t],t,this.diagnosticRuleSet[t])})),this.venvPath=void 0,void 0!==e.venvPath&&("string"!=typeof e.venvPath?n.error('Config "venvPath" field must contain a string.'):this.venvPath=me(te(this.projectRoot,e.venvPath))),this.venv=void 0,void 0!==e.venv&&("string"!=typeof e.venv?n.error('Config "venv" field must contain a string.'):this.venv=e.venv),void 0!==e.extraPaths&&(this.defaultExtraPaths=[],Array.isArray(e.extraPaths)?e.extraPaths.forEach(((e,t)=>{"string"!=typeof e?n.error(`Config "extraPaths" field ${t} must be a string.`):this.defaultExtraPaths.push(me(te(this.projectRoot,e)))})):n.error('Config "extraPaths" field must contain an array.')),void 0!==e.pythonVersion)if("string"==typeof e.pythonVersion){const t=Re(e.pythonVersion);t?this.defaultPythonVersion=t:n.error('Config "pythonVersion" field contains unsupported version.')}else n.error('Config "pythonVersion" field must contain a string.');this.ensureDefaultPythonVersion(i,n),void 0!==e.pythonPlatform&&("string"!=typeof e.pythonPlatform?n.error('Config "pythonPlatform" field must contain a string.'):this.defaultPythonPlatform=e.pythonPlatform),this.ensureDefaultPythonPlatform(i,n),this.typeshedPath=void 0,void 0!==e.typeshedPath&&("string"!=typeof e.typeshedPath?n.error('Config "typeshedPath" field must contain a string.'):this.typeshedPath=e.typeshedPath?me(te(this.projectRoot,e.typeshedPath)):""),this.stubPath=void 0,void 0!==e.typingsPath&&("string"!=typeof e.typingsPath?n.error('Config "typingsPath" field must contain a string.'):(n.error('Config "typingsPath" is now deprecated. Please, use stubPath instead.'),this.stubPath=me(te(this.projectRoot,e.typingsPath)))),void 0!==e.stubPath&&("string"!=typeof e.stubPath?n.error('Config "stubPath" field must contain a string.'):this.stubPath=me(te(this.projectRoot,e.stubPath))),void 0!==e.verboseOutput&&("boolean"!=typeof e.verboseOutput?n.error('Config "verboseOutput" field must be true or false.'):this.verboseOutput=e.verboseOutput),void 0!==e.useLibraryCodeForTypes&&("boolean"!=typeof e.useLibraryCodeForTypes?n.error('Config "useLibraryCodeForTypes" field must be true or false.'):this.useLibraryCodeForTypes=e.useLibraryCodeForTypes),this.executionEnvironments=[],void 0!==e.executionEnvironments&&(Array.isArray(e.executionEnvironments)?e.executionEnvironments.forEach(((e,t)=>{const i=this._initExecutionEnvironmentFromJson(e,t,n);i&&this.executionEnvironments.push(i)})):n.error('Config "executionEnvironments" field must contain an array.')),void 0!==e.autoImportCompletions&&("boolean"!=typeof e.autoImportCompletions?n.error('Config "autoImportCompletions" field must be true or false.'):this.autoImportCompletions=e.autoImportCompletions),void 0!==e.indexing&&("boolean"!=typeof e.indexing?n.error('Config "indexing" field must be true or false.'):this.indexing=e.indexing),void 0!==e.logTypeEvaluationTime&&("boolean"!=typeof e.logTypeEvaluationTime?n.error('Config "logTypeEvaluationTime" field must be true or false.'):this.logTypeEvaluationTime=e.logTypeEvaluationTime),void 0!==e.typeEvaluationTimeThreshold&&("number"!=typeof e.typeEvaluationTimeThreshold?n.error('Config "typeEvaluationTimeThreshold" field must be a number.'):this.typeEvaluationTimeThreshold=e.typeEvaluationTimeThreshold)}ensureDefaultPythonPlatform(e,t){void 0===this.defaultPythonPlatform&&(this.defaultPythonPlatform=e.getPythonPlatform(),void 0!==this.defaultPythonPlatform&&t.info(`Assuming Python platform ${this.defaultPythonPlatform}`))}ensureDefaultPythonVersion(e,t){if(void 0!==this.defaultPythonVersion)return;const n=[];this.defaultPythonVersion=e.getPythonVersion(this.pythonPath,n),void 0!==this.defaultPythonVersion&&t.info(`Assuming Python version ${Pe(this.defaultPythonVersion)}`);for(const e of n)t.info(e)}ensureDefaultExtraPaths(e,t,n){const i=[];if(t){const t=ee(this.projectRoot,"src");e.existsSync(t)&&!e.existsSync(ee(t,"__init__.py"))&&i.push(t)}if(n&&n.length>0)for(const t of n){const n=ee(this.projectRoot,t);i.push(n),fe(e,n)&&i.push(...yn(e,n))}i.length>0&&(this.defaultExtraPaths=i)}applyDiagnosticOverrides(e){if(e)for(const t of wc()){const n=e[t];void 0!==n&&(this.diagnosticRuleSet[t]=n)}}_convertBoolean(e,t,n){return void 0===e?n:"boolean"==typeof e?!!e:(console.log(`Config "${t}" entry must be true or false.`),n)}_convertDiagnosticLevel(e,t,n){return void 0===e?n:"boolean"==typeof e?e?"error":"none":"string"!=typeof e||"error"!==e&&"warning"!==e&&"information"!==e&&"none"!==e?(console.log(`Config "${t}" entry must be true, false, "error", "warning", "information" or "none".`),n):e}_initExecutionEnvironmentFromJson(e,t,n){try{const i=new xc(this.projectRoot,this.defaultPythonVersion,this.defaultPythonPlatform,this.defaultExtraPaths);if(e.root&&"string"==typeof e.root?i.root=me(te(this.projectRoot,e.root)):n.error(`Config executionEnvironments index ${t}: missing root value.`),e.extraPaths&&(Array.isArray(e.extraPaths)?e.extraPaths.forEach(((e,r)=>{"string"!=typeof e?n.error(`Config executionEnvironments index ${t}: extraPaths field ${r} must be a string.`):i.extraPaths.push(me(te(this.projectRoot,e)))})):n.error(`Config executionEnvironments index ${t}: extraPaths field must contain an array.`)),e.pythonVersion)if("string"==typeof e.pythonVersion){const r=Re(e.pythonVersion);r?i.pythonVersion=r:n.warn(`Config executionEnvironments index ${t} contains unsupported pythonVersion.`)}else n.error(`Config executionEnvironments index ${t} pythonVersion must be a string.`);return e.pythonPlatform&&("string"==typeof e.pythonPlatform?i.pythonPlatform=e.pythonPlatform:n.error(`Config executionEnvironments index ${t} pythonPlatform must be a string.`)),i}catch{n.error(`Config executionEnvironments index ${t} is not accessible.`)}}}class kc{constructor(e){this._diagnosticList=e||[],this._diagnosticMap=new Map}fetchAndClear(){const e=this._diagnosticList;return this._diagnosticList=[],this._diagnosticMap.clear(),e}addError(e,t){return this.addDiagnostic(new nl(0,e,t))}addWarning(e,t){return this.addDiagnostic(new nl(1,e,t))}addInformation(e,t){return this.addDiagnostic(new nl(2,e,t))}addUnusedCode(e,t,n){const i=new nl(3,e,t);return n&&i.addAction(n),this.addDiagnostic(i)}addDeprecated(e,t,n){const i=new nl(4,e,t);return n&&i.addAction(n),this.addDiagnostic(i)}addDiagnostic(e){const t=`${e.range.start.line},${e.range.start.character}-${e.range.end.line}-${e.range.end.character}:${M(e.message)}}`;return this._diagnosticMap.has(t)||(this._diagnosticList.push(e),this._diagnosticMap.set(t,e)),e}addDiagnostics(e){this._diagnosticList.push(...e)}getErrors(){return this._diagnosticList.filter((e=>0===e.category))}getWarnings(){return this._diagnosticList.filter((e=>1===e.category))}getInformation(){return this._diagnosticList.filter((e=>2===e.category))}getUnusedCode(){return this._diagnosticList.filter((e=>3===e.category))}getDeprecated(){return this._diagnosticList.filter((e=>4===e.category))}}class Dc extends kc{constructor(e,t){super(t),this._lines=e}addDiagnosticWithTextRange(e,t,n){const i=St(n.start,n.start+n.length,this._lines);switch(e){case"error":return this.addError(t,i);case"warning":return this.addWarning(t,i);case"information":return this.addInformation(t,i);default:throw new Error(`${e} is not expected value`)}}addUnusedCodeWithTextRange(e,t,n){return this.addUnusedCode(e,St(t.start,t.start+t.length,this._lines),n)}addDeprecatedWithTextRange(e,t,n){return this.addDeprecated(e,St(t.start,t.start+t.length,this._lines),n)}}class Ac{constructor(e){this._items=e}get start(){return this._items.length>0?this._items[0].start:0}get end(){const e=this._items[this._items.length-1];return this._items.length>0?e.start+e.length:0}get length(){return this.end-this.start}get count(){return this._items.length}contains(e){return e>=this.start&&e=this._items.length)throw new Error("index is out of range");return this._items[e]}getItemAtPosition(e){if(0===this.count)return-1;if(ethis.end)return-1;let t=0,n=this.count-1;for(;t=r.start&&(i>=this.count-1||ethis.end)return-1;let t=0,n=this.count-1;for(;t<=n;){const i=Math.floor(t+(n-t)/2),r=this._items[i];if(dt.contains(r,e))return i;if(ic===el(e.path);return l.find(u)?l.filter(u):l}static getTypeDefinitionsForPosition(e,t,n,i,r,s){var o;ct(s);const a=xt(n,t.tokenizerOutput.lines);if(void 0===a)return;const l=Tr(t.parseTree,a);if(void 0===l)return;const c=[];if(38===l.nodeType){const t=i.getType(l);if(t){let n=[];Jo(t,(t=>{7===(null==t?void 0:t.category)&&n.push(...e.findClassDeclarationsByType(r,t))})),0===n.length&&(n=null!==(o=i.getDeclarationsForNameNode(l))&&void 0!==o?o:[]),Pc._resolveDeclarations(n,i,c,e)}}return 0!==c.length?c:void 0}static _resolveDeclarations(e,t,n,i){e&&e.forEach((e=>{let r=t.resolveAliasDeclaration(e,!0,!0);if(r&&r.path){if(6===r.type&&r.isUnresolved)return;if(6===r.type&&r.symbolName&&r.submoduleFallback&&r.submoduleFallback.path&&(r=r.submoduleFallback),this._addIfUnique(n,{path:r.path,range:r.range}),jn(r)){const e=t.getTypeForDeclaration(r);if(e&&ko(e))for(const t of e.overloads.map((e=>e.details.declaration)).filter(a))this._addIfUnique(n,{path:t.path,range:t.range})}if(el(r.path))if(6===r.type)i.findModules(r.path).map((e=>{var t;return null===(t=qt(e))||void 0===t?void 0:t.filePath})).filter(a).forEach((e=>this._addIfUnique(n,this._createModuleEntry(e))));else{const e=i.findDeclarations(r);for(const t of e)t&&t.path&&this._addIfUnique(n,{path:t.path,range:t.range})}}}))}static _createModuleEntry(e){return{path:e,range:{start:{line:0,character:0},end:{line:0,character:0}}}}static _addIfUnique(e,t){for(const n of e)if(n.path===t.path&&Tt(n.range,t.range))return;e.push(t)}}function Rc(e,t,n,i){let r=t;const s=[];let o,a,l=!1,c=!1;for(;;){if(6!==r.type||!r.symbolName)return{declaration:r,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};if(!n&&r.usesLocalName)return{declaration:r,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};let u;r.path&&r.loadSymbolsFromPath&&(u=e(r.path));const p=u?u.symbolTable.get(r.symbolName):void 0;if(!p)return r.submoduleFallback?Rc(e,r.submoduleFallback,n,i):r.isNativeLib?{declaration:void 0,isPrivate:l}:void 0;if(p.isPrivateMember()&&(l=!0),p.isExternallyHidden()&&!i)return;let d=p.getTypedDeclarations();if(0===d.length&&(d=p.getDeclarations(),0===d.length))return;const h=d.filter((e=>!s.includes(e)));if(r=h.length>0?h[h.length-1]:d[d.length-1],c&&(o=null!=o?o:null==r?void 0:r.moduleName),p.isPrivatePyTypedImport()&&(c=!0),c&&(a=null!=a?a:null==r?void 0:r.moduleName),s.find((e=>e===r)))return r.path===t.path&&6===r.type&&r.submoduleFallback?Rc(e,r.submoduleFallback,n,i):{declaration:t,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};s.push(r)}}class Fc{static getSymbolsForDocument(e,t,n,i,r,s){var o;const a=[];return t||n?(Mc(null!==(o=null==t?void 0:t.symbols)&&void 0!==o?o:Fc.indexSymbols(e,n,{indexingForAutoImportMode:!1},s),i,r,"",a,s),a):a}static addHierarchicalSymbolsForDocument(e,t,n,i,r){var s;(t||n)&&Oc(null!==(s=null==t?void 0:t.symbols)&&void 0!==s?s:Fc.indexSymbols(e,n,{indexingForAutoImportMode:!1},r),i,r)}static indexSymbols(e,t,n,i){const r=[];return Lc(e,t,t.parseTree,n,r,i),r}}function Nc(e,t,n){let i;switch(t.type){case 4:case 5:i=ot.SymbolKind.Class;break;case 3:if(t.isMethod){const e=null==n?void 0:n.getTypeForDeclaration(t);i=e&&ua(e)?ot.SymbolKind.Property:ot.SymbolKind.Method}else i=ot.SymbolKind.Function;break;case 6:i=ot.SymbolKind.Module;break;case 2:if("self"===e||"cls"===e||"_"===e)return;i=ot.SymbolKind.Variable;break;case 1:if("_"===e)return;i=t.isConstant||t.isFinal?ot.SymbolKind.Constant:ot.SymbolKind.Variable;break;default:i=ot.SymbolKind.Variable}return i}function Mc(e,t,n,i,r,s){if(ct(s),e)for(const a of e)if(!a.alias){if(N(n,a.name)){const e={uri:x.file(t).toString(),range:a.selectionRange},n={name:a.name,kind:a.kind,location:e};i.length&&(n.containerName=i),r.push(n)}Mc(a.children,t,n,o(i,a.name),r,s)}function o(e,t){return e.length>0?`${e}.${t}`:t}}function Oc(e,t,n){if(ct(n),e)for(const i of e){if(i.alias)continue;const e=[];Oc(i.children,e,n);const r={name:i.name,kind:i.kind,range:i.range,selectionRange:i.selectionRange,children:e};t.push(r)}}function Lc(e,t,n,i,r,s){ct(s);const o=Ft(n);o&&o.symbolTable.forEach(((n,o)=>{if(n.isIgnoredForProtocolMatch())return;if(i.indexingForAutoImportMode&&!e.isStubFile&&!e.isInPyTypedPackage&&!n.isInDunderAll())return;let a=qo(n);if(!a&&n.hasDeclarations()&&(a=n.getDeclarations()[0]),a){if(6===a.type){if(!i.indexingForAutoImportMode)return;if(!a.loadSymbolsFromPath||a.path.length<=0)return}!function(e,t,n,i,r,s,o,a){if(i.indexingForAutoImportMode&&!r)return;const l=Nc(s,n);if(void 0===l)return;const c=n.range;let u=c;const p=[];let d;if(4!==n.type&&3!==n.type||(i.indexingForAutoImportMode||Lc(e,t,n.node,i,p,a),u=St(n.node.start,n.node.start+n.node.length,t.tokenizerOutput.lines)),6===n.type&&(d=function(e,t){var n;if(!t.symbolName)return;const i=Rc(e,t,!0,!1);if(!i||!i.declaration)return;if(i.isPrivate)return;const r=as(i.declaration);if(!r||i.declaration.path.length<=0)return;const s=null!==(n=Nc(r,i.declaration))&&void 0!==n?n:ot.SymbolKind.Module;return{originalName:r,modulePath:i.declaration.path,kind:s,itemKind:Kl(s)}}(qt(t.parseTree).importLookup,n),!d))return;const h={name:s,externallyVisible:r,kind:l,itemKind:Kl(l),alias:d,range:i.indexingForAutoImportMode?void 0:u,selectionRange:i.indexingForAutoImportMode?void 0:c,children:i.indexingForAutoImportMode?void 0:p};o.push(h)}(e,t,a,i,!n.isExternallyHidden(),o,r,s)}}))}function Uc(e,t,n,i){const r={name:n.name,kind:n.kind,location:ot.Location.create(t,n.range)};if(n.tags&&(r.tags=n.tags),i&&(r.containerName=i.name),e.push(r),n.children)for(const i of n.children)Uc(e,t,i,n)}class Vc{constructor(e,t){this._parseResults=e,this._cancellationToken=t}sort(){ct(this._cancellationToken);const e=[],t=tn(this._parseResults.parseTree),n=t.orderedImports.map((e=>e)).sort(((e,t)=>function(e,t){const n=en(e),i=en(t);return ni?1:e.moduleNamee.followsNonImportStatement));t<0&&(t=e.length);const n=e[t-1].node;return{start:It(e[0].node.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(n),this._parseResults.tokenizerOutput.lines)}}_addSecondaryReplacementRanges(e,t){let n=e.findIndex((e=>e.followsNonImportStatement));if(!(n<0))for(;;){let i=e.findIndex(((e,t)=>t>n&&e.followsNonImportStatement));if(i<0&&(i=e.length),t.push({range:{start:It(e[n].node.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(e[i-1].node),this._parseResults.tokenizerOutput.lines)},replacementText:""}),n=i,n>=e.length)break}}_generateSortedImportText(e){let t="",n=en(e[0]);for(const i of e){const r=en(i);let s;n!==r&&(t+=this._parseResults.tokenizerOutput.predominantEndOfLineSequence,n=r),s=20===i.node.nodeType?this._formatImportNode(i.subnode,i.moduleName):this._formatImportFromNode(i.node,i.moduleName),i!==e[e.length-1]&&(s+=this._parseResults.tokenizerOutput.predominantEndOfLineSequence),t+=s}return t}_formatImportNode(e,t){let n=`import ${t}`;return e.alias&&(n+=` as ${e.alias.value}`),n}_formatImportFromNode(e,t){const n=e.imports.sort(((e,t)=>this._compareSymbols(e,t))).map((e=>{let t=e.name.value;return e.alias&&(t+=` as ${e.alias.value}`),t}));let i=`from ${t} import `;if(e.isWildcardImport)return i+"*";const r=n.join(", ");if(i.length+r.length<=88)return i+r;i+="("+this._parseResults.tokenizerOutput.predominantEndOfLineSequence;for(const e of n)i+=this._parseResults.tokenizerOutput.predominantTabSequence+e+","+this._parseResults.tokenizerOutput.predominantEndOfLineSequence;return i+=")",i}_compareSymbols(e,t){return e.name.value13===e||10===e||92===e)))return{value:t,unescapeErrors:[],nonAsciiInBytes:s&&r.some((e=>e>=128)),formatStringSegments:[]};let o=0,a={offset:0,length:0,valueParts:[],isExpression:!1,hasFormatSpecifier:!1},l=0;const c={valueParts:[],unescapeErrors:[],nonAsciiInBytes:!1,formatStringSegments:[]},u=()=>{n||c.unescapeErrors.push({offset:l-1,length:2,errorType:0})},p=(e=0)=>l+e>=r.length?3:r[l+e],d=e=>{let t=!1,n=0,i="";for(let i=0;i{const t=String.fromCharCode(e);c.valueParts.push(t),a.valueParts.push(t)};for(;;){let e=p();if(3===e)return i&&(a.isExpression&&c.unescapeErrors.push({offset:a.offset,length:l-a.offset,errorType:3}),l!==a.offset&&(a.length=l-a.offset,c.formatStringSegments.push(a))),f=c,{...f,value:f.valueParts.join(""),formatStringSegments:f.formatStringSegments.map((e=>({...e,value:e.valueParts.join("")})))};if(92===e){if(i&&a.isExpression&&!a.hasFormatSpecifier&&c.unescapeErrors.push({offset:l,length:1,errorType:1}),l++,n){h(e);continue}e=p();let t="";if(13===e||10===e)13===e&&10===p(1)&&(n&&(t+=String.fromCharCode(e)),l++,e=p()),n&&(t="\\"+t+String.fromCharCode(e)),l++;else if(n)t="\\"+String.fromCharCode(e),l++;else switch(e){case 92:case 39:case 34:t=String.fromCharCode(e),l++;break;case 97:t="",l++;break;case 98:t="\b",l++;break;case 102:t="\f",l++;break;case 110:t="\n",l++;break;case 114:t="\r",l++;break;case 116:t="\t",l++;break;case 118:t="\v",l++;break;case 120:t=d(2);break;case 78:{let n=!1,i=1;if(123!==p(i))n=!0;else for(i++;;){const e=p(i);if(125===e)break;if(!Bc(e)&&45!==e&&32!==(m=e)&&9!==m){n=!0;break}i++}n?(u(),t="\\"+String.fromCharCode(e),l++):(t="-",l+=1+i);break}case 117:t=d(4);break;case 85:t=d(8);break;default:if(Wc(e)){let n=e-48;l++,e=p(),Wc(e)&&(n=8*n+e-48,l++,e=p(),Wc(e)&&(n=8*n+e-48,l++)),t=String.fromCharCode(n)}else t="\\",u()}c.valueParts.push(t),a.valueParts.push(t)}else if(10===e||13===e)13===e&&10===p(1)&&(h(e),l++,e=p()),h(e),l++;else if(i&&123===e)a.isExpression||123!==p(1)?(0===o?(a.length=l-a.offset,a.length>0&&c.formatStringSegments.push(a),l++,a={offset:l,length:0,valueParts:[],isExpression:!0,hasFormatSpecifier:!1}):(h(e),l++),o++):(h(e),l+=2);else if(i&&125===e)a.isExpression||125!==p(1)?0===o?(c.unescapeErrors.push({offset:l,length:1,errorType:2}),l++):(o--,0===o?(a.length=l-a.offset,c.formatStringSegments.push(a),l++,a={offset:l,length:0,valueParts:[],isExpression:!1,hasFormatSpecifier:!1}):(h(e),l++)):(h(e),l+=2);else if(!a.isExpression||39!==e&&34!==e)a.isExpression&&58===e&&(a.hasFormatSpecifier=!0),s&&e>=128&&(c.nonAsciiInBytes=!0),h(e),l++;else{const t=e;h(e);const n=p(1)===t&&p(2)===t;for(n&&(l+=2,h(e),h(e),c.valueParts.push(String.fromCharCode(e)),c.valueParts.push(String.fromCharCode(e)));;){l++;let e=p();if(3===e)break;if(92!==e){if((10===e||13===e)&&!n)break;if(e===t){if(!n){l++,h(e);break}if(p(1)===t&&p(2)===t){l+=3,h(e),h(e),h(e);break}}h(e)}else h(e),l++,e=p(),h(e)}}}var m,f}function Bc(e){return e>=48&&e<=57||e>=97&&e<=122||e>=65&&e<=90}function Wc(e){return e>=48&&e<=55}function jc(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function zc(e){return e>=48&&e<=57?e-48:e>=97&&e<=102?e-97+10:e>=65&&e<=70?e-65+10:0}class $c{constructor(e){this._text=e,this._position=0,this._currentChar=e.length>0?e.charCodeAt(0):0,this._isEndOfStream=0===e.length}getText(){return this._text}get position(){return this._position}set position(e){this._position=e,this._checkBounds()}get currentChar(){return this._currentChar}getCurrentChar(){return this._currentChar}get nextChar(){return this.position+1=0?this._text.charCodeAt(this.position-1):0}isEndOfStream(){return this._isEndOfStream}lookAhead(e){const t=this._position+e;return t<0||t>=this._text.length?0:this._text.charCodeAt(t)}advance(e){this.position+=e}moveNext(){return this._position=this._text.length,this._isEndOfStream&&(this._position=this._text.length),this._currentChar=this._isEndOfStream?0:this._text.charCodeAt(this._position)}}!function(e){e.create=function(e,t,n,i=0){return{type:i,start:e,length:t,value:n}}}(oc||(oc={})),function(e){e.create=function(e,t,n,i){return{start:t,length:n,type:e,comments:i}}}(ac||(ac={})),function(e){e.create=function(e,t,n,i,r){return{start:e,length:t,type:3,isIndentAmbiguous:i,comments:r,indentAmount:n}}}(lc||(lc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:4,comments:s,indentAmount:n,matchesIndent:i,isDedentAmbiguous:r}}}(cc||(cc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:2,comments:i,newLineType:n}}}(uc||(uc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:8,comments:i,keywordType:n}}}(pc||(pc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:5,flags:n,escapedValue:i,prefixLength:r,quoteMarkLength:4&n?3:1,comments:s}}}(dc||(dc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:6,isInteger:i,isImaginary:r,value:n,comments:s}}}(hc||(hc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:9,operatorType:n,comments:i}}}(mc||(mc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:7,value:n.normalize("NFKC"),comments:i}}}(fc||(fc={}));const Hc=new Map([["and",0],["as",1],["assert",2],["async",3],["await",4],["break",5],["case",6],["class",7],["continue",8],["__debug__",9],["def",10],["del",11],["elif",12],["else",13],["except",14],["finally",16],["for",17],["from",18],["global",19],["if",20],["import",21],["in",22],["is",23],["lambda",24],["match",25],["nonlocal",27],["not",28],["or",29],["pass",30],["raise",31],["return",32],["try",34],["while",35],["with",36],["yield",37],["False",15],["None",26],["True",33]]),Gc={0:3,1:4,2:4,3:2,4:4,5:1,6:2,7:4,8:2,9:4,10:2,11:4,12:10,13:2,14:4,15:10,16:10,17:2,18:4,19:26,20:10,21:10,22:2,23:4,24:2,25:4,26:2,27:4,28:10,29:2,30:4,31:2,32:4,33:2,34:4,36:2,37:2,38:1,39:2,40:2,41:2,42:2};class Kc{constructor(){this._cs=new $c(""),this._tokens=[],this._prevLineStart=0,this._parenDepth=0,this._lineRanges=[],this._indentAmounts=[],this._typeIgnoreLines=new Map,this._crCount=0,this._crLfCount=0,this._lfCount=0,this._indentCount=0,this._indentTabCount=0,this._indentSpacesTotal=0,this._singleQuoteCount=0,this._doubleQuoteCount=0,this._ipythonMode=!1}tokenize(e,t,n,i=0,r=!1){if(void 0===t)t=0;else if(t<0||t>e.length)throw new Error("Invalid range start");if(void 0===n)n=e.length;else{if(n<0||t+n>e.length)throw new Error("Invalid range length");t+n=s)););0!==this._tokens.length&&2===this._tokens[this._tokens.length-1].type||this._tokens.push(uc.create(this._cs.position,0,3,this._getComments())),this._setIndent(0,0,!1,!1),this._tokens.push(ac.create(1,this._cs.position,0,this._getComments())),this._addLineRange();let o="\n";this._crCount>this._crLfCount&&this._crCount>this._lfCount?o="\r":this._crLfCount>this._crCount&&this._crLfCount>this._lfCount&&(o="\r\n");let a=" ";if(this._indentTabCount>this._indentCount/2)a="\t";else if(this._indentCount>0){let e=Math.round(this._indentSpacesTotal/this._indentCount);e<1?e=1:e>8&&(e=8),a="";for(let t=0;t=this._doubleQuoteCount?"'":'"'}}static getOperatorInfo(e){return Gc[e]}static isOperatorAssignment(e){return void 0!==e&&void 0!==Gc[e]&&0!=(4&Gc[e])}static isOperatorComparison(e){return void 0!==e&&void 0!==Gc[e]&&0!=(8&Gc[e])}_addNextToken(){this._cs.skipWhitespace(),this._cs.isEndOfStream()||this._handleCharacter()||this._cs.moveNext()}_handleCharacter(){const e=this._getStringPrefixLength();if(e>=0){let t="";e>0&&(t=this._cs.getText().substr(this._cs.position,e),this._cs.advance(e));const n=this._getQuoteTypeFlags(t);if(0!==n)return this._handleString(n,e),!0}if(35===this._cs.currentChar)return this._handleComment(),!0;if(this._ipythonMode&&this._isIPythonMagics())return this._handleIPythonMagics(37===this._cs.currentChar?1:2),!0;switch(this._cs.currentChar){case 65279:return 0!==this._cs.position&&this._handleInvalid();case 13:{const e=10===this._cs.nextChar?2:1,t=2===e?2:0;return this._handleNewLine(e,t),!0}case 10:return this._handleNewLine(1,1),!0;case 92:return 13===this._cs.nextChar?(10===this._cs.lookAhead(2)?this._cs.advance(3):this._cs.advance(2),this._addLineRange(),!0):10===this._cs.nextChar?(this._cs.advance(2),this._addLineRange(),!0):this._handleInvalid();case 40:this._parenDepth++,this._tokens.push(ac.create(13,this._cs.position,1,this._getComments()));break;case 41:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(14,this._cs.position,1,this._getComments()));break;case 91:this._parenDepth++,this._tokens.push(ac.create(15,this._cs.position,1,this._getComments()));break;case 93:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(16,this._cs.position,1,this._getComments()));break;case 123:this._parenDepth++,this._tokens.push(ac.create(17,this._cs.position,1,this._getComments()));break;case 125:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(18,this._cs.position,1,this._getComments()));break;case 44:this._tokens.push(ac.create(12,this._cs.position,1,this._getComments()));break;case 96:this._tokens.push(ac.create(22,this._cs.position,1,this._getComments()));break;case 59:this._tokens.push(ac.create(11,this._cs.position,1,this._getComments()));break;case 58:if(61===this._cs.nextChar){this._tokens.push(mc.create(this._cs.position,2,35,this._getComments())),this._cs.advance(1);break}this._tokens.push(ac.create(10,this._cs.position,1,this._getComments()));break;default:if(this._isPossibleNumber()&&this._tryNumber())return!0;if(46===this._cs.currentChar){if(46===this._cs.nextChar&&46===this._cs.lookAhead(2))return this._tokens.push(ac.create(19,this._cs.position,3,this._getComments())),this._cs.advance(3),!0;this._tokens.push(ac.create(20,this._cs.position,1,this._getComments()));break}return!(!this._tryIdentifier()&&!this._tryOperator())||this._handleInvalid()}return!1}_addLineRange(){const e=this._cs.position-this._prevLineStart;e>0&&this._lineRanges.push({start:this._prevLineStart,length:e}),this._prevLineStart=this._cs.position}_handleNewLine(e,t){0===this._parenDepth&&3!==t&&(0!==this._tokens.length&&2===this._tokens[this._tokens.length-1].type||this._tokens.push(uc.create(this._cs.position,e,t,this._getComments()))),0===t?this._crCount++:2===t?this._crLfCount++:this._lfCount++,this._cs.advance(e),this._addLineRange(),this._readIndentationAfterNewLine()}_readIndentationAfterNewLine(){let e=0,t=0,n=!1,i=!1;for(;!this._cs.isEndOfStream();)switch(this._cs.currentChar){case 32:e++,t++,i=!0,this._cs.moveNext();break;case 9:e++,t+=8-t%8,n=!0,this._cs.moveNext();break;case 12:e=0,t=0,n=!1,i=!1,this._cs.moveNext();break;default:return void this._setIndent(e,t,i,n);case 35:case 10:case 13:return}}_setIndent(e,t,n,i){if(!(this._parenDepth>0))if(0===this._indentAmounts.length)t>0&&(this._indentCount++,i&&this._indentTabCount++,this._indentSpacesTotal+=t,this._indentAmounts.push({tab1Spaces:e,tab8Spaces:t,isSpacePresent:n,isTabPresent:i}),this._tokens.push(lc.create(this._cs.position,0,t,!1,this._getComments())));else{const r=this._indentAmounts[this._indentAmounts.length-1];if(r.tab8Spaces=e;this._indentCount++,i&&this._indentTabCount++,this._indentSpacesTotal+=t-this._indentAmounts[this._indentAmounts.length-1].tab8Spaces,this._indentAmounts.push({tab1Spaces:e,tab8Spaces:t,isSpacePresent:n,isTabPresent:i}),this._tokens.push(lc.create(this._cs.position,0,t,s,this._getComments()))}else if(r.tab8Spaces===t)(r.isSpacePresent&&i||r.isTabPresent&&n)&&this._tokens.push(lc.create(this._cs.position,0,t,!0,this._getComments()));else{let e=r.isSpacePresent&&i||r.isTabPresent&&n;const s=[];for(;this._indentAmounts.length>0&&this._indentAmounts[this._indentAmounts.length-1].tab8Spaces>t;)s.push(this._indentAmounts.length>1?this._indentAmounts[this._indentAmounts.length-2].tab8Spaces:0),this._indentAmounts.pop();s.forEach(((n,i)=>{const r=i{for(;;)if(qe(this._cs.currentChar))this._cs.moveNext();else{if(!qe(this._cs.currentChar,this._cs.nextChar))break;this._cs.moveNext(),this._cs.moveNext()}},t=this._cs.position;if(Ve(this._cs.currentChar)?(this._cs.moveNext(),e()):Ve(this._cs.currentChar,this._cs.nextChar)&&(this._cs.moveNext(),this._cs.moveNext(),e()),this._cs.position>t){const e=this._cs.getText().substr(t,this._cs.position-t);return Hc.has(e)?this._tokens.push(pc.create(t,this._cs.position-t,Hc.get(e),this._getComments())):this._tokens.push(fc.create(t,this._cs.position-t,e,this._getComments())),!0}return!1}_isPossibleNumber(){return!!Be(this._cs.currentChar)||!(46!==this._cs.currentChar||!Be(this._cs.nextChar))}_tryNumber(){const e=this._cs.position;if(48===this._cs.currentChar){let t=0,n=0;if((120===this._cs.nextChar||88===this._cs.nextChar)&&We(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;We(this._cs.currentChar);)this._cs.moveNext();t=16}if((98===this._cs.nextChar||66===this._cs.nextChar)&&ze(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;ze(this._cs.currentChar);)this._cs.moveNext();t=2}if((111===this._cs.nextChar||79===this._cs.nextChar)&&je(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;je(this._cs.currentChar);)this._cs.moveNext();t=8}if(t>0){const i=this._cs.getText().substr(e,this._cs.position-e),r=i.replace(/_/g,"");let s=parseInt(r.substr(n),t);if(!isNaN(s)){const t=BigInt(r);return isFinite(s)&&BigInt(s)===t||(s=t),this._tokens.push(hc.create(e,i.length,s,!0,!1,this._getComments())),!0}}}let t=!1,n=!1;if(this._cs.currentChar>=49&&this._cs.currentChar<=57){for(;Be(this._cs.currentChar);)n=!0,this._cs.moveNext();t=46!==this._cs.currentChar&&101!==this._cs.currentChar&&69!==this._cs.currentChar}if(48===this._cs.currentChar){for(n=!0;48===this._cs.currentChar||95===this._cs.currentChar;)this._cs.moveNext();t=46!==this._cs.currentChar&&101!==this._cs.currentChar&&69!==this._cs.currentChar}if(t){let t=this._cs.getText().substr(e,this._cs.position-e);const n=t.replace(/_/g,"");let i=parseInt(n,10);if(!isNaN(i)){let r=!1;const s=BigInt(n);return isFinite(i)&&BigInt(i)===s||(i=s),106!==this._cs.currentChar&&74!==this._cs.currentChar||(r=!0,t+=String.fromCharCode(this._cs.currentChar),this._cs.moveNext()),this._tokens.push(hc.create(e,t.length,i,!0,r,this._getComments())),!0}}if(this._cs.position=e,(n||46===this._cs.currentChar&&this._cs.nextChar>=48&&this._cs.nextChar<=57)&&this._skipFloatingPointCandidate()){let t=this._cs.getText().substr(e,this._cs.position-e);const n=parseFloat(t);if(!isNaN(n)){let i=!1;return 106!==this._cs.currentChar&&74!==this._cs.currentChar||(i=!0,t+=String.fromCharCode(this._cs.currentChar),this._cs.moveNext()),this._tokens.push(hc.create(e,this._cs.position-e,n,!1,i,this._getComments())),!0}}return this._cs.position=e,!1}_tryOperator(){let e=0;const t=this._cs.nextChar;let n;switch(this._cs.currentChar){case 43:e=61===t?2:1,n=2===e?1:0;break;case 38:e=61===t?2:1,n=2===e?4:3;break;case 124:e=61===t?2:1,n=2===e?7:6;break;case 94:e=61===t?2:1,n=2===e?9:8;break;case 61:e=61===t?2:1,n=2===e?12:2;break;case 33:if(61!==t)return!1;e=2,n=28;break;case 37:e=61===t?2:1,n=2===e?25:24;break;case 126:e=1,n=5;break;case 45:if(62===t)return this._tokens.push(ac.create(21,this._cs.position,2,this._getComments())),this._cs.advance(2),!0;e=61===t?2:1,n=2===e?34:33;break;case 42:42===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?30:29):(e=61===t?2:1,n=2===e?27:26);break;case 47:47===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?14:13):(e=61===t?2:1,n=2===e?11:10);break;case 60:60===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?18:17):62===t?(e=2,n=19):(e=61===t?2:1,n=2===e?21:20);break;case 62:62===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?32:31):(e=61===t?2:1,n=2===e?16:15);break;case 64:e=61===t?2:1,n=2===e?23:22;break;default:return!1}return this._tokens.push(mc.create(this._cs.position,e,n,this._getComments())),this._cs.advance(e),e>0}_handleInvalid(){const e=this._cs.position;for(;10!==this._cs.currentChar&&13!==this._cs.currentChar&&!this._cs.isAtWhiteSpace()&&!this._cs.isEndOfStream();)(t=this._cs.currentChar)0&&(this._tokens.push(ac.create(0,e,n,this._getComments())),!0)}_getComments(){const e=this._comments;return this._comments=void 0,e}_isIPythonMagics(){const e=this._tokens.length>0?this._tokens[this._tokens.length-1]:void 0;return!(void 0!==e&&2!==e.type&&3!==e.type||37!==this._cs.currentChar&&33!==this._cs.currentChar)}_handleIPythonMagics(e){const t=this._cs.position+1;let n=t;do{this._cs.skipToEol();const e=this._cs.position-n;if(!this._cs.getText().substr(n,e).match(/\\\s*$/))break;n=this._cs.position+1}while(!this._cs.isEndOfStream());const i=this._cs.position-t,r=this._cs.getText().substr(t,i),s=oc.create(t,i,r,e);this._addComments(s)}_handleComment(){const e=this._cs.position+1;this._cs.skipToEol();const t=this._cs.position-e,n=this._cs.getText().substr(e,t),i=oc.create(e,t,n),r=n.match(/^\s*type:\s*ignore(\s|\[|$)/);if(r){const t={start:e,length:r[0].length};r[0].endsWith("[")&&t.length--,this._tokens.findIndex((e=>2!==e.type&&e&&3!==e.type))<0?this._typeIgnoreAll=t:this._typeIgnoreLines.set(this._lineRanges.length,t)}this._addComments(i)}_addComments(e){this._comments?this._comments.push(e):this._comments=[e]}_getStringPrefixLength(){if(39===this._cs.currentChar||34===this._cs.currentChar)return 0;if(39===this._cs.nextChar||34===this._cs.nextChar)switch(this._cs.currentChar){case 102:case 70:case 114:case 82:case 98:case 66:case 117:case 85:return 1}if(39===this._cs.lookAhead(2)||34===this._cs.lookAhead(2))switch(this._cs.getText().substr(this._cs.position,2).toLowerCase()){case"rf":case"fr":case"ur":case"ru":case"br":case"rb":return 2}return-1}_getQuoteTypeFlags(e){let t=0;e=e.toLowerCase();for(let n=0;n32768&&(i=i.slice(0,32768),e|=131072),{escapedValue:String.fromCharCode.apply(void 0,i),flags:e}}_skipFloatingPointCandidate(){const e=this._cs.position;return this._skipFractionalNumber(),this._cs.position>e&&(101!==this._cs.currentChar&&69!==this._cs.currentChar||(this._cs.moveNext(),this._skipDecimalNumber(!0))),this._cs.position>e}_skipFractionalNumber(){this._skipDecimalNumber(!1),46===this._cs.currentChar&&this._cs.moveNext(),this._skipDecimalNumber(!1)}_skipDecimalNumber(e){for(!e||45!==this._cs.currentChar&&43!==this._cs.currentChar||this._cs.moveNext();Be(this._cs.currentChar);)this._cs.moveNext()}}class Jc{constructor(){this.isStubFile=!1,this.pythonVersion=Ae,this.reportInvalidStringEscapeSequence=!1,this.skipFunctionAndClassBody=!1,this.ipythonMode=!1}}const Yc=256;class Qc{constructor(){this._tokenIndex=0,this._areErrorsSuppressed=!1,this._parseOptions=new Jc,this._diagSink=new kc,this._isInLoop=!1,this._isInFunction=!1,this._isInFinally=!1,this._isParsingTypeAnnotation=!1,this._isParsingIndexTrailer=!1,this._futureImportMap=new Map,this._importedModules=[],this._containsWildcardImport=!1,this._assignmentExpressionsAllowed=!0,this._typingImportAliases=[],this._typingSymbolAliases=new Map}parseSourceFile(e,t,n){Fn.tokenizeFileTime.timeOperation((()=>{this._startNewParse(e,0,e.length,t,n)}));const i=Yn.create({start:0,length:e.length});return Fn.parseFileTime.timeOperation((()=>{for(;!this._atEof();)if(!this._consumeTokenIfType(2)){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseStatement();t?(t.parent=i,i.statements.push(t)):this._consumeTokensUntilType([2])}})),w(void 0!==this._tokenizerOutput),{text:e,parseTree:i,importedModules:this._importedModules,futureImports:this._futureImportMap,tokenizerOutput:this._tokenizerOutput,containsWildcardImport:this._containsWildcardImport,typingSymbolAliases:this._typingSymbolAliases}}parseTextExpression(e,t,n,i,r=0,s=0,o){const a=new kc;let l;if(this._startNewParse(e,t,n,i,a,s),o&&(this._typingSymbolAliases=new Map(o)),1===r)l=this._parseTypeAnnotation();else if(2===r)l=this._parseFunctionTypeAnnotation();else{const e=this._parseTestOrStarExpressionList(!1,!0);e.parseError?l=e.parseError:(0===e.list.length&&this._addError(ml.Diagnostic.expectedExpr(),this._peekToken()),l=this._makeExpressionOrTuple(e,!1))}return 2===this._peekTokenType()&&this._getNextToken(),this._atEof()||this._addError(ml.Diagnostic.unexpectedExprToken(),this._peekToken()),{parseTree:l,lines:this._tokenizerOutput.lines,diagnostics:a.fetchAndClear()}}_startNewParse(e,t,n,i,r,s=0){this._fileContents=e,this._parseOptions=i,this._diagSink=r;const o=new Kc;this._tokenizerOutput=o.tokenize(e,t,n,s,this._parseOptions.ipythonMode),this._tokenIndex=0}_parseStatement(){switch(this._consumeTokenIfType(4)&&this._addError(ml.Diagnostic.unexpectedUnindent(),this._peekToken()),this._peekKeywordType()){case 20:return this._parseIfStatement();case 35:return this._parseWhileStatement();case 17:return this._parseForStatement();case 34:return this._parseTryStatement();case 36:return this._parseWithStatement();case 10:return this._parseFunctionDef();case 7:return this._parseClassDef();case 3:return this._parseAsyncStatement();case 25:{const e=this._peekToken(1);let t=!1;if(10===e.type||11===e.type||12===e.type||20===e.type||2===e.type||1===e.type)t=!0;else if(9===e.type){const n=e;26!==n.operatorType&&33!==n.operatorType&&(t=!0)}if(!t){const e=this._parseMatchStatement();if(e)return e}}}return 22===this._peekOperatorType()?this._parseDecorated():this._parseSimpleStatement()}_parseAsyncStatement(){const e=this._getKeywordToken(3);switch(this._peekKeywordType()){case 10:return this._parseFunctionDef(e);case 36:return this._parseWithStatement(e);case 17:return this._parseForStatement(e)}this._addError(ml.Diagnostic.unexpectedAsyncToken(),e)}_parseMatchStatement(){let e=!1;if(this._suppressErrors((()=>{const t=this._tokenIndex;this._getKeywordToken(25);const n=this._parseTestOrStarListAsExpression(!0,!0,12,ml.Diagnostic.expectedReturnExpr());e=0!==n.nodeType&&10===this._peekToken().type,this._tokenIndex=t})),!e)return;const t=this._getKeywordToken(25),n=this._parseTestOrStarListAsExpression(!0,!0,12,ml.Diagnostic.expectedReturnExpr()),i=sr.create(t,n),r=this._peekToken();if(this._consumeTokenIfType(10))if(this._consumeTokenIfType(2)){const e=this._peekToken();if(this._consumeTokenIfType(3)){const t=e;t.isIndentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t)}else this._addError(ml.Diagnostic.expectedIndentedBlock(),this._peekToken());for(;;){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseCaseStatement();t?(t.parent=i,i.cases.push(t)):this._consumeTokensUntilType([2,10])&&this._getNextToken();const n=this._peekToken();if(this._consumeTokenIfType(4)){n.matchesIndent||this._addError(ml.Diagnostic.inconsistentIndent(),n),n.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),n);break}if(1===this._peekTokenType())break}i.cases.length>0?Jn(i,i.cases[i.cases.length-1]):this._addError(ml.Diagnostic.zeroCaseStatementsFound(),t)}else this._addError(ml.Diagnostic.expectedNewline(),r);else this._addError(ml.Diagnostic.expectedColon(),r),this._consumeTokensUntilType([2,10])&&this._getNextToken();this._getLanguageVersion()this._isPatternIrrefutable(e)))}_getPatternTargetNames(e,t){switch(e.nodeType){case 65:e.entries.forEach((e=>{this._getPatternTargetNames(e,t)}));break;case 68:e.arguments.forEach((e=>{this._getPatternTargetNames(e.pattern,t)}));break;case 66:e.target&&t.set(e.target.value,!0),e.orPatterns.forEach((e=>{this._getPatternTargetNames(e,t)}));break;case 69:e.isWildcard||t.set(e.target.value,!0);break;case 70:e.entries.forEach((e=>{72===e.nodeType?t.set(e.target.value,!0):(this._getPatternTargetNames(e.keyPattern,t),this._getPatternTargetNames(e.valuePattern,t))}))}}_parsePatternSequence(){const e=this._parseExpressionListGeneric((()=>this._parsePatternAs())),t=e.list.filter((e=>1===e.orPatterns.length&&69===e.orPatterns[0].nodeType&&e.orPatterns[0].isStar));t.length>1&&this._addError(ml.Diagnostic.duplicateStarPattern(),t[1].orPatterns[0]);const n=new Map;return e.list.forEach((e=>{e.orPatterns.forEach((e=>{69!==e.nodeType||e.isStar||e.isWildcard||(n.has(e.target.value)?this._addError(ml.Diagnostic.duplicateCapturePatternTarget().format({name:e.target.value}),e):n.set(e.target.value,e))}))})),e}_parsePatternAs(){const e=[];for(;;){const t=this._parsePatternAtom();if(e.push(t),!this._consumeTokenIfOperator(6))break}let t;if(e.length>1&&e.forEach((e=>{69===e.nodeType&&e.isStar&&this._addError(ml.Diagnostic.starPatternInOrPattern(),e)})),this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?t=Ri.create(e):this._addError(ml.Diagnostic.expectedNameAfterAs(),this._peekToken())}t&&1===e.length&&69===e[0].nodeType&&e[0].isStar&&this._addError(ml.Diagnostic.starPatternInAsPattern(),e[0]),e.forEach(((t,n)=>{n{this._getPatternTargetNames(e,n)})),e.forEach((e=>{const t=new Map;if(this._getPatternTargetNames(e,t),t.size!t.has(e))),r=new il;r.addMessage(ml.DiagnosticAddendum.orPatternMissingName().format({name:i.map((e=>`"${e}"`)).join(", ")})),this._addError(ml.Diagnostic.orPatternMissingName()+r.getString(),e)}})),lr.create(e,t)}_parsePatternAtom(){const e=this._parsePatternLiteral();if(e)return e;const t=this._parsePatternCaptureOrValue();if(t){const e=this._peekToken();if(0===t.nodeType||!this._consumeTokenIfType(13))return t;const n=this._parseClassPatternArgList(),i=69===t.nodeType?t.target:t.expression,r=ur.create(i,n);return this._consumeTokenIfType(14)||(this._addError(ml.Diagnostic.expectedCloseParen(),e),this._consumeTokensUntilType([2]),Jn(r,this._peekToken())),r}const n=this._peekToken();if(26===this._peekOperatorType()){const e=this._getNextToken(),t=this._getTokenIfIdentifier();return t?dr.create(Ri.create(t),e):(this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(e,2))}if(13===n.type||15===n.type){const e=this._getNextToken(),t=this._parsePatternSequence();let i;if(t.parseError)i=t.parseError;else if(1!==t.list.length||t.trailingComma||13!==e.type)i=ar.create(e,t.list);else{const r=t.list[0].orPatterns[0];i=69===r.nodeType&&r.isStar?ar.create(e,t.list):t.list[0],Jn(i,n)}const r=this._peekToken();return this._consumeTokenIfType(13===n.type?14:16)?Jn(i,r):(this._addError(13===n.type?ml.Diagnostic.expectedCloseParen():ml.Diagnostic.expectedCloseBracket(),n),this._consumeTokensUntilType([10,13===n.type?14:16])),i}if(17===n.type){const e=this._getNextToken(),t=this._parsePatternMapping(e),i=this._peekToken();return this._consumeTokenIfType(18)?Jn(t,i):(this._addError(ml.Diagnostic.expectedCloseBrace(),n),this._consumeTokensUntilType([10,18])),t}return this._handleExpressionParseError(11,ml.Diagnostic.expectedPatternExpr())}_parseClassPatternArgList(){const e=[];let t=!1;for(;;){const n=this._peekTokenType();if(14===n||2===n||1===n)break;const i=this._parseClassPatternArgument();if(i.name?t=!0:t&&!i.name&&this._addError(ml.Diagnostic.positionArgAfterNamedArg(),i),e.push(i),!this._consumeTokenIfType(12))break}return e}_parseClassPatternArgument(){const e=this._peekToken(),t=this._peekToken(1);let n;7!==e.type&&8!==e.type||9!==t.type||2!==t.operatorType||(this._getNextToken(),n=Ri.create(e),this._getNextToken());const i=this._parsePatternAs();return pr.create(i,n)}_parsePatternLiteral(){const e=this._peekToken(),t=this._peekOperatorType();if(6===e.type||33===t)return this._parsePatternLiteralNumber();if(5===e.type){const e=this._parseAtom();return w(48===e.nodeType),e.strings.forEach((e=>{64&e.token.flags&&this._addError(ml.Diagnostic.formatStringInPattern(),e)})),cr.create(e)}if(8===e.type){const t=e;if(15===t.keywordType||33===t.keywordType||26===t.keywordType)return cr.create(this._parseAtom())}}_parsePatternLiteralNumber(){const e=this._parseArithmeticExpression();let t,n;return 7===e.nodeType?33!==e.operator&&0!==e.operator||(t=e.leftExpression,n=e.rightExpression):t=e,t&&(55===t.nodeType&&33===t.operator&&(t=t.expression),(40!==t.nodeType||void 0!==n&&t.isImaginary)&&(this._addError(ml.Diagnostic.expectedComplexNumberLiteral(),e),n=void 0)),n&&(55===n.nodeType&&33===n.operator&&(n=n.expression),40===n.nodeType&&n.isImaginary||this._addError(ml.Diagnostic.expectedComplexNumberLiteral(),e)),cr.create(e)}_parsePatternMapping(e){const t=this._parseExpressionListGeneric((()=>this._parsePatternMappingItem()));if(t.list.length>0){const n=t.list.filter((e=>72===e.nodeType));return n.length>1&&this._addError(ml.Diagnostic.duplicateStarStarPattern(),n[1]),hr.create(e,t.list)}return t.parseError||di.create(this._peekToken(),11)}_parsePatternMappingItem(){let e;const t=this._peekToken();if(this._consumeTokenIfOperator(29)){const e=this._getTokenIfIdentifier();if(!e)return this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(this._peekToken(),11);const n=Ri.create(e);return"_"===e.value&&this._addError(ml.Diagnostic.starStarWildcardNotAllowed(),n),fr.create(t,n)}const n=this._parsePatternLiteral();if(n)e=n;else{const t=this._parsePatternCaptureOrValue();t&&(73===t.nodeType?e=t:(this._addError(ml.Diagnostic.expectedPatternValue(),t),e=di.create(this._peekToken(),11)))}let i;return e||(this._addError(ml.Diagnostic.expectedPatternExpr(),this._peekToken()),e=di.create(this._peekToken(),11)),this._consumeTokenIfType(10)?i=this._parsePatternAs():(this._addError(ml.Diagnostic.expectedColon(),this._peekToken()),i=di.create(this._peekToken(),11)),mr.create(e,i)}_parsePatternCaptureOrValue(){const e=this._peekToken();if(7===e.type||8===e.type){let e;for(;;){const t=this._getTokenIfIdentifier();if(!t){this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken());break}{const n=Ri.create(t);e=e?Ai.create(e,n):n}if(!this._consumeTokenIfType(20))break}return e?35===e.nodeType?gr.create(e):dr.create(e):(this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(this._peekToken(),11))}}_parseIfStatement(e=20){const t=this._getKeywordToken(e),n=this._parseTestExpression(!0),i=this._parseSuite(this._isInFunction),r=Zn.create(t,n,i);return this._consumeTokenIfKeyword(13)?(r.elseSuite=this._parseSuite(this._isInFunction),r.elseSuite.parent=r,Jn(r,r.elseSuite)):12===this._peekKeywordType()&&(r.elseSuite=this._parseIfStatement(12),r.elseSuite.parent=r,Jn(r,r.elseSuite)),r}_parseLoopSuite(){const e=this._isInLoop,t=this._isInFinally;this._isInLoop=!0,this._isInFinally=!1;const n=this._parseSuite(this._isInFunction);return this._isInLoop=e,this._isInFinally=t,n}_parseSuite(e=!1,t=!1,n){const i=this._peekToken(),r=Qn.create(i);if(!this._consumeTokenIfType(10)&&(9===i.type?2===this._peekOperatorType()&&this._addError(ml.Diagnostic.expectedEqualityOperator(),i):this._addError(ml.Diagnostic.expectedColon(),i),this._consumeTokensUntilType([2,10])))if(10===this._peekTokenType())this._getNextToken();else if(3!==this._peekToken(1).type)return this._getNextToken(),r;if(t){if(this._consumeTokenIfType(2)){let e=0;for(;;){const t=this._getNextToken();if(3===t.type&&e++,4===t.type&&(t.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t),e--,0===e))break;if(1===t.type)break}}else this._parseSimpleStatement();return this._tokenIndex>0&&Jn(r,this._tokenizerOutput.tokens.getItemAt(this._tokenIndex-1)),r}n&&n();const s=this._isInFunction;if(this._isInFunction=e,this._consumeTokenIfType(2)){n&&n();const e=this._peekToken();if(this._consumeTokenIfType(3)){const t=e;t.isIndentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t)}else this._addError(ml.Diagnostic.expectedIndentedBlock(),this._peekToken());for(;;){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseStatement();t?(t.parent=r,r.statements.push(t)):this._consumeTokensUntilType([2]);const n=this._peekToken();if(this._consumeTokenIfType(4)){n.matchesIndent||this._addError(ml.Diagnostic.inconsistentIndent(),n),n.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),n);break}if(1===this._peekTokenType())break}}else{const e=this._parseSimpleStatement();r.statements.push(e),e.parent=r}return r.statements.length>0&&Jn(r,r.statements[r.statements.length-1]),this._isInFunction=s,r}_parseForStatement(e){const t=this._getKeywordToken(17),n=this._parseExpressionListAsPossibleTuple(2,ml.Diagnostic.expectedExpr(),t);let i,r,s;if(this._consumeTokenIfKeyword(22)){if(i=this._parseTestOrStarListAsExpression(!1,!0,2,ml.Diagnostic.expectedInExpr()),r=this._parseLoopSuite(),this._getLanguageVersion(){56!==t.nodeType||e||(this._addError(ml.Diagnostic.unpackOperatorNotAllowed(),t),e=!0)}))}this._consumeTokenIfKeyword(13)&&(s=this._parseSuite(this._isInFunction))}else i=this._handleExpressionParseError(0,ml.Diagnostic.expectedIn()),r=Qn.create(this._peekToken());const o=ei.create(t,n,i,r);return o.elseSuite=s,s&&(Jn(o,s),s.parent=o),e&&(o.isAsync=!0,o.asyncToken=e,Jn(o,e)),o}_tryParseListComprehension(e){const t=this._tryParseCompForStatement();if(!t)return;56===e.nodeType?this._addError(ml.Diagnostic.unpackIllegalInComprehension(),e):16===e.nodeType&&this._addError(ml.Diagnostic.dictExpandIllegalInComprehension(),e);const n=Ci.create(e),i=[t];for(;;){const e=this._tryParseCompForStatement()||this._tryParseCompIfStatement();if(!e)break;e.parent=n,i.push(e)}return n.forIfNodes=i,i.length>0&&(i.forEach((e=>{e.parent=n})),Jn(n,i[i.length-1])),n}_tryParseCompForStatement(){const e=this._peekKeywordType();if(3===e){const e=this._peekToken(1);if(8!==e.type||17!==e.keywordType)return}else if(17!==e)return;let t;3===this._peekKeywordType()&&(t=this._getKeywordToken(3));const n=this._getKeywordToken(17),i=this._parseExpressionListAsPossibleTuple(2,ml.Diagnostic.expectedExpr(),n);let r;this._consumeTokenIfKeyword(22)?this._disallowAssignmentExpression((()=>{r=this._parseOrTest()})):r=this._handleExpressionParseError(0,ml.Diagnostic.expectedIn());const s=ti.create(t||n,i,r);return t&&(s.isAsync=!0,s.asyncToken=t),s}_tryParseCompIfStatement(){if(20!==this._peekKeywordType())return;const e=this._getKeywordToken(20),t=this._tryParseLambdaExpression()||this._parseAssignmentExpression(!0);return ni.create(e,t)}_parseWhileStatement(){const e=this._getKeywordToken(35),t=Xn.create(e,this._parseTestExpression(!0),this._parseLoopSuite());return this._consumeTokenIfKeyword(13)&&(t.elseSuite=this._parseSuite(this._isInFunction),t.elseSuite.parent=t,Jn(t,t.elseSuite)),t}_parseTryStatement(){const e=this._getKeywordToken(34),t=this._parseSuite(this._isInFunction),n=ii.create(e,t);let i=!1;for(;;){const e=this._peekToken();if(!this._consumeTokenIfKeyword(14))break;const t=this._peekToken();let r,s,o=!1;if(this._consumeTokenIfOperator(26)&&(this._getLanguageVersion()0&&(Jn(n,n.exceptClauses[n.exceptClauses.length-1]),this._consumeTokenIfKeyword(13)&&(n.elseSuite=this._parseSuite(this._isInFunction),n.elseSuite.parent=n,Jn(n,n.elseSuite))),this._consumeTokenIfKeyword(16)&&(n.finallySuite=this._parseSuite(this._isInFunction),n.finallySuite.parent=n,Jn(n,n.finallySuite)),n.finallySuite||0!==n.exceptClauses.length||this._addError(ml.Diagnostic.tryWithoutExcept(),e),n}_parseFunctionDef(e,t){const n=this._getKeywordToken(10),i=this._getTokenIfIdentifier();if(!i)return this._addError(ml.Diagnostic.expectedFunctionName(),n),di.create(n,10,void 0,t);const r=this._peekToken();if(!this._consumeTokenIfType(13))return this._addError(ml.Diagnostic.expectedOpenParen(),this._peekToken()),di.create(i,10,Ri.create(i),t);const s=this._parseVarArgsList(14,!0);let o,a;this._consumeTokenIfType(14)||(this._addError(ml.Diagnostic.expectedCloseParen(),r),this._consumeTokensUntilType([10])),this._consumeTokenIfType(21)&&(o=this._parseTypeAnnotation());const l=this._parseSuite(!0,this._parseOptions.skipFunctionAndClassBody,(()=>{a||(a=this._getTypeAnnotationCommentText())})),c=si.create(n,Ri.create(i),l);return e&&(c.isAsync=!0,Jn(c,e)),c.parameters=s,s.forEach((e=>{e.parent=c})),t&&(c.decorators=t,t.forEach((e=>{e.parent=c})),t.length>0&&Jn(c,t[0])),o&&(c.returnTypeAnnotation=o,c.returnTypeAnnotation.parent=c,Jn(c,o)),a&&this._parseFunctionTypeAnnotationComment(a,c),c}_parseVarArgsList(e,t){const n=new Map,i=[];let r=!1,s=!1,o=!1,a=!1,l=!1,c=!1;for(;this._peekTokenType()!==e;){const u=this._parseParameter(t);if(!u){this._consumeTokensUntilType([e]);break}if(u.name){const e=u.name.value;n.has(e)?this._addError(ml.Diagnostic.duplicateParam().format({name:e}),u.name):n.set(e,e)}else 0===u.category&&0===i.length&&this._addError(ml.Diagnostic.positionOnlyFirstParam(),u);0===u.category&&(u.name?u.defaultValue?r=!0:!r||o||l||s||(this._addError(ml.Diagnostic.nonDefaultAfterDefault(),u),s=!0):(a?this._addError(ml.Diagnostic.duplicatePositionOnly(),u):o?this._addError(ml.Diagnostic.positionOnlyAfterKeywordOnly(),u):l&&this._addError(ml.Diagnostic.positionOnlyAfterArgs(),u),a=!0)),i.push(u),1===u.category&&(u.name?((o||l)&&this._addError(ml.Diagnostic.duplicateArgsParam(),u),l=!0):(o?this._addError(ml.Diagnostic.duplicateKeywordOnly(),u):l&&this._addError(ml.Diagnostic.keywordOnlyAfterArgs(),u),o=!0)),2===u.category?(c&&this._addError(ml.Diagnostic.duplicateKwargsParam(),u),c=!0):c&&this._addError(ml.Diagnostic.paramAfterKwargsParam(),u);const p=this._consumeTokenIfType(12);if(t&&!u.typeAnnotation){const e=this._parseVariableTypeAnnotationComment();e&&(u.typeAnnotationComment=e,u.typeAnnotationComment.parent=u,Jn(u,u.typeAnnotationComment))}if(!p)break}if(i.length>0){const e=i[i.length-1];1!==e.category||e.name||this._addError(ml.Diagnostic.expectedNamedParameter(),e)}return i}_parseParameter(e){let t=0,n=0;const i=this._peekToken();this._consumeTokenIfOperator(26)?t=1:this._consumeTokenIfOperator(29)?t=2:this._consumeTokenIfOperator(10)&&(this._getLanguageVersion()0&&this._addError(ml.Diagnostic.defaultValueNotAllowed(),o.defaultValue)),o}_parseWithStatement(e){const t=this._getKeywordToken(36);let n=[];const i=this._peekToken();let r=!1;if(13===i.type){const e=this._tokenIndex;this._suppressErrors((()=>{for(this._getNextToken();n.push(this._parseWithItem()),this._consumeTokenIfType(12)&&14!==this._peekToken().type;);14===this._peekToken().type&&10===this._peekToken(1).type&&(r=1!==n.length||void 0!==n[0].target),this._tokenIndex=e,n=[]}))}for(r&&(this._consumeTokenIfType(13),this._getLanguageVersion(){e.parent=o})),o}_parseWithItem(){const e=this._parseTestExpression(!0),t=ci.create(e);return this._consumeTokenIfKeyword(1)&&(t.target=this._parseExpression(!1),t.target.parent=t,Jn(t,t.target)),t}_parseDecorated(){const e=[];for(;22===this._peekOperatorType();)e.push(this._parseDecorator());const t=this._peekToken();if(8===t.type)if(3===t.keywordType){if(this._getNextToken(),10===this._peekKeywordType())return this._parseFunctionDef(t,e);this._addError(ml.Diagnostic.expectedFunctionAfterAsync(),this._peekToken())}else{if(10===t.keywordType)return this._parseFunctionDef(void 0,e);if(7===t.keywordType)return this._parseClassDef(e)}return this._addError(ml.Diagnostic.expectedAfterDecorator(),this._peekToken()),ai.createDummyForDecorators(e)}_parseDecorator(){const e=this._getNextToken();w(22===e.operatorType);const t=this._parseTestExpression(!0);if(this._getLanguageVersion(){e.parent=o})),e&&(o.decorators=e,e.length>0&&(e.forEach((e=>{e.parent=o})),Jn(o,e[0]))),o}_parsePassStatement(){return Hi.create(this._getKeywordToken(30))}_parseBreakStatement(){const e=this._getKeywordToken(5);return this._isInLoop||this._addError(ml.Diagnostic.breakOutsideLoop(),e),tr.create(e)}_parseContinueStatement(){const e=this._getKeywordToken(8);return this._isInLoop?this._isInFinally&&this._addError(ml.Diagnostic.continueInFinally(),e):this._addError(ml.Diagnostic.continueOutsideLoop(),e),nr.create(e)}_parseReturnStatement(){const e=this._getKeywordToken(32),t=ir.create(e);if(this._isInFunction||this._addError(ml.Diagnostic.returnOutsideFunction(),e),!this._isNextTokenNeverExpression()){const e=this._parseTestOrStarListAsExpression(!0,!0,2,ml.Diagnostic.expectedReturnExpr());this._reportConditionalErrorForStarTupleElement(e),t.returnExpression=e,t.returnExpression.parent=t,Jn(t,e)}return t}_parseFromStatement(){const e=this._getKeywordToken(18),t=this._parseDottedModuleName(!0),n=Yi.create(e,t),i=0===t.leadingDots&&1===t.nameParts.length&&"__future__"===t.nameParts[0].value,r=this._peekToken();if(this._consumeTokenIfKeyword(21)){Jn(n,r);const e=this._peekToken();if(this._consumeTokenIfOperator(26))Jn(n,e),n.isWildcardImport=!0,n.wildcardToken=e,this._containsWildcardImport=!0;else{const e=this._peekToken(),t=this._consumeTokenIfType(13);let r;for(;;){const e=this._getTokenIfIdentifier();if(!e)break;r=void 0;const t=Qi.create(Ri.create(e));if(this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?(t.alias=Ri.create(e),t.alias.parent=t,Jn(t,e)):this._addError(ml.Diagnostic.expectedImportAlias(),this._peekToken())}n.imports.push(t),t.parent=n,Jn(n,t),i&&this._futureImportMap.set(e.value,!0);const s=this._peekToken();if(!this._consumeTokenIfType(12))break;r=s}if(0===n.imports.length&&this._addError(ml.Diagnostic.expectedImportSymbols(),this._peekToken()),t){n.usesParens=!0;const t=this._peekToken();this._consumeTokenIfType(14)?Jn(n,t):this._addError(ml.Diagnostic.expectedCloseParen(),e)}else r&&this._addError(ml.Diagnostic.trailingCommaInFromImport(),r)}}else this._addError(ml.Diagnostic.expectedImport(),this._peekToken()),t.hasTrailingDot||(n.missingImportKeyword=!0);this._importedModules.push({nameNode:n.module,leadingDots:n.module.leadingDots,nameParts:n.module.nameParts.map((e=>e.value)),importedSymbols:n.imports.map((e=>e.name.value))});let s=!1;if(1===n.module.nameParts.length){const e=n.module.nameParts[0].value;"typing"!==e&&"typing_extensions"!==e||(s=!0)}if(s){const e=["Literal","TypeAlias","Annotated"];n.isWildcardImport?e.forEach((e=>{this._typingSymbolAliases.set(e,e)})):n.imports.forEach((t=>{var n;e.some((e=>e===t.name.value))&&this._typingSymbolAliases.set((null===(n=t.alias)||void 0===n?void 0:n.value)||t.name.value,t.name.value)}))}return n}_parseImportStatement(){var e;const t=this._getKeywordToken(21),n=Gi.create(t);for(;;){const t=this._parseDottedModuleName(),i=Ji.create(t);if(this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?(i.alias=Ri.create(e),i.alias.parent=i,Jn(i,i.alias)):this._addError(ml.Diagnostic.expectedImportAlias(),this._peekToken())}if(i.module.leadingDots>0&&this._addError(ml.Diagnostic.relativeImportNotAllowed(),i.module),n.list.push(i),i.parent=n,this._importedModules.push({nameNode:i.module,leadingDots:i.module.leadingDots,nameParts:i.module.nameParts.map((e=>e.value)),importedSymbols:void 0}),1===t.nameParts.length){const n=t.nameParts[0].value;"typing"!==n&&"typing_extensions"!==n||this._typingImportAliases.push((null===(e=i.alias)||void 0===e?void 0:e.value)||n)}if(!this._consumeTokenIfType(12))break}return n.list.length>0&&Jn(n,n.list[n.list.length-1]),n}_parseDottedModuleName(e=!1){var t;const n=Ki.create(this._peekToken());for(;;){const e=null!==(t=this._getTokenIfType(19))&&void 0!==t?t:this._getTokenIfType(20);if(!e)break;19===e.type?n.leadingDots+=3:n.leadingDots++,Jn(n,e)}for(;;){const t=this._getTokenIfIdentifier();if(!t){(!e||0===n.leadingDots||n.nameParts.length>0)&&(this._addError(ml.Diagnostic.expectedModuleName(),this._peekToken()),n.hasTrailingDot=!0);break}const i=Ri.create(t);n.nameParts.push(i),i.parent=n,Jn(n,i);const r=this._peekToken();if(!this._consumeTokenIfType(20))break;Jn(n,r)}return n}_parseGlobalStatement(){const e=this._getKeywordToken(19),t=Zi.create(e);return t.nameList=this._parseNameList(),t.nameList.length>0&&(t.nameList.forEach((e=>{e.parent=t})),Jn(t,t.nameList[t.nameList.length-1])),t}_parseNonlocalStatement(){const e=this._getKeywordToken(27),t=Xi.create(e);return t.nameList=this._parseNameList(),t.nameList.length>0&&(t.nameList.forEach((e=>{e.parent=t})),Jn(t,t.nameList[t.nameList.length-1])),t}_parseNameList(){const e=[];for(;;){const t=this._getTokenIfIdentifier();if(!t){this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken());break}if(e.push(Ri.create(t)),!this._consumeTokenIfType(12))break}return e}_parseRaiseStatement(){const e=this._getKeywordToken(31),t=rr.create(e);return this._isNextTokenNeverExpression()||(t.typeExpression=this._parseTestExpression(!0),t.typeExpression.parent=t,Jn(t,t.typeExpression),this._consumeTokenIfKeyword(18)?(t.valueExpression=this._parseTestExpression(!0),t.valueExpression.parent=t,Jn(t,t.valueExpression)):this._consumeTokenIfType(12)&&(t.valueExpression=this._parseTestExpression(!0),t.valueExpression.parent=t,Jn(t,t.valueExpression),this._consumeTokenIfType(12)&&(t.tracebackExpression=this._parseTestExpression(!0),t.tracebackExpression.parent=t,Jn(t,t.tracebackExpression)))),t}_parseAssertStatement(){const e=this._getKeywordToken(2),t=this._parseTestExpression(!0),n=er.create(e,t);if(this._consumeTokenIfType(12)){const e=this._parseTestExpression(!0);n.exceptionExpression=e,n.exceptionExpression.parent=n,Jn(n,e)}return n}_parseDelStatement(){const e=this._getKeywordToken(11),t=this._parseExpressionList(!0);t.parseError||0!==t.list.length||this._addError(ml.Diagnostic.expectedDelExpr(),this._peekToken());const n=$i.create(e);return n.expressions=t.list,n.expressions.length>0&&(n.expressions.forEach((e=>{e.parent=n})),Jn(n,n.expressions[n.expressions.length-1])),n}_parseYieldExpression(){const e=this._getKeywordToken(37),t=this._peekToken();if(this._consumeTokenIfKeyword(18))return this._getLanguageVersion()0?e.list[0]:this._peekToken(-1),i=Si.create(n,t);return i.expressions=e.list,e.list.length>0&&(e.list.forEach((e=>{e.parent=i})),Jn(i,e.list[e.list.length-1])),i}_parseExpressionListAsPossibleTuple(e,t,n){if(this._isNextTokenNeverExpression())return this._addError(t,n),di.create(n,e);const i=this._parseExpressionList(!0);return i.parseError?i.parseError:this._makeExpressionOrTuple(i,!1)}_parseTestListAsExpression(e,t){if(this._isNextTokenNeverExpression())return this._handleExpressionParseError(e,t);const n=this._parseTestExpressionList();return n.parseError?n.parseError:this._makeExpressionOrTuple(n,!1)}_parseTestOrStarListAsExpression(e,t,n,i){if(this._isNextTokenNeverExpression())return this._handleExpressionParseError(n,i);const r=this._parseTestOrStarExpressionList(e,t);return r.parseError?r.parseError:this._makeExpressionOrTuple(r,!1)}_parseExpressionList(e){return this._parseExpressionListGeneric((()=>this._parseExpression(e)))}_parseTestExpressionList(){return this._parseExpressionListGeneric((()=>this._parseTestExpression(!1)))}_parseTestOrStarExpressionList(e,t){const n=this._parseExpressionListGeneric((()=>this._parseTestOrStarExpression(e)));if(!t&&!n.parseError){let e=!1;for(const t of n.list)if(56===t.nodeType){if(e){this._addError(ml.Diagnostic.duplicateUnpack(),t);break}e=!0}}return n}_parseExpression(e){const t=this._peekToken();return e&&this._consumeTokenIfOperator(26)?Ii.create(t,this._parseExpression(!1)):this._parseBitwiseOrExpression()}_parseTestOrStarExpression(e){return 26===this._peekOperatorType()?this._parseExpression(!0):this._parseTestExpression(e)}_parseTestExpression(e){if(24===this._peekKeywordType())return this._parseLambdaExpression();const t=e?this._parseAssignmentExpression():this._parseOrTest();if(0===t.nodeType)return t;if(!this._consumeTokenIfKeyword(20))return t;const n=this._parseOrTest();if(0===n.nodeType)return n;if(!this._consumeTokenIfKeyword(13))return this._handleExpressionParseError(1,ml.Diagnostic.expectedElse());const i=this._parseTestExpression(!0);return 0===i.nodeType?i:bi.create(t,n,i)}_parseAssignmentExpression(e=!1){const t=this._parseOrTest();if(0===t.nodeType)return t;if(38!==t.nodeType)return t;const n=this._peekToken();if(!this._consumeTokenIfOperator(35))return t;(!this._assignmentExpressionsAllowed||this._isParsingTypeAnnotation||e)&&this._addError(ml.Diagnostic.walrusNotAllowed(),n),this._getLanguageVersion()e===t))}return!1}_parseAtomExpression(){let e;4!==this._peekKeywordType()||this._isParsingTypeAnnotation||(e=this._getKeywordToken(4),this._getLanguageVersion()1||i.trailingComma)&&i.args.forEach((e=>{32===e.valueExpression.nodeType&&(e.valueExpression.isParenthesized||this._addError(ml.Diagnostic.generatorNotParenthesized(),e.valueExpression))}));const s=this._peekToken();let o=!1;if(this._consumeTokenIfType(14)?(Jn(r,s),o=!0):(this._addError(ml.Diagnostic.expectedCloseParen(),e),this._consumeTokensUntilType([2]),Jn(r,this._peekToken())),this._isParsingTypeAnnotation=n,this._isParsingTypeAnnotation){const e=new il;38===t.nodeType&&"type"===t.value&&(e.addMessage(ml.DiagnosticAddendum.useTypeInstead()),this._addError(ml.Diagnostic.typeCallNotAllowed()+e.getString(),r))}if(t=r,void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),!o)break}else if(this._consumeTokenIfType(15)){const n=this._isParsingIndexTrailer,i=this._isParsingTypeAnnotation;(this._isTypingAnnotation(t,"Literal")||this._isTypingAnnotation(t,"Annotated"))&&(this._isParsingTypeAnnotation=!1),this._isParsingIndexTrailer=!0;const r=this._parseSubscriptList();this._isParsingTypeAnnotation=i,this._isParsingIndexTrailer=n;const s=this._peekToken(),o=wi.create(t,r.list,r.trailingComma,s);Jn(o,o),this._consumeTokenIfType(16)||this._handleExpressionParseError(6,ml.Diagnostic.expectedCloseBracket(),e,o),t=o,void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t))}else{if(!this._consumeTokenIfType(20))break;{const n=this._getTokenIfIdentifier();if(!n)return this._handleExpressionParseError(7,ml.Diagnostic.expectedMemberName(),e,t);t=Ai.create(t,Ri.create(n)),void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t))}}}return e?Ti.create(e,t):t}_parseSubscriptList(){const e=[];let t=!1,n=!1;for(;;){const i=this._peekToken();if(10!==i.type&&this._isNextTokenNeverExpression())break;let r=0;this._consumeTokenIfOperator(26)?r=1:this._consumeTokenIfOperator(29)&&(r=2);const s=this._tokenIndex;let o,a=this._parsePossibleSlice();if(0===r)if(this._consumeTokenIfOperator(2)){const e=a;a=this._parsePossibleSlice(),38===e.nodeType?o=e.token:this._addError(ml.Diagnostic.expectedParamName(),e)}else 38===a.nodeType&&35===this._peekOperatorType()&&(this._tokenIndex=s,a=this._parseTestExpression(!0),!this._parseOptions.isStubFile&&this._getLanguageVersion()=De.V3_11;2!==r&&e||this._addError(ml.Diagnostic.unpackedSubscriptIllegal(),l)}if(!this._consumeTokenIfType(12)){n=!1;break}n=!0}if(0===e.length){const t=this._handleExpressionParseError(3,ml.Diagnostic.expectedSliceIndex(),void 0,void 0,[16]);e.push(zi.create(this._peekToken(),t,0))}return{list:e,trailingComma:n}}_parsePossibleSlice(){const e=this._peekToken(),t=[void 0,void 0,void 0];let n=0,i=!1;for(;;){const e=this._peekTokenType();if(16===e||12===e)break;if(10!==e&&(t[n]=this._parseTestExpression(!1)),n++,n>=3||!this._consumeTokenIfType(10))break;i=!0}if(!i)return t[0]?t[0]:di.create(this._peekToken(),3);const r=Ei.create(e);r.startValue=t[0],r.startValue&&(r.startValue.parent=r),r.endValue=t[1],r.endValue&&(r.endValue.parent=r),r.stepValue=t[2],r.stepValue&&(r.stepValue.parent=r);const s=t[2]||t[1]||t[0];return s&&Jn(r,s),r}_parseArgList(){const e=[];let t=!1,n=!1;for(;;){const i=this._peekTokenType();if(14===i||2===i||1===i)break;n=!1;const r=this._parseArgument();if(r.name?t=!0:t&&0===r.argumentCategory&&this._addError(ml.Diagnostic.positionArgAfterNamedArg(),r),e.push(r),!this._consumeTokenIfType(12))break;n=!0}return{args:e,trailingComma:n}}_parseArgument(){const e=this._peekToken();let t=0;this._consumeTokenIfOperator(26)?t=1:this._consumeTokenIfOperator(29)&&(t=2);let n,i=this._parseTestExpression(!0);if(0===t)if(this._consumeTokenIfOperator(2)){const e=i;i=this._parseTestExpression(!1),38===e.nodeType?n=e.token:this._addError(ml.Diagnostic.expectedParamName(),e)}else{const e=this._tryParseListComprehension(i);e&&(i=e)}const r=zi.create(e,i,t);return n&&(r.name=Ri.create(n),r.name.parent=r),r}_parseAtom(){const e=this._peekToken();if(19===e.type)return Ni.create(this._getNextToken());if(6===e.type)return Mi.create(this._getNextToken());if(7===e.type)return Ri.create(this._getNextToken());if(5===e.type)return this._parseStringList();if(22===e.type){this._getNextToken(),this._addError(ml.Diagnostic.backticksIllegal(),e);const t=this._parseTestListAsExpression(2,ml.Diagnostic.expectedExpr());return this._consumeTokenIfType(22),t}if(13===e.type){const e=this._parseTupleAtom();if(52===e.nodeType&&this._isParsingTypeAnnotation&&!this._isParsingIndexTrailer){const t=new il;t.addMessage(ml.DiagnosticAddendum.useTupleInstead()),this._addError(ml.Diagnostic.tupleInAnnotation()+t.getString(),e)}return 7===e.nodeType&&(e.parenthesized=!0),48===e.nodeType&&(e.isParenthesized=!0),32===e.nodeType&&(e.isParenthesized=!0),e}if(15===e.type){const e=this._parseListAtom();if(this._isParsingTypeAnnotation&&!this._isParsingIndexTrailer){const t=new il;t.addMessage(ml.DiagnosticAddendum.useListInstead()),this._addError(ml.Diagnostic.listInAnnotation()+t.getString(),e)}return e}if(17===e.type){const e=this._parseDictionaryOrSetAtom();if(this._isParsingTypeAnnotation){const t=new il;t.addMessage(ml.DiagnosticAddendum.useDictInstead()),this._addError(ml.Diagnostic.dictInAnnotation()+t.getString(),e)}return e}if(8===e.type){const t=e;if(15===t.keywordType||33===t.keywordType||9===t.keywordType||26===t.keywordType)return Fi.create(this._getNextToken());const n=this._getTokenIfIdentifier();if(n)return Ri.create(n)}return this._handleExpressionParseError(2,ml.Diagnostic.expectedExpr())}_handleExpressionParseError(e,t,n,i,r){this._addError(t,null!=n?n:this._peekToken());const s=di.create(this._peekToken(),e,i),o=[2];return r&&o.push(...r),this._consumeTokensUntilType(o),s}_parseLambdaExpression(e=!0){const t=this._getKeywordToken(24),n=this._parseVarArgsList(10,!1);let i;this._consumeTokenIfType(10)||this._addError(ml.Diagnostic.expectedColon(),this._peekToken()),i=e?this._parseTestExpression(!1):this._tryParseLambdaExpression(!1)||this._parseOrTest();const r=Pi.create(t,i);return r.parameters=n,n.forEach((e=>{e.parent=r})),r}_tryParseLambdaExpression(e=!0){if(24===this._peekKeywordType())return this._parseLambdaExpression(e)}_parseTupleAtom(){var e;const t=this._getNextToken();w(13===t.type);const n=this._tryParseYieldExpression();if(n)return 14!==this._peekTokenType()?this._handleExpressionParseError(8,ml.Diagnostic.expectedCloseParen(),t,n):(Jn(n,this._getNextToken()),n);const i=this._parseTestListWithComprehension(),r=this._makeExpressionOrTuple(i,!0),s=1===i.list.length&&!i.trailingComma;if(s||Jn(r,t),14!==this._peekTokenType())return this._handleExpressionParseError(8,ml.Diagnostic.expectedCloseParen(),t,null!==(e=i.parseError)&&void 0!==e?e:r);{const e=this._getNextToken();s||Jn(r,e)}return r}_parseListAtom(){var e;const t=this._getNextToken();w(15===t.type);const n=this._parseTestListWithComprehension(),i=this._peekToken();return this._consumeTokenIfType(16)?r():this._handleExpressionParseError(9,ml.Diagnostic.expectedCloseBracket(),t,null!==(e=n.parseError)&&void 0!==e?e:r());function r(){const e=ji.create(t);return i&&Jn(e,i),n.list.length>0&&(n.list.forEach((t=>{t.parent=e})),Jn(e,n.list[n.list.length-1])),e.entries=n.list,e}}_parseTestListWithComprehension(){let e=!1;return this._parseExpressionListGeneric((()=>{let t=this._parseTestOrStarExpression(!0);const n=this._tryParseListComprehension(t);return n&&(t=n,e=!0),t}),(()=>this._isNextTokenNeverExpression()),(()=>e))}_parseDictionaryOrSetAtom(){const e=this._getNextToken();w(17===e.type);const t=[],n=[];let i,r=!1,s=!1,o=!1,a=!0;for(;18!==this._peekTokenType();){let e,l,c;i=void 0;const u=this._peekToken();if(this._consumeTokenIfOperator(29)?e=this._parseExpression(!1):(l=this._parseTestOrStarExpression(!0),this._consumeTokenIfType(10)&&(c=this._parseTestExpression(!1))),l&&c)if(56===l.nodeType&&this._addError(ml.Diagnostic.unpackInDict(),l),s)this._addError(ml.Diagnostic.keyValueInSet(),c);else{const e=qi.create(l,c);let n=e;const i=this._tryParseListComprehension(e);i&&(n=i,o=!0,a||this._addError(ml.Diagnostic.comprehensionInDict(),n)),t.push(n),r=!0}else if(e)if(s)this._addError(ml.Diagnostic.unpackInSet(),e);else{const n=Bi.create(e);Jn(n,u);let i=n;const s=this._tryParseListComprehension(n);s&&(i=s,o=!0,a||this._addError(ml.Diagnostic.comprehensionInDict(),e)),t.push(i),r=!0}else if(w(void 0!==l),l)if(r){const e=di.create(this._peekToken(),13),n=qi.create(l,e);t.push(n),this._addError(ml.Diagnostic.dictKeyValuePairs(),l)}else{const e=this._tryParseListComprehension(l);e&&(l=e,o=!0,a||this._addError(ml.Diagnostic.comprehensionInSet(),l)),n.push(l),s=!0}if(o)break;if(12!==this._peekTokenType())break;i=this._getNextToken(),a=!1}let l=this._peekToken();if(this._consumeTokenIfType(18)||(this._addError(ml.Diagnostic.expectedCloseBrace(),e),l=void 0),s){const t=Wi.create(e);return l&&Jn(t,l),n.length>0&&Jn(t,n[n.length-1]),n.forEach((e=>{e.parent=t})),t.entries=n,t}const c=Vi.create(e);return i&&(c.trailingCommaToken=i,Jn(c,i)),l&&Jn(c,l),t.length>0&&(t.forEach((e=>{e.parent=c})),Jn(c,t[t.length-1])),c.entries=t,c}_parseExpressionListGeneric(e,t=(()=>this._isNextTokenNeverExpression()),n=(()=>!1)){let i=!1;const r=[];let s;for(;!t();){const t=e();if(0===t.nodeType){s=t;break}if(r.push(t),n())break;if(!this._consumeTokenIfType(12)){i=!1;break}i=!0}return{trailingComma:i,list:r,parseError:s}}_parseExpressionStatement(){let e,t=this._parseTestOrStarListAsExpression(!1,!1,2,ml.Diagnostic.expectedExpr());if(0===t.nodeType)return t;if(this._consumeTokenIfType(10)){if(e=this._parseTypeAnnotation(),t=yi.create(t,e),!this._parseOptions.isStubFile&&this._getLanguageVersion()0)}_getTypeAnnotationCommentText(){if(0===this._tokenIndex)return;const e=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex-1),t=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex);if(e.start+e.length===t.start)return;const n=this._fileContents.substring(e.start+e.length,t.start).match(/^(\s*#\s*type:\s*)([^\r\n]*)/);if(!n)return;const i=n[2];if(i.trim().match(/^ignore(\s|\[|$)/))return;const r=e.start+e.length+n[1].length;return dc.create(r,i.length,0,i,0,void 0)}_parseVariableTypeAnnotationComment(){const e=this._getTypeAnnotationCommentText();if(!e)return;const t=this._makeStringNode(e),n=Ui.create([t]),i=(new Qc).parseTextExpression(this._fileContents,e.start,e.length,this._parseOptions,1,void 0,this._typingSymbolAliases);return i.diagnostics.forEach((e=>{this._addError(e.message,n)})),i.parseTree?i.parseTree:void 0}_parseFunctionTypeAnnotationComment(e,t){const n=this._makeStringNode(e),i=Ui.create([n]),r=(new Qc).parseTextExpression(this._fileContents,e.start,e.length,this._parseOptions,2,void 0,this._typingSymbolAliases);if(r.diagnostics.forEach((e=>{this._addError(e.message,i)})),!r.parseTree||62!==r.parseTree.nodeType)return;const s=r.parseTree;t.functionAnnotationComment=s,s.parent=t,Jn(t,s)}_parseFormatStringSegment(e,t,n,i){w(t.isExpression);const r=(new Qc).parseTextExpression(this._fileContents,e.start+e.prefixLength+e.quoteMarkLength+t.offset+n,i,this._parseOptions,0,1,this._typingSymbolAliases);return r.diagnostics.forEach((t=>{const n=(t.range?xt(t.range.start,r.lines):e.start)||e.start,i={start:n,length:((t.range?(xt(t.range.end,r.lines)||0)+1:e.start+e.length)||e.start+e.length)-n};this._addError(t.message,i)})),r.parseTree}_parseFormatString(e){const t=qc(e);this._reportStringTokenErrors(e,t);const n=[];for(const i of t.formatStringSegments)if(i.isExpression){const t=this._getFormatStringExpressionLength(i.value.trimEnd()),r=this._parseFormatStringSegment(e,i,0,t);r&&n.push(r);const s=i.value.substr(t);let o=0,a=0;for(let r=0;r0&&(o--,0===o)){const s=this._getFormatStringExpressionLength(i.value.substr(t+a,r-a)),o=this._parseFormatStringSegment(e,i,t+a,s);o&&n.push(o)}}return Li.create(e,t.value,t.unescapeErrors.length>0,n)}_getFormatStringExpressionLength(e){let t=0;const n=[];let i,r=0,s=0,o=0;for(;t0||r>0||s>0||o>0,c=n.length>0;if("="===a)i=t;else{if(":"===a){if(!l)break}else if("!"===a){if(!l&&(t===e.length-1||"="!==e[t+1]))break}else if("'"===a||'"'===a){let i=a;t+20&&n[n.length-1]===i?n.pop():0===n.length&&n.push(i)}else"("===a?c||s++:")"===a?!c&&s>0&&s--:"{"===a?c||r++:"}"===a?!c&&r>0&&r--:"["===a?c||o++:"]"===a&&!c&&o>0&&o--;" "!==a&&(i=void 0)}t++}return this._parseOptions.pythonVersion>=De.V3_8&&void 0!==i&&(t=i),t}_createBinaryOperationNode(e,t,n,i){return void 0!==e.maxChildDepth&&e.maxChildDepth>=Yc&&(e=di.create(e,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),e)),void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),mi.create(e,t,n,i)}_createUnaryOperationNode(e,t,n){return void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),hi.create(e,t,n)}_parseStringList(){const e=[];for(;5===this._peekTokenType();){const t=this._getNextToken();64&t.flags?e.push(this._parseFormatString(t)):e.push(this._makeStringNode(t))}const t=Ui.create(e);if(this._isParsingTypeAnnotation)if(t.strings.length>1)this._addError(ml.Diagnostic.annotationSpansStrings(),t);else if(64&t.strings[0].token.flags)this._addError(ml.Diagnostic.annotationFormatString(),t);else{const e=t.strings[0].token,n=qc(t.strings[0].token).value,i=e.start,r=e.prefixLength+e.quoteMarkLength;if(n.length!==e.length-r-e.quoteMarkLength)this._addError(ml.Diagnostic.annotationStringEscape(),t);else{const e=(new Qc).parseTextExpression(this._fileContents,i+r,n.length,this._parseOptions,1,0!=(4&t.strings[0].token.flags)?1:0,this._typingSymbolAliases);e.diagnostics.forEach((e=>{this._addError(e.message,t)})),e.parseTree&&(t.typeAnnotation=e.parseTree,t.typeAnnotation.parent=t)}}return t}_reportConditionalErrorForStarTupleElement(e){if(52===e.nodeType&&!(e.enclosedInParens||this._parseOptions.pythonVersion>=De.V3_8))for(const t of e.expressions)if(56===t.nodeType)return void this._addError(ml.Diagnostic.unpackTuplesIllegal(),t)}_isNextTokenNeverExpression(){switch(this._peekToken().type){case 8:switch(this._peekKeywordType()){case 17:case 22:case 20:return!0}break;case 9:switch(this._peekOperatorType()){case 1:case 34:case 27:case 11:case 25:case 4:case 7:case 9:case 18:case 32:case 30:case 14:case 2:return!0}break;case 3:case 4:case 2:case 1:case 11:case 14:case 16:case 18:case 12:case 10:return!0}return!1}_disallowAssignmentExpression(e){const t=this._assignmentExpressionsAllowed;this._assignmentExpressionsAllowed=!1,e(),this._assignmentExpressionsAllowed=t}_getNextToken(){const e=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex);return this._atEof()||this._tokenIndex++,e}_atEof(){return this._tokenIndex>=this._tokenizerOutput.tokens.count-1}_peekToken(e=0){return this._tokenIndex+e<0?this._tokenizerOutput.tokens.getItemAt(0):this._tokenIndex+e>=this._tokenizerOutput.tokens.count?this._tokenizerOutput.tokens.getItemAt(this._tokenizerOutput.tokens.count-1):this._tokenizerOutput.tokens.getItemAt(this._tokenIndex+e)}_peekTokenType(){return this._peekToken().type}_peekKeywordType(){const e=this._peekToken();if(8===e.type)return e.keywordType}_peekOperatorType(){const e=this._peekToken();if(9===e.type)return e.operatorType}_getTokenIfIdentifier(){const e=this._peekToken();if(7===e.type)return this._getNextToken();if(0===e.type)return this._getNextToken(),this._addError(ml.Diagnostic.invalidIdentifierChar(),e),fc.create(e.start,e.length,"",e.comments);if(8===e.type){const t=this._peekKeywordType();if([9,25,6].find((e=>e===t))){const t=this._fileContents.substr(e.start,e.length);return this._getNextToken(),fc.create(e.start,e.length,t,e.comments)}}}_consumeTokensUntilType(e){for(;;){const t=this._peekToken();if(e.some((e=>e===t.type)))return!0;if(1===t.type)return!1;this._getNextToken()}}_getTokenIfType(e){if(this._peekTokenType()===e)return this._getNextToken()}_consumeTokenIfType(e){return!!this._getTokenIfType(e)}_consumeTokenIfKeyword(e){return this._peekKeywordType()===e&&(this._getNextToken(),!0)}_consumeTokenIfOperator(e){return this._peekOperatorType()===e&&(this._getNextToken(),!0)}_getKeywordToken(e){const t=this._getNextToken();return w(8===t.type),w(t.keywordType===e),t}_getLanguageVersion(){return this._parseOptions.pythonVersion}_suppressErrors(e){const t=this._areErrorsSuppressed;try{this._areErrorsSuppressed=!0,e()}finally{this._areErrorsSuppressed=t}}_addError(e,t){w(void 0!==t),this._areErrorsSuppressed||this._diagSink.addError(e,St(t.start,t.start+t.length,this._tokenizerOutput.lines))}}class Zc{constructor(e,t){this.symbolTable=new Map,this.notLocalBindings=new Map,this.type=e,this.parent=t}getGlobalScope(){let e=this;for(;e;){if(3===e.type||4===e.type)return e;e=e.parent}return E("failed to find scope"),this}isIndependentlyExecutable(){return 3===this.type||1===this.type}lookUpSymbol(e){return this.symbolTable.get(e)}lookUpSymbolRecursive(e,t=!1,n=!1){const i=this.symbolTable.get(e);if(i){if(t&&i.isExternallyHidden())return;const e=i.getDeclarations();if(0===e.length||e.some((e=>1!==e.type||!e.isDefinedByMemberAccess)))return{symbol:i,isOutsideCallerModule:t,isBeyondExecutionScope:n,scope:this}}let r;if(r=1===this.notLocalBindings.get(e)?this.getGlobalScope():this.parent,r)return r.lookUpSymbolRecursive(e,t||3===this.type,n||this.isIndependentlyExecutable())}addSymbol(e,t){const n=new Vo(t);return this.symbolTable.set(e,n),n}getBindingType(e){return this.notLocalBindings.get(e)}setBindingType(e,t){return this.notLocalBindings.set(e,t)}setSlotsNames(e){this.slotsNames=e}getSlotsNames(){return this.slotsNames}}function Xc(e,t,n,i){if(4===e.nodeType)return Xc(e.rightExpression,t,n,i);if(55===e.nodeType){if(37===e.operator||36===e.operator){const r=eu(e.expression,t,n,i);if(void 0!==r)return!r}}else if(7===e.nodeType){if(37===e.operator||36===e.operator){const r=Xc(e.leftExpression,t,n,i),s=Xc(e.rightExpression,t,n,i);if(void 0===r||void 0===s)return;return 37===e.operator?r||s:r&&s}if(iu(e.leftExpression,i)&&52===e.rightExpression.nodeType){const n=function(e){let t;if(e.expressions.length>=2){if(40===e.expressions[0].nodeType&&!e.expressions[0].isImaginary&&40===e.expressions[1].nodeType&&!e.expressions[1].isImaginary){const n=e.expressions[0],i=e.expressions[1];"number"==typeof n.value&&"number"==typeof i.value&&(t=256*n.value+i.value)}}else if(1===e.expressions.length){const n=e.expressions[0];"number"==typeof n.value&&(t=256*n.value)}return t}(e.rightExpression);return tu(e.operator,t.pythonVersion,n)}if(24===e.leftExpression.nodeType&&iu(e.leftExpression.baseExpression,i)&&1===e.leftExpression.items.length&&!e.leftExpression.trailingComma&&!e.leftExpression.items[0].name&&0===e.leftExpression.items[0].argumentCategory&&40===e.leftExpression.items[0].valueExpression.nodeType&&!e.leftExpression.items[0].valueExpression.isImaginary&&0===e.leftExpression.items[0].valueExpression.value&&40===e.rightExpression.nodeType)return tu(e.operator,Math.floor(t.pythonVersion/256),e.rightExpression.value);if(function(e,t=["sys"]){return!(35!==e.nodeType||38!==e.leftExpression.nodeType||"platform"!==e.memberName.value||!t.some((t=>t===e.leftExpression.value)))}(e.leftExpression,i)&&48===e.rightExpression.nodeType){const n=e.rightExpression.strings.map((e=>e.value)).join(""),i=function(e){return e.pythonPlatform===rc.Darwin?"darwin":e.pythonPlatform===rc.Windows?"win32":e.pythonPlatform===rc.Linux?"linux":void 0}(t);return nu(e.operator,i,n)}if(function(e){return 35===e.nodeType&&38===e.leftExpression.nodeType&&"os"===e.leftExpression.value&&"name"===e.memberName.value}(e.leftExpression)&&48===e.rightExpression.nodeType){const n=e.rightExpression.strings.map((e=>e.value)).join(""),i=function(e){return e.pythonPlatform===rc.Darwin?"posix":e.pythonPlatform===rc.Windows?"nt":e.pythonPlatform===rc.Linux?"posix":void 0}(t);if(void 0!==i)return nu(e.operator,i,n)}}else if(11===e.nodeType){if(33===e.constType)return!0;if(15===e.constType)return!1}else if(38===e.nodeType){if("TYPE_CHECKING"===e.value)return!0}else if(n&&35===e.nodeType&&"TYPE_CHECKING"===e.memberName.value&&38===e.leftExpression.nodeType&&n.some((t=>t===e.leftExpression.value)))return!0}function eu(e,t,n,i){return(11!==e.nodeType||26!==e.constType)&&Xc(e,t,n,i)}function tu(e,t,n){if(void 0!==t&&void 0!==n){if(t=BigInt(t),n=BigInt(n),20===e)return tn;if(16===e)return t>=n;if(12===e)return t===n;if(28===e)return t!==n}}function nu(e,t,n){if(void 0!==t&&void 0!==n){if(12===e)return t===n;if(28===e)return t!==n}}function iu(e,t=["sys"]){return!(35!==e.nodeType||38!==e.leftExpression.nodeType||"version_info"!==e.memberName.value||!t.some((t=>t===e.leftExpression.value)))}class ru extends _r{constructor(e,t=!1){super(),this._moduleSymbolOnly=t,this._deferredBindingTasks=[],this._currentExceptTargets=[],this._finallyTargets=[],this._typingImportAliases=[],this._sysImportAliases=[],this._dataclassesImportAliases=[],this._typingSymbolAliases=new Map,this._dataclassesSymbolAliases=new Map,this._dunderAllStringNodes=[],this._usesUnsupportedDunderAllForm=!1,this._isInExceptSuite=!1,this._potentialHiddenSymbols=new Map,this._potentialPrivateSymbols=new Map,this._functionCodeFlowComplexity=0,this._fileInfo=e}bindModule(e){var t;const n=void 0===this._fileInfo.builtinsScope;this._createNewScope(n?4:3,this._fileInfo.builtinsScope,(()=>{Nt(e,this._currentScope),Ut(e,this._currentFlowNode),this._addImplicitSymbolToCurrentScope("__doc__",e,"str | None"),this._addImplicitSymbolToCurrentScope("__name__",e,"str"),this._addImplicitSymbolToCurrentScope("__qualname__",e,"str"),this._addImplicitSymbolToCurrentScope("__loader__",e,"Any"),this._addImplicitSymbolToCurrentScope("__package__",e,"str"),this._addImplicitSymbolToCurrentScope("__spec__",e,"Any"),this._addImplicitSymbolToCurrentScope("__path__",e,"Iterable[str]"),this._addImplicitSymbolToCurrentScope("__file__",e,"str"),this._addImplicitSymbolToCurrentScope("__cached__",e,"str"),this._addImplicitSymbolToCurrentScope("__dict__",e,"Dict[str, Any]"),this._addImplicitSymbolToCurrentScope("__annotations__",e,"Dict[str, Any]"),this._addImplicitSymbolToCurrentScope("__builtins__",e,"Any"),this._currentFlowNode=this._createStartFlowNode(),this._walkStatementsAndReportUnreachable(e.statements),Bt(e,this._currentScopeCodeFlowExpressions),Vt(e,this._currentFlowNode)})),this._bindDeferred(),this._potentialHiddenSymbols.forEach(((e,t)=>{var n;(null===(n=this._dunderAllNames)||void 0===n?void 0:n.some((e=>e===t)))||(this._fileInfo.isStubFile?e.setIsExternallyHidden():e.setPrivatePyTypedImport())})),this._potentialPrivateSymbols.forEach(((e,t)=>{var n;(null===(n=this._dunderAllNames)||void 0===n?void 0:n.some((e=>e===t)))||e.setIsPrivateMember()})),this._dunderAllNames?jt(e,{names:this._dunderAllNames,stringNodes:this._dunderAllStringNodes,usesUnsupportedDunderAllForm:this._usesUnsupportedDunderAllForm}):jt(e,void 0);const i=Ft(e);if(i&&this._dunderAllNames)for(const e of this._dunderAllNames)null===(t=i.symbolTable.get(e))||void 0===t||t.setIsInDunderAll()}visitModule(e){return E("We should never get here"),!1}visitSuite(e){return this._walkStatementsAndReportUnreachable(e.statements),!1}visitModuleName(e){const t=Rt(e);if(w(void 0!==t),!t||t.isNativeLib)return!0;if(!t.isImportFound)return this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingImports,$o.reportMissingImports,ml.Diagnostic.importResolveFailure().format({importName:t.importName}),e),!0;if(!t.isStubFile&&1===t.importType&&!t.pyTypedInfo){const n=this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingTypeStubs,$o.reportMissingTypeStubs,ml.Diagnostic.stubFileMissing().format({importName:t.importName}),e);if(n){const e={action:"pyright.createtypestub",moduleName:t.importName};n.addAction(e)}}return t.isStubFile&&0!==t.importType&&t.nonStubImportResult&&!t.nonStubImportResult.isImportFound&&(this._fileInfo.isStubFile||this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingModuleSource,$o.reportMissingModuleSource,ml.Diagnostic.importSourceResolveFailure().format({importName:t.importName}),e)),!0}visitClass(e){this.walkMultiple(e.decorators);const t={type:4,node:e,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},n=this._bindNameToScope(this._currentScope,e.name.value);n&&n.addDeclaration(t),Ot(e,t),this.walkMultiple(e.arguments);let i=this._currentScope;for(;2===i.type;)i=i.parent;return this._createNewScope(2,i,(()=>{Nt(e,this._currentScope),this._addImplicitSymbolToCurrentScope("__doc__",e,"str | None"),this._addImplicitSymbolToCurrentScope("__module__",e,"str"),this._moduleSymbolOnly||this.walk(e.suite)})),this._createAssignmentTargetFlowNodes(e.name,!1,!1),!1}visitFunction(e){Ut(e,this._currentFlowNode);const t=this._bindNameToScope(this._currentScope,e.name.value),n=Er(e,!0),i={type:3,node:e,isMethod:!!n,isGenerator:!1,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};return t&&t.addDeclaration(i),Ot(e,i),this.walkMultiple(e.decorators),e.parameters.forEach((e=>{e.defaultValue&&this.walk(e.defaultValue),e.typeAnnotation&&this.walk(e.typeAnnotation),e.typeAnnotationComment&&this.walk(e.typeAnnotationComment)})),e.returnTypeAnnotation&&this.walk(e.returnTypeAnnotation),e.functionAnnotationComment&&this.walk(e.functionAnnotationComment),this._createNewScope(1,this._getNonClassParentScope(),(()=>{Nt(e,this._currentScope),Er(e)&&this._addImplicitSymbolToCurrentScope("__class__",e,"class"),this._deferBinding((()=>{this._currentFlowNode=this._createStartFlowNode(),this._functionCodeFlowComplexity=0,e.parameters.forEach((e=>{if(e.name){const t=this._bindNameToScope(this._currentScope,e.name.value);if(t){const n={type:2,node:e,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n),Ot(e.name,n)}this._createFlowAssignment(e.name)}})),this._targetFunctionDeclaration=i,this._currentReturnTarget=this._createBranchLabel(),this.walk(e.suite),Vt(e.suite,this._currentFlowNode),this._addAntecedent(this._currentReturnTarget,this._currentFlowNode);const t=this._finishFlowLabel(this._currentReturnTarget);Vt(e,t),Bt(e,this._currentScopeCodeFlowExpressions),function(e,t){e.codeFlowComplexity=t}(e,this._functionCodeFlowComplexity)}))})),this._createAssignmentTargetFlowNodes(e.name,!1,!1),!1}visitLambda(e){return Ut(e,this._currentFlowNode),e.parameters.forEach((e=>{e.defaultValue&&this.walk(e.defaultValue)})),this._createNewScope(1,this._getNonClassParentScope(),(()=>{Nt(e,this._currentScope),this._deferBinding((()=>{this._currentFlowNode=this._createStartFlowNode(),e.parameters.forEach((e=>{if(e.name){const t=this._bindNameToScope(this._currentScope,e.name.value);if(t){const n={type:2,node:e,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n),Ot(e.name,n)}this._createFlowAssignment(e.name),this.walk(e.name)}})),this.walk(e.expression),Bt(e,this._currentScopeCodeFlowExpressions)}))})),!1}visitCall(e){var t,n;if(this._disableTrueFalseTargets((()=>{this.walk(e.leftExpression),this.walkMultiple(e.arguments)})),this._createCallFlowNode(e),3===this._currentScope.type&&35===e.leftExpression.nodeType&&38===e.leftExpression.leftExpression.nodeType&&"__all__"===e.leftExpression.leftExpression.value){let i=!0;if("extend"===e.leftExpression.memberName.value&&1===e.arguments.length){const t=e.arguments[0].valueExpression;if(31===t.nodeType)t.entries.forEach((e=>{var t,n;48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(e.strings[0].value),null===(n=this._dunderAllStringNodes)||void 0===n||n.push(e.strings[0]),i=!1)}));else if(35===t.nodeType&&38===t.leftExpression.nodeType&&"__all__"===t.memberName.value){const e=this._getDunderAllNamesFromImport(t.leftExpression.value);e&&e.length>0&&(e.forEach((e=>{var t;null===(t=this._dunderAllNames)||void 0===t||t.push(e)})),i=!1)}}else if("remove"===e.leftExpression.memberName.value&&1===e.arguments.length){const t=e.arguments[0].valueExpression;48===t.nodeType&&1===t.strings.length&&49===t.strings[0].nodeType&&this._dunderAllNames&&(this._dunderAllNames=this._dunderAllNames.filter((e=>e!==t.strings[0].value)),this._dunderAllStringNodes=this._dunderAllStringNodes.filter((e=>e.value!==t.strings[0].value)),i=!1)}else if("append"===e.leftExpression.memberName.value&&1===e.arguments.length){const r=e.arguments[0].valueExpression;48===r.nodeType&&1===r.strings.length&&49===r.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(r.strings[0].value),null===(n=this._dunderAllStringNodes)||void 0===n||n.push(r.strings[0]),i=!1)}i&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}return!1}visitAssignment(e){if(this._handleTypingStubAssignmentOrAnnotation(e))return!1;this._bindPossibleTupleNamedTarget(e.leftExpression),e.typeAnnotationComment&&(this.walk(e.typeAnnotationComment),this._addTypeDeclarationForVariable(e.leftExpression,e.typeAnnotationComment)),this.walk(e.rightExpression);let t=!0;if((kr(e)||9===e.rightExpression.nodeType&&this._fileInfo.isTypingStubFile||function(e){let t=e;for(;t;){switch(t.nodeType){case 26:case 57:return!0}t=t.parent}return!1}(e))&&(t=!1),this._addInferredTypeAssignmentForVariable(e.leftExpression,e.rightExpression,t),this._createAssignmentTargetFlowNodes(e.leftExpression,!0,!1),3===this._currentScope.type&&(38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value||54===e.leftExpression.nodeType&&38===e.leftExpression.valueExpression.nodeType&&"__all__"===e.leftExpression.valueExpression.value)){const t=e.rightExpression;this._dunderAllNames=[];let n=!1;31===t.nodeType?t.entries.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?(this._dunderAllNames.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0])):n=!0})):52===t.nodeType?t.expressions.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?(this._dunderAllNames.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0])):n=!0})):n=!0,n&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}if(2===this._currentScope.type&&(38===e.leftExpression.nodeType&&"__slots__"===e.leftExpression.value||54===e.leftExpression.nodeType&&38===e.leftExpression.valueExpression.nodeType&&"__slots__"===e.leftExpression.valueExpression.value)){const t=e.rightExpression,n=[];let i=!0;48===t.nodeType?n.push(t):31===t.nodeType?t.entries.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?n.push(e):i=!1})):52===t.nodeType?t.expressions.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?n.push(e):i=!1})):i=!1,i&&this._addSlotsToCurrentScope(n)}return!1}visitAssignmentExpression(e){this._disableTrueFalseTargets((()=>{this.walk(e.rightExpression)}));const t=function(e){let t=!1,n=Ar(e);for(;void 0!==n;)switch(n.nodeType){case 28:case 30:case 36:return n;case 10:return t?void 0:n;case 32:t=!0,n=Ar(n.parent);break;default:return}}(e);if(t){const n=Ft(t);let i=this._currentScope;for(;i&&i!==n;){if(i.lookUpSymbol(e.name.value)){this._addError(ml.Diagnostic.assignmentExprComprehension().format({name:e.name.value}),e.name);break}i=i.parent}this._bindNameToScope(n,e.name.value),this._addInferredTypeAssignmentForVariable(e.name,e.rightExpression),this._createAssignmentTargetFlowNodes(e.name,!0,!1)}else this._addError(ml.Diagnostic.assignmentExprContext(),e),this.walk(e.name);return!1}visitAugmentedAssignment(e){if(this.walk(e.leftExpression),this.walk(e.rightExpression),this._bindPossibleTupleNamedTarget(e.destExpression),this._createAssignmentTargetFlowNodes(e.destExpression,!1,!1),1===e.operator&&3===this._currentScope.type&&38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value){const t=e.rightExpression;let n=!0;if(31===t.nodeType)t.entries.forEach((e=>{var t;48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0]))})),n=!1;else if(35===t.nodeType&&38===t.leftExpression.nodeType&&"__all__"===t.memberName.value){const e=this._getDunderAllNamesFromImport(t.leftExpression.value);e&&(e.forEach((e=>{var t;null===(t=this._dunderAllNames)||void 0===t||t.push(e)})),n=!1)}n&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}return!1}visitDel(e){return e.expressions.forEach((e=>{this._bindPossibleTupleNamedTarget(e),this.walk(e),this._createAssignmentTargetFlowNodes(e,!1,!0)})),!1}visitTypeAnnotation(e){if(this._handleTypingStubAssignmentOrAnnotation(e))return!1;this.walk(e.typeAnnotation),this._createVariableAnnotationFlowNode(),this._bindPossibleTupleNamedTarget(e.valueExpression),this._addTypeDeclarationForVariable(e.valueExpression,e.typeAnnotation);const t=[];return this._isNarrowingExpression(e.valueExpression,t)&&t.forEach((e=>{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)})),this.walk(e.valueExpression),!1}visitFor(e){this._bindPossibleTupleNamedTarget(e.targetExpression),this._addInferredTypeAssignmentForVariable(e.targetExpression,e),this.walk(e.iterableExpression);const t=this._createLoopLabel(),n=this._createBranchLabel(),i=this._createBranchLabel();if(this._addAntecedent(t,this._currentFlowNode),this._currentFlowNode=t,this._addAntecedent(n,this._currentFlowNode),this._createAssignmentTargetFlowNodes(e.targetExpression,!0,!1),this._bindLoopStatement(t,i,(()=>{this.walk(e.forSuite),this._addAntecedent(t,this._currentFlowNode)})),this._currentFlowNode=this._finishFlowLabel(n),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),e.asyncToken){const t=kr(e);t&&t.isAsync||this._addError(ml.Diagnostic.asyncNotInAsyncFunction(),e.asyncToken)}return!1}visitContinue(e){return this._currentContinueTarget&&this._addAntecedent(this._currentContinueTarget,this._currentFlowNode),this._currentFlowNode=ru._unreachableFlowNode,!1}visitBreak(e){return this._currentBreakTarget&&this._addAntecedent(this._currentBreakTarget,this._currentFlowNode),this._currentFlowNode=ru._unreachableFlowNode,!1}visitReturn(e){return this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.returnStatements||(this._targetFunctionDeclaration.returnStatements=[]),this._targetFunctionDeclaration.returnStatements.push(e)),e.returnExpression&&this.walk(e.returnExpression),Ut(e,this._currentFlowNode),this._currentReturnTarget&&this._addAntecedent(this._currentReturnTarget,this._currentFlowNode),this._finallyTargets.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),this._currentFlowNode=ru._unreachableFlowNode,!1}visitYield(e){return this._isInListComprehension(e,!0)&&this._addError(ml.Diagnostic.yieldWithinListCompr(),e),this._bindYield(e),!1}visitYieldFrom(e){return this._isInListComprehension(e,!0)&&this._addError(ml.Diagnostic.yieldWithinListCompr(),e),this._bindYield(e),!1}visitMemberAccess(e){return Ut(e,this._currentFlowNode),!0}visitName(e){return Ut(e,this._currentFlowNode),!1}visitIndex(e){return Ut(e,this._currentFlowNode),!0}visitIf(e){const t=this._currentFlowNode,n=this._createBranchLabel(),i=this._createBranchLabel(),r=this._createBranchLabel(t);return r.affectedExpressions=this._trackCodeFlowExpressions((()=>{const t=eu(e.testExpression,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases);this._bindConditional(e.testExpression,n,i),this._currentFlowNode=!1===t?ru._unreachableFlowNode:this._finishFlowLabel(n),this.walk(e.ifSuite),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=!0===t?ru._unreachableFlowNode:this._finishFlowLabel(i),e.elseSuite?this.walk(e.elseSuite):this._bindNeverCondition(e.testExpression,r,!1),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(r)})),!1}visitWhile(e){const t=this._createBranchLabel(),n=this._createBranchLabel(),i=this._createBranchLabel(),r=eu(e.testExpression,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases),s=this._createLoopLabel();return this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=s,this._bindConditional(e.testExpression,t,n),this._currentFlowNode=!1===r?ru._unreachableFlowNode:this._finishFlowLabel(t),this._bindLoopStatement(s,i,(()=>{this.walk(e.whileSuite)})),this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=!0===r?ru._unreachableFlowNode:this._finishFlowLabel(n),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),!1}visitAssert(e){const t=this._createBranchLabel(),n=this._createBranchLabel();return this._bindConditional(e.testExpression,t,n),e.exceptionExpression&&(this._currentFlowNode=this._finishFlowLabel(n),this.walk(e.exceptionExpression)),this._currentFlowNode=this._finishFlowLabel(t),!1}visitExcept(e){if(e.typeExpression&&this.walk(e.typeExpression),e.name){this.walk(e.name);const t=this._bindNameToScope(this._currentScope,e.name.value);if(this._createAssignmentTargetFlowNodes(e.name,!0,!1),t){const n={type:1,node:e.name,isConstant:Zt(e.name.value),inferredTypeSource:e,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}const t=this._isInExceptSuite;return this._isInExceptSuite=!0,this.walk(e.exceptSuite),this._isInExceptSuite=t,e.name&&this._createFlowAssignment(e.name,!0),!1}visitRaise(e){return this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.raiseStatements||(this._targetFunctionDeclaration.raiseStatements=[]),this._targetFunctionDeclaration.raiseStatements.push(e)),e.typeExpression&&this.walk(e.typeExpression),e.valueExpression&&this.walk(e.valueExpression),e.tracebackExpression&&this.walk(e.tracebackExpression),this._finallyTargets.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),this._currentFlowNode=ru._unreachableFlowNode,!1}visitTry(e){const t=this._currentFlowNode,n=e.exceptClauses.map((()=>this._createBranchLabel())),i=this._createBranchLabel(t);let r=!1;const s=this._createBranchLabel(t),o={flags:ft.PreFinallyGate,id:kt(),antecedent:s,isGateClosed:!1};if(i.affectedExpressions=this._trackCodeFlowExpressions((()=>{e.finallySuite&&this._addAntecedent(i,o),e.exceptClauses.some((e=>!e.typeExpression))||n.push(s),n.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),e.finallySuite&&this._finallyTargets.push(s),this._useExceptTargets(n,(()=>{this.walk(e.trySuite)})),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._isCodeUnreachable()||(r=!0),e.exceptClauses.forEach(((e,t)=>{this._currentFlowNode=this._finishFlowLabel(n[t]),this.walk(e),this._addAntecedent(i,this._currentFlowNode),this._isCodeUnreachable()||(r=!0)})),e.finallySuite&&this._finallyTargets.pop(),this._currentFlowNode=this._finishFlowLabel(i)})),e.finallySuite){this.walk(e.finallySuite);const t={flags:ft.PostFinally,id:kt(),finallyNode:e.finallySuite,antecedent:this._currentFlowNode,preFinallyGate:o};this._currentFlowNode=r?t:ru._unreachableFlowNode}return this._functionCodeFlowComplexity+=4,!1}visitAwait(e){var t;const n=kr(e);if(void 0===n||!n.isAsync){if(this._fileInfo.isIPythonMode&&void 0===n)return!0;32!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&this._addError(ml.Diagnostic.awaitNotInAsync(),e)}return!0}visitGlobal(e){const t=this._currentScope.getGlobalScope();return e.nameList.forEach((e=>{const n=e.value;0===this._currentScope.getBindingType(n)&&this._addError(ml.Diagnostic.nonLocalRedefinition().format({name:n}),e);const i=this._currentScope.lookUpSymbolRecursive(n);i&&i.scope===this._currentScope&&this._addError(ml.Diagnostic.globalReassignment().format({name:n}),e),this._bindNameToScope(t,n),this._currentScope!==t&&this._currentScope.setBindingType(n,1)})),!0}visitNonlocal(e){const t=this._currentScope.getGlobalScope();return this._currentScope===t?this._addError(ml.Diagnostic.nonLocalInModule(),e):e.nameList.forEach((e=>{const n=e.value;1===this._currentScope.getBindingType(n)&&this._addError(ml.Diagnostic.globalRedefinition().format({name:n}),e);const i=this._currentScope.lookUpSymbolRecursive(n);i&&i.scope===this._currentScope?this._addError(ml.Diagnostic.nonLocalReassignment().format({name:n}),e):i&&i.scope!==t||this._addError(ml.Diagnostic.nonLocalNoBinding().format({name:n}),e),i&&this._currentScope.setBindingType(n,0)})),!0}visitImportAs(e){var t,n,i,r,s,o;if(e.module.nameParts.length>0){const a=e.module.nameParts[0].value;let l;l=e.alias?e.alias.value:a;const c=this._bindNameToScope(this._currentScope,l);!c||3!==this._currentScope.type&&4!==this._currentScope.type||e.alias&&1===e.module.nameParts.length&&e.module.nameParts[0].value===e.alias.value||(this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage)&&this._potentialHiddenSymbols.set(l,c);const u=Rt(e.module);w(void 0!==u),c&&this._createAliasDeclarationForMultipartImportName(e,e.alias,u,c),this._createFlowAssignment(e.alias?e.alias:e.module.nameParts[0]),1===e.module.nameParts.length&&("typing"===a||"typing_extensions"===a?this._typingImportAliases.push(null!==(n=null===(t=e.alias)||void 0===t?void 0:t.value)&&void 0!==n?n:a):"sys"===a?this._sysImportAliases.push(null!==(r=null===(i=e.alias)||void 0===i?void 0:i.value)&&void 0!==r?r:a):"dataclasses"===a&&this._dataclassesImportAliases.push(null!==(o=null===(s=e.alias)||void 0===s?void 0:s.value)&&void 0!==o?o:a))}return!0}visitImportFrom(e){const t=["Final","TypeAlias","ClassVar","Required","NotRequired","Annotated"],n=["InitVar"],i=Rt(e.module);let r="";i&&i.isImportFound&&!i.isNativeLib&&(r=i.resolvedPaths[i.resolvedPaths.length-1]);const s=he(de(this._fileInfo.filePath)),o="__init__"===s&&1===e.module.leadingDots&&1===e.module.nameParts.length;let a=!1,l=!1;if(1===e.module.nameParts.length){const t=e.module.nameParts[0].value;"typing"!==t&&"typing_extensions"!==t||(a=!0),"dataclasses"===t&&(l=!0)}if(e.isWildcardImport){if((Er(e)||kr(e))&&this._addError(ml.Diagnostic.wildcardInFunction(),e),i){const s=[],c=this._fileInfo.importLookup(r);if(c){const t=this._getWildcardImportNames(c);o&&(t.some((t=>t===e.module.nameParts[0].value))||this._addImplicitFromImport(e,i)),t.forEach((t=>{const n=this._bindNameToScope(this._currentScope,t);if(n)if(c.symbolTable.get(t)){const i={type:6,node:e,path:r,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,symbolName:t,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};n.addDeclaration(i),s.push(t)}else if(i&&i.filteredImplicitImports){const s=i.filteredImplicitImports.find((e=>e.name===t));if(s){const i={type:6,node:e,path:s.path,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},o={type:6,node:e,path:r,loadSymbolsFromPath:!0,usesLocalName:!1,symbolName:t,submoduleFallback:i,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};n.addDeclaration(o)}}}))}this._createFlowWildcardImport(e,s),a&&t.forEach((e=>{this._typingSymbolAliases.set(e,e)})),l&&n.forEach((e=>{this._dataclassesSymbolAliases.set(e,e)}))}}else o&&this._addImplicitFromImport(e,i),e.imports.forEach((o=>{const c=o.name.value,u=o.alias||o.name,p=this._bindNameToScope(this._currentScope,u.value);if(p){let d,h;e.module.nameParts.length>0&&(3!==this._currentScope.type&&4!==this._currentScope.type||o.alias&&o.alias.value===o.name.value||(this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage)&&this._potentialHiddenSymbols.set(u.value,p)),i&&i.filteredImplicitImports&&(d=i.filteredImplicitImports.find((e=>e.name===c)));let m=!0;d&&(h={type:6,node:o,path:d.path,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},"__init__"===s&&1===e.module.leadingDots&&0===e.module.nameParts.length&&(m=!1));const f={type:6,node:o,path:r,loadSymbolsFromPath:m,usesLocalName:!!o.alias,symbolName:c,submoduleFallback:h,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,isNativeLib:null==i?void 0:i.isNativeLib};p.addDeclaration(f),this._createFlowAssignment(o.alias||o.name),a&&t.some((e=>e===o.name.value))&&this._typingSymbolAliases.set(u.value,o.name.value),l&&n.some((e=>e===o.name.value))&&this._dataclassesSymbolAliases.set(u.value,o.name.value)}}));return!0}visitWith(e){e.withItems.forEach((e=>{this.walk(e.expression),e.target&&(this._bindPossibleTupleNamedTarget(e.target),this._addInferredTypeAssignmentForVariable(e.target,e),this._createAssignmentTargetFlowNodes(e.target,!0,!1))}));const t=this._createContextManagerLabel(e.withItems.map((e=>e.expression)),!!e.isAsync,!1);this._addAntecedent(t,this._currentFlowNode);const n=this._createContextManagerLabel(e.withItems.map((e=>e.expression)),!!e.isAsync,!0);this._currentExceptTargets.forEach((e=>{this._addAntecedent(e,n)}));const i=this._currentFlowNode,r=this._createBranchLabel(i);return this._addAntecedent(r,t),r.affectedExpressions=this._trackCodeFlowExpressions((()=>{if(this._useExceptTargets([t,n],(()=>{this.walk(e.suite)})),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=r,this._isCodeUnreachable()||this._addExceptTargets(this._currentFlowNode),e.asyncToken){const t=kr(e);t&&t.isAsync||this._addError(ml.Diagnostic.asyncNotInAsyncFunction(),e.asyncToken)}})),!1}visitTernary(e){const t=this._currentFlowNode,n=this._createBranchLabel(),i=this._createBranchLabel(),r=this._createBranchLabel(t);return r.affectedExpressions=this._trackCodeFlowExpressions((()=>{this._bindConditional(e.testExpression,n,i),this._currentFlowNode=this._finishFlowLabel(n),this.walk(e.ifExpression),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),this.walk(e.elseExpression),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(r)})),!1}visitUnaryOperation(e){return 38===e.operator&&this._currentFalseTarget&&this._currentTrueTarget?this._bindConditional(e.expression,this._currentFalseTarget,this._currentTrueTarget):this._disableTrueFalseTargets((()=>{this.walk(e.expression)})),!1}visitBinaryOperation(e){if(36===e.operator||37===e.operator){let t,n=this._currentTrueTarget,i=this._currentFalseTarget;n&&i||(t=this._createBranchLabel(),n=i=t);const r=this._createBranchLabel();36===e.operator?this._bindConditional(e.leftExpression,r,i):this._bindConditional(e.leftExpression,n,r),this._currentFlowNode=this._finishFlowLabel(r),this._bindConditional(e.rightExpression,n,i),t&&(this._currentFlowNode=this._finishFlowLabel(t))}else this._disableTrueFalseTargets((()=>{this.walk(e.leftExpression),this.walk(e.rightExpression)}));return!1}visitListComprehension(e){const t=kr(e);return this._createNewScope(0,this._getNonClassParentScope(),(()=>{var n;Nt(e,this._currentScope);const i=this._createBranchLabel();for(let i=0;i{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)}));const i=this._createBranchLabel();let r=!1;return e.cases.forEach((t=>{const s=this._createBranchLabel(),o=this._createBranchLabel(),a=this._createBranchLabel();this._addAntecedent(o,this._currentFlowNode),t.isIrrefutable?t.guardExpression||(r=!0):this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(o),this.walk(t.pattern),n&&this._createFlowNarrowForPattern(e.subjectExpression,t),t.guardExpression?this._bindConditional(t.guardExpression,a,s):this._addAntecedent(a,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(a),this.walk(t.suite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(s)})),n&&(this._createFlowNarrowForPattern(e.subjectExpression,e),r||this._createFlowExhaustedMatch(e)),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),!1}visitPatternAs(e){const t=this._createBranchLabel();if(e.orPatterns.forEach((e=>{this.walk(e),this._addAntecedent(t,this._currentFlowNode)})),this._currentFlowNode=this._finishFlowLabel(t),e.target){this.walk(e.target);const t=this._bindNameToScope(this._currentScope,e.target.value);if(this._createAssignmentTargetFlowNodes(e.target,!1,!1),t){const n={type:1,node:e.target,isConstant:Zt(e.target.value),inferredTypeSource:e,path:this._fileInfo.filePath,range:St(e.target.start,dt.getEnd(e.target),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}return!1}visitPatternCapture(e){return e.isWildcard||this._addPatternCaptureTarget(e.target),!0}visitPatternMappingExpandEntry(e){return"_"!==e.target.value&&this._addPatternCaptureTarget(e.target),!0}_getNonClassParentScope(){let e=this._currentScope;for(;2===e.type;)e=e.parent;return e}_addSlotsToCurrentScope(e){w(2===this._currentScope.type);let t=!1;for(const n of e){const e=n.strings[0].value;if("__dict__"===e){t=!0;continue}let i=this._currentScope.lookUpSymbol(e);if(!i){i=this._currentScope.addSymbol(e,9);const t="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(e)&&t&&i.setIsPrivateMember()}const r={type:1,node:n,isConstant:Zt(e),isDefinedBySlots:!0,path:this._fileInfo.filePath,range:St(n.start,n.start+n.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};i.addDeclaration(r)}t||this._currentScope.setSlotsNames(e.map((e=>e.strings[0].value)))}_isInListComprehension(e,t=!1){let n,i,r=e;for(;r;){if(32===r.nodeType){if(t&&r.forIfNodes.length>0){const e=r.forIfNodes[0];if(n===e&&33===e.nodeType&&i===e.iterableExpression)return!1}return!0}i=n,n=r,r=r.parent}return!1}_addPatternCaptureTarget(e){const t=this._bindNameToScope(this._currentScope,e.value);if(this._createAssignmentTargetFlowNodes(e,!1,!1),t){const n={type:1,node:e,isConstant:Zt(e.value),inferredTypeSource:e.parent,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}_useExceptTargets(e,t){const n=this._currentExceptTargets;this._currentExceptTargets=e,t(),this._currentExceptTargets=n}_getDunderAllNamesFromImport(e){var t;const n=this._currentScope.lookUpSymbol(e);if(!n)return;const i=n.getDeclarations().find((e=>6===e.type)),r=(null==i?void 0:i.path)&&i.loadSymbolsFromPath?i.path:(null===(t=null==i?void 0:i.submoduleFallback)||void 0===t?void 0:t.path)&&i.submoduleFallback.loadSymbolsFromPath?i.submoduleFallback.path:void 0;if(!r)return;const s=this._fileInfo.importLookup(r);return s?s.dunderAllNames:void 0}_addImplicitFromImport(e,t){const n=e.module.nameParts[0].value,i=this._bindNameToScope(this._currentScope,n);i&&this._createAliasDeclarationForMultipartImportName(e,void 0,t,i),this._createFlowAssignment(e.module.nameParts[0])}_createAliasDeclarationForMultipartImportName(e,t,n,i){const r=e.module.nameParts[0].value;if(n&&n.isImportFound&&!n.isNativeLib&&n.resolvedPaths.length>0){const s=i.getDeclarations().find((e=>6===e.type&&e.firstNamePart===r));let o;if(o=s||{type:6,node:e,path:n.resolvedPaths[n.resolvedPaths.length-1],loadSymbolsFromPath:!1,moduleName:n.importName,isInExceptSuite:this._isInExceptSuite,range:{start:{line:0,character:0},end:{line:0,character:0}},firstNamePart:r,usesLocalName:!!t},t||1===e.module.nameParts.length)o.path=n.resolvedPaths[n.resolvedPaths.length-1],o.loadSymbolsFromPath=!0,this._addImplicitImportsToLoaderActions(n,o);else{let t=o;for(let i=1;i=n.resolvedPaths.length);i++){const r=e.module.nameParts[i].value;let s=t.implicitImports?t.implicitImports.get(r):void 0;s||(s={path:n.resolvedPaths[i],loadSymbolsFromPath:!1,implicitImports:new Map},t.implicitImports||(t.implicitImports=new Map),t.implicitImports.set(r,s)),i===e.module.nameParts.length-1&&(s.path=n.resolvedPaths[i],s.loadSymbolsFromPath=!0,this._addImplicitImportsToLoaderActions(n,s)),t=s}}s||i.addDeclaration(o)}else{const n={type:6,node:e,path:"*** unresolved ***",loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!!t,moduleName:"",isUnresolved:!0,isInExceptSuite:this._isInExceptSuite};i.addDeclaration(n)}}_getWildcardImportNames(e){const t=[];if(e.dunderAllNames){if(!e.usesUnsupportedDunderAllForm)return e.dunderAllNames;t.push(...e.dunderAllNames)}return e.symbolTable.forEach(((e,n)=>{e.isExternallyHidden()||Yt(n)||t.push(n)})),t}_walkStatementsAndReportUnreachable(e){let t=!1;for(const n of e)Ut(n,this._currentFlowNode),t||(t=this._isCodeUnreachable()),t?this._targetFunctionDeclaration&&!this._targetFunctionDeclaration.isGenerator&&(new su).checkContainsYield(n)&&(this._targetFunctionDeclaration.isGenerator=!0):this.walk(n);return!1}_createStartFlowNode(){return{flags:ft.Start,id:kt()}}_createBranchLabel(e){return{flags:ft.BranchLabel,id:kt(),antecedents:[],preBranchAntecedent:e,affectedExpressions:void 0}}_createFlowNarrowForPattern(e,t){const n={flags:ft.NarrowForPattern,id:kt(),subjectExpression:e,statement:t,antecedent:this._currentFlowNode};this._currentFlowNode=n}_createContextManagerLabel(e,t,n){return{flags:ft.PostContextManager|ft.BranchLabel,id:kt(),antecedents:[],expressions:e,affectedExpressions:void 0,isAsync:t,blockIfSwallowsExceptions:n}}_createLoopLabel(){return{flags:ft.LoopLabel,id:kt(),antecedents:[],affectedExpressions:void 0}}_finishFlowLabel(e){return 0===e.antecedents.length?ru._unreachableFlowNode:1===e.antecedents.length&&e.flags===ft.BranchLabel?e.antecedents[0]:(this._functionCodeFlowComplexity+=e.antecedents.length,e)}_bindNeverCondition(e,t,n){const i=[];if(55===e.nodeType&&38===e.operator)this._bindNeverCondition(e.expression,t,!n);else if(7!==e.nodeType||36!==e.operator&&37!==e.operator)this._isNarrowingExpression(e,i,!0)&&i.filter((e=>38===e.nodeType)).length>0&&(this._currentFlowNode=this._createFlowConditional(n?ft.TrueNeverCondition:ft.FalseNeverCondition,this._currentFlowNode,e)),this._addAntecedent(t,this._currentFlowNode);else if(36===e.operator){const i=this._currentFlowNode;this._bindNeverCondition(e.leftExpression,t,n),this._currentFlowNode=i,this._bindNeverCondition(e.rightExpression,t,n)}else{const i=this._currentFlowNode,r=this._createBranchLabel();if(this._bindNeverCondition(e.leftExpression,r,n),i!==this._currentFlowNode){this._currentFlowNode=this._finishFlowLabel(r);const s=this._currentFlowNode;this._bindNeverCondition(e.rightExpression,t,n),s===this._currentFlowNode&&(this._currentFlowNode=i)}}}_bindConditional(e,t,n){this._setTrueFalseTargets(t,n,(()=>{this.walk(e)})),this._isLogicalExpression(e)||(this._addAntecedent(t,this._createFlowConditional(ft.TrueCondition,this._currentFlowNode,e)),this._addAntecedent(n,this._createFlowConditional(ft.FalseCondition,this._currentFlowNode,e)))}_disableTrueFalseTargets(e){this._setTrueFalseTargets(void 0,void 0,e)}_setTrueFalseTargets(e,t,n){const i=this._currentTrueTarget,r=this._currentFalseTarget;this._currentTrueTarget=e,this._currentFalseTarget=t,n(),this._currentTrueTarget=i,this._currentFalseTarget=r}_createFlowConditional(e,t,n){if(t.flags&ft.Unreachable)return t;const i=eu(n,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases);if(!0===i&&e&ft.FalseCondition||!1===i&&e&ft.TrueCondition)return ru._unreachableFlowNode;const r=[];if(!this._isNarrowingExpression(n,r))return t;r.forEach((e=>{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)}));const s=r.filter((e=>38===e.nodeType)),o={flags:e,id:kt(),reference:s.length>0?s[0]:void 0,expression:n,antecedent:t};return this._addExceptTargets(o),o}_isLogicalExpression(e){switch(e.nodeType){case 55:return 38===e.operator;case 7:return 36===e.operator||37===e.operator}return!1}_isNarrowingExpression(e,t,n=!1,i=!1){switch(e.nodeType){case 38:case 35:case 24:if(n){if(38!==e.nodeType)return!1;if(!i)return!1}return!!Dt(e)&&(t.push(e),!0);case 4:return t.push(e.name),this._isNarrowingExpression(e.rightExpression,t,n,!0),!0;case 7:{const i=39===e.operator||40===e.operator,r=12===e.operator||28===e.operator;if(i||r){if(11===e.rightExpression.nodeType&&26===e.rightExpression.constType)return this._isNarrowingExpression(e.leftExpression,t,n,!0);if(i&&9===e.leftExpression.nodeType&&38===e.leftExpression.leftExpression.nodeType&&"type"===e.leftExpression.leftExpression.value&&1===e.leftExpression.arguments.length&&0===e.leftExpression.arguments[0].argumentCategory)return this._isNarrowingExpression(e.leftExpression.arguments[0].valueExpression,t,n,!0);const s=this._isNarrowingExpression(e.leftExpression,t,n,!0);if(i)return s;if(r){const i=this._isNarrowingExpression(e.rightExpression,t,n,!0);return s||i}}return!(41!==e.operator&&42!==e.operator||48!==e.leftExpression.nodeType||!this._isNarrowingExpression(e.rightExpression,t,n,!0))||41===e.operator&&this._isNarrowingExpression(e.leftExpression,t,n,!0)}case 55:return 38===e.operator&&this._isNarrowingExpression(e.expression,t,n,!1);case 5:return this._isNarrowingExpression(e.rightExpression,t,n,!0);case 9:if(38===e.leftExpression.nodeType&&("isinstance"===e.leftExpression.value||"issubclass"===e.leftExpression.value)&&2===e.arguments.length)return this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0);if(38===e.leftExpression.nodeType&&"callable"===e.leftExpression.value&&1===e.arguments.length)return this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0);if(e.arguments.length>=1)return!n&&this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0)}return!1}_createAssignmentTargetFlowNodes(e,t,n){switch(e.nodeType){case 38:case 35:case 24:this._createFlowAssignment(e,n),t&&this.walk(e);break;case 52:e.expressions.forEach((e=>{this._createAssignmentTargetFlowNodes(e,t,n)}));break;case 54:this._createAssignmentTargetFlowNodes(e.valueExpression,!1,n),t&&this.walk(e);break;case 56:this._createAssignmentTargetFlowNodes(e.expression,!1,n),t&&this.walk(e);break;case 31:e.entries.forEach((e=>{this._createAssignmentTargetFlowNodes(e,t,n)}));break;default:t&&this.walk(e)}}_createCallFlowNode(e){if(!this._isCodeUnreachable()){const t={flags:ft.Call,id:kt(),node:e,antecedent:this._currentFlowNode};this._currentFlowNode=t}Ut(e,this._currentFlowNode),this._isCodeUnreachable()||this._addExceptTargets(this._currentFlowNode)}_createVariableAnnotationFlowNode(){if(!this._isCodeUnreachable()){const e={flags:ft.VariableAnnotation,id:kt(),antecedent:this._currentFlowNode};this._currentFlowNode=e}}_createFlowAssignment(e,t=!1){let n=0;if(38===e.nodeType){const t=this._currentScope.lookUpSymbolRecursive(e.value);w(void 0!==t),n=t.symbol.id}const i=this._currentFlowNode;if(!this._isCodeUnreachable()&&Dt(e)){const i={flags:ft.Assignment,id:kt(),node:e,antecedent:this._currentFlowNode,targetSymbolId:n},r=At(e);this._currentScopeCodeFlowExpressions.add(r),t&&(i.flags|=ft.Unbind),35===e.nodeType&&this._addExceptTargets(i),this._currentFlowNode=i}t&&void 0!==Lt(e)||Ut(e,t?i:this._currentFlowNode)}_createFlowWildcardImport(e,t){if(!this._isCodeUnreachable()){const n={flags:ft.WildcardImport,id:kt(),node:e,names:t,antecedent:this._currentFlowNode};this._addExceptTargets(n),this._currentFlowNode=n}Ut(e,this._currentFlowNode)}_createFlowExhaustedMatch(e){if(!this._isCodeUnreachable()){const t={flags:ft.ExhaustedMatch,id:kt(),node:e,antecedent:this._currentFlowNode};this._currentFlowNode=t}Ut(e,this._currentFlowNode)}_isCodeUnreachable(){return!!(this._currentFlowNode.flags&ft.Unreachable)}_addExceptTargets(e){this._currentExceptTargets&&this._currentExceptTargets.forEach((t=>{this._addAntecedent(t,e)}))}_trackCodeFlowExpressions(e){const t=this._currentScopeCodeFlowExpressions;this._currentScopeCodeFlowExpressions=new Set,e();const n=this._currentScopeCodeFlowExpressions;return t&&this._currentScopeCodeFlowExpressions.forEach((e=>{t.add(e)})),this._currentScopeCodeFlowExpressions=t,n}_bindLoopStatement(e,t,n){const i=this._currentContinueTarget,r=this._currentBreakTarget,s=this._functionCodeFlowComplexity;this._currentContinueTarget=e,this._currentBreakTarget=t,this._functionCodeFlowComplexity=1,e.affectedExpressions=this._trackCodeFlowExpressions(n),this._currentContinueTarget=i,this._currentBreakTarget=r,this._functionCodeFlowComplexity=2*this._functionCodeFlowComplexity+s}_addAntecedent(e,t){this._currentFlowNode.flags&ft.Unreachable||e.antecedents.some((e=>e.id===t.id))||e.antecedents.push(t)}_bindNameToScope(e,t,n){const i=this._currentScope.getBindingType(t);if(void 0===i){let i=e.lookUpSymbol(t);return i||(i=e.addSymbol(t,5),3!==this._currentScope.type&&4!==this._currentScope.type||Yt(t)&&(Kt(t)?i.setIsExternallyHidden():this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage?4===this._currentScope.type?i.setIsExternallyHidden():this._potentialPrivateSymbols.set(t,i):i.setIsPrivateMember()),n&&n.set(t,i)),i}{const e=(0===i?this._currentScope.parent:this._currentScope.getGlobalScope()).lookUpSymbolRecursive(t);if(e)return e.symbol}}_bindPossibleTupleNamedTarget(e,t){switch(e.nodeType){case 38:this._bindNameToScope(this._currentScope,e.value,t);break;case 52:e.expressions.forEach((e=>{this._bindPossibleTupleNamedTarget(e,t)}));break;case 31:e.entries.forEach((e=>{this._bindPossibleTupleNamedTarget(e,t)}));break;case 54:this._bindPossibleTupleNamedTarget(e.valueExpression,t);break;case 56:this._bindPossibleTupleNamedTarget(e.expression,t)}}_addImplicitSymbolToCurrentScope(e,t,n){const i=this._addSymbolToCurrentScope(e,!1);i&&(i.addDeclaration({type:0,node:t,intrinsicType:n,path:this._fileInfo.filePath,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite}),i.setIsIgnoredForProtocolMatch())}_addSymbolToCurrentScope(e,t){let n=this._currentScope.lookUpSymbol(e);if(!n){let i=0;t&&(i|=1),2===this._currentScope.type&&(i|=4),this._fileInfo.isStubFile&&Yt(e)&&(i|=2),n=this._currentScope.addSymbol(e,i)}return n}_createNewScope(e,t,n){const i=this._currentScope,r=new Zc(e,t);this._currentScope=r;const s=4===e||3===e||1===e,o=this._currentScopeCodeFlowExpressions;return s&&(this._currentScopeCodeFlowExpressions=new Set),n(),this._currentScopeCodeFlowExpressions=o,this._currentScope=i,r}_addInferredTypeAssignmentForVariable(e,t,n=!1){switch(e.nodeType){case 38:{const i=e,r=this._currentScope.lookUpSymbolRecursive(i.value);if(r&&r.symbol){const s={type:1,node:e,isConstant:Zt(e.value),inferredTypeSource:t,isInferenceAllowedInPyTyped:this._isInferenceAllowedInPyTyped(i.value),typeAliasName:n?e:void 0,path:this._fileInfo.filePath,range:St(i.start,dt.getEnd(i),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.symbol.addDeclaration(s)}break}case 35:{const n=this._getMemberAccessInfo(e);if(n){const i=e.memberName;let r=n.classScope.lookUpSymbol(i.value);if(!r){r=n.classScope.addSymbol(i.value,1);const e="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(i.value)&&e&&r.setIsPrivateMember()}n.isInstanceMember?r.isClassMember()&&r.getDeclarations().some((e=>3===e.type&&e.isMethod))||r.setIsInstanceMember():r.setIsClassMember();const s={type:1,node:e.memberName,isConstant:Zt(i.value),inferredTypeSource:t,isDefinedByMemberAccess:!0,path:this._fileInfo.filePath,range:St(e.memberName.start,e.memberName.start+e.memberName.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.addDeclaration(s)}break}case 52:e.expressions.forEach((e=>{this._addInferredTypeAssignmentForVariable(e,t)}));break;case 54:this._addInferredTypeAssignmentForVariable(e.valueExpression,t);break;case 56:this._addInferredTypeAssignmentForVariable(e.expression,t);break;case 31:e.entries.forEach((e=>{this._addInferredTypeAssignmentForVariable(e,t)}))}}_isInferenceAllowedInPyTyped(e){return["__match_args__","__slots__","__all__"].some((t=>t===e))}_addTypeDeclarationForVariable(e,t){var n,i,r;let s=!1;switch(e.nodeType){case 38:{const o=e,a=this._currentScope.lookUpSymbolRecursive(o.value);if(a&&a.symbol){const s=this._isAnnotationFinal(t),l=this._isAnnotationTypeAlias(t);let c=t,u=t;l?(c=void 0,u=void 0,2!==this._currentScope.type&&3!==this._currentScope.type&&4!==this._currentScope.type&&this._addError(ml.Diagnostic.typeAliasNotInModuleOrClass(),t)):s.isFinal&&(u=s.finalTypeNode,s.finalTypeNode||(c=void 0));let p=this._isAnnotationClassVar(t);if(p.isClassVar&&(u=p.classVarTypeNode,p.classVarTypeNode||(c=void 0)),s.isFinal){const t=Dr(e);t&&10===t.nodeType&&(3!==(null===(n=e.parent)||void 0===n?void 0:n.nodeType)&&3!==(null===(r=null===(i=e.parent)||void 0===i?void 0:i.parent)||void 0===r?void 0:r.nodeType)||(p={isClassVar:!0,classVarTypeNode:void 0}))}const d={type:1,node:e,isConstant:Zt(o.value),isFinal:s.isFinal,isClassVar:p.isClassVar,isRequired:this._isRequiredAnnotation(u),isNotRequired:this._isNotRequiredAnnotation(u),typeAliasAnnotation:l?t:void 0,typeAliasName:l?e:void 0,path:this._fileInfo.filePath,typeAnnotationNode:c,range:St(o.start,dt.getEnd(o),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};if(a.symbol.addDeclaration(d),p.isClassVar?a.symbol.setIsClassVar():a.symbol.setIsInstanceMember(),24===t.nodeType)if(this._isDataclassesAnnotation(t.baseExpression,"InitVar"))a.symbol.setIsInitVar();else if(this._isTypingAnnotation(t.baseExpression,"Annotated")&&t.items.length>0){const e=t.items[0].valueExpression;24===e.nodeType&&this._isDataclassesAnnotation(e.baseExpression,"InitVar")&&a.symbol.setIsInitVar()}}s=!0;break}case 35:{const n=this._getMemberAccessInfo(e);if(n){const i=e.memberName;let r=n.classScope.lookUpSymbol(i.value);if(!r){r=n.classScope.addSymbol(i.value,1);const e="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(i.value)&&e&&r.setIsPrivateMember()}n.isInstanceMember?r.setIsInstanceMember():r.setIsClassMember();const o=this._isAnnotationFinal(t),a={type:1,node:e.memberName,isConstant:Zt(i.value),isDefinedByMemberAccess:!0,isFinal:o.isFinal,path:this._fileInfo.filePath,typeAnnotationNode:o.isFinal&&!o.finalTypeNode?void 0:t,range:St(e.memberName.start,e.memberName.start+e.memberName.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.addDeclaration(a),s=!0}break}}s||this._addError(ml.Diagnostic.annotationNotSupported(),t)}_isTypingAnnotation(e,t){return this._isKnownAnnotation(e,t,this._typingImportAliases,this._typingSymbolAliases)}_isDataclassesAnnotation(e,t){return this._isKnownAnnotation(e,t,this._dataclassesImportAliases,this._dataclassesSymbolAliases)}_isKnownAnnotation(e,t,n,i){if(38===e.nodeType){if(i.get(e.value)===t)return!0}else if(35===e.nodeType&&38===e.leftExpression.nodeType&&e.memberName.value===t){const t=e.leftExpression.value;return n.some((e=>e===t))}return!1}_getVariableDocString(e){var t,n,i,r;let s,o=e;for(;o&&3!==o.nodeType;)54!==o.nodeType||s||(s=o),o=o.parent;if(3!==(null==o?void 0:o.nodeType)){if(!s)return;o=s}const a=o.parent;if(47!==(null==a?void 0:a.nodeType))return;const l=a.parent;if(!l||36!==l.nodeType&&50!==l.nodeType)return;const c=l.statements.findIndex((e=>e===a));if(c<0||c===l.statements.length-1)return;const u=l.statements[c+1];if(47!==u.nodeType||!qr(u))return;let p=!1;if(36===(null===(t=null==a?void 0:a.parent)||void 0===t?void 0:t.nodeType))p=!0;else if(50===(null===(n=null==a?void 0:a.parent)||void 0===n?void 0:n.nodeType)&&10===(null===(r=null===(i=null==a?void 0:a.parent)||void 0===i?void 0:i.parent)||void 0===r?void 0:r.nodeType))p=!0;else{const e=kr(a);e&&"__init__"===e.name.value&&Er(e,!0)&&(p=!0)}if(!p)return;const d=u.statements[0].strings;return 1===d.length?d[0].value:d.map((e=>e.value)).join("")}_isAnnotationFinal(e){let t,n=!1;return e&&(this._isTypingAnnotation(e,"Final")?n=!0:24===e.nodeType&&1===e.items.length&&(!this._isAnnotationFinal(e.baseExpression).isFinal||0!==e.items[0].argumentCategory||e.items[0].name||e.trailingComma||(n=!0,t=e.items[0].valueExpression))),{isFinal:n,finalTypeNode:t}}_isAnnotationClassVar(e){let t,n=!1;for(;e;){if(!(24===e.nodeType&&e.items.length>0&&this._isTypingAnnotation(e.baseExpression,"Annotated"))){if(this._isTypingAnnotation(e,"ClassVar")){n=!0;break}if(24===e.nodeType&&1===e.items.length){!this._isAnnotationClassVar(e.baseExpression).isClassVar||0!==e.items[0].argumentCategory||e.items[0].name||e.trailingComma||(n=!0,t=e.items[0].valueExpression);break}break}e=e.items[0].valueExpression}return{isClassVar:n,classVarTypeNode:t}}_isRequiredAnnotation(e){return!(!e||24!==e.nodeType||1!==e.items.length||!this._isTypingAnnotation(e.baseExpression,"Required"))}_isNotRequiredAnnotation(e){return!(!e||24!==e.nodeType||1!==e.items.length||!this._isTypingAnnotation(e.baseExpression,"NotRequired"))}_isAnnotationTypeAlias(e){return!!e&&this._isTypingAnnotation(e,"TypeAlias")}_getMemberAccessInfo(e){if(38!==e.leftExpression.nodeType)return;const t=e.leftExpression.value,n=kr(e);if(!n)return;const i=Er(n,!0);if(!i)return;let r=!1;if(n.parameters.length<1||!n.parameters[0].name)return;const s=i.name.value,o=n.parameters[0].name.value;if(t===s)r=!1;else{if(t!==o)return;if("__new__"===n.name.value)r=!1;else{r=!0;for(const e of n.decorators)if(38===e.expression.nodeType){const t=e.expression.value;if("staticmethod"===t)return;if("classmethod"===t){r=!1;break}}}}const a=Ft(i);return w(void 0!==a),{classNode:i,methodNode:n,classScope:a,isInstanceMember:r}}_addImplicitImportsToLoaderActions(e,t){e.filteredImplicitImports.forEach((e=>{const n=t.implicitImports?t.implicitImports.get(e.name):void 0;n?(n.path=e.path,n.loadSymbolsFromPath=!0):(t.implicitImports||(t.implicitImports=new Map),t.implicitImports.set(e.name,{path:e.path,loadSymbolsFromPath:!0,implicitImports:new Map}))}))}_handleTypingStubAssignmentOrAnnotation(e){if(!this._fileInfo.isTypingStubFile)return!1;let t;if(54===e.nodeType)t=e;else{if(54!==e.leftExpression.nodeType)return!1;t=e.leftExpression}if(38!==t.valueExpression.nodeType)return!1;const n=t.valueExpression,i=new Map([["Tuple",!0],["Generic",!0],["Protocol",!0],["Callable",!0],["Type",!0],["ClassVar",!0],["Final",!0],["Literal",!0],["TypedDict",!0],["Union",!0],["Optional",!0],["Annotated",!0],["TypeAlias",!0],["OrderedDict",!0],["Concatenate",!0],["TypeGuard",!0],["StrictTypeGuard",!0],["Unpack",!0],["Self",!0],["NoReturn",!0],["Never",!0],["LiteralString",!0]]),r=n.value;if(!i.has(r))return!1;const s=this._bindNameToScope(this._currentScope,r);return s&&s.addDeclaration({type:5,node:t,path:this._fileInfo.filePath,range:St(t.start,dt.getEnd(t),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite}),!0}_deferBinding(e){this._moduleSymbolOnly||this._deferredBindingTasks.push({scope:this._currentScope,codeFlowExpressions:this._currentScopeCodeFlowExpressions,callback:e})}_bindDeferred(){for(;this._deferredBindingTasks.length>0;){const e=this._deferredBindingTasks.shift();this._currentScope=e.scope,this._currentScopeCodeFlowExpressions=e.codeFlowExpressions,e.callback()}}_bindYield(e){const t=kr(e);t?t.isAsync&&61===e.nodeType&&this._addError(ml.Diagnostic.yieldFromOutsideAsync(),e):function(e){let t=e.parent;for(;t;){if(30===t.nodeType)return t;if(50===t.nodeType)return;t=t.parent}}(e)||this._addError(ml.Diagnostic.yieldOutsideFunction(),e),this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.yieldStatements||(this._targetFunctionDeclaration.yieldStatements=[]),this._targetFunctionDeclaration.yieldStatements.push(e),this._targetFunctionDeclaration.isGenerator=!0),e.expression&&this.walk(e.expression),Ut(e,this._currentFlowNode)}_addDiagnostic(e,t,n,i){let r;switch(e){case"error":r=this._addError(n,i);break;case"warning":r=this._addWarning(n,i);break;case"information":r=this._addInformation(n,i);break;case"none":break;default:return k(e,`${e} is not expected`)}return r&&r.setRule(t),r}_addError(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("error",e,t)}_addWarning(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("warning",e,t)}_addInformation(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("information",e,t)}}ru._unreachableFlowNode={flags:ft.Unreachable,id:kt()};class su extends _r{constructor(){super(...arguments),this._containsYield=!1}checkContainsYield(e){return this.walk(e),this._containsYield}visitYield(e){return this._containsYield=!0,!1}visitYieldFrom(e){return this._containsYield=!0,!1}}function ou(e,t,n,i){var r;if(4===n.nodeType)return null!==(r=ou(e,t,n.rightExpression,i))&&void 0!==r?r:ou(e,t,n.name,i);if(7===n.nodeType){const r=39===n.operator||40===n.operator,s=12===n.operator||28===n.operator;if(r||s){const o=39===n.operator||12===n.operator?i:!i;if(11===n.rightExpression.nodeType&&26===n.rightExpression.constType){let i=n.leftExpression;if(4===i.nodeType&&(i=i.name),Lr(t,i))return t=>function(e,t,n){const i=Ko(t,(e=>ta(e)));return e.mapSubtypesExpandTypeVars(i,void 0,((e,t)=>{if(ho(e))return e;const i=bo(t)&&0===t.details.constraints.length?t:e;return vo(e)&&Zs.isBuiltIn(e,"object")?n?Zo(to.createInstance(),e.condition):i:lo(e)===n?e:void 0}))}(e,t,o);if(24===i.nodeType&&Lr(t,i.baseExpression)&&1===i.items.length&&!i.trailingComma&&0===i.items[0].argumentCategory&&!i.items[0].name&&40===i.items[0].valueExpression.nodeType&&i.items[0].valueExpression.isInteger&&!i.items[0].valueExpression.isImaginary){const t=i.items[0].valueExpression.value;if("number"==typeof t)return n=>function(e,t,n,i){return e.mapSubtypesExpandTypeVars(t,void 0,(t=>{if(!vo(t)||!pa(t)||da(t)||!t.tupleTypeArguments)return t;const r=t.tupleTypeArguments.length;if(i<0||i>=r)return t;const s=e.makeTopLevelTypeVarsConcrete(t.tupleTypeArguments[i].type);if(n){if(!e.canAssignType(s,to.createInstance()))return}else if(lo(s))return;return t}))}(e,n,o,t)}}if(r&&9===n.leftExpression.nodeType){const i=e.getTypeOfExpression(n.leftExpression.leftExpression,void 0,2).type;if(_o(i)&&Zs.isBuiltIn(i,"type")&&1===n.leftExpression.arguments.length&&0===n.leftExpression.arguments[0].argumentCategory&&Lr(t,n.leftExpression.arguments[0].valueExpression)){const t=e.makeTopLevelTypeVarsConcrete(e.getTypeOfExpression(n.rightExpression).type);if(_o(t))return e=>function(e,t,n){return Ko(e,(e=>{if(vo(e)){const i=Zs.isDerivedFrom(t,Zs.cloneAsInstantiable(e));if(n)return i?Zs.isSameGenericClass(e,t)?e:Zs.cloneAsInstance(t):void 0;if(i&&Zs.isFinal(e))return;return e}return lo(e)?n?void 0:e:ho(e)&&n?Zs.cloneAsInstance(t):e}))}(e,t,o)}}if(r&&Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;if(vo(t)&&(Zs.isEnumClass(t)||Zs.isBuiltIn(t,"bool"))&&void 0!==t.literalValue)return n=>pu(e,n,t,o,!0)}if(s){const r=12===n.operator?i:!i;if(Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;if(vo(t)&&void 0!==t.literalValue)return n=>pu(e,n,t,r,!1)}if(Lr(t,n.rightExpression)){const t=e.getTypeOfExpression(n.leftExpression).type;if(vo(t)&&void 0!==t.literalValue)return n=>pu(e,n,t,r,!1)}if(24===n.leftExpression.nodeType&&1===n.leftExpression.items.length&&!n.leftExpression.trailingComma&&0===n.leftExpression.items[0].argumentCategory&&Lr(t,n.leftExpression.baseExpression)){const t=e.getTypeOfExpression(n.leftExpression.items[0].valueExpression).type;if(vo(t)&&ra(t))if(Zs.isBuiltIn(t,"str")){const i=e.getTypeOfExpression(n.rightExpression).type;if(vo(i)&&void 0!==i.literalValue)return n=>function(e,t,n,i,r){let s=!0;const o=Ko(t,(t=>{if(vo(t)&&Zs.isTypedDictClass(t)){const s=gl(e,t).get(n.literalValue);if(s&&sa(s.valueType))return r?e.canAssignType(s.valueType,i)?t:void 0:e.canAssignType(i,s.valueType)?void 0:t}return s=!1,t}));return s?o:t}(e,n,t,i,r)}else if(Zs.isBuiltIn(t,"int")){const i=e.getTypeOfExpression(n.rightExpression).type;if(vo(i)&&void 0!==i.literalValue)return n=>function(e,t,n,i,r){let s=!0;const o=Ko(t,(t=>{var o;if(vo(t)&&Zs.isTupleClass(t)&&!da(t)&&"number"==typeof n.literalValue){const s=n.literalValue;if(t.tupleTypeArguments&&s>=0&&sfunction(e,t,n,i){return Ko(t,(t=>{const r=e.makeTopLevelTypeVarsConcrete(t);return vo(r)&&pa(r)&&!da(r)&&r.tupleTypeArguments?r.tupleTypeArguments.length===n===i?t:void 0:t}))}(e,n,t,o)}}if(s&&35===n.leftExpression.nodeType&&Lr(t,n.leftExpression.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type,i=n.leftExpression.memberName;if(vo(t)&&void 0!==t.literalValue)return n=>uu(e,n,i.value,t,o)}if(35===n.leftExpression.nodeType&&Lr(t,n.leftExpression.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type,i=n.leftExpression.memberName;if(vo(t)&&(Zs.isEnumClass(t)||Zs.isBuiltIn(t,"bool"))&&void 0!==t.literalValue)return n=>uu(e,n,i.value,t,o)}}if(41===n.operator&&i&&Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;return n=>function(e,t,n){if(!vo(n)||!Zs.isBuiltIn(n))return t;const i=n.details.name;if(!["list","set","frozenset","deque","tuple"].some((e=>e===i)))return t;if(!n.typeArguments||1!==n.typeArguments.length)return t;let r=n.typeArguments[0];pa(n)&&n.tupleTypeArguments&&(r=Oo(n.tupleTypeArguments.map((e=>e.type))));let s=!0;const o=Qo(r),a=Ko(t,(t=>ho(t)?(s=!1,t):e.canAssignType(r,t)?t:e.canAssignType(o,t)?Ko(r,(e=>{if(vo(e)&&Lo(t,e))return e})):void 0));return s?a:t}(e,n,t)}if((41===n.operator||42===n.operator)&&Lr(t,n.rightExpression)){const t=e.getTypeOfExpression(n.leftExpression).type;if(vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)){const r=41===n.operator?i:!i;return n=>function(e,t,n,i){return Ko(t,(t=>{if(vo(t)&&Zs.isTypedDictClass(t)){const r=gl(e,t,!0).get(n.literalValue);if(i){if(!r)return Zs.isFinal(t)?void 0:t;if(r.isRequired||r.isProvided)return t;const e=t.typedDictNarrowedEntries,i=new Map;return e&&e.forEach(((e,t)=>{i.set(t,e)})),i.set(n.literalValue,{valueType:r.valueType,isRequired:!1,isProvided:!0}),Zs.cloneAsInstance(Zs.cloneForNarrowedTypedDictEntries(Zs.cloneAsInstantiable(t),i))}return void 0!==r&&(r.isRequired||r.isProvided)?void 0:t}return t}))}(e,n,Zs.cloneAsInstantiable(t),r)}}}if(9===n.nodeType){const r=e.getTypeOfExpression(n.leftExpression,void 0,2).type;if(Eo(r)&&("isinstance"===r.details.builtInName||"issubclass"===r.details.builtInName)&&2===n.arguments.length){const s="isinstance"===r.details.builtInName,o=n.arguments[0].valueExpression,a=n.arguments[1].valueExpression;if(Lr(t,o)){const t=function(e){let t=!1;const n=[],i=e=>{e.forEach((e=>{_o(e)||bo(e)&&Ks.isInstantiable(e)||co(e)||Eo(e)&&2===e.details.parameters.length&&1===e.details.parameters[0].category&&2===e.details.parameters[1].category?n.push(e):t=!0}))};return Jo(e,(e=>{yo(e)&&Ks.isInstance(e)&&pa(e)?e.tupleTypeArguments&&i(e.tupleTypeArguments.map((e=>e.type))):i([e])})),t?void 0:n}(e.getTypeOfExpression(a,void 0,168).type);if(t)return r=>{const o=cu(e,r,t,s,i,!1,n);return ao(o)?cu(e,r,t,s,i,!0,n):o}}}if(Eo(r)&&"callable"===r.details.builtInName&&1===n.arguments.length&&Lr(t,n.arguments[0].valueExpression))return t=>{let r=hu(e,t,i,n,!1);return i&&ao(r)&&(r=hu(e,t,i,n,!0)),r};if(_o(r)&&Zs.isBuiltIn(r,"bool")&&1===n.arguments.length&&!n.arguments[0].name&&Lr(t,n.arguments[0].valueExpression))return t=>lu(e,t,i);if(n.arguments.length>=1&&Lr(t,n.arguments[0].valueExpression)&&Eo(r)&&r.details.declaredReturnType&&vo(r.details.declaredReturnType)&&Zs.isBuiltIn(r.details.declaredReturnType,["TypeGuard","StrictTypeGuard"])){const t=e.getTypeOfExpression(n).type;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&t.typeGuardType){const n=Zs.isBuiltIn(r.details.declaredReturnType,"StrictTypeGuard"),s=t.typeGuardType;return t=>function(e,t,n,i,r){return r?Ko(t,(t=>Ko(n,(r=>{const s=e.canAssignType(n,t),o=e.canAssignType(t,r);if(i){if(s)return t;if(o)return r}else if(!s&&!s)return t})))):i?n:t}(e,t,s,i,n)}}}if(Lr(t,n))return t=>lu(e,t,i);if(38===n.nodeType&&38===t.nodeType&&n!==t){const r=au(e,n,n);if(r&&1===r.length&&1===r[0].type){const s=au(e,t,n);if(s){let o=[];if(s.length>1&&(o=s.filter((t=>e.isNodeReachable(n,t.node)&&e.isNodeReachable(t.node,r[0].node)))),0===o.length){const s=r[0].inferredTypeSource;if(s&&!Mr(n,s)&&yr(s))return ou(e,t,s,i)}}}}return 55===n.nodeType&&38===n.operator?ou(e,t,n.expression,!i):void 0}function au(e,t,n){const i=zs(t);if(1!==(null==i?void 0:i.type)&&3!==(null==i?void 0:i.type))return;const r=i.lookUpSymbol(t.value);if(!r)return;const s=r.getDeclarations();if(0===s.length||s.some((e=>1!==e.type&&2!==e.type)))return;let o;if(s.some((e=>{const t=Rr(2===e.type?e.node.name:e.node);return!(!o||t===o)||(o=t,!1)})))return;const a=s.filter((t=>e.isNodeReachable(n,t.node)));return a.length>0?a:void 0}function lu(e,t,n){return Ko(t,(t=>{if(n){if(e.canBeTruthy(t))return e.removeFalsinessFromType(t)}else if(e.canBeFalsy(t))return e.removeTruthinessFromType(t)}))}function cu(e,t,n,i,r,s,o){const a=Ko(t,(e=>ta(e))),l=(t,a,l,c)=>{const u=[];let p=!1,d=!1;for(const c of n){const n=e.makeTopLevelTypeVarsConcrete(c);if(_o(n)){const h=!bo(c)&&(Zs.isDerivedFrom(t,n)||i&&Zs.isProtocolClass(n)&&e.canAssignType(n,t)||Zs.isBuiltIn(n,"dict")&&Zs.isTypedDictClass(t)),m=Zs.isDerivedFrom(n,t)||i&&Zs.isProtocolClass(t)&&e.canAssignType(t,n);if(h&&(p=!0),m&&h&&!Zs.isSameGenericClass(t,n)&&(d=!0),r)if(h)u.push(Zo(t,l));else if(m){let n=c;if(yo(c)&&(Zs.isSpecialBuiltIn(c)||c.details.typeParameters.length>0)){const i=new jo(na(c)),r=Zs.cloneForSpecialization(c,void 0,!1);e.populateTypeVarMapBasedOnExpectedType(r,t,i,void 0)&&(n=fa(r,i,!0))}u.push(Zo(n,l))}else if(s){const e=``,r=qt(o);let s=Zs.createInstantiable(e,br(o,r.moduleName,e),r.moduleName,r.filePath,0,Ir(o),void 0,t.details.effectiveMetaclass,t.details.docString);s.details.baseClasses=[Zs.cloneAsInstantiable(t),n],Ha(s),s=Zo(s,n.condition),bo(a)&&!a.details.isParamSpec&&0===a.details.constraints.length&&(s=Zo(s,[{typeVarName:oo.getNameWithScope(a),constraintIndex:0,isConstrainedTypeVar:!1}])),u.push(i?Zs.cloneAsInstance(s):s)}}else if(bo(c)&&Ks.isInstantiable(c))i&&Ks.isInstance(a)?bo(a)&&Ao(Fa(c),a)?r&&u.push(a):r?u.push(Fa(c)):(u.push(a),d=!0):!i&&Ks.isInstantiable(a)&&(bo(a)&&Ao(c,a)?r&&u.push(a):r?u.push(c):(u.push(a),d=!0));else if(Eo(c)&&i){let e=!1;yo(t)&&(e=!!Ks.isInstantiable(a)||!!va(t,"__call__")),e&&(r?u.push(a):p=!0)}}return r||p&&!d||u.push(c),i?u.map((e=>Fa(e))):u},c=[],u=[],p=e.mapSubtypesExpandTypeVars(a,void 0,((t,s)=>{const a=Xo(t)?t:s,p=vo(t)&&Zs.isBuiltIn(t,"type");if(r&&ho(t))return i?c.push(Oo(n.map((e=>Fa(e))))):c.push(Oo(n)),void u.push(t);if(i){if(lo(t)){const e=n.some((e=>co(e)));return r?e?t:void 0:e?void 0:t}if((To(t)||vo(t)&&Zs.isBuiltIn(t,"ModuleType"))&&r){const t=n.filter((t=>{const n=e.makeTopLevelTypeVarsConcrete(t);return _o(n)&&Zs.isProtocolClass(n)}));if(t.length>0)return Fa(Oo(t))}if(vo(t)&&!p)return Oo(l(Zs.cloneAsInstantiable(t),Fa(s),Xo(t),a));if((Eo(t)||ko(t))&&i)return Oo(((t,i)=>{const s=[];if(r)for(const r of n){const n=e.makeTopLevelTypeVarsConcrete(r);e.canAssignType(t,Fa(n))&&(Eo(r)?s.push(i):s.push(Fa(r)))}else n.some((n=>{const i=e.makeTopLevelTypeVarsConcrete(n);return!(yo(i)&&!Zs.isProtocolClass(i))&&e.canAssignType(t,Fa(i))}))||s.push(i);return s})(t,Fa(s)));if(_o(t)||p){const e=n.some((e=>_o(e)&&Zs.isBuiltIn(e,"type")));return r?e?a:void 0:e?void 0:a}}else{if(_o(t))return Oo(l(t,s,Xo(t),a));if(p){const n=e.getBuiltInObject(o,"object");if(n&&vo(n))return Oo(l(Zs.cloneAsInstantiable(n),Na(s),Xo(t),a))}}return r?void 0:a}));return ao(p)&&c.length>0?Oo(c):u.length>0?Oo([p,...u]):p}function uu(e,t,n,i,r){return Ko(t,(t=>{let s;if(vo(t)?s=_a(t,n):_o(t)&&(s=va(t,n)),s&&s.isTypeDeclared){const n=e.getTypeOfMember(s);if(sa(n))return r?e.canAssignType(n,i)?t:void 0:e.canAssignType(i,n)?void 0:t}return t}))}function pu(e,t,n,i,r){return Ko(t,(t=>{if(vo(t=e.makeTopLevelTypeVarsConcrete(t))&&Zs.isSameGenericClass(n,t)){if(void 0!==t.literalValue){const e=Zs.isLiteralValueSame(t,n);if(e&&!i||!e&&i)return;return t}if(i)return n;{const i=du(e,t);if(i&&i.length>0)return Oo(i.filter((e=>!Zs.isLiteralValueSame(e,n))))}}else if(i&&(r||lo(t)))return;return t}))}function du(e,t){if(Zs.isBuiltIn(t,"bool"))return[Zs.cloneWithLiteral(t,!0),Zs.cloneWithLiteral(t,!1)];if(Zs.isEnumClass(t)){const n=[];return t.details.fields.forEach((i=>{if(!i.isIgnoredForProtocolMatch()){const r=e.getEffectiveTypeOfSymbol(i);vo(r)&&Zs.isSameGenericClass(t,r)&&void 0!==r.literalValue&&n.push(r)}})),n}}function hu(e,t,n,i,r){return e.mapSubtypesExpandTypeVars(t,void 0,(e=>{switch(e.category){case 5:case 6:return n?e:void 0;case 3:case 8:return n?void 0:e;case 7:if(Ks.isInstantiable(e))return n?e:void 0;if(va(e,"__call__"))return n?e:void 0;if(!n)return e;if(r){const t=``,n=qt(i);let r=Zs.createInstantiable(t,br(i,n.moduleName,t),n.moduleName,n.filePath,0,Ir(i),void 0,e.details.effectiveMetaclass,e.details.docString);r.details.baseClasses=[Zs.cloneAsInstantiable(e)],Ha(r),r=Zo(r,e.condition);const s=Xs.createInstance("__call__","","",64),o={category:0,name:"self",type:Zs.cloneAsInstance(r),hasDeclaredType:!0};return Xs.addParameter(s,o),Xs.addDefaultParameters(s),s.details.declaredReturnType=Ys.create(),r.details.fields.set("__call__",Vo.createWithType(4,s)),Zs.cloneAsInstance(r)}return;default:return e}}))}const mu=["builtins.bool","builtins.bytearray","builtins.bytes","builtins.dict","builtins.float","builtins.frozenset","builtins.int","builtins.list","builtins.set","builtins.str","builtins.tuple"];function fu(e,t,n,i){switch(n.nodeType){case 65:return function(e,t,n,i){if(!i)return t;let r=vu(e,t,n.entries.length,n.starEntryIndex);return r=r.filter((t=>{let i=!0;const r=[];let s=t.isTuple;if(n.entries.forEach(((o,a)=>{const l=Tu(e,n,t,a,n.entries.length,n.starEntryIndex,!0,!1),c=fu(e,l,o,!0);a===n.starEntryIndex?vo(c)&&c.tupleTypeArguments&&!da(c)&&c.tupleTypeArguments?r.push(...c.tupleTypeArguments.map((e=>e.type))):(r.push(c),s=!1):(r.push(c),ao(c)&&(i=!1))})),i){if(s){const i=e.getBuiltInType(n,"tuple");i&&_o(i)&&(t.subtype=Zs.cloneAsInstance(qa(i,r.map((e=>({type:e,isUnbounded:!1}))))))}if(t.isObject){const i=e.getTypingType(n,"Sequence");i&&_o(i)&&(t.subtype=Zs.cloneAsInstance(Zs.cloneForSpecialization(i,[Qo(Oo(r))],!0)))}}return i})),Oo(r.map((e=>e.subtype)))}(e,t,n,i);case 67:return function(e,t,n,i){const r=e.getTypeOfExpression(n.expression).type;return Ko(t,i?t=>{if(e.canAssignType(t,r))return r}:t=>{if(!(vo(r)&&ra(r)&&vo(t)&&ra(t)&&e.canAssignType(r,t)||lo(t)&&lo(r)))return vo(t)&&Zs.isBuiltIn(t,"bool")&&void 0===t.literalValue&&vo(r)&&Zs.isBuiltIn(r,"bool")&&void 0!==r.literalValue?Zs.cloneWithLiteral(r,!r.literalValue):t})}(e,t,n,i);case 68:return function(e,t,n,i){let r=e.getTypeOfExpression(n.className,void 0,2).type;if(yo(r)&&!r.typeAliasInfo&&(r=xa(r)),!i){if(!_o(r))return t;let s=r;s.details.typeParameters.length>0&&(s=Zs.cloneForSpecialization(s,void 0,!1));const o=Fa(s);return e.mapSubtypesExpandTypeVars(t,void 0,((t,r)=>{if(!vo(t))return r;if(!e.canAssignType(o,t))return t;if(0===n.arguments.length)return;if(!e.canAssignType(t,o)&&!Zs.isFinal(t))return t;if(1===n.arguments.length&&!n.arguments[0].name&&mu.some((e=>s.details.fullName===e)))return;let a=[];n.arguments.some((e=>!e.name))&&yo(t)&&(a=gu(e,t));for(let s=0;sho(r)?s:_o(r)?e.mapSubtypesExpandTypeVars(t,void 0,(t=>{if(ho(t))return Fa(s);if(vo(t)){let o;if(e.canAssignType(r,Zs.cloneAsInstantiable(t)))o=t;else{if(!e.canAssignType(Zs.cloneAsInstantiable(t),r))return;if(o=Zo(Fa(s),Xo(t)),_o(s)&&vo(t)&&(Zs.isSpecialBuiltIn(s)||s.details.typeParameters.length>0)){const n=new jo(na(s)),i=Zs.cloneForSpecialization(s,void 0,!1),r=Zs.cloneAsInstance(i);e.populateTypeVarMapBasedOnExpectedType(r,t,n,[])&&(o=fa(r,n,!0))}}let a=[];n.arguments.some((e=>!e.name))&&(a=gu(e,r));let l=!0;if(n.arguments.forEach(((t,n)=>{ao(yu(e,t,n,a,o,i))&&(l=!1)})),l)return o}})):void 0)):(e.addDiagnostic(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.DiagnosticAddendum.typeNotClass().format({type:e.printType(r)}),n.className),no.createNever())}(e,t,n,i);case 66:return function(e,t,n,i){let r=t;return i?Oo(n.orPatterns.map((t=>{const n=fu(e,r,t,!0);return r=fu(e,r,t,!1),n}))):(n.orPatterns.forEach((t=>{r=fu(e,r,t,!1)})),r)}(e,t,n,i);case 70:return function(e,t,n,i){if(!i)return t;let r=_u(e,t);return r=r.filter((t=>{let r=!0;return n.entries.forEach((s=>{if(t.typedDict){if(71===s.nodeType){const o=fu(e,e.getBuiltInObject(n,"str"),s.keyPattern,i);ao(o)&&(r=!1);const a=Ko(o,(n=>{if(ho(n))return n;if(vo(n)&&Zs.isBuiltIn(n,"str")){if(!ra(n))return Ys.create();const i=gl(e,t.typedDict).get(n.literalValue);if(i){const t=fu(e,i.valueType,s.valuePattern,!0);if(!ao(t))return t}}}));ao(a)&&(r=!1)}}else if(t.dictTypeArgs&&71===s.nodeType){const n=fu(e,t.dictTypeArgs.key,s.keyPattern,i),o=fu(e,t.dictTypeArgs.value,s.valuePattern,i);(ao(n)||ao(o))&&(r=!1)}})),r})),Oo(r.map((e=>e.subtype)))}(e,t,n,i);case 73:return function(e,t,n,i){const r=e.getTypeOfExpression(n.expression).type,s=[];return e.mapSubtypesExpandTypeVars(r,void 0,((r,o)=>{s.push(e.mapSubtypesExpandTypeVars(t,Xo(r),(t=>{if(!i){if(vo(t)&&Zs.isEnumClass(t)&&!ra(t)&&vo(r)&&Lo(t,r)&&ra(r)){const n=du(e,t);if(n)return Oo(n.filter((e=>!Zs.isLiteralValueSame(r,e))))}else if(vo(t)&&vo(r)&&Zs.isLiteralValueSame(r,t))return;return t}return ao(r)||ao(t)?no.createNever():ho(r)||ho(t)?po(r)||po(t)?Ys.create():io.create():e.useSpeculativeMode(n.expression,(()=>e.getTypeFromMagicMethodReturn(r,[t],"__eq__",n.expression,void 0)))?o:void 0})))})),Oo(s)}(e,t,n,i);case 69:return i?t:no.createNever();case 0:return t}}function gu(e,t){const n=va(t,"__match_args__");if(n){const t=e.getTypeOfMember(n);if(vo(t)&&pa(t)&&!da(t)&&t.tupleTypeArguments){const e=t.tupleTypeArguments;if(e.every((e=>vo(e.type)&&Zs.isBuiltIn(e.type,"str")&&ra(e.type))))return e.map((e=>e.type.literalValue))}}return[]}function yu(e,t,n,i,r,s){var o;let a,l;if(t.name?a=t.name.value:nr.details.fullName===e))&&0===n&&!t.name)l=Zs.cloneAsInstance(r);else if(a&&(l=null===(o=e.useSpeculativeMode(t,(()=>e.getTypeFromObjectMember(t,Zs.cloneAsInstance(r),a))))||void 0===o?void 0:o.type),!l){if(!s)return r;if(Zs.isFinal(r))return no.createNever();l=Ys.create()}return fu(e,l,t.pattern,s)}function _u(e,t){const n=[];return Jo(t,(t=>{const i=e.makeTopLevelTypeVarsConcrete(t);if(ho(i))n.push({subtype:t,dictTypeArgs:{key:i,value:i}});else if(vo(i))if(Zs.isTypedDictClass(i))n.push({subtype:t,typedDict:i});else{let e;for(const t of i.details.mro)if(_o(t)&&Zs.isBuiltIn(t,"Mapping")){e=t;break}if(e){const r=ha(e,i);r.typeArguments&&r.typeArguments.length>=2&&n.push({subtype:t,dictTypeArgs:{key:r.typeArguments[0],value:r.typeArguments[1]}})}}})),n}function vu(e,t,n,i){const r=[],s=void 0===i?n:n-1;return Jo(t,(t=>{const n=e.makeTopLevelTypeVarsConcrete(t);let o;if(ho(n))r.push({subtype:t,entryTypes:[n],isIndeterminateLength:!0});else if(vo(n)){if(Zs.isBuiltIn(n,"object"))return void r.push({subtype:t,entryTypes:[Fa(n)],isIndeterminateLength:!0,isObject:!0});for(const e of n.details.mro){if(!_o(e))break;if(Zs.isBuiltIn(e,"str")||Zs.isBuiltIn(e,"bytes")||Zs.isBuiltIn(e,"bytearray"))break;if(Zs.isBuiltIn(e,"Sequence")){o=e;break}if(pa(e)){o=e;break}}if(o){const e=ha(o,n);pa(e)?e.tupleTypeArguments&&(da(e)?r.push({subtype:t,entryTypes:[Oo(e.tupleTypeArguments.map((e=>e.type)))],isIndeterminateLength:!0,isTuple:!0}):e.tupleTypeArguments.length>=s&&(void 0!==i||e.tupleTypeArguments.length===s)&&r.push({subtype:t,entryTypes:e.tupleTypeArguments.map((e=>e.type)),isIndeterminateLength:!1,isTuple:!0})):r.push({subtype:t,entryTypes:[e.typeArguments&&e.typeArguments.length>0?e.typeArguments[0]:Ys.create()],isIndeterminateLength:!0})}}})),r}function Tu(e,t,n,i,r,s,o,a){if(n.isIndeterminateLength){let r=n.entryTypes[0];if(a){const n=e.getBuiltInObject(t,"object");n&&vo(n)&&(r=n)}return o||i!==s||ao(r)||(r=Iu(e,t,r)),r}if(void 0===s||iQo(e))));return o||(i=Iu(e,t,i)),i}const l=n.entryTypes.length-(r-i);return w(l>=0&&l{const a=Oo(s.map((t=>Tu(e,r,t,o,r.entries.length,r.starEntryIndex,!1,i))));bu(e,a,n,!1,t)}));break}case 66:r.target&&e.assignTypeToExpression(r.target,t,n,r.target),r.orPatterns.forEach((r=>{bu(e,t,n,i,r),t=fu(e,t,r,!1)}));break;case 69:e.assignTypeToExpression(r.target,r.isWildcard?io.create():t,n,r.target);break;case 70:{const i=_u(e,t);r.entries.forEach((t=>{const s=[],o=[];i.forEach((n=>{if(n.typedDict)if(71===t.nodeType){const i=fu(e,e.getBuiltInObject(r,"str"),t.keyPattern,!0);s.push(i),Jo(i,(t=>{if(vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)){const i=gl(e,n.typedDict).get(t.literalValue);o.push(i?i.valueType:Ys.create())}else o.push(Ys.create())}))}else 72===t.nodeType&&(s.push(e.getBuiltInObject(r,"str")),o.push(Ys.create()));else if(n.dictTypeArgs)if(71===t.nodeType){const i=fu(e,n.dictTypeArgs.key,t.keyPattern,!0);s.push(i),o.push(fu(e,n.dictTypeArgs.value,t.valuePattern,!0))}else 72===t.nodeType&&(s.push(n.dictTypeArgs.key),o.push(n.dictTypeArgs.value))}));const a=Oo(s),l=Oo(o);if(71===t.nodeType)bu(e,a,n,!1,t.keyPattern),bu(e,l,n,!1,t.valuePattern);else if(72===t.nodeType){const i=e.getBuiltInType(r,"dict"),s=e.getBuiltInObject(r,"str"),o=i&&_o(i)&&vo(s)?Zs.cloneAsInstance(Zs.cloneForSpecialization(i,[a,l],!0)):Ys.create();e.assignTypeToExpression(t.target,o,n,t.target)}}));break}case 68:{const i=r.arguments.map((e=>[]));e.mapSubtypesExpandTypeVars(t,void 0,(n=>{vo(n)?Jo(t,(t=>{const s=e.makeTopLevelTypeVarsConcrete(t);if(ho(s))r.arguments.forEach(((e,t)=>{i[t].push(s)}));else if(vo(s)){let t=[];r.arguments.some((e=>!e.name))&&(t=gu(e,Zs.cloneAsInstantiable(n))),r.arguments.forEach(((r,s)=>{const o=yu(e,r,s,t,Zs.cloneAsInstantiable(n),!0);i[s].push(o)}))}})):r.arguments.forEach(((e,t)=>{i[t].push(Ys.create())}))})),r.arguments.forEach(((t,r)=>{bu(e,Oo(i[r]),n,!1,t.pattern)}));break}}}function Iu(e,t,n){if(ao(n))return n;const i=Fa(e.getBuiltInObject(t,"list"));return i&&vo(i)?Zs.cloneForSpecialization(i,[n],!0):Ys.create()}const Su=new Map([["Tuple",{version:De.V3_9,fullName:"builtins.tuple",replacementText:"tuple"}],["List",{version:De.V3_9,fullName:"builtins.list",replacementText:"list"}],["Dict",{version:De.V3_9,fullName:"builtins.dict",replacementText:"dict"}],["Set",{version:De.V3_9,fullName:"builtins.set",replacementText:"set"}],["FrozenSet",{version:De.V3_9,fullName:"builtins.frozenset",replacementText:"frozenset"}],["Type",{version:De.V3_9,fullName:"builtins.type",replacementText:"type"}],["Deque",{version:De.V3_9,fullName:"collections.deque",replacementText:"collections.deque"}],["DefaultDict",{version:De.V3_9,fullName:"collections.defaultdict",replacementText:"collections.defaultdict"}],["OrderedDict",{version:De.V3_9,fullName:"collections.OrderedDict",replacementText:"collections.OrderedDict"}],["Counter",{version:De.V3_9,fullName:"collections.Counter",replacementText:"collections.Counter"}],["ChainMap",{version:De.V3_9,fullName:"collections.ChainMap",replacementText:"collections.ChainMap"}]]),xu=new Map([["Optional",{version:De.V3_10,fullName:"typing.Optional",replacementText:"| None"}],["Union",{version:De.V3_10,fullName:"typing.Union",replacementText:"|"}]]);class Cu extends _r{constructor(e,t){super(),this._isUnboundCheckSuppressed=!1,this._scopedNodes=[],this._microbitV2OnlyNames=new Set(["microbit.microphone","microbit.speaker","microbit.run_every","microbit.set_volume","microbit.Sound","microbit.SoundEvent","microbit.pin_logo","microbit.pin_speaker","microbit.audio.SoundEffect","log","power","audio.SoundEffect","neopixel.NeoPixel.fill","neopixel.NeoPixel.write"]),this._moduleNode=e,this._fileInfo=qt(e),this._evaluator=t}check(){this._scopedNodes.push(this._moduleNode),this._walkStatementsAndReportUnreachable(this._moduleNode.statements);const e=Wt(this._moduleNode);e&&(this._evaluator.markNamesAccessed(this._moduleNode,e.names),this._reportUnusedDunderAllSymbols(e.stringNodes)),this._validateSymbolTables(),this._reportDuplicateImports()}walk(e){zt(e)?this._evaluator.suppressDiagnostics(e,(()=>{super.walk(e)})):super.walk(e)}visitSuite(e){return this._walkStatementsAndReportUnreachable(e.statements),!1}visitStatementList(e){return e.statements.forEach((e=>{yr(e)&&this._evaluator.getType(e)})),!0}visitClass(e){const t=this._evaluator.getTypeOfClass(e);return this.walk(e.suite),this.walkMultiple(e.decorators),this.walkMultiple(e.arguments),t&&(Zs.isProtocolClass(t.classType)&&(e.arguments.forEach((e=>{if(!e.name){const n=this._evaluator.getType(e.valueExpression);n&&_o(n)&&!Zs.isBuiltIn(n,"Protocol")&&!Zs.isBuiltIn(n,"Generic")&&(Zs.isProtocolClass(n)||this._evaluator.addError(ml.Diagnostic.protocolBaseClass().format({classType:this._evaluator.printType(t.classType,!1),baseType:this._evaluator.printType(n,!1)}),e.valueExpression))}})),this._validateProtocolTypeParamVariance(e,t.classType)),this._fileInfo.isStubFile||(this._validateBaseClassOverrides(t.classType),this._validateSlotsClassVarConflict(t.classType)),this._validateMultipleInheritanceCompatibility(t.classType,e.name),this._validateConstructorConsistency(t.classType),this._validateFinalMemberOverrides(t.classType),this._validateInstanceVariableInitialization(t.classType),this._validateFinalClassNotAbstract(t.classType,e),this._validateDataClassPostInit(t.classType,e),this._validateProtocolCompatibility(t.classType,e),this._reportDuplicateEnumMembers(t.classType),Zs.isTypedDictClass(t.classType)&&this._validateTypedDictClassSuite(e.suite),Zs.isEnumClass(t.classType)&&this._validateEnumClassOverride(e,t.classType)),this._scopedNodes.push(e),!1}visitFunction(e){var t;const n=this._evaluator.getTypeOfFunction(e),i=Er(e,!0);if(n){let r=!1;e.parameters.forEach(((e,t)=>{if(e.name)if(1===e.category){const t=e.typeAnnotation||e.typeAnnotationComment;if(t&&35===t.nodeType&&"args"===t.memberName.value){const e=this._evaluator.getType(t.leftExpression);e&&bo(e)&&e.details.isParamSpec&&(r=!0)}}else 2===e.category&&(r=!1);if(e.name&&0===e.category&&r&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.namedParamAfterParamSpecArgs().format({name:e.name.value}),e.name),e.name&&"_"!==e.name.value){const i=n.functionType.details.parameters.find((t=>{var n;return t.name===(null===(n=e.name)||void 0===n?void 0:n.value)}));if(i){const r=i.type;if(po(r)||bo(r)&&r.details.isSynthesized&&!r.details.isSynthesizedSelf)this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.paramTypeUnknown().format({paramName:e.name.value}),e.name);else if(La(r)){const t=new il;t.addMessage(ml.DiagnosticAddendum.paramType().format({paramType:this._evaluator.printType(r,!0)})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.paramTypePartiallyUnknown().format({paramName:e.name.value})+t.getString(),e.name)}let s=!1;(n.functionType.details.parameters[t].typeAnnotation||bo(r)&&r.details.isSynthesizedSelf)&&(s=!0),s||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingParameterType,$o.reportMissingParameterType,ml.Diagnostic.paramAnnotationMissing().format({name:e.name.value}),e.name)}}if(e.defaultValue&&this._fileInfo.isStubFile){const t=this._evaluator.getType(e.defaultValue);t&&ca(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidStubStatement,$o.reportInvalidStubStatement,ml.Diagnostic.defaultValueNotEllipsis(),e.defaultValue)}}));const s=n.functionType.details.parameters.filter((e=>!!(e.typeAnnotation&&bo(e.type)&&wo(e.type)&&0!==e.category&&e.name&&e.type.paramSpecAccess)));1===s.length&&s[0].typeAnnotation&&this._evaluator.addError(ml.Diagnostic.paramSpecArgsKwargsUsage(),s[0].typeAnnotation),this._fileInfo.isStubFile&&(e.returnTypeAnnotation||(null===(t=e.functionAnnotationComment)||void 0===t?void 0:t.returnTypeAnnotation)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypeUnknown(),e.name)),i&&this._validateMethod(e,n.functionType,i)}if(e.parameters.forEach(((e,t)=>{if(e.defaultValue&&this.walk(e.defaultValue),e.typeAnnotation&&this.walk(e.typeAnnotation),e.typeAnnotationComment&&this.walk(e.typeAnnotationComment),n){const i=e.typeAnnotation||e.typeAnnotationComment;if(i&&t{e.name&&this.walk(e.name)})),this.walk(e.suite),n&&(this._validateFunctionReturn(e,n.functionType),this._validateDunderSignatures(e,n.functionType,void 0!==i),this._validateStrictTypeGuardFunction(e,n.functionType,void 0!==i)),this._fileInfo.isStubFile&&"__getattr__"===e.name.value){const t=zs(e);3===(null==t?void 0:t.type)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompleteStub,$o.reportIncompleteStub,ml.Diagnostic.stubUsesGetAttr(),e.name)}if(this._scopedNodes.push(e),this._validateFunctionTypeVarUsage(e),n&&ko(n.decoratedType)){const t=n.decoratedType.overloads;if(t.length>1){const n=100;t.length{if(e.name){const t=this._evaluator.getType(e.name);t&&(po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.paramTypeUnknown().format({paramName:e.name.value}),e.name):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.paramTypePartiallyUnknown().format({paramName:e.name.value}),e.name))}}));const t=this._evaluator.getType(e.expression);return t&&(po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.lambdaReturnTypeUnknown(),e.expression):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.lambdaReturnTypePartiallyUnknown().format({returnType:this._evaluator.printType(t,!0)}),e.expression)),this._scopedNodes.push(e),!1}visitCall(e){var t;if(this._validateIsInstanceCall(e),this._validateIllegalDefaultParamInitializer(e),("none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCallResult||"none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCoroutine)&&47===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)){const t=38===e.leftExpression.nodeType&&"reveal_type"===e.leftExpression.value,n=this._evaluator.getType(e);!t&&n&&this._isTypeValidForUnusedValueTest(n)&&(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCallResult,$o.reportUnusedCallResult,ml.Diagnostic.unusedCallResult().format({type:this._evaluator.printType(n,!1)}),e),vo(n)&&Zs.isBuiltIn(n,"Coroutine")&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCoroutine,$o.reportUnusedCoroutine,ml.Diagnostic.unusedCoroutine(),e))}return!0}visitAwait(e){var t;if("none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCallResult&&47===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&9===e.expression.nodeType){const t=this._evaluator.getType(e);t&&this._isTypeValidForUnusedValueTest(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCallResult,$o.reportUnusedCallResult,ml.Diagnostic.unusedCallResult().format({type:this._evaluator.printType(t,!1)}),e)}return!0}visitFor(e){return this._evaluator.evaluateTypesForStatement(e),!0}visitList(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitSet(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitDictionary(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitListComprehension(e){return this._scopedNodes.push(e),!0}visitIf(e){return this._evaluator.getType(e.testExpression),!0}visitWhile(e){return this._evaluator.getType(e.testExpression),!0}visitWith(e){return e.withItems.forEach((e=>{this._evaluator.evaluateTypesForStatement(e)})),!0}visitReturn(e){let t;const n=kr(e),i=n?this._evaluator.getFunctionDeclaredReturnType(n):void 0;if(t=e.returnExpression?this._evaluator.getType(e.returnExpression)||Ys.create():to.createInstance(),this._evaluator.isNodeReachable(e,void 0)&&n){if(i)if(ao(i))this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnContainsReturn(),e);else{const n=new il;let r=!1;if(this._evaluator.canAssignType(i,t,n,new jo,64))r=!0;else{const s=Sa(i);if(s&&s.some((e=>e.details.constraints.length>0))){const o=new jo;for(const t of s)if(t.details.constraints.length>0){const n=this._evaluator.narrowConstrainedTypeVar(e,t);n&&(o.setTypeVarType(t,n),o.addSolveForScope(na(t)))}if(!o.isEmpty()){const e=fa(i,o);this._evaluator.canAssignType(e,t,n,void 0,64)&&(r=!0)}}}r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnTypeMismatch().format({exprType:this._evaluator.printType(t,!1),returnType:this._evaluator.printType(i,!1)})+n.getString(),e.returnExpression?e.returnExpression:e)}po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.returnTypeUnknown(),e.returnExpression):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.returnTypePartiallyUnknown().format({returnType:this._evaluator.printType(t,!0)}),e.returnExpression)}return!0}visitYield(e){const t=e.expression?this._evaluator.getType(e.expression):to.createInstance();return this._validateYieldType(e,t||Ys.create()),!0}visitYieldFrom(e){const t=this._evaluator.getType(e.expression)||Ys.create();let n;if(vo(t)&&Zs.isBuiltIn(t,"Coroutine"))n=Ys.create();else{n=this._evaluator.getTypeFromIterable(t,!1,e)||Ys.create();const i=za(n);n=i?i.length>=1?i[0]:Ys.create():this._evaluator.getTypeFromIterator(t,!1,e)||Ys.create()}return this._validateYieldType(e,n),!0}visitRaise(e){if(this._evaluator.verifyRaiseExceptionType(e),e.valueExpression){const t=this._evaluator.getBuiltInType(e,"BaseException"),n=this._evaluator.getType(e.valueExpression);if(n&&t&&_o(t)){const i=new il;Jo(n,(e=>{ho(e=this._evaluator.makeTopLevelTypeVarsConcrete(e))||lo(e)||yo(e)&&Da(e,t,!1)||i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)}))})),i.isEmpty()||this._evaluator.addError(ml.Diagnostic.expectedExceptionObj()+i.getString(),e.valueExpression)}}return!0}visitExcept(e){if(e.typeExpression){this._evaluator.evaluateTypesForStatement(e);const t=this._evaluator.getType(e.typeExpression);t&&this._validateExceptionType(t,e.typeExpression)}return!0}visitAssert(e){e.exceptionExpression&&this._evaluator.getType(e.exceptionExpression);const t=this._evaluator.getType(e.testExpression);return t&&vo(t)&&pa(t)&&t.tupleTypeArguments&&t.tupleTypeArguments.length>0&&(da(t)||this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportAssertAlwaysTrue,$o.reportAssertAlwaysTrue,ml.Diagnostic.assertAlwaysTrue(),e.testExpression)),!0}visitAssignment(e){return this._evaluator.evaluateTypesForStatement(e),e.typeAnnotationComment&&this._evaluator.getType(e.typeAnnotationComment),!0}visitAssignmentExpression(e){return this._evaluator.getType(e),!0}visitAugmentedAssignment(e){return this._evaluator.evaluateTypesForStatement(e),!0}visitIndex(e){this._evaluator.getType(e);const t=this._evaluator.getType(e.baseExpression);return t&&Jo(t,(t=>{if(vo(t)&&t.tupleTypeArguments&&!da(t)){const n=t.tupleTypeArguments.length;if(1===e.items.length&&!e.trailingComma&&0===e.items[0].argumentCategory&&!e.items[0].name){const i=this._evaluator.getType(e.items[0].valueExpression);i&&vo(i)&&Zs.isBuiltIn(i,"int")&&ra(i)&&"number"==typeof i.literalValue&&(i.literalValue>=0&&i.literalValue>=n||i.literalValue<0&&i.literalValue+n<0)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.tupleIndexOutOfRange().format({index:i.literalValue,type:this._evaluator.printType(t)}),e)}}})),!0}visitBinaryOperation(e){return 12!==e.operator&&28!==e.operator||function(e){let t,n=e;for(;n;){switch(n.nodeType){case 2:return n.testExpression===t}t=n,n=n.parent}return!1}(e)||this._validateComparisonTypes(e),this._evaluator.getType(e),!0}visitSlice(e){return this._evaluator.getType(e),!0}visitUnpack(e){return this._evaluator.getType(e),!0}visitTuple(e){return this._evaluator.getType(e),!0}visitUnaryOperation(e){return this._evaluator.getType(e),!0}visitTernary(e){return this._evaluator.getType(e),!0}visitStringList(e){for(const t of e.strings)t.hasUnescapeErrors&&qc(t.token).unescapeErrors.forEach((e=>{const n={start:t.token.start+t.token.prefixLength+t.token.quoteMarkLength+e.offset,length:e.length};0===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportInvalidStringEscapeSequence,$o.reportInvalidStringEscapeSequence,ml.Diagnostic.stringUnsupportedEscape(),n):1===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringEscape(),n):2===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringBrace(),n):3===e.errorType&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringUnterminated(),n)}));return e.typeAnnotation&&this._evaluator.getType(e),e.strings.length>1&&!e.isParenthesized&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportImplicitStringConcatenation,$o.reportImplicitStringConcatenation,ml.Diagnostic.implicitStringConcat(),e),!0}visitFormatString(e){return e.expressions.forEach((e=>{this._evaluator.getType(e)})),!0}visitGlobal(e){return this._suppressUnboundCheck((()=>{e.nameList.forEach((e=>{this._evaluator.getType(e),this.walk(e)}))})),!1}visitNonlocal(e){return this._suppressUnboundCheck((()=>{e.nameList.forEach((e=>{this._evaluator.getType(e),this.walk(e)}))})),!1}visitName(e){return this._conditionallyReportPrivateUsage(e),this._reportMicrobitVersionApiUnsupported(e),this._isUnboundCheckSuppressed||this._reportUnboundName(e),!0}visitDel(e){return this._suppressUnboundCheck((()=>{e.expressions.forEach((e=>{this._evaluator.verifyDeleteExpression(e),this.walk(e)}))})),!1}visitMemberAccess(e){return this._evaluator.getType(e),this._conditionallyReportPrivateUsage(e.memberName),this._reportMicrobitVersionApiUnsupported(e.memberName),this.walk(e.leftExpression),!1}visitImportAs(e){return this._evaluator.evaluateTypesForStatement(e),this._reportMicrobitVersionApiUnsupported(e.module.nameParts[0]),!1}visitImportFrom(e){if(e.isWildcardImport){const t=Rt(e.module);t&&t.isImportFound&&2!==t.importType&&!this._fileInfo.isStubFile&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportWildcardImportFromLibrary,$o.reportWildcardImportFromLibrary,ml.Diagnostic.wildcardLibraryImport(),e.wildcardToken||e)}else e.imports.forEach((e=>{var t;this._evaluator.evaluateTypesForStatement(e),this._reportMicrobitVersionApiUnsupported(null!==(t=e.alias)&&void 0!==t?t:e.name)}));return this._reportMicrobitVersionApiUnsupported(e.module.nameParts[0]),!1}visitTypeAnnotation(e){return this._evaluator.getType(e.typeAnnotation),!0}visitMatch(e){return this._evaluator.getType(e.subjectExpression),this._validateExhaustiveMatch(e),!0}visitCase(e){return e.guardExpression&&this._evaluator.getType(e.guardExpression),this._evaluator.evaluateTypesForStatement(e.pattern),!0}visitPatternClass(e){return function(e,t){const n=e.getTypeOfExpression(t.className,void 0,2).type;ho(n)||(n.typeAliasInfo&&_o(n)&&n.typeArguments&&n.isTypeArgumentExplicit?e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternTypeAlias().format({type:e.printType(n)}),t.className):!_o(n)||n.includeSubclasses?e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.DiagnosticAddendum.typeNotClass().format({type:e.printType(n)}),t.className):mu.some((e=>n.details.fullName===e))&&(t.arguments.length>1?e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternBuiltInArgCount(),t.arguments[1]):1===t.arguments.length&&t.arguments[0].name&&e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternBuiltInArgPositional(),t.arguments[0].name)))}(this._evaluator,e),!0}visitTry(e){return this._reportUnusedExceptStatements(e),!0}visitError(e){return e.child&&this._evaluator.getType(e.child),!1}_validateExhaustiveMatch(e){if("none"===this._fileInfo.diagnosticRuleSet.reportMatchNotExhaustive)return;const t=this._evaluator.evaluateTypeForSubnode(e,(()=>{this._evaluator.evaluateTypesForMatchNode(e)}));if(t&&!ao(t.type)){const n=new il;n.addMessage(ml.DiagnosticAddendum.matchIsNotExhaustiveType().format({type:this._evaluator.printType(t.type)})),n.addMessage(ml.DiagnosticAddendum.matchIsNotExhaustiveHint()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMatchNotExhaustive,$o.reportMatchNotExhaustive,ml.Diagnostic.matchIsNotExhaustive()+n.getString(),e.subjectExpression)}}_suppressUnboundCheck(e){const t=this._isUnboundCheckSuppressed;this._isUnboundCheckSuppressed=!0;try{e()}finally{this._isUnboundCheckSuppressed=t}}_validateIllegalDefaultParamInitializer(e){"none"!==this._fileInfo.diagnosticRuleSet.reportCallInDefaultInitializer&&function(e){let t,n=e;for(;n;){if(41===n.nodeType&&t===n.defaultValue)return!0;if(30===n.nodeType||28===n.nodeType||10===n.nodeType||36===n.nodeType)return!1;t=n,n=n.parent}return!1}(e)&&!this._fileInfo.isStubFile&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportCallInDefaultInitializer,$o.reportCallInDefaultInitializer,ml.Diagnostic.defaultValueContainsCall(),e)}_validateComparisonTypes(e){const t=this._evaluator.getType(e.leftExpression),n=this._evaluator.getType(e.rightExpression);if(t&&n)if(sa(n)&&sa(t)){if(void 0===Xc(e,this._fileInfo.executionEnvironment)){let i=!1;Jo(t,(e=>{this._evaluator.canAssignType(n,e)&&(i=!0)})),i||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryComparison,$o.reportUnnecessaryComparison,ml.Diagnostic.comparisonAlwaysFalse().format({leftType:this._evaluator.printType(t,!0),rightType:this._evaluator.printType(n,!0)}),e)}}else{let i=!1;if(Jo(t,(e=>{i||(e=this._evaluator.makeTopLevelTypeVarsConcrete(e),Jo(n,(t=>{i||(t=this._evaluator.makeTopLevelTypeVarsConcrete(t),this._isTypeComparable(e,t)&&(i=!0))})))})),!i){const i=this._evaluator.printType(t,!0),r=this._evaluator.printType(n,!0),s=12===e.operator?ml.Diagnostic.comparisonAlwaysFalse():ml.Diagnostic.comparisonAlwaysTrue();this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryComparison,$o.reportUnnecessaryComparison,s.format({leftType:i,rightType:r}),e)}}}_isTypeComparable(e,t){if(ho(e)||ho(t))return!0;if(ao(e)||ao(t))return!1;if(To(e)||To(t))return!Ao(e,t);if(lo(e)||lo(t))return!Ao(e,t);if(_o(e)||vo(e)&&Zs.isBuiltIn(e,"type")){if(_o(t)||vo(t)&&Zs.isBuiltIn(t,"type")){const n=Zs.cloneForSpecialization(e,void 0,!1),i=Zs.cloneForSpecialization(t,void 0,!1);if(this._evaluator.canAssignType(n,i)||this._evaluator.canAssignType(i,n))return!0}const n=e.details.effectiveMetaclass;return!!(n&&yo(n)&&va(n,"__eq__",4))}if(vo(e)){if(vo(t)){const n=Zs.cloneForSpecialization(e,void 0,!1),i=Zs.cloneForSpecialization(t,void 0,!1);if(this._evaluator.canAssignType(n,i)||this._evaluator.canAssignType(i,n))return!0}return!!va(Zs.cloneAsInstantiable(e),"__eq__",4)}return!0}_isTypeValidForUnusedValueTest(e){return!lo(e)&&!ao(e)&&!ho(e)}_validateFunctionTypeVarUsage(e){if("none"===this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse)return;const t=new Map;let n=!0;const i=new Br(((i,r,s)=>{const o=this._evaluator.getType(i);if(o&&bo(o)&&o.scopeId===this._evaluator.getScopeIdForNode(e)){let e=o.details.constraints.length>0||n&&void 0!==o.details.boundType&&void 0!==r||wo(o);if(!e&&s&&void 0!==r){const t=this._evaluator.getType(s);(null==t?void 0:t.typeAliasInfo)&&t.typeAliasInfo.typeParameters&&r{const t=e.typeAnnotation||e.typeAnnotationComment;t&&i.walk(t)})),e.returnTypeAnnotation&&(n=!1,i.walk(e.returnTypeAnnotation)),t.forEach((e=>{1!==e.nodes.length||e.isExempt||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,$o.reportInvalidTypeVarUse,ml.Diagnostic.typeVarUsedOnlyOnce().format({name:e.nodes[0].value}),e.nodes[0])}))}_validateOverloadConsistency(e,t,n){for(let i=0;i!n||!_o(n)||Da(e,n,!1),r=new il;let s;return ho(e)?s=e:_o(e)?(i(e)||r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),s=Zs.cloneAsInstance(e)):vo(e)&&(s=Ko(this._evaluator.getTypeFromIterator(e,!1,t)||Ys.create(),(t=>ho(t)?t:_o(t)?(i(t)||r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),Zs.cloneAsInstance(t)):(r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),Ys.create())))),r.isEmpty()||this._evaluator.addError(ml.Diagnostic.exceptionTypeNotClass().format({type:this._evaluator.printType(e,!1)}),t),s||Ys.create()}_reportUnusedDunderAllSymbols(e){if("none"===this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll)return;const t=Ft(this._moduleNode);t&&e.forEach((e=>{t.symbolTable.has(e.value)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.dunderAllSymbolNotPresent().format({name:e.value}),e)}))}_validateSymbolTables(){for(const e of this._scopedNodes){const t=Ft(e);t&&t.symbolTable.forEach(((e,n)=>{this._conditionallyReportUnusedSymbol(n,e,t.type),this._reportIncompatibleDeclarations(n,e),this._reportMultipleFinalDeclarations(n,e,t.type),this._reportMultipleTypeAliasDeclarations(n,e),this._reportInvalidOverload(n,e)}))}}_reportInvalidOverload(e,t){const n=t.getTypedDeclarations();if(n.length>=1){const i=n[0];if(3===i.type){const n=this._evaluator.getEffectiveTypeOfSymbol(t),r=(ko(n)?n.overloads:Eo(n)?[n]:[]).filter((e=>Xs.isOverloaded(e)));if(1===r.length&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.singleOverload().format({name:e}),i.node.name),r.forEach((t=>{if(t.details.declaration&&!function(e){let t=!0;return e.suite.statements.forEach((e=>{0!==e.nodeType&&(47===e.nodeType?e.statements.forEach((e=>{18!==e.nodeType&&48!==e.nodeType&&42!==e.nodeType&&(t=!1)})):t=!1)})),t}(t.details.declaration.node)){const n=new il;n.addMessage(ml.DiagnosticAddendum.overloadWithImplementation()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadWithImplementation().format({name:e})+n.getString(),t.details.declaration.node.name)}})),!this._fileInfo.isStubFile&&r.length>0){let t;if(ko(n)&&!Xs.isOverloaded(n.overloads[n.overloads.length-1])?t=n.overloads[n.overloads.length-1]:Eo(n)&&!Xs.isOverloaded(n)&&(t=n),t)ko(n)&&n.overloads.forEach(((n,r)=>{if(n===t||!Xs.isOverloaded(n))return;const s=new il;if(!this._isLegalOverloadImplementation(n,t,s)&&t.details.declaration){const o=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadImplementationMismatch().format({name:e,index:r+1})+s.getString(),t.details.declaration.node.name);o&&n.details.declaration&&o.addRelatedInfo(ml.DiagnosticAddendum.overloadMethod(),i.path,i.range)}}));else{let e=!1;const t=Dr(i.node);if(t&&10===t.nodeType){const n=this._evaluator.getTypeOfClass(t);n&&Zs.isProtocolClass(n.classType)&&(e=!0)}e||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadWithoutImplementation().format({name:i.node.name.value}),i.node.name)}}}}}_reportMultipleFinalDeclarations(e,t,n){if(!Wo(t))return;const i=t.getDeclarations();let r=!1,s=!1;if(i.forEach((t=>{rs(t)&&(r&&this._evaluator.addError(ml.Diagnostic.finalRedeclaration().format({name:e}),t.node),r=!0),1===t.type&&t.inferredTypeSource&&(s&&2!==n&&this._evaluator.addError(ml.Diagnostic.finalReassigned().format({name:e}),t.node),s=!0)})),!s&&!this._fileInfo.isStubFile){const n=i.find((e=>1===e.type&&e.isFinal));if(n){let i=!1;if(t.isClassMember()&&!t.isClassVar()){const e=Er(n.node,!0);if(e){const t=this._evaluator.getTypeOfClass(e);t&&yo(t.decoratedType)&&Zs.isDataClass(t.decoratedType)&&(i=!0)}}i||this._evaluator.addError(ml.Diagnostic.finalUnassigned().format({name:e}),n.node)}}}_reportMultipleTypeAliasDeclarations(e,t){const n=t.getDeclarations(),i=n.find((e=>ss(e)));i&&n.length>1&&n.forEach((t=>{t!==i&&this._evaluator.addError(ml.Diagnostic.typeAliasRedeclared().format({name:e}),t.node)}))}_reportIncompatibleDeclarations(e,t){const n=qo(t);if(!n)return;if("_"===e)return;let i,r=t.getDeclarations().filter((e=>e!==n));if(3===n.type){const e=this._evaluator.getTypeOfFunction(n.node);r=r.filter((t=>{if(3!==t.type)return!0;const n=this._evaluator.getTypeOfFunction(t.node);if(!n)return!0;const i=e?this._evaluator.makeTopLevelTypeVarsConcrete(e.decoratedType):void 0;return i&&vo(i)&&Zs.isPropertyClass(i)&&vo(n.decoratedType)&&Zs.isPropertyClass(n.decoratedType)?n.decoratedType.details.typeSourceId!==i.details.typeSourceId:!Xs.isOverloaded(n.functionType)}))}if(0===r.length)return;i=3===n.type?n.isMethod?ml.DiagnosticAddendum.seeMethodDeclaration():ml.DiagnosticAddendum.seeFunctionDeclaration():4===n.type?ml.DiagnosticAddendum.seeClassDeclaration():2===n.type?ml.DiagnosticAddendum.seeParameterDeclaration():1===n.type?ml.DiagnosticAddendum.seeVariableDeclaration():ml.DiagnosticAddendum.seeDeclaration();const s=e=>{if(e){let t;3===n.type||4===n.type?t=n.node.name:1===n.type?38===n.node.nodeType&&(t=n.node):2===n.type&&n.node.name&&(t=n.node.name),t&&e.addRelatedInfo(i,n.path,n.range)}};for(const t of r)if(4===t.type)s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredClassDeclaration().format({name:e}),t.node.name));else if(3===t.type){const i=this._evaluator.getTypeForDeclaration(n);i&&Eo(i)&&this._evaluator.getFunctionInferredReturnType(i);let r=!1;const o=this._evaluator.getTypeForDeclaration(t),a=wr(n.node)===wr(t.node);o&&Eo(o)&&this._evaluator.getFunctionInferredReturnType(o),i&&o&&Ao(i,o)&&(r=!0),(!r||a)&&s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,t.isMethod?ml.Diagnostic.obscuredMethodDeclaration().format({name:e}):ml.Diagnostic.obscuredFunctionDeclaration().format({name:e}),t.node.name))}else if(2===t.type)t.node.name&&s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredParameterDeclaration().format({name:e}),t.node.name));else if(1===t.type){const i=this._evaluator.getTypeForDeclaration(n);if(t.typeAnnotationNode){if(38===t.node.nodeType){let n=!1;const r=this._evaluator.getTypeForDeclaration(t);i&&r&&Ao(i,r)&&(n=!0),n||s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredVariableDeclaration().format({name:e}),t.node))}}else!i||ua(i)||3!==n.type&&4!==n.type||s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredVariableDeclaration().format({name:e}),t.node))}}_conditionallyReportUnusedSymbol(e,t,n){const i=this._fileInfo.accessedSymbolMap;t.isIgnoredForProtocolMatch()||i.has(t.id)||"_"!==e&&(Qt(e)||t.getDeclarations().forEach((t=>{this._conditionallyReportUnusedDeclaration(t,this._isSymbolPrivate(e,n))})))}_conditionallyReportUnusedDeclaration(e,t){let n,i,r,s;switch(e.type){case 6:if(n=this._fileInfo.diagnosticRuleSet.reportUnusedImport,s=$o.reportUnusedImport,21===e.node.nodeType)if(e.node.alias)this._fileInfo.isStubFile||(i=e.node.alias);else{const t=e.node.module.nameParts;if(t.length>0){const e=t.map((e=>e.value)).join("."),n={start:t[0].start,length:t[0].length};return dt.extend(n,t[t.length-1]),this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unaccessedSymbol().format({name:e}),n,{action:"pyright.unusedImport"}),void this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportUnusedImport,$o.reportUnusedImport,ml.Diagnostic.unaccessedImport().format({name:e}),n)}}else if(23===e.node.nodeType){const t=e.node.parent,n=this._fileInfo.isStubFile&&void 0!==e.node.alias,r=1===t.module.nameParts.length&&"__future__"===t.module.nameParts[0].value;n||r||(i=e.node.alias||e.node.name)}i&&(r=ml.Diagnostic.unaccessedImport().format({name:i.value}));break;case 1:case 2:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedVariable,38===e.node.nodeType?(i=e.node,i.value.startsWith("_")&&(n="none")):41===e.node.nodeType&&(i=e.node.name,n="none"),i&&(s=$o.reportUnusedVariable,r=ml.Diagnostic.unaccessedVariable().format({name:i.value}));break;case 4:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedClass,i=e.node.name,s=$o.reportUnusedClass,r=ml.Diagnostic.unaccessedClass().format({name:i.value});break;case 3:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedFunction,i=e.node.name,s=$o.reportUnusedFunction,r=ml.Diagnostic.unaccessedFunction().format({name:i.value});break;default:return}if(i&&void 0!==s&&r){const e=s===$o.reportUnusedImport?{action:"pyright.unusedImport"}:void 0;this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unaccessedSymbol().format({name:i.value}),i,e),this._evaluator.addDiagnostic(n,s,r,i)}}_validateIsInstanceCall(e){if(38!==e.leftExpression.nodeType||"isinstance"!==e.leftExpression.value&&"issubclass"!==e.leftExpression.value||2!==e.arguments.length)return;const t=e.leftExpression.value,n="isinstance"===t;let i=this._evaluator.getType(e.arguments[0].valueExpression);if(!i)return;i=Ko(i,(e=>ta(e)));const r=this._evaluator.getType(e.arguments[1].valueExpression);if(!r)return;let s=!0;if(Jo(r,(e=>{vo(e)&&Zs.isTupleClass(e)&&e.tupleTypeArguments?e.tupleTypeArguments.some((e=>!this._isTypeSupportedTypeForIsInstance(e.type,n)))&&(s=!1):this._isTypeSupportedTypeForIsInstance(e,n)||(s=!1)})),!s){const t=new il;t.addMessage(ml.DiagnosticAddendum.typeVarNotAllowed()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,n?ml.Diagnostic.isInstanceInvalidType().format({type:this._evaluator.printType(r,!1)})+t.getString():ml.Diagnostic.isSubclassInvalidType().format({type:this._evaluator.printType(r,!1)})+t.getString(),e.arguments[1])}let o=e;for(;o;){if(2===o.nodeType)return;o=o.parent}const a=["FunctionType","LambdaType","BuiltinFunctionType","BuiltinMethodType","type","Type"],l=[];let c=!1;if(Jo(r,(e=>{yo(e)?Ks.isInstantiable(e)?void 0===e.literalValue&&(l.push(e),Zs.isBuiltIn(e)&&a.some((t=>t===e.details.name))&&(s=!1),e.includeSubclasses&&(c=!0)):(pa(e)?e.tupleTypeArguments&&e.tupleTypeArguments.forEach((e=>{_o(e.type)?(l.push(e.type),e.type.includeSubclasses&&(c=!0)):s=!1})):e.includeSubclasses&&(c=!0),Zs.isBuiltIn(e)&&a.some((t=>t===e.details.name))&&(s=!1)):s=!1})),!s)return;if(l.some((e=>Zs.isProtocolClass(e)&&!Zs.isRuntimeCheckable(e)))&&this._evaluator.addError(ml.Diagnostic.protocolUsedInCall().format({name:t}),e.arguments[1].valueExpression),function(e){let t=!1;return Jo(e,(n=>{ho(e)?t=!0:_o(n)?Zs.hasUnknownBaseClass(n)&&(t=!0):vo(n)&&Zs.hasUnknownBaseClass(n)&&(t=!0)})),t}(i))return;const u=e=>Oo(e),p=e=>{const t=[];for(const i of l){const r=Zs.isDerivedFrom(e,i)||n&&Zs.isProtocolClass(i)&&this._evaluator.canAssignType(i,e)||Zs.isBuiltIn(i,"dict")&&Zs.isTypedDictClass(e),s=Zs.isDerivedFrom(i,e)||n&&Zs.isProtocolClass(e)&&this._evaluator.canAssignType(e,i);s&&s&&!Zs.isSameGenericClass(e,i)?t.push(Ys.create()):r?t.push(e):s&&t.push(i)}return n?t.map((e=>_o(e)?Zs.cloneAsInstance(e):e)):t};let d;if(n&&vo(i))d=u(p(Zs.cloneAsInstantiable(i)));else if(!n&&_o(i))d=u(p(i));else{if(!fo(i))return;{let e=[],t=!1;if(Jo(i,(i=>{ho(i)&&(t=!0),n&&vo(i)?e=e.concat(p(Zs.cloneAsInstantiable(i))):!n&&_o(i)&&(e=e.concat(p(i)))})),d=u(e),t)return}}const h=()=>Oo(l.map((e=>Zs.cloneAsInstance(e))));!c&&Ao(d,i,!0)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryIsInstance,$o.reportUnnecessaryIsInstance,n?ml.Diagnostic.unnecessaryIsInstanceAlways().format({testType:this._evaluator.printType(i,!1),classType:this._evaluator.printType(h(),!1)}):ml.Diagnostic.unnecessaryIsSubclassAlways().format({testType:this._evaluator.printType(i,!1),classType:this._evaluator.printType(h(),!1)}),e)}_isTypeSupportedTypeForIsInstance(e,t){let n=!0;return Jo(e,(e=>{switch((e=this._evaluator.makeTopLevelTypeVarsConcrete(e)).category){case 2:case 1:case 0:break;case 7:e.isTypeArgumentExplicit&&!e.includeSubclasses&&(n=!1);break;case 3:n=!!t&&Ks.isInstantiable(e);break;case 5:n=Ks.isInstantiable(e);break;case 9:n=this._isTypeSupportedTypeForIsInstance(e,t);break;default:n=!1}})),n}_isSymbolPrivate(e,t){return 1===t||0===t||(!!Kt(e)||!!Jt(e)&&!(2===t))}_reportDeprecatedUse(e){var t;const n=null!==(t=Su.get(e.value))&&void 0!==t?t:xu.get(e.value);if(!n)return;const i=this._evaluator.getType(e);i&&_o(i)&&i.details.fullName===n.fullName&&this._fileInfo.executionEnvironment.pythonVersion>=n.version&&this._evaluator.addDeprecated(ml.Diagnostic.deprecatedType().format({version:Pe(n.version),replacement:n.replacementText}),e)}_reportUnboundName(e){if("none"!==this._fileInfo.diagnosticRuleSet.reportUnboundVariable&&!zt(e)){const t=this._evaluator.getType(e);t&&(mo(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnboundVariable,$o.reportUnboundVariable,ml.Diagnostic.symbolIsUnbound().format({name:e.value}),e):go(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnboundVariable,$o.reportUnboundVariable,ml.Diagnostic.symbolIsPossiblyUnbound().format({name:e.value}),e))}}_conditionallyReportPrivateUsage(e){var t;if("none"===this._fileInfo.diagnosticRuleSet.reportPrivateUsage)return;if(this._fileInfo.isStubFile)return;if(1===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.name===e)return;const n=e.value,i=Kt(n),r=Jt(n);if(!i&&!r)return;const s=this._evaluator.getDeclarationsForNameNode(e);let o,a=s&&s.length>0?s[s.length-1]:void 0;if(!a||a.node===e)return;if(6===a.type){if(a.usesLocalName)return;const e=this._evaluator.resolveAliasDeclarationWithInfo(a,!0);if(!e)return;if(a=e.declaration,!e.isPrivate)return}if(!a||a.node===e)return;a.node&&(o=Er(a.node)),a.node&&a.node.parent&&a.node.parent===o&&(o=Er(o));let l=!1;if(o&&r){const t=this._evaluator.getTypeOfClass(o);if(t&&_o(t.decoratedType)){if(Zs.isDefinedInStub(t.decoratedType))return;l=!0;const n=Er(e);if(n){const e=this._evaluator.getTypeOfClass(n);if(e&&_o(e.decoratedType)&&Da(e.decoratedType,t.decoratedType,!0))return}}}o&&!Mr(e,o)&&(l?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.protectedUsedOutsideOfClass().format({name:n}),e):this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfClass().format({name:n}),e))}_validateEnumClassOverride(e,t){t.details.baseClasses.forEach(((t,n)=>{if(yo(t)&&Zs.isEnumClass(t)){let i=!1;t.details.fields.forEach((e=>{const n=this._evaluator.getEffectiveTypeOfSymbol(e);vo(n)&&Zs.isSameGenericClass(n,t)&&(i=!0)})),i&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.enumClassOverride().format({name:t.details.name}),e.arguments[n])}}))}_validateTypedDictClassSuite(e){const t=e=>{this._evaluator.addError(ml.Diagnostic.typedDictBadVar(),e)};e.statements.forEach((e=>{if(!zt(e))if(47===e.nodeType)for(const n of e.statements)54!==n.nodeType&&18!==n.nodeType&&48!==n.nodeType&&42!==n.nodeType&&t(n);else t(e)}))}_validateStrictTypeGuardFunction(e,t,n){var i;if(!t.details.declaredReturnType)return;if(!vo(t.details.declaredReturnType)||!Zs.isBuiltIn(t.details.declaredReturnType,"StrictTypeGuard")||!t.details.declaredReturnType.typeArguments||t.details.declaredReturnType.typeArguments.length<1)return;const r=t.details.declaredReturnType.typeArguments[0],s=n&&!Xs.isStaticMethod(t)?1:0;if(s>=t.details.parameters.length)return;const o=Xs.getEffectiveParameterType(t,s);if(!this._evaluator.canAssignType(o,r)){const t=e.returnTypeAnnotation||(null===(i=e.functionAnnotationComment)||void 0===i?void 0:i.returnTypeAnnotation);t&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.strictTypeGuardReturnType().format({type:this._evaluator.printType(o),returnType:this._evaluator.printType(r)}),t)}}_validateDunderSignatures(e,t,n){var i;const r=t.details.name;if(n&&"__init__"===r){const n=e.returnTypeAnnotation||(null===(i=e.functionAnnotationComment)||void 0===i?void 0:i.returnTypeAnnotation),r=t.details.declaredReturnType;if(n&&r)lo(r)||ao(r)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.initMustReturnNone(),n);else{const n=this._evaluator.getFunctionInferredReturnType(t);ao(n)||lo(n)||ho(n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.initMustReturnNone(),e.name)}}}_validateFunctionReturn(e,t){var n;if(this._fileInfo.isStubFile)return;const i=e.returnTypeAnnotation||(null===(n=e.functionAnnotationComment)||void 0===n?void 0:n.returnTypeAnnotation);if(i){const n=!this._evaluator.isAfterNodeReachable(e),r=this._evaluator.isAfterNodeReachable(e.suite);let s=t.details.declaredReturnType;if(s){po(s)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.declaredReturnTypeUnknown(),i):La(s)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.declaredReturnTypePartiallyUnknown().format({returnType:this._evaluator.printType(s,!0)}),i);const e=new il;bo(s)&&2===s.details.variance&&(e.addMessage(ml.DiagnosticAddendum.typeVarIsContravariant().format({name:oo.getReadableName(s)})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnTypeContravariant()+e.getString(),i))}if(Xs.isGenerator(t)&&(s=Pa(t)),s&&!n&&r)if(ao(s))Or(e.suite)||Xs.isOverloaded(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnReturnsNone(),i);else if(!Xs.isAbstractMethod(t)){const n=new il;this._evaluator.canAssignType(s,to.createInstance(),n)||Or(e.suite)||Xs.isOverloaded(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnMissing().format({returnType:this._evaluator.printType(s,!1)})+n.getString(),i)}}else{const n=this._evaluator.getFunctionInferredReturnType(t);po(n)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypeUnknown(),e.name):La(n)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypePartiallyUnknown().format({returnType:this._evaluator.printType(n,!0)}),e.name)}}_validateFinalMemberOverrides(e){e.details.fields.forEach(((t,n)=>{const i=va(e,n,1);if(i&&_o(i.classType)&&Wo(i.symbol)&&!Kt(n)){const e=t.getDeclarations()[0];this._evaluator.addError(ml.Diagnostic.finalRedeclarationBySubclass().format({name:n,className:i.classType.details.name}),e.node)}}))}_reportDuplicateEnumMembers(e){Zs.isEnumClass(e)&&!Zs.isBuiltIn(e)&&e.details.fields.forEach(((t,n)=>{if(t.getTypedDeclarations().length>0)return;const i=t.getDeclarations();if(i.length>=2&&1===i[0].type){const r=this._evaluator.getEffectiveTypeOfSymbol(t);vo(r)&&Zs.isSameGenericClass(r,e)&&void 0!==r.literalValue&&this._evaluator.addError(ml.Diagnostic.duplicateEnumMember().format({name:n}),i[1].node)}}))}_validateProtocolCompatibility(e,t){if(Zs.isProtocolClass(e))return;const n=new il,i=t=>e.details.mro.some((e=>yo(e)&&!Zs.isProtocolClass(e)&&e.details.fields.has(t)));e.details.baseClasses.forEach((e=>{yo(e)&&Zs.isProtocolClass(e)&&ga(e).forEach(((e,t)=>{const r=e.symbol.getDeclarations();0!==r.length&&yo(e.classType)&&(1===r[0].type?r.some((e=>1===e.type&&!!e.inferredTypeSource))||i(t)||n.addMessage(ml.DiagnosticAddendum.missingProtocolMember().format({name:t,classType:e.classType.details.name})):3===r[0].type&&Or(r[0].node.suite)&&r[0]&&".pyi"!==pe(r[0].path).toLowerCase()&&(i(t)||n.addMessage(ml.DiagnosticAddendum.missingProtocolMember().format({name:t,classType:e.classType.details.name}))))}))})),n.isEmpty()||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.missingProtocolMembers()+n.getString(),t.name)}_validateDataClassPostInit(e,t){if(!Zs.isDataClass(e))return;const n=va(e,"__post_init__",18);if(!n)return;const i=new Map;e.details.fields.forEach(((e,t)=>{e.isInitVar()&&i.set(t,e)}));const r=this._evaluator.getTypeOfMember(n);if(!Eo(r)||!Xs.isInstanceMethod(r)||!r.details.declaration)return;const s=Ho(r);if(void 0!==s.argsIndex||void 0!==s.kwargsIndex||void 0!==s.firstKeywordOnlyIndex)return;const o=s.params.filter((e=>!e.param.hasDefault)),a=i.size+1;(as.params.length)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassPostInitParamCount().format({expected:i.size}),r.details.declaration.node.name);let l=1;i.forEach(((e,t)=>{if(l>=s.params.length)return;const n=s.params[l].param;if(n.hasDeclaredType&&n.typeAnnotation){const i=this._evaluator.getDeclaredTypeOfSymbol(e),o=Xs.getEffectiveParameterType(r,s.params[l].index),a=new il;if(i&&!this._evaluator.canAssignType(o,i,a)){const i=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassPostInitType().format({fieldName:t})+a.getString(),n.typeAnnotation);if(i){const t=e.getTypedDeclarations();t.length>0&&i.addRelatedInfo(ml.DiagnosticAddendum.dataClassFieldLocation(),t[0].path,t[0].range)}}}l++}))}_validateFinalClassNotAbstract(e,t){if(!Zs.isFinal(e))return;if(!Zs.supportsAbstractMethods(e))return;const n=this._evaluator.getAbstractMethods(e);if(0===n.length)return;const i=new il;n.forEach(((e,t)=>{if(2===t)i.addMessage(ml.DiagnosticAddendum.memberIsAbstractMore().format({count:n.length-2}));else if(t<2&&_o(e.classType)){const t=e.classType.details.name;i.addMessage(ml.DiagnosticAddendum.memberIsAbstract().format({type:t,name:e.symbolName}))}})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.finalClassIsAbstract().format({type:e.details.name})+i.getString(),t.name)}_validateInstanceVariableInitialization(e){"none"!==this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable&&e.details.fields.forEach(((t,n)=>{if(!t.isInstanceMember())return;const i=t.getDeclarations();i.find((e=>{const t=Dr(e.node);return!t||10===t.nodeType||"__init__"===t.name.value}))||va(e,n,1)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable,$o.reportUninitializedInstanceVariable,ml.Diagnostic.uninitializedInstanceVariable().format({name:n}),i[0].node)}))}_validateProtocolTypeParamVariance(e,t){const n=t.details.typeParameters.filter((e=>!wo(e)));if(0===n.length)return;const i=this._evaluator.getBuiltInType(e,"object");if(!_o(i))return;const r=n.map((e=>Io(e)?e:oo.cloneAsInvariant(e))),s=Zs.cloneWithNewTypeParameters(t,r),o=Zs.cloneAsInstance(i),a=Zs.createInstantiable("__protocolVarianceDummy","","","",0,0,void 0,void 0);r.forEach(((i,l)=>{if(i.details.isVariadic)return;const c=r.map(((e,t)=>e.details.isVariadic?e:t===l?o:a)),u=r.map(((e,t)=>t===l||e.details.isVariadic?e:a)),p=Zs.cloneForSpecialization(s,c,!0),d=Zs.cloneForSpecialization(s,u,!0);let h;if(h=this._evaluator.canAssignProtocolClassToSelf(p,d)?1:this._evaluator.canAssignProtocolClassToSelf(d,p)?2:0,h!==n[l].details.variance){let n;n=1===h?ml.Diagnostic.protocolVarianceCovariant().format({variable:i.details.name,class:t.details.name}):2===h?ml.Diagnostic.protocolVarianceContravariant().format({variable:i.details.name,class:t.details.name}):ml.Diagnostic.protocolVarianceInvariant().format({variable:i.details.name,class:t.details.name}),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,$o.reportInvalidTypeVarUse,n,e.name)}}))}_validateSlotsClassVarConflict(e){e.details.localSlotsNames&&e.details.fields.forEach(((e,t)=>{const n=e.getDeclarations();n.some((e=>1===e.type&&e.isDefinedBySlots))&&n.forEach((e=>{1!==e.type||e.isDefinedBySlots||e.isDefinedByMemberAccess||38===e.node.nodeType&&$r(e.node)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.slotsClassVarConflict().format({name:t}),e.node)}))}))}_validateConstructorConsistency(e){const t=va(e,"__init__",12),n=va(e,"__new__",12);if(!(t&&n&&yo(t.classType)&&yo(n.classType)))return;if(!Zs.isSameGenericClass(n.classType,e)&&!Zs.isSameGenericClass(t.classType,e))return;const i=n.classType.details.effectiveMetaclass;if(i&&yo(i)&&!Zs.isBuiltIn(i,"type")&&va(i,"__call__",40))return;let r=this._evaluator.getTypeOfMember(n);if(!Eo(r)&&!ko(r))return;if(r=this._evaluator.bindFunctionToClassOrObject(e,r,void 0,void 0,void 0,!0),!r)return;if(ko(r)&&(r=r.overloads.find((e=>!Xs.isOverloaded(e))),!r))return;let s=this._evaluator.getTypeOfMember(t);if((Eo(s)||ko(s))&&(s=this._evaluator.bindFunctionToClassOrObject(Zs.cloneAsInstance(e),s),s&&(!ko(s)||(s=s.overloads.find((e=>!Xs.isOverloaded(e))),s))&&Eo(s)&&Eo(r)&&!(Xs.hasDefaultParameters(s)||Xs.hasDefaultParameters(r)||(s=Xs.cloneWithNewFlags(s,98304|s.details.flags),r=Xs.cloneWithNewFlags(r,98304|s.details.flags),this._evaluator.canAssignType(r,s,void 0,void 0,32)&&this._evaluator.canAssignType(s,r,void 0,void 0,32))))){const i=Zs.isSameGenericClass(t.classType,e),o=qo(t.symbol),a=qo(n.symbol);if(o&&a){const e=i?o:a,l=28===e.node.nodeType?e.node.name:e.node,c=new il,u=this._evaluator.printType(s),p=this._evaluator.printType(r);c.addMessage(ml.DiagnosticAddendum.initMethodSignature().format({type:u})),c.addMessage(ml.DiagnosticAddendum.newMethodSignature().format({type:p}));const d=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInconsistentConstructor,$o.reportInconsistentConstructor,ml.Diagnostic.constructorParametersMismatch().format({classType:this._evaluator.printType(Zs.cloneAsInstance(i?t.classType:n.classType))})+c.getString(),l);if(d){const e=i?a:o;d.addRelatedInfo((i?ml.DiagnosticAddendum.newMethodLocation():ml.DiagnosticAddendum.initMethodLocation()).format({type:this._evaluator.printType(Zs.cloneAsInstance(i?n.classType:t.classType))}),e.path,e.range)}}}}_validateMultipleInheritanceCompatibility(e,t){if("none"===this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride)return;const n=[];if(e.details.baseClasses.forEach((e=>{!yo(e)||Zs.isBuiltIn(e,"Generic")||Zs.isBuiltIn(e,"Protocol")||n.push(e)})),n.length<2)return;const i=n.map((t=>{const n=e.details.mro.find((e=>yo(e)&&Zs.isSameGenericClass(e,t)));return n&&yo(n)?function(e){const t=new Map;for(let n=e.details.mro.length-1;n>=0;n--){const i=ha(e.details.mro[n],e);yo(i)?i.details.fields.forEach(((e,n)=>{!e.isIgnoredForProtocolMatch()&&e.hasTypedDeclarations()&&t.set(n,{classType:i,symbol:e,isInstanceMember:e.isInstanceMember(),isClassVar:e.isClassVar(),isTypeDeclared:!0,skippedUndeclaredType:!1})})):t.clear()}return t}(n):new Map}));for(let r=1;r{var i;if(Kt(n))return;if(!t.hasTypedDeclarations())return;const r=this._evaluator.getEffectiveTypeOfSymbol(t);if(!ho(r))for(const s of e.details.baseClasses){if(!yo(s))continue;const o=e.details.mro.find((e=>yo(e)&&Zs.isSameGenericClass(e,s)));if(!o)continue;const a=va(o,n,0);if(!a||!_o(a.classType))continue;if(!a.symbol.hasTypedDeclarations())continue;const l=ha(this._evaluator.getEffectiveTypeOfSymbol(a.symbol),a.classType);if(Eo(l)||ko(l)){const e=new il;let s;if(Eo(r)?s=r:ko(r)&&(s=r.overloads[r.overloads.length-1]),s){const r=["__init__","__new__","__init_subclass__"],o=!Qt(n);if(!r.some((e=>e===n))&&!Kt(n)&&!this._evaluator.canOverrideMethod(l,s,e,o)){const r=null!==(i=s.details.declaration)&&void 0!==i?i:qo(t);if(r){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.incompatibleMethodOverride().format({name:n,className:a.classType.details.name})+e.getString(),3===r.type?r.node.name:r.node),i=qo(a.symbol);t&&i&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),i.path,i.range)}}if(Eo(l)&&!Kt(n)&&Xs.isFinal(l)){const e=qo(t);if(e&&3===e.type){const t=this._evaluator.addError(ml.Diagnostic.finalMethodOverride().format({name:n,className:a.classType.details.name}),e.node.name),i=qo(a.symbol);t&&i&&t.addRelatedInfo(ml.DiagnosticAddendum.finalMethod(),i.path,i.range)}}}else if(!ho(r)&&!Zs.isBuiltIn(a.classType,"_TypedDict")){const e=t.getDeclarations();if(e.length>0){const t=e[e.length-1],i=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.methodOverridden().format({name:n,className:a.classType.details.name,type:this._evaluator.printType(r,!1)}),t.node),s=qo(a.symbol);i&&s&&i.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),s.path,s.range)}}}else if(ua(l))if(ua(r)){const i=l.details.fields,s=r.details.fields,o=a.classType;["fget","fset","fdel"].forEach((r=>{const a=new il,l=i.get(r),c=s.get(r);if(l){const i=ha(this._evaluator.getEffectiveTypeOfSymbol(l),o);if(Eo(i))if(c){const t=ha(this._evaluator.getEffectiveTypeOfSymbol(c),e);if(Eo(t)&&!this._evaluator.canOverrideMethod(i,t,a.createAddendum())){a.addMessage(ml.DiagnosticAddendum.propertyMethodIncompatible().format({name:r}));const e=t.details.declaration;if(e&&3===e.type){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:o.details.name})+a.getString(),e.node.name),r=i.details.declaration;t&&r&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),r.path,r.range)}}}else{a.addMessage(ml.DiagnosticAddendum.propertyMethodMissing().format({name:r}));const e=t.getDeclarations();if(e.length>0){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:o.details.name})+a.getString(),e[e.length-1].node),r=i.details.declaration;t&&r&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),r.path,r.range)}}}}))}else{const e=t.getDeclarations();e.length>0&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:a.classType.details.name}),e[e.length-1].node)}else if("none"!==this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride){const e=t.getDeclarations();if(e.length>0){const i=e[e.length-1],s=new il;if(!this._evaluator.canAssignType(l,r,s)){const e=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,$o.reportIncompatibleVariableOverride,ml.Diagnostic.symbolOverridden().format({name:n,className:a.classType.details.name})+s.getString(),i.node),t=qo(a.symbol);e&&t&&e.addRelatedInfo(ml.DiagnosticAddendum.overriddenSymbol(),t.path,t.range)}const o=a.symbol.isClassVar();let c=t.isClassVar();if(o&&!c&&(t.hasTypedDeclarations()||(c=!0),t.getTypedDeclarations().every((e=>4===e.type))&&(c=!0)),o!==c){const e=t.isClassVar()?ml.Diagnostic.classVarOverridesInstanceVar():ml.Diagnostic.instanceVarOverridesClassVar(),r=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,$o.reportIncompatibleVariableOverride,e.format({name:n,className:a.classType.details.name}),i.node),s=qo(a.symbol);r&&s&&r.addRelatedInfo(ml.DiagnosticAddendum.overriddenSymbol(),s.path,s.range)}}}}}))}_validateMethod(e,t,n){const i=this._evaluator.getTypeOfClass(n),r=null==i?void 0:i.classType;if(e.name&&r&&["__init__","__init_subclass__","__enter__","__exit__"].some((t=>t===e.name.value))&&(Xs.isAbstractMethod(t)||Xs.isOverloaded(t)||this._fileInfo.isStubFile||this._validateSuperCallForMethod(e,t,r)),e.name&&"__new__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&["cls","_cls","__cls","__mcls"].some((t=>e.parameters[0].name.value===t))||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.newClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(e.name&&"__init_subclass__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&"cls"===e.parameters[0].name.value||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.initSubclassClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(e.name&&"__class_getitem__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&"cls"===e.parameters[0].name.value||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.classGetItemClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(Xs.isStaticMethod(t)){if(e.parameters.length>0&&e.parameters[0].name){const t=e.parameters[0].name.value;"self"!==t&&"cls"!==t||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.staticClsSelfParam(),e.parameters[0].name)}}else if(Xs.isClassMethod(t)){let n="";e.parameters.length>0&&e.parameters[0].name&&(n=e.parameters[0].name.value),"cls"!==n&&(this._fileInfo.isStubFile&&(n.startsWith("_")||"metacls"===n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.classMethodClsParam(),e.parameters.length>0?e.parameters[0]:e.name)),r&&this._validateClsSelfParameterType(t,r,!0)}else{if(0===e.decorators.length){let t="",i=!0;if(e.parameters.length>0&&(e.parameters[0].name&&(t=e.parameters[0].name.value),0!==e.parameters[0].category&&(i=!1)),i&&"self"!==t){let i=!1;if("cls"===t){const e=this._evaluator.getTypeOfClass(n),t=this._evaluator.getBuiltInType(n,"type");t&&_o(t)&&e&&_o(e.classType)&&Da(e.classType,t,!0)&&(i=!0)}const r=Yt(t);i||r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.instanceMethodSelfParam(),e.parameters.length>0?e.parameters[0]:e.name)}}r&&this._validateClsSelfParameterType(t,r,!1)}}_validateSuperCallForMethod(e,t,n){if("none"===this._fileInfo.diagnosticRuleSet.reportMissingSuperCall)return;let i=9;if(Zs.isFinal(n)&&(i|=4),!va(n,t.details.name,i))return;let r=!1;new Wr((e=>{if(35===e.leftExpression.nodeType&&e.leftExpression.memberName.value===t.details.name){const t=e.leftExpression.leftExpression;if(9===t.nodeType&&38===t.leftExpression.nodeType&&"super"===t.leftExpression.value)r=!0;else{const e=this._evaluator.getType(t);e&&_o(e)&&(r=!0)}}})).walk(e.suite),r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingSuperCall,$o.reportMissingSuperCall,ml.Diagnostic.missingSuperCall().format({methodName:t.details.name}),e.name)}_validateClsSelfParameterType(e,t,n){if(e.details.parameters.length<1)return;const i=e.details.parameters[0];if(!i.typeAnnotation||!i.name)return;if(Zs.isProtocolClass(t))return;const r=this._evaluator.makeTopLevelTypeVarsConcrete(i.type),s=n?t:Fa(t);_o(r)&&Zs.isProtocolClass(r)||vo(r)&&Zs.isProtocolClass(r)||Xs.isOverloaded(e)||this._evaluator.canAssignType(r,s)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.clsSelfParamTypeMismatch().format({name:i.name,classType:this._evaluator.printType(s,!1)}),i.typeAnnotation)}_validateYieldType(e,t){let n,i;const r=kr(e);if(r){const e=this._evaluator.getTypeOfFunction(r);e&&(w(Eo(e.functionType)),n=Xs.getSpecializedReturnType(e.functionType),n&&(i=function(e,t){let n=!0;const i=Ko(e,(e=>ho(e)?e:vo(e)&&[["AsyncIterable","Iterable"],["AsyncIterator","Iterator"],["AsyncGenerator","Generator"],["","AwaitableGenerator"]].some((n=>Zs.isBuiltIn(e,t?n[0]:n[1])))?e.typeArguments&&e.typeArguments.length>=1?e.typeArguments[0]:Ys.create():void(n=!1)));return n?i:void 0}(n,!!r.isAsync)),n&&!i&&r.returnTypeAnnotation&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,r.isAsync?ml.Diagnostic.generatorAsyncReturnType():ml.Diagnostic.generatorSyncReturnType(),r.returnTypeAnnotation))}if(this._evaluator.isNodeReachable(e,void 0))if(n&&ao(n))this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnContainsYield(),e);else if(i){const n=new il;this._evaluator.canAssignType(i,t,n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.yieldTypeMismatch().format({exprType:this._evaluator.printType(t,!1),yieldType:this._evaluator.printType(i,!1)})+n.getString(),e.expression||e)}}_reportUnusedExceptStatements(e){let t=!1;const n=[];e.exceptClauses.forEach((e=>{if(t||e.isExceptGroup||!e.typeExpression)return;const i=this._evaluator.getType(e.typeExpression);if(!i||ho(i))return void(t=!0);const r=[];if(_o(i)?(i.includeSubclasses&&(t=!0),r.push(i)):vo(i)&&Jo(this._evaluator.getTypeFromIterator(i,!1,void 0)||Ys.create(),(e=>{ho(e)&&(t=!0),_o(e)&&(e.includeSubclasses&&(t=!0),r.push(e))})),n.length>0){const t=new il;let i=0;r.forEach((e=>{const r=n.find((t=>Da(e,t,!0)));r&&(t.addMessage(ml.DiagnosticAddendum.unreachableExcept().format({exceptionType:this._evaluator.printType(Fa(e)),parentType:this._evaluator.printType(Fa(r))})),i++)})),r.length===i&&(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unreachableExcept()+t.getString(),e.typeExpression),this._evaluator.addUnusedCode(e,e.exceptSuite))}n.push(...r)}))}_reportDuplicateImports(){const e=tn(this._moduleNode),t=new Map;e.orderedImports.forEach((e=>{if(22===e.node.nodeType){const t=new Map;e.node.imports.forEach((e=>{e.alias||(t.get(e.name.value)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportDuplicateImport,$o.reportDuplicateImport,ml.Diagnostic.duplicateImport().format({importName:e.name.value}),e.name):t.set(e.name.value,e))}))}else e.subnode&&!e.subnode.alias&&(t.get(e.moduleName)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportDuplicateImport,$o.reportDuplicateImport,ml.Diagnostic.duplicateImport().format({importName:e.moduleName}),e.subnode):t.set(e.moduleName,e.subnode))}))}_reportMicrobitVersionApiUnsupported(e){var t;if(!e||this._fileInfo.isStubFile)return;const n=this._evaluator.getType(e);if(!n||1===n.category)return;const i=this._evaluator.getDeclarationsForNameNode(e);let r=i&&i.length>0?i[i.length-1]:void 0;if(r&&r.node!==e){if(6===r.type&&(r=this._evaluator.resolveAliasDeclaration(r,!0)),r&&r.node!==e)switch(r.type){case 4:return this._reportMicrobitVersionApiUnsupportedCheck(e,r.moduleName,r.node.name.value);case 3:{const n=r.node.name.value,i=r.isMethod?null===(t=Er(r.node))||void 0===t?void 0:t.name.value:void 0,s=i?`${i}.${n}`:n;return this._reportMicrobitVersionApiUnsupportedCheck(e,r.moduleName,s,r.isMethod?s:void 0)}case 1:if(38===r.node.nodeType)return this._reportMicrobitVersionApiUnsupportedCheck(e,r.moduleName,r.node.value)}return To(n)?this._reportMicrobitVersionApiUnsupportedCheck(e,n.moduleName):void 0}}_reportMicrobitVersionApiUnsupportedCheck(e,t,n,i){const r=t+(n?"."+n:"");(this._microbitV2OnlyNames.has(t)||this._microbitV2OnlyNames.has(r))&&this._reportMicrobitVersionApiUnsupportedDiagnostic(e,null!=i?i:r)}_reportMicrobitVersionApiUnsupportedDiagnostic(e,t){this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMicrobitVersionApiUnsupported,$o.reportMicrobitVersionApiUnsupported,ml.Diagnostic.microbitVersionApiUnsupported().format({name:t.replace(/^microbit\./,""),device:"micro:bit V1"}),e)}}function wu(e){Eu(e,{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!1,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!0,strictSetInference:!0,strictDictionaryInference:!0,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"error",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"error",reportImportCycles:"error",reportUnusedImport:"error",reportUnusedClass:"error",reportUnusedFunction:"error",reportUnusedVariable:"error",reportDuplicateImport:"error",reportWildcardImportFromLibrary:"error",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"error",reportUntypedClassDecorator:"error",reportUntypedBaseClass:"error",reportUntypedNamedTuple:"error",reportPrivateUsage:"error",reportPrivateImportUsage:"error",reportConstantRedefinition:"error",reportIncompatibleMethodOverride:"error",reportIncompatibleVariableOverride:"error",reportInconsistentConstructor:"error",reportOverlappingOverload:"error",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"error",reportUnknownParameterType:"error",reportUnknownArgumentType:"error",reportUnknownLambdaType:"error",reportUnknownVariableType:"error",reportUnknownMemberType:"error",reportMissingParameterType:"error",reportMissingTypeArgument:"error",reportInvalidTypeVarUse:"error",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"error",reportUnnecessaryCast:"error",reportUnnecessaryComparison:"error",reportAssertAlwaysTrue:"error",reportSelfClsParameterName:"error",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"error",reportIncompleteStub:"error",reportUnsupportedDunderAll:"error",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"error",reportMicrobitVersionApiUnsupported:"warning"},[$o.reportMissingModuleSource])}function Eu(e,t,n){const i=Cc(),r=wc();for(const r of i)n.find((e=>e===r))||t[r]&&(e[r]=!0);for(const i of r){if(n.find((e=>e===i)))continue;const r=t[i],s=e[i];("error"===r||"warning"===r&&"error"!==s||"information"===r&&"error"!==s&&"warning"!==s)&&(e[i]=r)}}function ku(e,t){const n=["pyright:","mspython:"].find((t=>e.startsWith(t)));if(n){const i=e.substr(n.length).trim().split(",").map((e=>e.trim()));i.some((e=>"strict"===e))?wu(t):i.some((e=>"basic"===e))&&function(e){Eu(e,{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!0,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"warning",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"error",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"warning",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"warning",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"warning",reportSelfClsParameterName:"warning",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"warning",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none",reportMicrobitVersionApiUnsupported:"warning"},[])}(t);for(const e of i)t=Du(e,t)}return t}function Du(e,t){const n=e.split("=").map((e=>e.trim()));if(2!==n.length)return t;const i=n[0],r=Cc();if(wc().find((e=>e===i))){const e=function(e){switch(e){case"false":case"none":return"none";case"true":case"error":return"error";case"warning":return"warning";case"information":return"information";default:return}}(n[1]);void 0!==e&&(t[i]=e)}else if(r.find((e=>e===i))){const e="false"!==(s=n[1])&&("true"===s||void 0);void 0!==e&&(t[i]=e)}var s;return t}class Au extends _r{constructor(e){super(),this._parseTree=e}clean(){this.walk(this._parseTree)}visitNode(e){return function(e){const t=e;delete t.scope,delete t.declaration,delete t.flowNode,delete t.afterFlowNode,delete t.fileInfo,delete t.codeFlowExpressions,delete t.codeFlowComplexity,delete t.dunderAllInfo}(e),super.visitNode(e)}}class Pu extends _r{constructor(){super()}visitNode(e){const t=super.visitNode(e);return this._verifyParentChildLinks(e,t),this._verifyChildRanges(e,t),t}_verifyParentChildLinks(e,t){t.forEach((t=>{t&&t.parent!==e&&E(`Child node ${t.nodeType} does not contain a reference to its parent ${e.nodeType}`)}))}_verifyChildRanges(e,t){let n;t.forEach((t=>{if(t){let i=!1;3===e.nodeType&&t===e.typeAnnotationComment&&(i=!0),48===e.nodeType&&t===e.typeAnnotation&&(i=!0),i||((t.startdt.getEnd(e))&&E(`Child node ${t.nodeType} is not contained within its parent ${e.nodeType}`),n&&t.start0&&(i=i.filter((e=>{if(3!==e.category&&4!==e.category)for(let t=e.range.start.line;t<=e.range.end.line;t++)if(this._typeIgnoreLines.has(t))return s.delete(t),!1;return!0})));const o=[];if("none"!==this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment){const e=tl(this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment);0===r.filter((e=>0===e.category||1===e.category||2===e.category)).length&&void 0!==this._typeIgnoreAll&&o.push(new nl(e,ml.Diagnostic.unnecessaryTypeIgnore(),St(this._typeIgnoreAll.start,this._typeIgnoreAll.start+this._typeIgnoreAll.length,this._parseResults.tokenizerOutput.lines))),s.forEach((t=>{var n;(null===(n=this._parseResults)||void 0===n?void 0:n.tokenizerOutput.lines)&&o.push(new nl(e,ml.Diagnostic.unnecessaryTypeIgnore(),St(t.start,t.start+t.length,this._parseResults.tokenizerOutput.lines)))}))}if("none"!==this._diagnosticRuleSet.reportImportCycles&&this._circularDependencies.length>0){const e=tl(this._diagnosticRuleSet.reportImportCycles);this._circularDependencies.forEach((t=>{i.push(new nl(e,ml.Diagnostic.importCycleDetected()+"\n"+t.getPaths().map((e=>" "+e)).join("\n"),{start:{line:0,character:0},end:{line:0,character:0}}))}))}return void 0!==this._hitMaxImportDepth&&i.push(new nl(0,ml.Diagnostic.importDepthExceeded().format({depth:this._hitMaxImportDepth}),{start:{line:0,character:0},end:{line:0,character:0}})),e.ignore.find((e=>e.regExp.test(this._filePath)))&&(i=[]),this._diagnosticRuleSet.enableTypeIgnoreComments&&void 0!==this._typeIgnoreAll&&(i=i.filter((e=>0!==e.category&&1!==e.category&&2!==e.category))),i.push(...o),n||(i=i.filter((e=>3===e.category||4===e.category))),i}getImports(){return this._imports||[]}getBuiltinsImport(){return this._builtinsImport}getIPythonDisplayImport(){return this._ipythonDisplayImport}getModuleSymbolTable(){return this._moduleSymbolTable}didContentsChangeOnDisk(){if(this._clientDocument)return!1;if(void 0===this._lastFileContentLength)return!1;try{const e=this.fileSystem.readFileSync(this._filePath,"utf8");if(e.length!==this._lastFileContentLength)return!0;if(M(e)!==this._lastFileContentHash)return!0}catch(e){return!0}return!1}dropParseAndBindInfo(){this._parseResults=void 0,this._moduleSymbolTable=void 0,this._isBindingNeeded=!0}markDirty(e=!0){this._fileContentsVersion++,this._isCheckingNeeded=!0,this._isBindingNeeded=!0,this._indexingNeeded=e,this._moduleSymbolTable=void 0,this._cachedIndexResults=void 0}markReanalysisRequired(e){this._isCheckingNeeded=!0,this._parseResults&&(this._parseResults.containsWildcardImport||void 0!==Wt(this._parseResults.parseTree)||e)&&(this._parseTreeNeedsCleaning=!0,this._isBindingNeeded=!0,this._moduleSymbolTable=void 0)}getClientVersion(){var e;return null===(e=this._clientDocument)||void 0===e?void 0:e.version}getOpenFileContents(){var e;return null===(e=this._clientDocument)||void 0===e?void 0:e.getText()}getFileContent(){const e=this.getOpenFileContents();if(e)return e;try{const e=this.fileSystem.statSync(this._filePath);if(e.size>52428800)throw this._console.error(`File length of "${this._filePath}" is ${e.size} which exceeds the maximum supported file size of 52428800`),new Error("File larger than max");return this.fileSystem.readFileSync(this._filePath,"utf8")}catch(e){return}}setClientVersion(e,t){if(null===e)this._clientDocument=void 0;else{this._clientDocument||(this._clientDocument=ic.create(this._filePath,"python",e,"")),this._clientDocument=ic.update(this._clientDocument,t,e);const n=this._clientDocument.getText(),i=M(n);n.length===this._lastFileContentLength&&i===this._lastFileContentHash||this.markDirty(),this._lastFileContentLength=n.length,this._lastFileContentHash=i,this._isFileDeleted=!1}}prepareForClose(){}isFileDeleted(){return this._isFileDeleted}isParseRequired(){return!this._parseResults||this._analyzedFileContentsVersion!==this._fileContentsVersion}isBindingRequired(){return!this._isBindingInProgress&&(!!this.isParseRequired()||this._isBindingNeeded)}isIndexingRequired(){return this._indexingNeeded}isCheckingRequired(){return this._isCheckingNeeded}getParseResults(){if(!this.isParseRequired())return this._parseResults}getCachedIndexResults(){return this._cachedIndexResults}cacheIndexResults(e){this._cachedIndexResults=e}addCircularDependency(e){let t=!1;this._circularDependencies.length<4&&(this._circularDependencies.some((t=>t.isEqual(e)))||(this._circularDependencies.push(e),t=!0)),t&&this._diagnosticVersion++}setHitMaxImportDepth(e){this._hitMaxImportDepth=e}parse(e,t,n){return this._logTracker.log(`parsing: ${this._getPathForLogging(this._filePath)}`,(i=>{var r;if(!this.isParseRequired())return i.suppress(),!1;const s=new kc;let o=this.getOpenFileContents();if(void 0===o)try{const e=Fn.readFileTime.totalTime;Fn.readFileTime.timeOperation((()=>{if(o=null!=n?n:this.getFileContent(),void 0===o)throw new Error("Can't get file content");this._lastFileContentLength=o.length,this._lastFileContentHash=M(o)})),i.add(`fs read ${Fn.readFileTime.totalTime-e}ms`)}catch(e){s.addError("Source file could not be read",{start:{line:0,character:0},end:{line:0,character:0}}),o="",this.fileSystem.existsSync(this._filePath)||(this._isFileDeleted=!0)}const a=e.findExecEnvironment(this._filePath),l=new Jc;l.ipythonMode=this._ipythonMode,this._filePath.endsWith("pyi")&&(l.isStubFile=!0),l.pythonVersion=a.pythonVersion,l.skipFunctionAndClassBody=null!==(r=e.indexGenerationMode)&&void 0!==r&&r;try{const n=(new Qc).parseSourceFile(o,l,s);w(void 0!==n&&void 0!==n.tokenizerOutput),this._parseResults=n,this._typeIgnoreLines=this._parseResults.tokenizerOutput.typeIgnoreLines,this._typeIgnoreAll=this._parseResults.tokenizerOutput.typeIgnoreAll,Fn.resolveImportsTime.timeOperation((()=>{const e=this._resolveImports(t,n.importedModules,a);this._imports=e.imports,this._builtinsImport=e.builtinsImportResult,this._ipythonDisplayImport=e.ipythonDisplayImportResult,this._parseDiagnostics=s.fetchAndClear()}));const i=void 0!==e.strict.find((e=>e.regExp.test(this._filePath)));this._diagnosticRuleSet=function(e,t,n){let i=(r=t,Object.assign({},r));var r;n&&wu(i);for(let t=0;t{if(!this._parseResults||!this.isIndexingRequired())return void n.suppress();this._indexingNeeded=!1;const i=Fc.indexSymbols(qt(this._parseResults.parseTree),this._parseResults,e,t);return n.add(`found ${i.length}`),{privateOrProtected:Yt(he(de(this._filePath))),symbols:i}}))}getDefinitionsForPosition(e,t,n,i,r){if(this._parseResults)return Pc.getDefinitionsForPosition(e,this._parseResults,t,n,i,r)}getTypeDefinitionsForPosition(e,t,n,i,r){if(this._parseResults)return Pc.getTypeDefinitionsForPosition(e,this._parseResults,t,n,i,r)}getDeclarationForNode(e,t,n,i,r){if(this._parseResults)return tc.getDeclarationForNode(e,this._filePath,t,n,i,r)}getDeclarationForPosition(e,t,n,i,r){if(this._parseResults)return tc.getDeclarationForPosition(e,this._parseResults,this._filePath,t,n,i,r)}addReferences(e,t,n,i){this._parseResults&&tc.addReferences(this._parseResults,this._filePath,e,t,n,i)}addHierarchicalSymbolsForDocument(e,t){(this._parseResults||this._cachedIndexResults)&&Fc.addHierarchicalSymbolsForDocument(this._parseResults?qt(this._parseResults.parseTree):void 0,this.getCachedIndexResults(),this._parseResults,e,t)}getSymbolsForDocument(e,t){return this._parseResults||this._cachedIndexResults?Fc.getSymbolsForDocument(this._parseResults?qt(this._parseResults.parseTree):void 0,this.getCachedIndexResults(),this._parseResults,this._filePath,e,t):[]}getHoverForPosition(e,t,n,i,r){if(!this._isBindingNeeded&&this._parseResults)return class{static getHoverForPosition(e,t,n,i,r,s){ct(s);const o=xt(n,t.tokenizerOutput.lines);if(void 0===o)return;const a=Tr(t.parseTree,o);if(void 0===a)return;const l={parts:[],range:{start:It(a.start,t.tokenizerOutput.lines),end:It(dt.getEnd(a),t.tokenizerOutput.lines)}};if(38===a.nodeType){const t=r.getDeclarationsForNameNode(a);if(t&&t.length>0){let n=t[0];6===n.type&&t.length>1&&(n=t[1]),this._addResultsForDeclaration(i,e,l.parts,n,a,r)}else if((!a.parent||37!==a.parent.nodeType)&&0===l.parts.length){const t=r.getType(a)||Ys.create();let n="";n=To(t)?"(module) "+a.value:a.value+": "+r.printType(t,!1),this._addResultsPart(l.parts,n,!0),this._addDocumentationPart(i,e,l.parts,a,r,void 0)}}return l.parts.length>0?l:void 0}static _addResultsForDeclaration(e,t,n,i,r,s){var o;const a=s.resolveAliasDeclaration(i,!0);if(a)switch(a.type){case 0:this._addResultsPart(n,r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 1:{let l=a.isConstant||a.isFinal?"constant":"variable",c=r;21===i.node.nodeType||23===i.node.nodeType?i.node.alias&&r!==i.node.alias&&38===a.node.nodeType&&(c=a.node):1===(null===(o=r.parent)||void 0===o?void 0:o.nodeType)&&r.parent.name===r&&38===i.node.nodeType&&(c=i.node);const u=s.getType(c);let p,d=!1;if(null==u?void 0:u.typeAliasInfo){const e=Do(u);(null==e?void 0:e.name)===c.value&&(bo(u)?(l=u.details.isParamSpec?"param spec":"type variable",p=u.details.name):(d=!0,l="type alias"))}const h=p||r.value+this._getTypeText(c,s,d);this._addResultsPart(n,`(${l}) ${h}`,!0),this._addDocumentationPart(e,t,n,r,s,a);break}case 2:this._addResultsPart(n,"(parameter) "+r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 4:case 5:if(this._addInitMethodInsteadIfCallNode(e,r,s,n,t,a))return;this._addResultsPart(n,"(class) "+r.value,!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 3:{let i="function";if(a.isMethod){const e=s.getTypeForDeclaration(a);i=e&&ua(e)?"property":"method"}const o=s.getType(r);o&&ko(o)?this._addResultsPart(n,`(${i})\n${Ol(o,s)}`,!0):this._addResultsPart(n,`(${i}) `+r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break}case 6:this._addResultsPart(n,"(module) "+r.value,!0),this._addDocumentationPart(e,t,n,r,s,a)}else this._addResultsPart(n,"(import) "+r.value+this._getTypeText(r,s),!0)}static _addInitMethodInsteadIfCallNode(e,t,n,i,r,s){let o=t;if(o.parent&&35===o.parent.nodeType&&t===o.parent.memberName&&(o=t.parent),!o||!o.parent||9!==o.parent.nodeType||o.parent.leftExpression!==o)return!1;const a=n.getType(t);if(!a||!_o(a))return!1;const l=va(a,"__init__",8);if(!l)return!1;const c=n.getType(o.parent),u=n.getTypeOfMember(l);if(!(c&&u&&vo(c)&&Eo(u)))return!1;const p=n.bindFunctionToClassOrObject(c,u);if(!p||!Eo(p))return!1;const d=n.printFunctionParts(p),h=`${t.value}(${d[0].join(", ")})`;return this._addResultsPart(i,"(class) "+h,!0),this._addDocumentationPartForType(e,r,i,p,s,n)||this._addDocumentationPartForType(e,r,i,a,s,n),!0}static _getTypeText(e,t,n=!1){const i=t.getType(e)||Ys.create();return": "+t.printType(i,n)}static _addDocumentationPart(e,t,n,i,r,s){const o=r.getType(i);o&&this._addDocumentationPartForType(e,t,n,o,s,r)}static _addDocumentationPartForType(e,t,n,i,r,s){const o=Vl(t,i,r,s);let a=!1;for(const t of o)t&&(a=!0,this._addDocumentationResultsPart(e,n,t));return a}static _addDocumentationResultsPart(e,t,n){if(n)if(e===ot.MarkupKind.Markdown){const e=ds(n);t.length>0&&e.length>0&&t.push({text:"---\n"}),this._addResultsPart(t,e)}else e===ot.MarkupKind.PlainText?this._addResultsPart(t,hs(n)):E(`Unsupported markup type: ${e}`)}static _addResultsPart(e,t,n=!1){e.push({python:n,text:t})}}.getHoverForPosition(e,this._parseResults,t,n,i,r)}getDocumentHighlight(e,t,n,i){if(!this._isBindingNeeded&&this._parseResults)return class{static getDocumentHighlight(e,t,n,i){ct(i);const r=xt(t,e.tokenizerOutput.lines);if(void 0===r)return;const s=Tr(e.parseTree,r);return void 0!==s&&38===s.nodeType?Ml.collectFromNode(s,n,i,e.parseTree,!0).map((t=>({kind:38===t.node.nodeType&&$r(t.node)?ot.DocumentHighlightKind.Write:ot.DocumentHighlightKind.Read,range:St(t.range.start,dt.getEnd(t.range),e.tokenizerOutput.lines)}))):void 0}}.getDocumentHighlight(this._parseResults,t,n,i)}getSignatureHelpForPosition(e,t,n,i,r){if(this._parseResults)return class{static getSignatureHelpForPosition(e,t,n,i,r,s){var o;ct(s);const a=xt(t,e.tokenizerOutput.lines);if(void 0===a)return;let l=Tr(e.parseTree,a);const c=l,u=l?vr(l):0;let p=a-1;for(;p>=0&&","!==e.text.substr(p,1);){const t=Tr(e.parseTree,p);if(t&&t!==c){vr(t)>u&&(l=t);break}p--}if(void 0===l)return;const d=zr(l,a,e.tokenizerOutput.tokens);if(!d)return;const h=i.getCallSignatureInfo(d.callNode,d.activeIndex,d.activeOrFake);return h?{signatures:h.signatures.map((e=>this._makeSignature(h.callNode,e,n,i,r))),callHasParameters:!!(null===(o=h.callNode.arguments)||void 0===o?void 0:o.length)}:void 0}static _makeSignature(e,t,n,i,r){var s;const o=t.type,a=[],l=null!==(s=Ll(o,n,i))&&void 0!==s?s:this._getDocStringFromCallNode(e,n,i);let c=o.details.fullName+"(";const u=o.details.parameters.filter(((e,t)=>!(0===t&&"self"===e.name)));let p;u.forEach(((e,t)=>{const n=e.name||"";let i=e.name||"";1===e.category?i="*"+i:2===e.category&&(i="**"+i),e.hasDefault&&e.defaultValueExpression&&(i+="=",i+=xr(e.defaultValueExpression,1)),a.push({startOffset:c.length,endOffset:c.length+i.length,text:i,documentation:ps(l||"",n)}),c+=i,t0)return o.join("\n\n")}}}.getSignatureHelpForPosition(this._parseResults,e,t,n,i,r)}getCompletionsForPosition(e,t,n,i,r,s,o,a,l,c,u,p){if(!this._parseResults)return;const d=this.getOpenFileContents();return void 0!==d?new jl(t,this._parseResults,d,i,e,this._filePath,n,r,s,o,a,{nameMap:l,libraryMap:c,getModuleSymbolsMap:u},p).getCompletionsForPosition():void 0}resolveCompletionItem(e,t,n,i,r,s,o,a,l,c,u){const p=this.getOpenFileContents();if(!this._parseResults||void 0===p)return;const d=c.data;new jl(d.workspacePath,this._parseResults,p,t,d.position,this._filePath,e,n,i,r,s,{nameMap:o,libraryMap:a,getModuleSymbolsMap:l},u).resolveCompletionItem(c)}performQuickAction(e,t,n){if(this._parseResults&&void 0!==this.getClientVersion())return function(e,t,n,i){return"pyright.organizeimports"===e?new Vc(n,i).sort():"pyright.addoptionalforparam"===e&&t.length>=1?function(e,t,n){ct(n);let i=Tr(e.parseTree,t);for(;i&&41!==i.nodeType;)i=i.parent;if(!i)return[];const r=i.typeAnnotation||i.typeAnnotationComment;if(!r)return[];const s=[],o=It(r.start,e.tokenizerOutput.lines),a=It(dt.getEnd(r),e.tokenizerOutput.lines);s.push({range:{start:o,end:o},replacementText:"Optional["}),s.push({range:{start:a,end:a},replacementText:"]"});const l=tn(e.parseTree),c=l.orderedImports.find((e=>"typing"===e.moduleName));if(c&&22===c.node.nodeType&&!c.node.isWildcardImport){const t=rn({name:"Optional"},c,e);s.push(...t)}else{const t=an({name:"Optional"},l,"typing",0,e,o);s.push(...t)}return s}(n,parseInt(t[0],10),i):[]}(e,t,this._parseResults,n)}bind(e,t,n){return w(!this.isParseRequired(),"Bind called before parsing"),w(this.isBindingRequired(),"Bind called unnecessarily"),w(!this._isBindingInProgress,"Bind called while binding in progress"),w(void 0!==this._parseResults,"Parse results not available"),this._logTracker.log(`binding: ${this._getPathForLogging(this._filePath)}`,(()=>{try{Fn.bindTime.timeOperation((()=>{this._cleanParseTreeIfRequired();const i=this._buildFileInfo(e,this._parseResults.text,t,n);!function(e,t){e.fileInfo=t}(this._parseResults.parseTree,i);const r=new ru(i,e.indexGenerationMode);this._isBindingInProgress=!0,r.bindModule(this._parseResults.parseTree),e.internalTestMode&&(new Pu).walk(this._parseResults.parseTree),this._bindDiagnostics=i.diagnosticSink.fetchAndClear();const s=Ft(this._parseResults.parseTree);w(void 0!==s,"Module scope not returned by binder"),this._moduleSymbolTable=s.symbolTable}))}catch(e){const t=(e.stack?e.stack.toString():void 0)||("string"==typeof e.message?e.message:void 0)||JSON.stringify(e);this._console.error(ml.Diagnostic.internalBindError().format({file:this.getFilePath(),message:t}));const n=new kc;n.addError(ml.Diagnostic.internalBindError().format({file:this.getFilePath(),message:t}),{start:{line:0,character:0},end:{line:0,character:0}}),this._bindDiagnostics=n.fetchAndClear()}finally{this._isBindingInProgress=!1}this._diagnosticVersion++,this._isCheckingNeeded=!0,this._indexingNeeded=!0,this._isBindingNeeded=!1}))}check(e){return w(!this.isParseRequired(),"Check called before parsing"),w(!this.isBindingRequired(),"Check called before binding"),w(!this._isBindingInProgress,"Check called while binding in progress"),w(this.isCheckingRequired(),"Check called unnecessarily"),w(void 0!==this._parseResults,"Parse results not available"),this._logTracker.log(`checking: ${this._getPathForLogging(this._filePath)}`,(()=>{try{Fn.typeCheckerTime.timeOperation((()=>{new Cu(this._parseResults.parseTree,e).check(),this._isCheckingNeeded=!1;const t=qt(this._parseResults.parseTree);this._checkerDiagnostics=t.diagnosticSink.fetchAndClear()}))}catch(e){if(!lt.is(e)){const t=(e.stack?e.stack.toString():void 0)||("string"==typeof e.message?e.message:void 0)||JSON.stringify(e);this._console.error(ml.Diagnostic.internalTypeCheckingError().format({file:this.getFilePath(),message:t}));const n=new kc;n.addError(ml.Diagnostic.internalTypeCheckingError().format({file:this.getFilePath(),message:t}),{start:{line:0,character:0},end:{line:0,character:0}}),this._checkerDiagnostics=n.fetchAndClear(),this._isCheckingNeeded=!1}throw e}finally{this._circularDependencies=[],this._diagnosticVersion++}}))}test_enableIPythonMode(e){this._ipythonMode=e}_buildFileInfo(e,t,n,i){w(void 0!==this._parseResults,"Parse results not available");const r=new Dc(this._parseResults.tokenizerOutput.lines);return{importLookup:n,futureImports:this._parseResults.futureImports,builtinsScope:i,diagnosticSink:r,executionEnvironment:e.findExecEnvironment(this._filePath),diagnosticRuleSet:this._diagnosticRuleSet,fileContents:t,lines:this._parseResults.tokenizerOutput.lines,typingSymbolAliases:this._parseResults.typingSymbolAliases,filePath:this._filePath,moduleName:this._moduleName,isStubFile:this._isStubFile,isTypingStubFile:this._isTypingStubFile,isTypingExtensionsStubFile:this._isTypingExtensionsStubFile,isBuiltInStubFile:this._isBuiltInStubFile,isInPyTypedPackage:this._isThirdPartyPyTypedPresent,isIPythonMode:this._ipythonMode,accessedSymbolMap:new Map}}_cleanParseTreeIfRequired(){this._parseResults&&this._parseTreeNeedsCleaning&&(new Au(this._parseResults.parseTree).clean(),this._parseTreeNeedsCleaning=!1)}_resolveImports(e,t,n){const i=[],r=(t,r=!1)=>{const s=e.resolveImport(this._filePath,n,{leadingDots:0,nameParts:t,importedSymbols:void 0});if(!r||s.isImportFound)return 0===s.resolvedPaths.length||s.resolvedPaths[0]!==this._filePath?(i.push(s),s):void 0};let s;this._isThirdPartyImport||this._isStubFile||(s=r(["__builtins__"],!0)),s||(s=r(["builtins"]));const o=this._ipythonMode?r(["IPython","display"]):void 0;for(const r of t){const t=e.resolveImport(this._filePath,n,{leadingDots:r.leadingDots,nameParts:r.nameParts,importedSymbols:r.importedSymbols});i.push(t),a=t,r.nameNode.importInfo=a}var a;return{imports:i,builtinsImportResult:s,ipythonDisplayImportResult:o}}_getPathForLogging(e){return this.fileSystem.isMappedFilePath(e)?"[virtual] "+e:e}}function Fu(e){function t(e,t="'"){return e?`${t}${e}${t}`:""}e=e.map((e=>le(e))).sort(((e,t)=>e.localeCompare(t))).reverse();const n=/[\\/]/g;function i(t){if(t){if("string"==typeof t){for(const i of e)if(t.startsWith(i))return he(t.substring(i.length)).replace(n,".");return t}return t.nameParts.join(".")}return""}function o(e){var n,i,r,s,a,l;if(e)switch(e.category){case 2:return`Any ${t(null===(n=e.typeAliasInfo)||void 0===n?void 0:n.fullName)}`;case 7:return Ks.isInstantiable(e)?`Class '${e.details.name}' (${e.details.moduleName})`:`Object '${e.details.name}' (${e.details.moduleName})`;case 5:return`Function '${e.details.name}' (${e.details.moduleName})`;case 8:return`Module '${e.moduleName}' (${e.moduleName})`;case 4:return`Never ${t(null===(i=e.typeAliasInfo)||void 0===i?void 0:i.fullName)}`;case 3:return`None ${t(null===(r=e.typeAliasInfo)||void 0===r?void 0:r.fullName)}`;case 6:return`OverloadedFunction [${e.overloads.map((e=>t(o(e),'"'))).join(",")}]`;case 10:return`TypeVar '${e.details.name}' ${t(null===(s=e.typeAliasInfo)||void 0===s?void 0:s.fullName)}`;case 0:return`Unbound ${t(null===(a=e.typeAliasInfo)||void 0===a?void 0:a.fullName)}`;case 9:return`Union [${e.subtypes.map((e=>t(o(e),'"'))).join(",")}]`;case 1:return`Unknown ${t(null===(l=e.typeAliasInfo)||void 0===l?void 0:l.fullName)}`;default:k(e)}return""}function a(e){if(e)switch(e.type){case 6:return`Alias, ${l(e.node)} (${i(e.path)})`;case 4:return`Class, ${l(e.node)} (${i(e.path)})`;case 3:return`Function, ${l(e.node)} (${i(e.path)})`;case 0:return`Intrinsic, ${l(e.node)} ${e.intrinsicType} (${i(e.path)})`;case 2:return`Parameter, ${l(e.node)} (${i(e.path)})`;case 5:return`SpecialBuiltInClass, ${l(e.node)} (${i(e.path)})`;case 1:return`Variable, ${l(e.node)} (${i(e.path)})`;default:k(e)}return""}function l(e,n=!1){var r;if(!e)return"";const s=n?`(${i(null===(r=function(e){for(;36!==e.nodeType&&e.parent;)e=e.parent;return 36===e.nodeType?qt(e):void 0}(e))||void 0===r?void 0:r.filePath)})`:"";if(yr(e))return t(function(e,t=30){return e.length "}(xr(e)),'"')+` ${s}`;switch(e.nodeType){case 21:return`importAs '${l(e.module)}' ${t(e.alias?l(e.alias):"")} ${s}`;case 22:return`importFrom [${e.imports.map((e=>t(l(e),'"'))).join(",")}]`;case 23:return`ImportFromAs '${l(e.name)}' ${t(e.alias?l(e.alias):"")} ${s}`;case 36:return`module ${s}`;case 10:return`class '${l(e.name)}' ${s}`;case 28:return`function '${l(e.name)}' ${s}`;case 37:return`moduleName '${e.nameParts.map((e=>l(e))).join(".")}' ${s}`;case 1:return`argument '${e.name?l(e.name):"N/A"}' ${s}`;case 41:return`parameter '${e.name?l(e.name):"N/A"}' ${s}`;default:return`${function(e){switch(e){case 0:return"Error";case 1:return"Argument";case 2:return"Assert";case 3:return"Assignment";case 4:return"AssignmentExpression";case 5:return"AugmentedAssignment";case 6:return"Await";case 7:return"BinaryOperation";case 8:return"Break";case 9:return"Call";case 10:return"Class";case 11:return"Constant";case 12:return"Continue";case 13:return"Decorator";case 14:return"Del";case 15:return"Dictionary";case 16:return"DictionaryExpandEntry";case 17:return"DictionaryKeyEntry";case 18:return"Ellipsis";case 19:return"If";case 20:return"Import";case 21:return"ImportAs";case 22:return"ImportFrom";case 23:return"ImportFromAs";case 24:return"Index";case 25:return"Except";case 26:return"For";case 27:return"FormatString";case 28:return"Function";case 29:return"Global";case 30:return"Lambda";case 31:return"List";case 32:return"ListComprehension";case 33:return"ListComprehensionFor";case 34:return"ListComprehensionIf";case 35:return"MemberAccess";case 36:return"Module";case 37:return"ModuleName";case 38:return"Name";case 39:return"Nonlocal";case 40:return"Number";case 41:return"Parameter";case 42:return"Pass";case 43:return"Raise";case 44:return"Return";case 45:return"Set";case 46:return"Slice";case 47:return"StatementList";case 48:return"StringList";case 49:return"String";case 50:return"Suite";case 51:return"Ternary";case 52:return"Tuple";case 53:return"Try";case 54:return"TypeAnnotation";case 55:return"UnaryOperation";case 56:return"Unpack";case 57:return"While";case 58:return"With";case 59:return"WithItem";case 60:return"Yield";case 61:return"YieldFrom";case 62:return"FunctionAnnotation";case 63:return"Match";case 64:return"Case";case 65:return"PatternSequence";case 66:return"PatternAs";case 67:return"PatternLiteral";case 68:return"PatternClass";case 69:return"PatternCapture";case 70:return"PatternMapping";case 71:return"PatternMappingKeyEntry";case 72:return"PatternMappingExpandEntry";case 73:return"PatternValue";case 74:return"PatternClassArgument"}k(e)}(e.nodeType)} ${s}`}}return{print:function(e){return e?function(e){return e&&s(e.nodeType)}(e)?l(e,!0):function(e){const t=e;return t&&s(t.type)&&r(t.path)&&r(t.moduleName)}(e)?a(e):e instanceof Vo?(t=e)?t.hasDeclarations()?`symbol ${a(t.getDeclarations()[0])}`:"":"":function(e){const t=e;return t&&s(t.category)&&s(t.flags)}(e)?o(e):void k(e):"";var t},printFileOrModuleName:i}}function Nu(e){return!!e.isIncompleteType}class Mu{constructor(){this._speculativeContextStack=[],this._speculativeTypeCache=new Map}enterSpeculativeContext(e,t){this._speculativeContextStack.push({speculativeRootNode:e,entriesToUndo:[],allowCacheRetention:t})}leaveSpeculativeContext(){w(this._speculativeContextStack.length>0),this._speculativeContextStack.pop().entriesToUndo.forEach((e=>{e.cache.delete(e.id)}))}isSpeculative(e){if(0===this._speculativeContextStack.length)return!1;if(!e)return!0;for(let t=this._speculativeContextStack.length-1;t>=0;t--)if(Mr(e,this._speculativeContextStack[t].speculativeRootNode))return!0;return!1}trackEntry(e,t){const n=this._speculativeContextStack.length;n>0&&this._speculativeContextStack[n-1].entriesToUndo.push({cache:e,id:t})}disableSpeculativeMode(){const e=this._speculativeContextStack;return this._speculativeContextStack=[],e}enableSpeculativeMode(e){w(0===this._speculativeContextStack.length),this._speculativeContextStack=e}addSpeculativeType(e,t,n){if(w(this._speculativeContextStack.length>0),this._speculativeContextStack.some((e=>!e.allowCacheRetention)))return;let i=this._speculativeTypeCache.get(e.id);i||(i=[],this._speculativeTypeCache.set(e.id,i)),i.push({type:t,expectedType:n})}getSpeculativeType(e,t){if(this._speculativeContextStack.some((t=>Mr(e,t.speculativeRootNode)))){const n=this._speculativeTypeCache.get(e.id);if(n)for(const e of n)if(t){if(e.expectedType&&Ao(t,e.expectedType))return e.type}else if(!e.expectedType)return e.type}}}class Ou{constructor(){this._trackerStack=[],this._isUndoTrackingEnabled=!1}trackEntry(e,t){this._isUndoTrackingEnabled&&this._trackerStack[this._trackerStack.length-1].push({cache:e,id:t})}enterTrackingScope(){this._trackerStack.push([])}exitTrackingScope(){this._trackerStack.pop().forEach((e=>{e.cache.delete(e.id)})),0===this._trackerStack.length&&(this._isUndoTrackingEnabled=!1)}enableUndoTracking(){this._trackerStack.length>0&&(this._isUndoTrackingEnabled=!0)}isUndoTrackingEnabled(){return this._isUndoTrackingEnabled}}function Lu(e,t,n,i){var r,s,o;const a=qt(t);let l="namedtuple";if(0===n.length)e.addError(ml.Diagnostic.namedTupleFirstArg(),t);else{const i=n[0];0!==i.argumentCategory?e.addError(ml.Diagnostic.namedTupleFirstArg(),n[0].valueExpression||t):i.valueExpression&&48===i.valueExpression.nodeType&&(l=i.valueExpression.strings.map((e=>e.value)).join(""))}const c=n.find((e=>{var t;return"defaults"===(null===(t=e.name)||void 0===t?void 0:t.value)}));let u=0;if(c&&c.valueExpression){const t=e.getTypeOfExpression(c.valueExpression).type;u=vo(t)&&pa(t)&&!da(t)&&t.tupleTypeArguments?t.tupleTypeArguments.length:void 0}const p=e.getTypingType(t,"NamedTuple")||Ys.create(),d=Zs.createInstantiable(l,br(t,a.moduleName,l),a.moduleName,a.filePath,16777216,Ir(t),void 0,_o(p)?p.details.effectiveMetaclass:Ys.create());d.details.baseClasses.push(p),d.details.typeVarScopeId=e.getScopeIdForNode(t);const h=d.details.fields;h.set("__class__",Vo.createWithType(68,d));const m=Aa(d,!0),f=Xs.createInstance("__new__","","",65);f.details.declaredReturnType=Fa(m),function(e){var t,n;if(9!==e.nodeType||!e.parent||3!==e.parent.nodeType||38!==e.parent.leftExpression.nodeType||!e.parent.parent||47!==e.parent.parent.nodeType)return!1;const i=e.parent.leftExpression.value,r=e.parent.parent;if(r.statements[0]!==e.parent||!r.parent||36!==r.parent.nodeType&&50!==r.parent.nodeType)return!1;const s=r.parent;let o=s.statements.findIndex((e=>e===r));if(o<0)return!1;for(o++;oe.value)).join("").split(/[,\s]+/),n=void 0===u?0:Math.max(0,e.length-u);e.forEach(((e,r)=>{if(e=e.trim()){const s=Ys.create(),o={category:0,name:e,type:s,hasDeclaredType:i,hasDefault:r>=n};Xs.addParameter(f,o);const l=Vo.createWithType(8,s);g.push(e);const c=t.valueExpression,u={type:1,node:c,isRuntimeTypeExpression:!0,path:a.filePath,range:St(c.start,dt.getEnd(c),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};l.addDeclaration(u),h.set(e,l),v.push(s)}}))}else if(31===(null===(r=t.valueExpression)||void 0===r?void 0:r.nodeType)||52===(null===(s=t.valueExpression)||void 0===s?void 0:s.nodeType)){const n=t.valueExpression,r=new Map,s=31===(null===(o=t.valueExpression)||void 0===o?void 0:o.nodeType)?t.valueExpression.entries:t.valueExpression.expressions,l=void 0===u?0:Math.max(0,s.length-u);s.forEach(((t,n)=>{let s,o,c,u="";i?52===t.nodeType&&2===t.expressions.length?(c=t.expressions[0],s=t.expressions[1],o=Fa(e.getTypeForExpressionExpectingType(s,!1).type)):e.addError(ml.Diagnostic.namedTupleNameType(),t):(c=t,o=Ys.create()),c&&48===c.nodeType?(u=c.strings.map((e=>e.value)).join(""),u||e.addError(ml.Diagnostic.namedTupleEmptyName(),c)):_=!0,u||(u=`_${n.toString()}`),r.has(u)&&e.addError(ml.Diagnostic.namedTupleNameUnique(),c||t),r.set(u,u),o||(o=Ys.create());const p={category:0,name:u,type:o,hasDeclaredType:i,hasDefault:n>=l};Xs.addParameter(f,p),v.push(o),g.push(u);const d=Vo.createWithType(8,o);if(c&&48===c.nodeType){const e={type:1,node:c,path:a.filePath,typeAnnotationNode:s,range:St(c.start,dt.getEnd(c),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};d.addDeclaration(e)}h.set(u,d)})),e.setTypeForNode(n)}else _=!0}_&&(f.details.parameters=[],Xs.addDefaultParameters(f),v.push(io.create(!1)),v.push(io.create(!0)));const T=Xs.createInstance("__init__","","",192);Xs.addParameter(T,y),Xs.addDefaultParameters(T),T.details.declaredReturnType=to.createInstance(),h.set("__new__",Vo.createWithType(4,f)),h.set("__init__",Vo.createWithType(4,T));const b=Xs.createInstance("keys","","",64),I=Xs.createInstance("items","","",64);b.details.declaredReturnType=e.getBuiltInObject(t,"list",[e.getBuiltInObject(t,"str")]),I.details.declaredReturnType=b.details.declaredReturnType,h.set("keys",Vo.createWithType(8,b)),h.set("items",Vo.createWithType(8,I));const S=Xs.createInstance("__len__","","",64);if(S.details.declaredReturnType=e.getBuiltInObject(t,"int"),Xs.addParameter(S,y),h.set("__len__",Vo.createWithType(4,S)),_){const n=Xs.createInstance("__getattribute__","","",64);n.details.declaredReturnType=io.create(),Xs.addParameter(n,y),Xs.addParameter(n,{category:0,name:"name",type:e.getBuiltInObject(t,"str")}),h.set("__getattribute__",Vo.createWithType(4,n))}const x=e.getBuiltInType(t,"tuple"),C=e.getBuiltInType(t,"str");if(!_&&C&&_o(C)&&x&&_o(x)){const e=g.map((e=>({type:Zs.cloneAsInstance(Zs.cloneWithLiteral(C,e)),isUnbounded:!1}))),t=Zs.cloneAsInstance(qa(x,e));h.set("__match_args__",Vo.createWithType(4,t))}return Ha(d),Uu(d,v,!_),d}function Uu(e,t,n){const i=e.details.mro.findIndex((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")));if(i<0||e.details.mro.length{o.push({type:e,isUnbounded:!1})})):o.push({type:t.length>0?Oo(t):Ys.create(),isUnbounded:!0});const a=qa(s,o,n),l=Zs.cloneForSpecialization(r,[],n);l.details={...l.details},l.details.mro=[...l.details.mro],l.details.mro[1]=a.details.mro[0],l.details.baseClasses=l.details.baseClasses.map((e=>_o(e)&&pa(e)?a:e)),e.details.mro[i]=l,e.details.mro[i+1]=a,e.details.baseClasses=e.details.baseClasses.map((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")?l:e))}function Vu(e,t){const n={keywordOnlyParams:!1,generateEq:!0,generateOrder:!1,transformDescriptorTypes:!1,fieldDescriptorNames:[]},i=qt(t);return t.arguments.forEach((t=>{if(t.name&&0===t.argumentCategory)switch(t.name.value){case"kw_only_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.keywordOnlyParams=r;break}case"eq_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.generateEq=r;break}case"order_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.generateOrder=r;break}case"transform_descriptor_types":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.transformDescriptorTypes=r;break}case"field_descriptors":{const i=e.getTypeOfExpression(t.valueExpression).type;if(!vo(i)||!Zs.isBuiltIn(i,"tuple")||!i.tupleTypeArguments||i.tupleTypeArguments.some((e=>!_o(e.type)&&!Eo(e.type)&&!ko(e.type))))return void e.addError(ml.Diagnostic.dataClassTransformFieldDescriptor().format({type:e.printType(i)}),t.valueExpression);n.fieldDescriptorNames||(n.fieldDescriptorNames=[]),i.tupleTypeArguments.forEach((e=>{_o(e.type)||Eo(e.type)?n.fieldDescriptorNames.push(e.type.details.fullName):ko(e.type)&&n.fieldDescriptorNames.push(e.type.overloads[0].details.fullName)}));break}default:e.addError(ml.Diagnostic.dataClassTransformUnknownArgument().format({name:t.name.value}),t.valueExpression)}else e.addError(ml.Diagnostic.dataClassTransformPositionalParam(),t)})),n}function qu(e){let t;if(Eo(e)?t=e:ko(e)&&(t=e.overloads[0]),t)return t.details.decoratorDataClassBehaviors?t.details.decoratorDataClassBehaviors:"dataclasses.dataclass"===t.details.fullName?{keywordOnlyParams:!1,generateEq:!0,generateOrder:!1,transformDescriptorTypes:!1,fieldDescriptorNames:["dataclasses.field","dataclasses.Field"]}:void 0}function Bu(e,t,n){n.forEach((n=>{n.valueExpression&&n.name&&function(e,t,n,i,r){const s=qt(t),o=Xc(r,s.executionEnvironment);switch(i){case"order":!0===o?n.details.flags|=64:!1===o&&(n.details.flags&=-65);break;case"kw_only":!1===o?n.details.flags&=-2097153:!0===o&&(n.details.flags|=2097152);break;case"frozen":{let i=!1,r=!1;n.details.baseClasses.forEach((e=>{_o(e)&&Zs.isDataClass(e)&&(Zs.isFrozenDataClass(e)?r=!0:e.details.classDataClassTransform||e.details.declaredMetaclass&&_o(e.details.declaredMetaclass)&&e.details.declaredMetaclass.details.classDataClassTransform||(i=!0))})),(!0===o||r)&&(n.details.flags|=8,i&&e.addDiagnostic(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassBaseClassNotFrozen(),t));break}case"init":!1===o?n.details.flags|=16:!0===o&&(n.details.flags&=-17);break;case"eq":!1===o?n.details.flags|=32:!0===o&&(n.details.flags&=-33);break;case"slots":!0===o?(n.details.flags|=33554432,n.details.localSlotsNames&&e.addDiagnostic(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassSlotsOverwrite(),t)):!1===o&&(n.details.flags&=-33554433);break;case"hash":case"unsafe_hash":!0===o&&(n.details.flags|=67108864)}}(e,n.name,t,n.name.value,n.valueExpression)}))}function Wu(e,t){e.details.dataClassBehaviors=t,e.details.flags|=4,t.keywordOnlyParams&&(e.details.flags|=2097152),t.generateEq||(e.details.flags|=32),t.generateOrder&&(e.details.flags|=64)}function ju(e,t,n,i){Wu(t,n),(null==i?void 0:i.arguments)&&Bu(e,t,i.arguments)}function zu(e,t,n,i,r){return Eo(i)&&"functools.total_ordering"===i.details.fullName?function(e,t,n,i){if(1!==n.length)return i;const r=n[0].type;if(!r||!_o(r)||r.includeSubclasses)return i;const s=["__lt__","__le__","__gt__","__ge__"],o=Zs.cloneAsInstance(r),a=s.filter((e=>!_a(o,e,8)));if(a.length===s.length)return e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.totalOrderingMissingMethod(),t),i;const l=e.getBuiltInObject(t,"object");if(!l||!vo(l))return i;const c=e.getBuiltInObject(t,"bool");if(!c||!vo(c))return i;const u={category:0,name:"self",type:Aa(r,!1),hasDeclaredType:!0},p={category:0,name:"__value",type:l,hasDeclaredType:!0};return a.forEach((e=>{const t=Xs.createInstance(e,"","",64);Xs.addParameter(t,u),Xs.addParameter(t,p),t.details.declaredReturnType=c,r.details.fields.set(e,Vo.createWithType(4,t))})),i}(e,t,n,r):r}function $u(e,t,n){Xs.isStaticMethod(t)&&e.addDiagnostic(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.propertyStaticMethod(),n)}function Hu(e,t,n,i){const r=qt(t),s=e.getBuiltInType(t,"type"),o=Zs.isBuiltIn(n,"property")?Ir(t):n.details.typeSourceId,a=Zs.createInstantiable(n.details.name,br(t,r.moduleName,`__property_${i.details.name}`),r.moduleName,r.filePath,2048,o,void 0,_o(s)?s:Ys.create());a.details.typeVarScopeId=n.details.typeVarScopeId,Ha(a);const l=a.details.fields;n.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||["__get__","__set__","__delete__","fget","fset","fdel"].some((e=>e===t))||l.set(t,e)}));const c=Zs.cloneAsInstance(a);a.isAsymmetricDescriptor=!1;const u=Vo.createWithType(4,i);l.set("fget",u),Xs.isClassMethod(i)&&(a.details.flags|=4194304);const p=Xs.createInstance("__get__","","",320);Xs.addParameter(p,{category:0,name:"self",type:c,hasDeclaredType:!0}),Xs.addParameter(p,{category:0,name:"obj",type:to.createInstance(),hasDeclaredType:!0}),Xs.addParameter(p,{category:0,name:"objtype",type:io.create(),hasDeclaredType:!0,hasDefault:!0,defaultType:io.create()}),p.details.declaredReturnType=Xs.isClassMethod(i)?Xs.getSpecializedReturnType(i):c,p.details.declaration=i.details.declaration;const d=Xs.createInstance("__get__","","",320);Xs.addParameter(d,{category:0,name:"self",type:c,hasDeclaredType:!0});const h=i.details.parameters.length>0?i.details.parameters[0].type:io.create();Xs.addParameter(d,{category:0,name:"obj",type:h,hasDeclaredType:!0}),Xs.addParameter(d,{category:0,name:"objtype",type:io.create(),hasDeclaredType:!0,hasDefault:!0,defaultType:io.create()}),d.details.declaredReturnType=Xs.getSpecializedReturnType(i),d.details.declaration=i.details.declaration,d.details.typeVarScopeId=na(i);const m=eo.create([p,d]),f=Vo.createWithType(4,m);return l.set("__get__",f),["getter","setter","deleter"].forEach((e=>{const t=Xs.createInstance(e,"","",64);Xs.addParameter(t,{category:0,name:"self",type:io.create(),hasDeclaredType:!0}),Xs.addParameter(t,{category:0,name:"accessor",type:io.create(),hasDeclaredType:!0}),t.details.declaredReturnType=c;const n=Vo.createWithType(4,t);l.set(e,n)})),c}function Gu(e,t,n,i,r,s,o=0){const a=Zs.cloneAsInstance(i);let l=!0;return[{name:"fget",missingDiagMsg:ml.DiagnosticAddendum.missingGetter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleGetter},{name:"fset",missingDiagMsg:ml.DiagnosticAddendum.missingSetter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleSetter},{name:"fdel",missingDiagMsg:ml.DiagnosticAddendum.missingDeleter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleDeleter}].forEach((i=>{const c=t.details.fields.get(i.name),u=c?e.getDeclaredTypeOfSymbol(c):void 0;if(u&&Eo(u)){const t=n.details.fields.get(i.name),c=t?e.getDeclaredTypeOfSymbol(t):void 0;if(!c||!Eo(c))return r&&r.addMessage(i.missingDiagMsg()),void(l=!1);const p=e.bindFunctionToClassOrObject(a,u,void 0,void 0,o),d=e.bindFunctionToClassOrObject(a,c,void 0,void 0,o);if(!p||!d||!e.canAssignType(p,d,null==r?void 0:r.createAddendum(),s,0,o))return r&&r.addMessage("getter type is incompatible"),void(l=!1)}})),l}const Ku={0:["__add__","__radd__",!1],33:["__sub__","__rsub__",!1],26:["__mul__","__rmul__",!1],13:["__floordiv__","__rfloordiv__",!1],10:["__truediv__","__rtruediv__",!1],24:["__mod__","__rmod__",!1],29:["__pow__","__rpow__",!1],22:["__matmul__","__rmatmul__",!1],3:["__and__","__rand__",!1],6:["__or__","__ror__",!1],8:["__xor__","__rxor__",!1],17:["__lshift__","__rlshift__",!1],31:["__rshift__","__rrshift__",!1],12:["__eq__","__ne__",!0],28:["__ne__","__eq__",!0],20:["__lt__","__ge__",!0],21:["__le__","__gt__",!0],15:["__gt__","__le__",!0],16:["__ge__","__lt__",!0]},Ju={36:!1,37:!1,39:!0,40:!0,41:!0,42:!0},Yu=new Map([["asyncio.futures.Future",De.V3_9],["asyncio.tasks.Task",De.V3_9],["builtins.dict",De.V3_9],["builtins.frozenset",De.V3_9],["builtins.list",De.V3_9],["builtins._PathLike",De.V3_9],["builtins.set",De.V3_9],["builtins.tuple",De.V3_9],["collections.ChainMap",De.V3_9],["collections.Counter",De.V3_9],["collections.defaultdict",De.V3_9],["collections.DefaultDict",De.V3_9],["collections.deque",De.V3_9],["collections.OrderedDict",De.V3_9],["queue.Queue",De.V3_9]]),Qu=new Map([["builtins.float",["builtins.int"]],["builtins.complex",["builtins.float","builtins.int"]],["builtins.bytes",["builtins.bytearray","builtins.memoryview"]]]);function Zu(e,t){const n=[],i=new Map,r=new Map,s=new Map,o=new Map,a=new Set,l=new Map,c=new Mu,u=new Map,p=[],d=new Ou,h=[];let m,f,g,y,_,v,T,b,I,S,x,C,k=!1;const D=[];let A;function P(){m&&ct(m)}function R(e){let t;return t=A&&L(e)?A.get(e.id):s.get(e.id),void 0!==t}function F(e,n){let i;if(i=A&&L(e)?A.get(e.id):s.get(e.id),void 0!==i){if(t.verifyTypeCacheEvaluatorFlags&&void 0!==n){const t=o.get(e.id);void 0!==t&&n!==t&&E(`Type cache flag mismatch for node type ${e.nodeType}: cached flags = ${t}, access flags = ${n}`)}return w(!Nu(i)),i}}function N(e,n,i,r,a,l=!1){if(r)return void(C&&C.set(e.id,n));const u=A&&L(e)?A:s;u.set(e.id,n),t.verifyTypeCacheEvaluatorFlags&&u===s&&void 0!==i&&o.set(e.id,i),c.isSpeculative(e)&&(c.trackEntry(u,e.id),l&&c.addSpeculativeType(e,n,a)),d.trackEntry(u,e.id)}function M(e){(A&&L(e)?A:s).delete(e.id)}function O(e,t=Ys.create(),n=0){N(e,t,n,!1)}function L(e){const t=D.length;if(0===t)return!1;const n=D[t-1];let i=e;for(;i;){if(i===n.functionNode)return!0;i=i.parent}return!1}function U(e,t){return n.findIndex((n=>n.symbolId===e.id&&n.declaration===t))}function V(e,t){const i=U(e,t);if(i>=0){for(let e=i+1;e=0&&(n[r].partialType=i)}function W(e,t){const i=U(e,t);if(i>=0)return n[i].partialType}function j(e){var t;return null===(t=gn(e,(()=>{hn(e)})))||void 0===t?void 0:t.type}function z(e){k||(k=!0,y=Cn(e,"object"),_=xn(e,"type"),v=Cn(e,"function"),ce(e,"Collection"),f=function(e,t){return ue(e,"NoneType",["_typeshed"])}(e)||io.create(),T=xn(e,"tuple"),b=xn(e,"bool"),I=xn(e,"str"),S=xn(e,"dict"),x=ce(e,"_TypedDict"))}function $(e,n,i=0){var r;const s=F(e,i);if(s)return{type:s,node:e};{const t=c.getSpeculativeType(e,n);if(t)return{type:t,node:e}}P();const o=ta(n);let a;z(e);let u=0!=(64&i);switch(e.nodeType){case 38:a=function(e,n){const i=qt(e),r=e.value;let s,o=!1;const a=0!=(4&n)||i.isStubFile;if(!t.analyzeUnannotatedFunctions){const t=kr(e);if(t&&function(e){return void 0===e.returnTypeAnnotation&&e.parameters.every((e=>void 0===e.typeAnnotation&&void 0===e.typeAnnotationComment))}(t))return{node:e,type:io.create(),isIncomplete:!1}}const l=wn(e,r,!a,a&&0!=(1024&n));if(l){let t=!a;4===l.scope.type&&(t=!1);const c=l.symbol,u=Mn(c,t?e:void 0),p=ta(u.type);u.isIncomplete&&(o=!0),u.isRecursiveDefinition&&pe(e)&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.recursiveDefinition().format({name:r}),e);const d=!!p&&_o(p)&&Zs.isSpecialBuiltIn(p);if(s=p,t&&!d){const t=l.isBeyondExecutionScope||!c.isInitiallyUnbound()?p:Js.create(),n=_n(e,c.id,t,!1);if(n.type&&(s=n.type),n.isIncomplete&&(o=!0),!n.type&&l.isBeyondExecutionScope){const t=function(e,t,n){if(!t.symbol.getDeclarations().every((e=>1===e.type||2===e.type)))return;const i=function(e,t){const n=[];let i=e;for(;i;){const e=zs(i);if(!e)return;if(0!==n.length&&n[n.length-1]===e||n.push(e),e===t)return n;i=i.parent}return t?void 0:n}(e,t.scope);if(i&&i.length>=2&&i.every((e=>1===e.type||3===e.type))){const r=function(e,t){let n,i=e,r=!1;for(;i;){if(Ft(i)===t)r=!0;else if(r)return n;n=i,i=i.parent}}(e,i[i.length-2]);if(r&&(28===r.nodeType||30===r.nodeType)){const i=Lt(r);if(i&&t.symbol.getDeclarations().every((e=>{if(2===e.type)return!0;const t=Lt(e.node);return!(!t||t!==i&&ci.isFlowNodeReachable(t,i))})))return _n(e,t.symbol.id,n,!1,r)}}}(e,l,p);(null==t?void 0:t.type)&&(s=t.type),(null==t?void 0:t.isIncomplete)&&(o=!0)}}s=Ae(e,s,n),we(i,c,e),0!=(1024&n)&&u.includesVariableDecl&&!s.typeAliasInfo&&(ea(s)||bo(s)||po(s)||i.isTypingStubFile||Ks.isInstantiable(s)&&0==(2&n)||(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAnnotationVariable(),e),s=Ys.create()))}else{if("true"===r||"false"===r){const t=r.split("");t[0]=t[0].toUpperCase();const n=t.join("");_e(i.diagnosticRuleSet.reportUndefinedVariable,$o.reportUndefinedVariable,ml.Diagnostic.booleanIsLowerCase().format({name:r,booleanName:n}),e)}else"reveal_type"!==r&&"reveal_locals"!==r&&_e(i.diagnosticRuleSet.reportUndefinedVariable,$o.reportUndefinedVariable,ml.Diagnostic.symbolIsUndefined().format({name:r}),e);s=Ys.create()}if(wo(s)&&32&n&&(fe(ml.Diagnostic.paramSpecContext(),e),s=Ys.create()),bo(s)&&0==(64&n)&&s.details.name===r){const t=s.details.isVariadic?ce(e,"TypeVarTuple"):ce(e,"TypeVar");s=t&&_o(t)?Zs.cloneAsInstance(t):Ys.create()}return 0!=(64&n)&&0==(512&n)&&_o(s)&&Zs.isBuiltIn(s,"Generic")&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.genericNotAllowed(),e),bo(s)&&!s.details.isSynthesized&&(s=ke(e,s,n)),{type:s,node:e,isIncomplete:o}}(e,i);break;case 35:a=function(e,t){const n=2|572484&t,i=$(e.leftExpression,void 0,n);if(ea(i.type))return{node:e,type:Ys.create(),isIncomplete:!0};const r=Fe(e,i,{method:"get"},t);if(Dt(e)){N(e,r.type,t,!0),N(e.memberName,r.type,t,!0);let n=r.type,s=!!r.isIncomplete;if(mo(n)){const t=Ie(i.type);let r;_o(t)?r=va(t,e.memberName.value,1):vo(t)&&(r=_a(t,e.memberName.value,1)),r&&(n=Bn(r),s=!1)}const o=_n(e,0,n,s);o.type&&(r.type=o.type),o.isIncomplete&&(r.isIncomplete=!0),r.type=Ae(e,r.type,t),M(e),M(e.memberName)}return i.isIncomplete&&(r.isIncomplete=!0),r}(e,i),ea(a.type)||N(e.memberName,a.type,i,!!a.isIncomplete);break;case 24:a=function(e,t=0){const n=$(e.baseExpression,void 0,2|t);if(64&t&&48===e.baseExpression.nodeType){const t=qt(e);!t.isStubFile&&t.executionEnvironment.pythonVersion{vo(e)&&(Zs.isBuiltIn(e)||Zs.isTypedDictClass(e))||(r=!1)})),r){N(e,i.type,t,!1);const r=_n(e,0,i.type,!!n.isIncomplete||!!i.isIncomplete);r.type&&(i.type=r.type),r.isIncomplete&&(i.isIncomplete=!0),M(e)}}return n.isIncomplete&&(i.isIncomplete=!0),0!=(1048576&t)&&_o(n.type)&&(Zs.isBuiltIn(n.type,"Required")?i.isRequired=!0:Zs.isBuiltIn(n.type,"NotRequired")&&(i.isNotRequired=!0)),i}(e,i);break;case 9:0!=(1024&i)?(ze(e,o),_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAnnotationCall(),e),a={node:e,type:Ys.create()}):a=ze(e,o);break;case 52:a=function(e,t,n){if(0!=(64&n)&&0===e.expressions.length&&!t)return{type:Ue([]),node:e,isEmptyTupleShorthand:!0};let i=t,r=t&&uo(t);if(t&&fo(t)){let n;Jo(t,(t=>{if(uo(t)&&(r=!0),!n){const i=kn(e,(()=>We(e,t)));i&&Jn(t,i.type)&&(n=t)}})),i=n}if(i){const t=We(e,i);if(t)return t}const s=function(e){const t=e.expressions.map((e=>$(e))),n=t.some((e=>e.isIncomplete));return T&&_o(T)?{type:Fa(qa(T,je(t))),node:e,isIncomplete:n}:{type:Ys.create(),node:e}}(e);return r&&(s.type=io.create()),s}(e,o,i);break;case 11:a=function(e,t){let n;if(26===e.constType?n=0!=(64&t)?to.createType():to.createInstance():33!==e.constType&&15!==e.constType&&9!==e.constType||(n=Cn(e,"bool"),n&&vo(n)&&(33===e.constType?n=Zs.cloneWithLiteral(n,!0):15===e.constType&&(n=Zs.cloneWithLiteral(n,!1)))),n)return{type:n,node:e}}(e,i);break;case 48:if(0==(8&i)||function(e){if(e.parent&&24===e.parent.nodeType){const t=$(e.parent.baseExpression).type;if(t&&_o(t)&&Zs.isSpecialBuiltIn(t,"Literal"))return!0}return!1}(e)){e.strings.forEach((e=>{27===e.nodeType&&e.expressions.forEach((e=>{$(e)}))}));const t=0!=(32&e.strings[0].token.flags);a=e.strings.some((e=>27===e.nodeType))?{node:e,type:Cn(e,t?"bytes":"str")}:{node:e,type:kt(e,t?"bytes":"str",e.strings.map((e=>e.value)).join(""))}}else{let t=68|i;if(0==(4194304&i)&&(t|=524288),e.typeAnnotation)a=$(e.typeAnnotation,void 0,t);else if(!e.typeAnnotation&&1===e.strings.length){const n=function(e){const t=qt(e),n=new Qc,i=e.strings[0].value,r=e.strings[0].start+e.strings[0].token.prefixLength+e.strings[0].token.quoteMarkLength,s=new Jc;s.isStubFile=t.isStubFile,s.pythonVersion=t.executionEnvironment.pythonVersion;const o=n.parseTextExpression(t.fileContents,r,i.length,s,void 0,void 0,t.typingSymbolAliases);if(o.parseTree)return o.diagnostics.forEach((t=>{fe(t.message,e)})),o.parseTree.parent=e,o.parseTree}(e);n&&(a=$(n,void 0,t))}a||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.expectedTypeNotString(),e),a={node:e,type:Ys.create()}),u=!1}break;case 40:a=e.isImaginary?{node:e,type:Cn(e,"complex")}:e.isInteger?{node:e,type:kt(e,"int",e.value)}:{node:e,type:Cn(e,"float")};break;case 18:a=0!=(1&i)?{type:io.create(!0),node:e}:0!=(256&i)?{type:Ys.create(),node:e}:{type:Cn(e,"ellipsis")||io.create(),node:e};break;case 55:a=function(e,t){const n=$(e.expression);let i=Ie(n.type);const r=n.isIncomplete;if(ao(i))return{node:e,type:no.createNever(),isIncomplete:r};const s={0:"__pos__",33:"__neg__",5:"__invert__"};let o;if(38!==e.operator&&Go(i)&&(_e(qt(e).diagnosticRuleSet.reportOptionalOperand,$o.reportOptionalOperand,ml.Diagnostic.noneOperator().format({operator:Cr(e.operator)}),e.expression),i=Fo(i)),!n.isIncomplete){const t=aa(i);"int"===t?0===e.operator?o=i:33===e.operator&&(o=Ko(i,(e=>{const t=e;return Zs.cloneWithLiteral(t,-t.literalValue)}))):"bool"===t&&38===e.operator&&(o=Ko(i,(e=>{const t=e;return Zs.cloneWithLiteral(t,!t.literalValue)})))}if(!o)if(38===e.operator)o=Cn(e,"bool"),o||(o=Ys.create());else if(o=ho(i)?i:gt(i,[],s[e.operator],e,t),!o){_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,t?ml.Diagnostic.typeNotSupportUnaryOperatorBidirectional().format({operator:Cr(e.operator),type:ai(i),expectedType:ai(t)}):ml.Diagnostic.typeNotSupportUnaryOperator().format({operator:Cr(e.operator),type:ai(i)}),e),o=Ys.create()}return{type:o,node:e,isIncomplete:r}}(e,o);break;case 7:a=ut(e,o,i);break;case 5:a=ht(e,o),xe(e.destExpression,a.type,!!a.isIncomplete,e.rightExpression);break;case 31:case 45:a=function(e,t){let n=t;if(t&&fo(t)){let i;Jo(t,(t=>{if(!i){const n=kn(e,(()=>bt(e,t)));n&&Jn(t,n.type)&&(i=t)}})),n=i}if(n){const t=bt(e,n);if(t)return t}return function(e,t){const n=31===e.nodeType?"list":"set";let i=!1,r=!1,s=[];e.entries.forEach(((e,n)=>{let i;i=32===e.nodeType?wt(e):$(e,t?no.createNever():void 0),i.isIncomplete&&(r=!0),n<64&&s.push(i.type)})),s=s.map((e=>Qo(e)));let o=t?io.create():Ys.create();if(s.length>0){const i=qt(e);o="list"===n&&i.diagnosticRuleSet.strictListInference||"set"===n&&i.diagnosticRuleSet.strictSetInference||t?Oo(s,64):Yo(s,!0)?s[0]:o}else i=!0;const a=xn(e,n);return{type:_o(a)?Zs.cloneAsInstance(Zs.cloneForSpecialization(a,[o],!0,void 0,void 0,i)):Ys.create(),node:e,isIncomplete:r}}(e,void 0!==t)}(e,o);break;case 46:a=function(e){return e.startValue&&$(e.startValue),e.endValue&&$(e.endValue),e.stepValue&&$(e.stepValue),{type:Cn(e,"slice"),node:e}}(e);break;case 6:{const t=n?nn(e,n,!1):void 0,r=$(e.expression,t,i);a={type:oe(r.type,e.expression),node:e},r.isIncomplete&&(a.isIncomplete=!0);break}case 51:a=function(e,t,n){$(e.testExpression);const i=[];let r=!1;if(pe(e.ifExpression)){const s=$(e.ifExpression,n,t);i.push(s.type),s.isIncomplete&&(r=!0)}if(pe(e.elseExpression)){const s=$(e.elseExpression,n,t);i.push(s.type),s.isIncomplete&&(r=!0)}return{type:Oo(i),node:e,isIncomplete:r}}(e,i,o);break;case 32:a=function(e,t){let n=!1;const i=wt(e);i.isIncomplete&&(n=!0);const r=i.type;let s=e.forIfNodes.some((e=>33===e.nodeType&&e.isAsync||34===e.nodeType&&6===e.testExpression.nodeType)),o=Ys.create();6===e.expression.nodeType&&(s=!0),!s&&t&&vo(t)&&Zs.isBuiltIn(t,"AsyncGenerator")&&(s=!0);const a=ce(e,s?"AsyncGenerator":"Generator");return a&&_o(a)&&(o=Zs.cloneAsInstance(Zs.cloneForSpecialization(a,s?[r,to.createInstance()]:[r,to.createInstance(),to.createInstance()],!0))),{type:o,node:e,isIncomplete:n}}(e,o);break;case 15:a=function(e,t){let n,i=t;if(t&&fo(t)){let n;Jo(t,(t=>{if(!n){const i=kn(e,(()=>_t(e,t)));i&&Jn(t,i.type)&&(n=t)}})),i=n}if(i){n=new il;const t=_t(e,i,n);if(t)return t}return{...vt(e,!!t),expectedTypeDiagAddendum:n}}(e,o);break;case 30:a=function(e,t){const n=Xs.createInstance("","","",0);n.details.typeVarScopeId=Pe(e),N(e,n,0,!1);let i=[];if(t){Ko(t,(e=>{if(Eo(e)&&i.push(e),vo(e)){const t=_a(e,"__call__");if(t){const n=Bn(t);if(n&&Eo(n)){const t=ri(e,n);t&&i.push(t)}}}}));const n=e.parameters.filter((e=>0===e.category&&void 0===e.defaultValue)).length,r=e.parameters.filter((e=>0===e.category)).length;i=i.filter((e=>{const t=e.details.parameters.filter((e=>!!e.name&&!e.hasDefault)).length;return e.details.parameters.some((e=>!!e.name&&0!==e.category))||t>=n&&t<=r}))}const r=i.length>0?i[0]:void 0;e.parameters.forEach(((t,i)=>{let s=Ys.create();r&&i{n.inferredReturnType=$(e.expression,s).type}),!1):n.inferredReturnType=$(e.expression,s).type,{type:n,node:e}}(e,o);break;case 3:a=$(e.rightExpression),xe(e.leftExpression,a.type,!1,e.rightExpression,!0,!0);break;case 4:a=$(e.rightExpression),xe(e.name,a.type,!1,e.rightExpression,!0);break;case 60:a=function(e){let t,n,i=!1;const r=kr(e);if(r){const e=Gt(r);if(e){const i=Xs.getSpecializedReturnType(e.functionType);if(i){const e=za(i);e&&(e.length>=1&&(t=e[0]),e.length>=2&&(n=e[1]))}}}return e.expression&&$(e.expression,t).isIncomplete&&(i=!0),{type:n||Ys.create(),node:e,isIncomplete:i}}(e);break;case 61:a=function(e){const t=$(e.expression).type;let n,i=za(t);return i?n=i.length>=2?i[2]:Ys.create():vo(t)&&Zs.isBuiltIn(t,"Coroutine")?n=Ys.create():(i=za(le(t,!1,e)||Ys.create()),i&&(n=i.length>=2?i[2]:Ys.create())),{type:n||Ys.create(),node:e}}(e);break;case 56:{let t;if(o){const n=xn(e,"Iterable");n&&_o(n)&&(t=Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[o],!0)))}const n=$(e.expression,t,i),r=n.type;a=0==(128&i)&&Io(r)&&!r.isVariadicUnpacked?{type:oo.cloneForUnpacked(r),node:e}:0!=(2097152&i)&&_o(r)&&Zs.isBuiltIn(r,"tuple")?{type:Zs.cloneForUnpacked(r),node:e}:{type:ae(r,!1,e)||Ys.create(),unpackedType:r,node:e,isIncomplete:n.isIncomplete};break}case 54:a=$(e.typeAnnotation,void 0,34024);break;case 0:En(e,(()=>{e.child&&$(e.child)})),a={type:Ys.create(),node:e}}return a||E(`Unhandled expression type '${xr(e)}'`),!u||a.isIncomplete||(128&i&&bo(a.type)&&a.type.details.isVariadic&&!a.type.isVariadicInUnion&&(fe(ml.Diagnostic.typeVarTupleContext(),e),a.type=Ys.create()),Ks.isInstantiable(a.type))||vo(a.type)&&Zs.isTupleClass(a.type)&&0===(null===(r=a.type.tupleTypeArguments)||void 0===r?void 0:r.length)||(ve(a.type,e),a.type=Ys.create()),65536&i&&ea(a.type)&&(a.type.details.illegalRecursionDetected=!0),ea(a.type)||(N(e,a.type,i,!!a.isIncomplete,n,!0),!n||ho(n)||ao(n)||l.set(e.id,n)),a}function H(e){return void 0!==e.futureImports.get("annotations")||e.executionEnvironment.pythonVersion>=De.V3_11||e.isStubFile}function G(e,t){return K(e,{associateTypeVarsWithScope:!0,allowTypeVarTuple:1===t,disallowRecursiveTypeAlias:!0,allowUnpackedTypedDict:2===t,allowUnpackedTuple:1===t})}function K(e,t){var n,i,r;const s=qt(e);if(s.isTypingStubFile||s.isTypingExtensionsStubFile){const t=function(e){if(!e.parent||54!==e.parent.nodeType)return;if(38!==e.parent.valueExpression.nodeType)return;const t=e.parent.valueExpression.value,n=new Map([["Tuple",{alias:"tuple",module:"builtins"}],["Generic",{alias:"",module:"builtins"}],["Protocol",{alias:"",module:"builtins"}],["Callable",{alias:"",module:"builtins"}],["Type",{alias:"type",module:"builtins"}],["ClassVar",{alias:"",module:"builtins"}],["Final",{alias:"",module:"builtins"}],["Literal",{alias:"",module:"builtins"}],["TypedDict",{alias:"_TypedDict",module:"self"}],["Union",{alias:"",module:"builtins"}],["Optional",{alias:"",module:"builtins"}],["Annotated",{alias:"",module:"builtins"}],["TypeAlias",{alias:"",module:"builtins"}],["Concatenate",{alias:"",module:"builtins"}],["TypeGuard",{alias:"",module:"builtins"}],["StrictTypeGuard",{alias:"",module:"builtins"}],["Unpack",{alias:"",module:"builtins"}],["Required",{alias:"",module:"builtins"}],["NotRequired",{alias:"",module:"builtins"}],["Self",{alias:"",module:"builtins"}],["NoReturn",{alias:"",module:"builtins"}],["Never",{alias:"",module:"builtins"}],["LiteralString",{alias:"",module:"builtins"}]]).get(t);if(n){const i=F(e,0);if(i)return w(_o(i)),i;const r=Bt(e,t,n);return N(e,r,0,!1),r}}(e);if(t)return t}let o=1097;(null==t?void 0:t.isVariableAnnotation)&&(o|=32768),(null==t?void 0:t.allowFinal)||(o|=16),(null==t?void 0:t.allowClassVar)||(o|=131072),(null==t?void 0:t.allowTypeVarTuple)?o|=2097152:o|=128,(null==t?void 0:t.allowParamSpec)||(o|=32),(null==t?void 0:t.associateTypeVarsWithScope)?o|=8192:o|=4096,(null==t?void 0:t.disallowRecursiveTypeAlias)&&(o|=65536),(null==t?void 0:t.allowUnpackedTypedDict)&&(o|=8388608),(null==t?void 0:t.allowUnpackedTuple)&&(o|=2097152),(null==t?void 0:t.notParsedByInterpreter)&&(o|=524288),H(s)&&(o|=4),3===(null===(n=null==e?void 0:e.parent)||void 0===n?void 0:n.nodeType)&&e.parent.typeAnnotationComment===e?o|=524292:62===(null===(i=null==e?void 0:e.parent)||void 0===i?void 0:i.nodeType)?(e.parent.returnTypeAnnotation===e||e.parent.paramTypeAnnotations.some((t=>t===e)))&&(o|=524292):41===(null===(r=null==e?void 0:e.parent)||void 0===r?void 0:r.nodeType)&&e.parent.typeAnnotationComment===e&&(o|=524292);const a=$(e,void 0,o).type;return To(a)&&_e(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleAsType(),e),Fa(a)}function J(e,t){let n=qt(e).isStubFile?4:0;9!==e.expression.nodeType&&(n|=2);const i=$(e.expression,void 0,n);if(_o(i.type)&&Zs.isBuiltIn(i.type,"classmethod")&&ua(t))return t;const r=[{argumentCategory:0,type:t}],s=et(e.expression,r,i.type,void 0,!0).returnType||Ys.create();return!Eo(s)||s.details.declaredReturnType||s.details.parameters.some(((e,t)=>!(e.name&&!e.hasDeclaredType&&(0!==e.category||0===t&&e.isTypeInferred))))?La(s)&&Eo(i.type)&&!i.type.details.parameters.find((e=>void 0!==e.typeAnnotation))&&void 0===i.type.details.declaredReturnType?t:s:t}function Y(e,t=0){if(t>Gs)return!0;switch(t++,e.category){case 0:case 1:case 2:case 4:case 3:return!0;case 9:return void 0!==Mo(e,(e=>Y(e,t)));case 5:case 6:case 8:case 10:return!1;case 7:{if(Ks.isInstantiable(e))return!1;if(pa(e)&&e.tupleTypeArguments)return da(e)||0===e.tupleTypeArguments.length;if(Zs.isBuiltIn(e,"bool")&&void 0!==e.literalValue)return!1===e.literalValue;if(Zs.isProtocolClass(e))return!0;if(_a(e,"__len__"))return!0;const t=_a(e,"__bool__");if(t){const e=Bn(t);if(Eo(e)&&e.details.declaredReturnType){const t=e.details.declaredReturnType;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&!0===t.literalValue)return!1}return!0}return!1}}}function Q(e,t=0){if(t>Gs)return!0;switch(t++,e.category){case 1:case 5:case 6:case 8:case 10:case 4:case 2:return!0;case 9:return void 0!==Mo(e,(e=>Q(e,t)));case 0:case 3:return!1;case 7:{if(Ks.isInstantiable(e))return!0;if(pa(e)&&e.tupleTypeArguments&&0===e.tupleTypeArguments.length)return!1;if(!1===e.literalValue||0===e.literalValue||e.literalValue===BigInt(0)||""===e.literalValue)return!1;if(Zs.isProtocolClass(e))return!0;const t=_a(e,"__bool__");if(t){const e=Bn(t);if(Eo(e)&&e.details.declaredReturnType){const t=e.details.declaredReturnType;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&!1===t.literalValue)return!1}}return!0}}}function Z(e){return Ko(e,(e=>{if(vo(e)){if(void 0!==e.literalValue)return e.literalValue?void 0:e;if(Zs.isBuiltIn(e,"bool"))return Zs.cloneWithLiteral(e,!1)}if(Y(e))return e}))}function X(e){return Ko(e,(e=>{if(vo(e)){if(void 0!==e.literalValue)return e.literalValue?e:void 0;if(Zs.isBuiltIn(e,"bool"))return Zs.cloneWithLiteral(e,!0)}if(Q(e))return e}))}function ee(e,t,n,i={method:"get"},r,s=0,o){const a=Ne(e,Zs.cloneAsInstantiable(t),n,i,r,8|s,o);if(a)return{node:e,type:a.type,isIncomplete:!!a.isTypeIncomplete,isAsymmetricDescriptor:a.isAsymmetricDescriptor}}function te(e,t,n,i={method:"get"},r,s=0,o){let a;if(Zs.isPartiallyConstructed(t))return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classDefinitionCycle().format({name:t.details.name}),e),{node:e,type:Ys.create()};if(0==(32&s)&&(a=Ne(e,t,n,i,r,1|s,o)),a&&a.classType&&a.symbol&&yo(a.classType)&&Zs.isProtocolClass(a.classType)){const t=qo(a.symbol);t&&1===t.type&&!a.isClassVar&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.protocolMemberNotClassVar().format({memberName:n,className:a.classType.details.name}),e)}if(!a){const r=t.details.effectiveMetaclass;r&&_o(r)&&!Zs.isSameGenericClass(r,t)&&(a=Ne(e,r,n,i,void 0,s,t))}return a?{node:e,type:a.type,isIncomplete:!!a.isTypeIncomplete,isAsymmetricDescriptor:a.isAsymmetricDescriptor}:void 0}function ne(e,t,n=!1){const i=va(e,t,8);if(i){const t=Bn(i);if(Eo(t)||ko(t)){const i=ri(Zs.cloneAsInstance(e),t,void 0,void 0,void 0,n);if(i)return i}}}function ie(e,t){if(t>=e.parameters.length)return;const n=e.parameters[t];if(n.typeAnnotation)return n.typeAnnotation;if(n.typeAnnotationComment)return n.typeAnnotationComment;if(!e.functionAnnotationComment||e.functionAnnotationComment.isParamListEllipsis)return;let i=0;const r=e.functionAnnotationComment.paramTypeAnnotations;r.length=r.length?void 0:r[s]}function re(e){if(54===e.nodeType&&38===e.valueExpression.nodeType){const t=wn(e,e.valueExpression.value,!1);if(t)return void 0!==t.symbol.getDeclarations().find((e=>ss(e)))}return!1}function se(e,t){let n,i,r,s=!0;switch(e.nodeType){case 38:{const t=wn(e,e.value,!0);if(t&&(n=t.symbol,void 0===On(n)&&2===t.scope.type)){const t=Dr(e);if(t&&10===t.nodeType){const i=$t(t);if(i){const t=va(i.classType,e.value,24);t&&(n=t.symbol)}}}break}case 54:return se(e.valueExpression);case 35:{const t=Ie($(e.leftExpression,void 0,2).type);let o;vo(t)?(o=_a(t,e.memberName.value,16),i=t,r=null==o?void 0:o.classType,(null==o?void 0:o.isInstanceMember)&&(s=!1)):_o(t)&&(o=va(t,e.memberName.value,24),i=t,r=null==o?void 0:o.classType),o&&(n=o.symbol);break}case 24:{const n=se(e.baseExpression);if(n&&vo(n)){const i=va(n,"__setitem__");if(i){const t=Bn(i);if(Eo(t)){const r=ri(n,t,_o(i.classType)?i.classType:void 0,e,void 0,!1);if(r&&Eo(r)&&2===r.details.parameters.length){const e=Xs.getEffectiveParameterType(r,1);if(!ho(e))return e}}}else if(Zs.isTypedDictClass(n)){const i=vl(li,e,n,t||{method:"get"});if(i)return i.type}}break}}if(n){let t=On(n);if(t){if(ua(t)){const e=va(t,"fset"),n=e?Bn(e):void 0;if(!n||!Eo(n)||n.details.parameters.length<2)return;t=n.details.parameters[1].type}return i&&(r&&_o(r)&&(t=ha(t,r)),(Eo(t)||ko(t))&&s&&(t=ri(i,t,void 0,e))),t}}}function oe(e,t){return Ko(e,(e=>{if(ho(e))return e;if(vo(e)){const n=Ee(e,"__await__",t);if(n){if(ho(n))return n;if(vo(n)&&Ee(n,"__iter__",t)){const e=function(e){if(ho(e))return e;if(vo(e)&&Zs.isBuiltIn(e,"Generator")){const t=e.typeArguments;if(t&&t.length>=3)return t[2]}}(n);if(e)return e}}}return t&&_e(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotAwaitable().format({type:ai(e)}),t),Ys.create()}))}function ae(e,t,n){const i=t?"__aiter__":"__iter__",r=t?"__anext__":"__next__";let s=!0;Go(e=Ie(e))&&(n&&_e(qt(n).diagnosticRuleSet.reportOptionalIterable,$o.reportOptionalIterable,ml.Diagnostic.noneNotIterable(),n),e=Fo(e));const o=Ko(e,(e=>{if(ho(e=Ie(e)))return e;const o=new il;if(yo(e)){let s;if(Ks.isInstance(e)){if(pa(e)&&e.tupleTypeArguments&&0===e.tupleTypeArguments.length)return no.createNever();s=Ee(e,i,n)}else Ks.isInstantiable(e)&&e.details.effectiveMetaclass&&_o(e.details.effectiveMetaclass)&&(s=Ee(Zs.cloneAsInstance(e.details.effectiveMetaclass),i,n,e));if(s){const e=new il,a=Se(s,void 0,(s=>{if(ho(s))return s;if(vo(s)){const i=Ee(s,r,n);if(i)return t?oe(i,n):i;e.addMessage(ml.Diagnostic.methodNotDefinedOnType().format({name:r,type:ai(s)}))}else e.addMessage(ml.Diagnostic.methodReturnsNonObject().format({name:i}))}));if(e.isEmpty())return a;o.addAddendum(e)}else{if(vo(e)){const t=Ee(e,"__getitem__",n);if(t)return t}o.addMessage(ml.Diagnostic.methodNotDefined().format({name:i}))}}n&&_e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotIterable().format({type:ai(e)})+al(o),n),s=!1}));return s?o:void 0}function le(e,t,n){const i=t?"__aiter__":"__iter__";let r=!0;Go(e=Ie(e))&&(n&&_e(qt(n).diagnosticRuleSet.reportOptionalIterable,$o.reportOptionalIterable,ml.Diagnostic.noneNotIterable(),n),e=Fo(e));const s=Ko(e,(e=>{if(ho(e))return e;if(yo(e)){let t;if(Ks.isInstance(e)?t=Ee(e,i,n):Ks.isInstantiable(e)&&e.details.effectiveMetaclass&&_o(e.details.effectiveMetaclass)&&(t=Ee(Zs.cloneAsInstance(e.details.effectiveMetaclass),i,n,e)),t)return Ie(t)}n&&_e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotIterable().format({type:ai(e)}),n),r=!1}));return r?s:void 0}function ce(e,t){return ue(e,t,["typing"])}function ue(t,n,i){const r=qt(t),s=e({nameParts:i,importingFilePath:r.filePath});if(!s)return;const o=s.symbolTable.get(n);return o?Nn(o):void 0}function pe(e,t){const n=Lt(e);if(!n)return!!e.parent&&pe(e.parent,t);const i=t?Lt(t):void 0;return!!ci.isFlowNodeReachable(n,i)}function de(e){const t=function(e){return e.afterFlowNode}(e);return!!t&&!!ci.isFlowNodeReachable(t)&&!!function(e,t){return void 0!==vn(yn(e.id),t,void 0,void 0,Js.create(),!1).type}(e,t)}function he(e,t,n=!0){const i=Lt(e),r=Lt(t);return!(!i||!r)&&(i===r?n:ci.isFlowNodeReachable(r,i))}function me(e,t,n){return ge("information",e,t,n)}function fe(e,t,n){return ge("error",e,t,n)}function ge(e,t,n,i){if(!ye(n))return qt(n).diagnosticSink.addDiagnosticWithTextRange(e,t,i||n)}function ye(e){return p.some((t=>Mr(e,t)))||c.isSpeculative(e)||d.isUndoTrackingEnabled()}function _e(e,t,n,i){if("none"===e)return;const r=ge(e,n,i);return r&&r.setRule(t),r}function ve(e,t){const n=qt(t),i=new il;fo(e)&&Jo(e,(e=>{Ks.isInstantiable(e)||i.addMessage(ml.DiagnosticAddendum.typeNotClass().format({type:ai(e)}))})),_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeExpectedClass().format({type:ai(e)})+i.getString(),t)}function Te(e,t,n,i,r=!1,s){const o=e.value,a=wn(e,o,!1);if(!a)return;const l=a.symbol.getDeclarations();let c=On(a.symbol);const u=qt(e);if(void 0===c&&2===a.scope.type){const t=Er(e);if(t){const n=$t(t);if(n){const t=va(n.classType,e.value,1);(null==t?void 0:t.isTypeDeclared)&&(c=Bn(t))}}}let p=t;if(c&&i){let n=new il;Jn(c,t,n)?p=ni(c,t):(s&&(n=s),_e(u.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(c)})+n.getString(),i||e),p=c)}else{const t=zs(e);2===(null==t?void 0:t.type)&&(!Ks.isInstance(p)||Zt(o)||Wo(a.symbol)||(p=Qo(p)))}const d=l.find((e=>1===e.type));d&&1===d.type&&i&&(d.isConstant?e!==l[0].node&&_e(u.diagnosticRuleSet.reportConstantRedefinition,$o.reportConstantRedefinition,ml.Diagnostic.constantRedefinition().format({name:o}),e):d.isFinal&&!r&&_e(u.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.finalReassigned().format({name:o}),e)),N(e,p,0,n,void 0,!1)}function be(e,t,n,i,r){const s=e.memberName.value,o=qt(e),a=Er(e);if(!a)return;const l=$t(a);if(l&&_o(l.classType)){let a=va(l.classType,s,i?0:8);const c=l.classType.details.fields;if(a){const n=_o(a.classType)?a.classType:void 0,u=n&&Zs.isSameGenericClass(l.classType,n);if(u&&i&&(null==n?void 0:n.details.inheritedSlotsNames)&&(null==n?void 0:n.details.localSlotsNames)&&n.details.localSlotsNames.length>0&&!n.details.inheritedSlotsNames.some((e=>e===s))){const t=On(a.symbol);t&&ua(t)||_e(o.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.slotsAttributeError().format({name:s}),e.memberName)}if(u&&a.isInstanceMember===i){const t=c.get(s);w(void 0!==t);const n=t.getDeclarations();n.length>0&&1===n[0].type&&r&&e.memberName!==n[0].node&&n[0].isConstant&&_e(o.diagnosticRuleSet.reportConstantRedefinition,$o.reportConstantRedefinition,ml.Diagnostic.constantRedefinition().format({name:e.memberName.value}),e.memberName)}else{const n=On(a.symbol);n&&!ua(n)&&!a.isInstanceMember&&i&&(we(o,a.symbol,e.memberName),t=Oo([t,Bn(a)]))}}a=va(l.classType,s,16),a||!r||n||xt(o.diagnosticRuleSet.reportUnknownMemberType,$o.reportUnknownMemberType,e.memberName,t,e,!0)}}function Ie(e,t){return Ko(e,(e=>{if(wo(e)){if("args"===e.paramSpecAccess)return T&&_o(T)&&y&&vo(y)?Zs.cloneAsInstance(qa(T,[{type:y,isUnbounded:!0}])):Ys.create();if("kwargs"===e.paramSpecAccess)return S&&_o(S)&&I&&_o(I)&&y&&vo(y)?Zs.cloneAsInstance(Zs.cloneForSpecialization(S,[Fa(I),y],!0)):Ys.create()}if(Io(e)&&T&&_o(T))return Fa(qa(T,[],!0,!0,!0));if(bo(e)&&!e.details.recursiveTypeAliasName){if(e.details.boundType){const t=Ks.isInstantiable(e)?Na(e.details.boundType):e.details.boundType;return e.details.isSynthesized?t:Zo(t,[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}])}if(e.details.recursiveTypeAliasName)return e;if(e.details.constraints.length>0){const n=[];return e.details.constraints.forEach(((i,r)=>{if(t){const n=oo.getNameWithScope(e),i=t.find((e=>e.typeVarName===n));if(i&&i.constraintIndex!==r)return}Ks.isInstantiable(e)&&(i=Na(i)),n.push(Zo(i,[{typeVarName:oo.getNameWithScope(e),constraintIndex:r,isConstrainedTypeVar:!0}]))})),Oo(n)}if(e.details.isExemptFromBoundCheck)return io.create();if(Ks.isInstantiable(e)){if(_&&_o(_))return e.details.isSynthesized?_:Zo(Zs.cloneAsInstance(_),[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}])}else if(y)return e.details.isSynthesized?y:Zo(y,[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}]);return io.create()}return e}))}function Se(e,t,n){const i=[];let r=!1;const s=e=>{let s=fo(e)?e:Ie(e);s=ta(s),Jo(s,(s=>{var o;if(t&&!ro.isCompatible(Xo(s),t))return;let a=n(s,e);if(a!==e&&(r=!0),a){const e=null===(o=Xo(s))||void 0===o?void 0:o.filter((e=>e.isConstrainedTypeVar));e&&e.length>0&&(a=Zo(a,e)),i.push(a)}}))};if(fo(e)?e.subtypes.forEach((e=>{s(e)})):s(e),!r)return e;const o=Oo(i);return 9===o.category&&so.addTypeAliasSource(o,e),o}function xe(e,t,n,i,r=!1,s=!1,o){if(bo(t)&&i&&9===i.nodeType){const n=$(i.leftExpression,void 0,2).type;_o(n)&&(Zs.isBuiltIn(n,"TypeVar")||Zs.isBuiltIn(n,"TypeVarTuple")||Zs.isBuiltIn(n,"ParamSpec"))&&(38===e.nodeType&&e.value===t.details.name||fe(t.details.isParamSpec?ml.Diagnostic.paramSpecAssignedName().format({name:oo.getReadableName(t)}):ml.Diagnostic.typeVarAssignedName().format({name:oo.getReadableName(t)}),e))}switch(t=Ro(t),e.nodeType){case 38:n||xt(qt(e).diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,e,t,e,r),Te(e,t,n,i,s,o);break;case 35:!function(e,t,n,i,r){const s=$(e.leftExpression,void 0,2),o=Ie(s.type);if(38===e.leftExpression.nodeType){const r=Er(e);if(r){const s=$t(r);if(s&&_o(s.classType)&&(vo(o)?Zs.isSameGenericClass(o,s.classType)&&be(e,t,n,!0,i):_o(o)&&Zs.isSameGenericClass(o,s.classType)&&be(e,t,n,!1,i),Zs.isProtocolClass(s.classType))){const t=s.classType.details.fields.get(e.memberName.value);t&&0===t.getDeclarations().filter((e=>!kr(e.node))).length&&fe(ml.Diagnostic.assignmentInProtocol(),e.memberName)}}}var l;Fe(e,s,{method:"set",setType:t,setErrorNode:i,setExpectedTypeDiag:r},0).isAsymmetricDescriptor&&(l=e,c.isSpeculative(void 0)||a.add(l.id)),N(e.memberName,t,0,n,void 0,!1),N(e,t,0,n,void 0,!1)}(e,t,n,i,o);break;case 24:{const r=$(e.baseExpression,void 0,2);Le(e,r.type,{method:"set",setType:t,setErrorNode:i,setExpectedTypeDiag:o},0),N(e,t,0,n);break}case 31:case 52:!function(e,t,n,i){const r=31===e.nodeType?e.entries:e.expressions,s=new Array(r.length);for(let e=0;e56===e.nodeType)),a=r.findIndex((e=>56===e.nodeType));t=Ie(t);const l=new il;if(Jo(t,(t=>{const n=ia(t);if(n&&n.tupleTypeArguments){const i=n.tupleTypeArguments.map((e=>Zo(e.type,Xo(t)))),c=n.tupleTypeArguments.findIndex((e=>e.isUnbounded));if(c>=0)if(i.length>s.length)i.splice(c,1);else if(i.length0?i[c]:io.create();for(;i.length=0)if(i.length>s.length){let t=Oo(i.splice(o,i.length-s.length+1));31===e.nodeType&&(t=Qo(t)),i.splice(o,0,t)}else i.length===s.length-1&&i.splice(o,0,no.createNever());if(i.forEach(((e,t)=>{t=0?r.length-1:r.length,s=l.createAddendum();s.addMessage((31===e.nodeType?ml.DiagnosticAddendum.listAssignmentMismatch():ml.DiagnosticAddendum.tupleAssignmentMismatch()).format({type:ai(t)})),s.createAddendum().addMessage(ml.DiagnosticAddendum.tupleSizeMismatch().format({expected:n,received:i.length}))}}else{const e=ae(t,!1,i)||Ys.create();for(let n=0;n{const r=s[t];xe(e,0===r.length?Ys.create():Oo(r),n,i,!0)})),N(e,t,0,n)}(e,t,n,i);break;case 54:{const n=K(e.typeAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(e.valueExpression),allowClassVar:Nr(e.valueExpression)});vo(n)&&(Zs.isBuiltIn(n,"Final")||Zs.isBuiltIn(n,"ClassVar"))||vo(n)&&Zs.isBuiltIn(n,"TypeAlias")||Jn(n,t)&&(vo(t)&&Zs.isEnumClass(t)||(t=ni(n,t))),xe(e.valueExpression,t,!1,i,r,s,o);break}case 56:38===e.expression.nodeType&&Te(e.expression,Cn(e.expression,"list",[t]),!1,i);break;case 0:e.child&&En(e.child,(()=>{$(e.child)}));break;default:fe(ml.Diagnostic.assignmentTargetExpr(),e)}}function Ce(e){switch(e.nodeType){case 38:$(e);break;case 35:{const t=$(e.leftExpression),n=Fe(e,t,{method:"del"},0);N(e.memberName,n.type,0,!1),N(e,n.type,0,!1);break}case 24:{const t=$(e.baseExpression,void 0,2);Le(e,t.type,{method:"del"},0),N(e,Js.create(),0,!1);break}case 52:e.expressions.forEach((e=>{Ce(e)}));break;case 0:e.child&&En(e.child,(()=>{$(e.child,void 0)}));break;default:_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.delTargetExpr(),e)}}function we(e,t,n){c.isSpeculative(n)||d.isUndoTrackingEnabled()||e.accessedSymbolMap.set(t.id,!0)}function Ee(e,t,n,i){const r=_a(e,t,8);if(!r)return;const s=Bn(r);if(ho(s))return s;if(Eo(s)){const t=ri(i||e,s,r&&_o(r.classType)?r.classType:void 0,n,void 0,!1,i);if(t)return Un(t)}}function ke(e,t,n){var i;if(Ks.isInstantiable(t)&&!ea(t)){const r=function(e,t){var n;let i=e,r=0;for(w(Ks.isInstantiable(t));i&&(i=Pr(i,35===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)),i);){let e;if(10===i.nodeType){const t=$t(i);t&&(e=t.classType.details.typeParameters),r++}else if(28===i.nodeType){const t=Gt(i);t&&(e=[],t.functionType.details.parameters.forEach((t=>{t.hasDeclaredType&&Ia(e,Sa(t.type))})),t.functionType.details.declaredReturnType&&Ia(e,Sa(t.functionType.details.declaredReturnType)))}else if(36===i.nodeType)break;if(e){const n=e.find((e=>e.details.name===t.details.name));if(n&&n.scopeId)return{type:r>1?t:Na(n),foundInterveningClass:r>1}}i=i.parent}for(i=e;i;){if(3===i.nodeType){const e=F(i.leftExpression,0);if(e&&bo(e)&&e.details.recursiveTypeAliasScopeId&&e.details.recursiveTypeAliasName)return{type:oo.cloneForScopeId(t,e.details.recursiveTypeAliasScopeId,e.details.recursiveTypeAliasName,2),foundInterveningClass:!1}}i=i.parent}return{type:t,foundInterveningClass:!1}}(e,t);if(t=r.type,0!=(2048&n)&&void 0!==t.scopeId)t.details.isSynthesized||t.details.isParamSpec||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarUsedByOuterScope().format({name:t.details.name}),e);else if(0!=(8192&n)){if(void 0===t.scopeId)if(r.foundInterveningClass)_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarUsedByOuterScope().format({name:t.details.name}),e);else{let n=Dr(e);if(n&&35===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&e.parent.leftExpression===e){const i=e.parent.memberName.value;if("args"===i||"kwargs"===i){const i=Dr(n);28===(null==i?void 0:i.nodeType)?n=i:r.type.scopeId||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecNotUsedByOuterScope().format({name:t.details.name}),e)}}n?t=oo.cloneForScopeId(t,Pe(n),n.name.value,28===n.nodeType?1:0):E("AssociateTypeVarsWithCurrentScope flag was set but enclosing scope not found")}}else if(0!=(4096&n)&&(void 0===t.scopeId||r.foundInterveningClass)&&!t.details.isSynthesized){const n=wo(t)?ml.Diagnostic.paramSpecNotUsedByOuterScope():ml.Diagnostic.typeVarNotUsedByOuterScope();_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,n.format({name:t.details.name}),e)}}return t.isVariadicUnpacked&&(t=oo.cloneForPacked(t)),t}function Ae(e,t,n){return 0==(2&n)&&(_o(t)&&(0!=(64&n)&&((i=t).details.typeParameters.length>0?!i.details.typeParameters[0].details.isSynthesized:!(!Zs.isSpecialBuiltIn(i)||!["Tuple","Callable","Generic","Type","Optional","Union","Literal","Annotated","TypeGuard","StrictTypeGuard"].some((e=>e===(i.aliasName||i.details.name)))))&&!t.typeArguments&&_e(qt(e).diagnosticRuleSet.reportMissingTypeArgument,$o.reportMissingTypeArgument,ml.Diagnostic.typeArgsMissingForClass().format({name:t.aliasName||t.details.name}),e),t.typeArguments||(t=Tn(t,void 0,n,e))),0!=(64&n)&&t.typeAliasInfo&&t.typeAliasInfo.typeParameters&&t.typeAliasInfo.typeParameters.length>0&&!t.typeAliasInfo.typeArguments&&(_e(qt(e).diagnosticRuleSet.reportMissingTypeArgument,$o.reportMissingTypeArgument,ml.Diagnostic.typeArgsMissingForAlias().format({name:t.typeAliasInfo.name}),e),t=Ks.cloneForTypeAlias(t,t.typeAliasInfo.name,t.typeAliasInfo.fullName,t.typeAliasInfo.typeVarScopeId,t.typeAliasInfo.typeParameters,t.typeAliasInfo.typeParameters.map((e=>Ys.create()))))),t;var i}function Pe(e){let t="";return(10===e.nodeType||28===e.nodeType)&&(t=e.name.value),`${qt(e).filePath}.${e.start.toString()}-${t}`}function Re(e){const t=[];let n=e;for(;n&&(n=Pr(n),n);)t.push(Pe(n)),n=n.parent;return t}function Fe(e,n,i,r){var s;let o=n.type;const a=e.memberName.value;let l=new il;const c=qt(e);let u,p,d=!!n.isIncomplete;if(n.isIncomplete&&mo(n.type))return{type:Ys.create(),node:e,isIncomplete:!0};fo(o)&&Ks.isSpecialForm(o)&&y&&(o=y);const h=()=>{if(f&&_o(f))return ee(e.memberName,f,a,i,l,void 0,n.bindToType)};switch(wo(o)&&o.paramSpecAccess&&(o=Ie(o)),o.category){case 2:case 1:u=o;break;case 4:u=Ys.create();break;case 10:if(o.details.isParamSpec){if("args"===a){const t=jr(e);return t&&1===t.category?{type:oo.cloneForParamSpecAccess(o,"args"),node:e,isIncomplete:d}:(fe(ml.Diagnostic.paramSpecArgsUsage(),e),{type:Ys.create(),node:e,isIncomplete:d})}if("kwargs"===a){const t=jr(e);return t&&2===t.category?{type:oo.cloneForParamSpecAccess(o,"kwargs"),node:e,isIncomplete:d}:(fe(ml.Diagnostic.paramSpecKwargsUsage(),e),{type:Ys.create(),node:e,isIncomplete:d})}return d||_e(c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecUnknownMember().format({name:a}),e),{type:Ys.create(),node:e,isIncomplete:d}}return 64&r?(d||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarNoMember().format({type:ai(o),name:a}),e.leftExpression),{type:Ys.create(),node:e,isIncomplete:d}):o.details.recursiveTypeAliasName?{type:Ys.create(),node:e,isIncomplete:!0}:Fe(e,{type:Ie(o),node:e,bindToType:o,isIncomplete:d},i,0);case 7:if(Ks.isInstantiable(o)){const t=te(e.memberName,o,a,i,l,0,n.bindToType);u=null==t?void 0:t.type,(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}else if(Zs.isBuiltIn(o,"type")&&y&&vo(y)&&!n.isSuperCall){const t=te(e.memberName,Zs.cloneAsInstantiable(y),a,i,l,0,n.bindToType?Fa(n.bindToType):void 0);u=null==t?void 0:t.type,(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}else{if(Zs.isBuiltIn(o,"LiteralString")&&I&&_o(I)&&(o=Zs.cloneAsInstance(I)),Zs.isEnumClass(o)){const t=o.literalValue;if(t instanceof Hs)if("name"===a||"_name_"===a){const n=xn(e,"str");if(_o(n))return{node:e,type:Zs.cloneAsInstance(Zs.cloneWithLiteral(n,t.itemName)),isIncomplete:d}}else if("value"===a||"_value_"===a)return{node:e,type:t.itemType,isIncomplete:d}}const t=ee(e.memberName,o,a,i,l,void 0,n.bindToType);t&&(u=Zo(t.type,Xo(o))),(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}break;case 8:{const n=Qs.getField(o,a);if(n&&!n.isExternallyHidden())"get"===i.method&&we(qt(e),n,e.memberName),u=Mn(n,void 0,!0).type,bo(u)&&(u=ke(e,u,r)),mo(u)&&(u=Ys.create()),n.isPrivateMember()&&_e(qt(e).diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfModule().format({name:a}),e.memberName),n.isPrivatePyTypedImport()&&_e(qt(e).diagnosticRuleSet.reportPrivateImportUsage,$o.reportPrivateImportUsage,ml.Diagnostic.privateImportFromPyTypedModule().format({name:a,module:o.moduleName}),e.memberName);else{if("get"===i.method){const e=Qs.getField(o,"__getattr__");if(e&&(c.executionEnvironment.pythonVersion>=De.V3_7||e.getDeclarations().some((e=>e.path.toLowerCase().endsWith(".pyi"))))){const t=Mn(e);Eo(t.type)&&(u=Un(t.type),t.isIncomplete&&(d=!0))}}u||(d||_e(c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleUnknownMember().format({name:a,module:o.moduleName}),e.memberName),u=t.evaluateUnknownImportsAsAny?io.create():Ys.create())}break}case 9:u=Ko(o,(t=>{if(lo(t)){const t=h();return t?(u=Zo(t.type,Xo(o)),t.isIncomplete&&(d=!0),u):void(d||_e(qt(e).diagnosticRuleSet.reportOptionalMemberAccess,$o.reportOptionalMemberAccess,ml.Diagnostic.noneUnknownMember().format({name:a}),e.memberName))}if(!mo(t)){const r=Fe(e,{type:t,node:e,isIncomplete:n.isIncomplete},i,0);return r.isIncomplete&&(d=!0),r.type}}));break;case 5:case 6:if("__defaults__"===a)u=io.create();else if("__self__"===a){const e=Eo(o)?o:o.overloads[0];void 0!==e.preBoundFlags&&0==(4&e.preBoundFlags)&&(u=e.boundToType)}else u=v?Fe(e,{type:v,node:e},i,r).type:io.create();break;case 3:{const e=h();e&&(u=Zo(e.type,Xo(o)),e.isIncomplete&&(d=!0));break}default:l.addMessage(ml.DiagnosticAddendum.typeUnsupported().format({type:ai(o)}))}if(!u){const t=Eo(o)||ko(o)||vo(o)&&Zs.isBuiltIn(o,"function");if(!n.isIncomplete){let n=ml.Diagnostic.memberAccess();"set"===i.method?n=ml.Diagnostic.memberSet():"del"===i.method&&(n=ml.Diagnostic.memberDelete()),i.setExpectedTypeDiag&&(l=i.setExpectedTypeDiag);const[r,s]=t?[c.diagnosticRuleSet.reportFunctionMemberAccess,$o.reportFunctionMemberAccess]:[c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues];_e(r,s,n.format({name:a,type:ai(o)})+al(l),e.memberName)}u=t?io.create():Ys.create()}if(0==(2&r)&&_o(u)&&!u.typeArguments&&(u=Tn(u,void 0,r,e)),"get"===i.method){let t=d;if(_o(u)){const n=function(e,t){let n=e;for(;n;){if(n.nodeType===t)return n;n=n.parent}}(e,1);n&&9===(null===(s=null==n?void 0:n.parent)||void 0===s?void 0:s.nodeType)&&(t=!0)}t||xt(c.diagnosticRuleSet.reportUnknownMemberType,$o.reportUnknownMemberType,e.memberName,u,e,!1)}return{type:u,node:e,isIncomplete:d,isAsymmetricDescriptor:p}}function Ne(e,t,n,i,r,s,o){var a;let l=0;1&s&&(l|=8),2&s&&(l|=2),4&s&&(l|=4),256&s&&(l|=32),128&s&&(l|=1);let c=va(t,n,16|l);if(c||(c=va(t,n,l)),c){let l,u=!1;if(c.symbol.isInitVar())return void(r&&r.addMessage(ml.DiagnosticAddendum.memberIsInitVar().format({name:n})));if("get"!==i.method){const n=Er(e);if(n){const e=null===(a=$t(n))||void 0===a?void 0:a.classType;e&&_o(e)&&Zs.isSameGenericClass(e,t)&&(l=On(c.symbol)||Ys.create(),l&&_o(c.classType)&&(l=ha(l,c.classType)))}}if(!l){const n=function(e,t,n){if(_o(t.classType)){const i=Mn(t.symbol);if(i)return Ln(i.type),{node:e,type:ha(i.type,t.classType,n),isIncomplete:!!i.isIncomplete}}}(e,c,o?void 0:t);n?(l=n.type,n.isIncomplete&&(u=!0)):l=Ys.create()}if(Zs.isTypedDictClass(t)){const e=c.symbol.getTypedDeclarations();if(e.length>0&&1===e[0].type)return void(r&&r.addMessage(ml.DiagnosticAddendum.memberUnknown().format({name:n})))}"get"===i.method&&_o(c.classType)&&Zs.isSameGenericClass(c.classType,t)&&we(qt(e),c.symbol,e);const p=function(e,t,n,i,r,s,o,a,l,c){const u=0!=(16&s);let p=!0,d=!1;if(e=Ko(e,(e=>{const h=Ie(e);if(yo(h)){let e=h,u=!1;if(Ks.isInstantiable(h)&&(h.details.effectiveMetaclass&&_o(h.details.effectiveMetaclass)&&(r||"get"===l.method)?(e=Fa(h.details.effectiveMetaclass),u=!0):e=void 0),e){let m;m="get"===l.method?"__get__":"set"===l.method?"__set__":"__delete__";const f=va(e,m,8);if(Zs.isPropertyClass(e))if("set"===l.method){if(!f)return c&&c.addMessage(ml.DiagnosticAddendum.propertyMissingSetter().format({name:a})),void(p=!1)}else if("del"===l.method&&!f)return c&&c.addMessage(ml.DiagnosticAddendum.propertyMissingDeleter().format({name:a})),void(p=!1);if(f){let a=Bn(f);const g=[{argumentCategory:0,type:Zs.isClassProperty(e)?n:r?i||Zs.cloneAsInstance(n):to.createInstance()}];if("get"===l.method?g.push({argumentCategory:0,type:n}):"set"===l.method&&g.push({argumentCategory:0,type:l.setType||Ys.create()}),Zs.isPropertyClass(e)&&t&&_o(t.classType)&&(Ln(a),a=ha(a,t.classType),0!=(1&s)&&Zs.isProtocolClass(n)&&(c&&c.addMessage(ml.DiagnosticAddendum.propertyAccessFromProtocolClass()),p=!1)),a&&(Eo(a)||ko(a))){const n=a,i=En(o,(()=>{let i;Zs.isPropertyClass(h)&&!u?t&&_o(t.classType)&&(i=t.classType):_o(f.classType)&&(i=f.classType);const r=ri(e,n,i,o,void 0,void 0,u?h:void 0);if(r&&(Eo(r)||ko(r))){const e=new jo(na(r));i&&e.addSolveForScope(na(i));const t=et(o,g,r,e,!0);if(t.argumentErrors){if("set"===l.method)if(l.setType&&Eo(r)&&r.details.parameters.length>=2){const e=Xs.getEffectiveParameterType(r,1);null==c||c.addMessage(ml.DiagnosticAddendum.typeIncompatible().format({destType:ai(e),sourceType:ai(l.setType)}))}else ko(r)&&(null==c||c.addMessage(ml.Diagnostic.noOverload().format({name:m})));return p=!1,io.create()}return"get"===l.method?t.returnType||Ys.create():io.create()}}));if("set"===l.method&&yo(f.classType)&&function(e){var t;if(void 0!==e.isAsymmetricDescriptor)return e.isAsymmetricDescriptor;let n=!1;const i=va(e,"__get__",2),r=va(e,"__set__",2);if(i&&r){const e=Nn(i.symbol),s=Nn(r.symbol);Eo(e)&&Eo(s)&&s.details.parameters.length>=3&&e.details.declaredReturnType&&(Ao(Xs.getEffectiveParameterType(s,2),null!==(t=Xs.getSpecializedReturnType(e))&&void 0!==t?t:Ys.create())||(n=!0))}else n=!1;return e.isAsymmetricDescriptor=n,n}(f.classType)&&(d=!0),i)return i}}}}else if((Eo(h)||ko(h))&&(!r||t&&!t.isInstanceMember))return ri(r?Zs.cloneAsInstance(n):n,h,t&&_o(t.classType)?t.classType:void 0,o,void 0,u,i);if("set"===l.method){if((null==t?void 0:t.symbol.isClassVar())&&8&s)return c&&c.addMessage(ml.DiagnosticAddendum.memberSetClassVar().format({name:a})),void(p=!1);const e=null==t?void 0:t.symbol.getDeclarations().find((e=>rs(e)));if(e&&!Mr(o,e.node)){const e=kr(o);if(!e||"__init__"!==e.name.value)return c&&c.addMessage(ml.Diagnostic.finalReassigned().format({name:a})),void(p=!1)}if((null==t?void 0:t.isInstanceMember)&&yo(t.classType)&&Zs.isReadOnlyInstanceVariables(t.classType))return c&&c.addMessage(ml.DiagnosticAddendum.readOnlyAttribute().format({name:a})),void(p=!1);let n=!1;if((t&&t.symbol.hasTypedDeclarations()||t&&!t.symbol.getDeclarations().some((e=>e.node===o)))&&(n=!0),n){let e=h;return r&&!t.isInstanceMember&&Eo(h)&&(Xs.isClassMethod(h)||Xs.isInstanceMethod(h))&&(e=Xs.clone(h,!0)),e}}return e})),p)return{type:e,isAsymmetricDescriptor:d}}(l,c,t,o,0==(1&s),s,e,n,i,r);if(!p)return;if(l=p.type,"set"===i.method&&i.setType){if(!Jn(l,i.setType,null==r?void 0:r.createAddendum()))return void(r&&r.addMessage(ml.DiagnosticAddendum.memberAssignment().format({type:ai(i.setType),name:n,classType:oi(t)})));if(_o(c.classType)&&Zs.isFrozenDataClass(c.classType)&&0==(1&s))return void(r&&r.addMessage(ml.DiagnosticAddendum.dataClassFrozen().format({name:ai(Zs.cloneAsInstance(c.classType))})))}return{symbol:c.symbol,type:l,isTypeIncomplete:u,isClassMember:!c.isInstanceMember,isClassVar:c.isClassVar,classType:c.classType,isAsymmetricDescriptor:p.isAsymmetricDescriptor}}if(0==(65&s)){const r=function(e,t,n,i){var r,s,o,a;if("get"===n.method){let n=null===(r=te(t,e,"__getattribute__",{method:"get"},void 0,68))||void 0===r?void 0:r.type;if(n||(n=null===(s=te(t,e,"__getattr__",{method:"get"},void 0,68))||void 0===s?void 0:s.type),n&&ko(n)){let e=io.create();I&&_o(I)&&(e=Zs.cloneWithLiteral(Zs.cloneAsInstance(I),i)),n=Ge(t,n,[{argumentCategory:0,type:io.create()},{argumentCategory:0,type:e}])}if(n&&Eo(n))return Un(n)}else if("set"===n.method){if(null===(o=te(t,e,"__setattr__",{method:"get"},void 0,68))||void 0===o?void 0:o.type)return io.create()}else if(w("del"===n.method),null===(a=te(t,e,"__detattr__",{method:"get"},void 0,68))||void 0===a?void 0:a.type)return io.create()}(t,e,i,n);if(r)return{symbol:void 0,type:r,isTypeIncomplete:!1,isClassMember:!1,isClassVar:!1,isAsymmetricDescriptor:!1}}r&&r.addMessage(ml.DiagnosticAddendum.memberUnknown().format({name:n}))}function Me(e,t,n){const i=t.findIndex((e=>Io(e)));if(i>=0&&T&&_o(T))if(i{Et(e,{allowEmptyTuple:0===t,allowVariadicTypeVar:!0,allowUnpackedTuples:!0})}));const r=[];1===n.length&&n[0].isEmptyTupleShorthand||n.forEach((e=>{xo(e.type)&&e.type.tupleTypeArguments?r.push(...e.type.tupleTypeArguments):r.push({type:Fa(e.type),isUnbounded:!1})}));const s=Fa(qa(T,r,!0,!0,!0));e=[...e.slice(0,i),{node:e[i].node,type:s},...e.slice(i+1+e.length-t.length,e.length)]}}else e.push({node:n,type:Fa(qa(T,[],!0,!0,!0))});return e}function Oe(e,t){return!!e.isVariadicUnpacked||(fe(ml.Diagnostic.unpackedTypeVarTupleExpected().format({name1:e.details.name,name2:e.details.name}),t),!1)}function Le(e,t,n,i){const r=function(e,t,n){var i,r;if(!(null===(i=t.typeAliasInfo)||void 0===i?void 0:i.typeParameters)||0===t.typeAliasInfo.typeParameters.length&&t.typeAliasInfo.typeArguments)return;if(!Ks.isInstantiable(t))return;if(t.typeAliasInfo.typeArguments)return;const s=t.typeAliasInfo.typeParameters;let o=Me(Be(e,n),s,e);1===s.length&&s[0].details.isParamSpec&&o&&o.every((e=>!ca(e.type)&&!e.typeList&&!wo(e.type)))&&(o=[{type:Ys.create(),node:o[0].node,typeList:o}]),o.length>s.length&&!s.some((e=>e.details.isVariadic))&&fe(ml.Diagnostic.typeArgsTooMany().format({name:ai(t),expected:s.length,received:o.length}),o[s.length].node);const a=new jo(t.typeAliasInfo.typeVarScopeId),l=new il;s.forEach(((e,t)=>{if(e.details.isParamSpec&&t{Xs.addParameter(n,{category:0,name:`__p${t}`,isNameSynthesized:!0,type:Fa(e.type),hasDeclaredType:!0})})),Kn(e,n,l,a)}else if(wo(o[t].type))Kn(e,Fa(o[t].type),l,a);else if(ca(o[t].type)){const t=Xs.createInstantiable("","","",98304);Ks.setSpecialForm(t),Xs.addDefaultParameters(t),Kn(e,t,l,a)}else fe(ml.Diagnostic.typeArgListExpected(),o[t].node);else t{let t;if(wo(e)){const n=a.getParamSpec(e);t=n?Ja(n):Ys.create()}else t=a.getTypeVarType(e);c.push(t||Ys.create())})),{type:Ks.cloneForTypeAlias(fa(t,a),t.typeAliasInfo.name,t.typeAliasInfo.fullName,t.typeAliasInfo.typeVarScopeId,t.typeAliasInfo.typeParameters,c),node:e}}(e,t,i);if(r)return r;if(ea(t)){const n=Be(e,i).map((e=>Fa(e.type)));return{type:Ks.cloneForTypeAlias(t,t.details.recursiveTypeAliasName,"",t.details.recursiveTypeAliasScopeId,void 0,n),node:e}}let s=!1;const o=Se(t,void 0,((t,r)=>{var o;if(ho(t))return t;if(64&i&&bo(r))return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarNotSubscriptable().format({type:ai(r)}),e.baseExpression),Be(e,i,!1,!1),Ys.create();if(_o(t)){if(t.details.effectiveMetaclass&&_o(t.details.effectiveMetaclass)&&!Zs.isBuiltIn(t.details.effectiveMetaclass,"type")&&te(e,t,Ve(n),void 0,void 0,96))return qe(e,t,n).type;if("set"===n.method?fe(ml.Diagnostic.genericClassAssigned(),e.baseExpression):"del"===n.method&&fe(ml.Diagnostic.genericClassDeleted(),e.baseExpression),Zs.isSpecialBuiltIn(t,"Literal"))return function(e,t){if(0===e.items.length)return fe(ml.Diagnostic.literalEmptyArgs(),e.baseExpression),Ys.create();const n=[];for(const t of e.items){let i;const r=t.valueExpression;if(0!==t.argumentCategory)fe(ml.Diagnostic.unpackedArgInTypeArgument(),r),i=Ys.create();else if(t.name)fe(ml.Diagnostic.keywordArgInTypeArgument(),r),i=Ys.create();else if(48===r.nodeType){i=Nt(e,0!=(32&r.strings[0].token.flags)?"bytes":"str",r.strings.map((e=>e.value)).join(""))}else 40===r.nodeType?!r.isImaginary&&r.isInteger&&(i=Nt(e,"int",r.value)):11===r.nodeType?33===r.constType?i=Nt(e,"bool",!0):15===r.constType?i=Nt(e,"bool",!1):26===r.constType&&(i=to.createType()):55===r.nodeType&&33===r.operator&&40===r.expression.nodeType&&!r.expression.isImaginary&&r.expression.isInteger&&(i=Nt(e,"int",-r.expression.value));if(!i){const e=$(r);if(vo(e.type)&&Zs.isEnumClass(e.type)&&void 0!==e.type.literalValue)i=Zs.cloneAsInstantiable(e.type);else{let t=!0;Jo(e.type,(e=>{_o(e)&&void 0!==e.literalValue||(t=!1)})),t&&(i=e.type)}}i||(fe(ml.Diagnostic.literalUnsupportedType(),t),i=Ys.create()),n.push(i)}return Oo(n)}(e);if(Zs.isBuiltIn(t,"InitVar")){const t=Be(e,i);return 1===t.length?t[0].type:(fe(ml.Diagnostic.typeArgsMismatchOne().format({received:t.length}),e.baseExpression),Ys.create())}if(Zs.isEnumClass(t))return Zs.cloneAsInstance(t);const r=_o(t)&&Zs.isBuiltIn(t,"Annotated"),s=_o(t)&&Zs.hasCustomClassGetItem(t),a=(null===(o=t.details.typeParameters)||void 0===o?void 0:o.length)>0||Zs.isSpecialBuiltIn(t)||Zs.isBuiltIn(t,"type")||Zs.isPartiallyConstructed(t),l=_o(t)&&Zs.isBuiltIn(t,"Final"),c=_o(t)&&Zs.isBuiltIn(t,"ClassVar");let u=Be(e,i,r,s||!a,l,c);return r||(u=Me(u,t.details.typeParameters,e)),s?t:t.typeArguments?(fe(ml.Diagnostic.classAlreadySpecialized().format({type:ai(Fa(t),!0)}),e.baseExpression),t):Tn(t,u,i,e)}if(vo(t)){const i=qe(e,t,n);return i.isIncomplete&&(s=!0),i.type}return ao(t)?Ys.create():lo(t)?(_e(qt(e).diagnosticRuleSet.reportOptionalSubscript,$o.reportOptionalSubscript,ml.Diagnostic.noneNotSubscriptable(),e.baseExpression),Ys.create()):(mo(t)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSubscriptable().format({type:ai(t)}),e.baseExpression),Ys.create())}));return e.items.forEach((e=>{R(e.valueExpression)||$(e.valueExpression,void 0,4&i)})),{type:o,node:e,isIncomplete:s}}function Ue(e,t=!1){return T&&_o(T)?Fa(qa(T,e.map((e=>({type:e,isUnbounded:t}))))):Ys.create()}function Ve(e){return"get"===e.method?"__getitem__":"set"===e.method?"__setitem__":(w("del"===e.method),"__delitem__")}function qe(e,t,n){var i,r;if(vo(t)&&Zs.isTypedDictClass(t)){const i=vl(li,e,t,n);if(i)return i}const s=Ve(n),o=vo(t)?null===(i=ee(e,t,s,void 0,void 0,64))||void 0===i?void 0:i.type:null===(r=te(e,t,s,void 0,void 0,96))||void 0===r?void 0:r.type;if(!o)return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.methodNotDefinedOnType().format({name:s,type:ai(t)}),e.baseExpression),{node:e,type:Ys.create()};if(1===e.items.length&&!e.trailingComma&&!e.items[0].name&&0===e.items[0].argumentCategory&&vo(t)){const n=e.items[0].valueExpression,i=$(n).type;if(vo(i)&&Zs.isBuiltIn(i,"int")&&ra(i)&&"number"==typeof i.literalValue){const n=i.literalValue,r=ia(t);if(r&&r.tupleTypeArguments&&!da(r)){if(n>=0&&n=0)return{node:e,type:r.tupleTypeArguments[r.tupleTypeArguments.length+n].type}}}else if(vo(i)&&Zs.isBuiltIn(i,"slice")){const i=ia(t);if(i&&i.tupleTypeArguments&&!da(i)&&46===n.nodeType&&!n.stepValue){const t=(e,t)=>{let n=t;if(e){const t=$(e).type;vo(t)&&Zs.isBuiltIn(t,"int")&&ra(t)&&"number"==typeof t.literalValue?(n=t.literalValue,n<0&&(n=i.tupleTypeArguments.length+n)):n=-1}return n},r=t(n.startValue,0),s=t(n.endValue,i.tupleTypeArguments.length);if(r>=0&&s>0&&s<=i.tupleTypeArguments.length&&T&&_o(T))return{node:e,type:Zs.cloneAsInstance(qa(T,i.tupleTypeArguments.slice(r,s)))}}}}const a=e.items.filter((e=>0===e.argumentCategory&&!e.name)),l=e.items.filter((e=>1===e.argumentCategory)),c=e.items.filter((e=>0===e.argumentCategory&&!!e.name)),u=e.items.filter((e=>2===e.argumentCategory));let p;if(1!==a.length||0!==l.length||e.trailingComma)if(0===a.length&&0===l.length)p=T&&_o(T)?Fa(qa(T,[])):Ys.create();else{const e=[];a.forEach((t=>{e.push($(t.valueExpression).type)})),l.forEach((t=>{const n=ae($(t.valueExpression).type,!1,t)||Ys.create();e.push(n)})),p=Ue(e,l.length>0)}else p=$(a[0].valueExpression).type;let d,h=[{argumentCategory:0,type:p}];if("set"===n.method){let e=n.setType||io.create();bo(e)&&e.details.constraints.length>0&&(e=Ie(e,vo(t)?t.condition:void 0)),h.push({argumentCategory:0,type:e})}return c.forEach((e=>{h.push({argumentCategory:0,valueExpression:e.valueExpression,node:e,name:e.name})})),u.forEach((e=>{h.push({argumentCategory:2,valueExpression:e.valueExpression,node:e})})),kn(e,(()=>{if(d=et(e,h,o),d.argumentErrors&&vo(p)&&0===c.length&&0===u.length){const t=[...h];if(t[0]={...t[0]},ee(e,p,"__index__")){const n=Cn(e,"int");vo(n)&&(t[0].type=n)}d=et(e,t,o),d.argumentErrors||(h=t)}})),d=et(e,h,o),{node:e,type:d.returnType||Ys.create(),isIncomplete:!!d.isTypeIncomplete}}function Be(e,t,n=!1,i=!1,r=!1,s=!1){const o=[];let a=t;r||s?a|=131088:(a&=-1048739,n||(a|=131088),a|=2097152);const l=(e,t)=>{let r;return r=i||n&&t>0?$(e,void 0,131234):function(e,t){let n,i=1097|t;return qt(e).isStubFile&&(i|=4),31===e.nodeType?(n={type:Ys.create(),typeList:e.entries.map((e=>$(e,void 0,i))),node:e},O(e)):(n=$(e,void 0,i),yo(n.type)&&Zs.isBuiltIn(n.type,"Protocol")&&fe(ml.Diagnostic.protocolNotAllowedInTypeArgument(),e),0!=(131072&t)&&yo(n.type)&&Zs.isBuiltIn(n.type,"ClassVar")&&fe(ml.Diagnostic.classVarNotAllowed(),e)),n}(e,a),r};return 1===e.items.length&&!e.trailingComma&&!e.items[0].name&&52===e.items[0].valueExpression.nodeType&&e.items[0].valueExpression.expressions.length>0?(e.items[0].valueExpression.expressions.forEach(((e,t)=>{o.push(l(e,t))})),O(e.items[0].valueExpression)):e.items.forEach(((e,t)=>{const n=l(e.valueExpression,t);0!==e.argumentCategory&&1===e.argumentCategory&&(Io(n.type)&&!n.type.isVariadicUnpacked?n.type=oo.cloneForUnpacked(n.type):_o(n.type)&&!n.type.includeSubclasses&&pa(n.type)&&(n.type=Zs.cloneForUnpacked(n.type))),e.name&&fe(ml.Diagnostic.keywordArgInTypeArgument(),e.valueExpression),o.push(n)})),o}function We(e,t){if(!vo(t=ta(t)))return;if(!T||!_o(T))return;let n=[];if(pa(t)&&t.tupleTypeArguments){n=t.tupleTypeArguments.map((e=>ta(e.type)));const i=t.tupleTypeArguments.findIndex((e=>e.isUnbounded));if(i>=0)if(n.length>e.expressions.length)n.splice(i,1);else for(;n.length$(e,tsa(e)));return{type:Fa(qa(T,je(i),!0,!r)),node:e}}function je(e){const t=[];for(const n of e){let e;if(n.unpackedType?e=n.unpackedType:Co(n.type)&&(e=n.type),e&&vo(e)&&e.tupleTypeArguments){const n=e.tupleTypeArguments;n?t.push(...n):t.push({type:Ys.create(),isUnbounded:!0})}else t.push({type:n.type,isUnbounded:!!n.unpackedType})}if(t.filter((e=>e.isUnbounded)).length>1){const e=t.findIndex((e=>e.isUnbounded)),n=t.splice(e);t.push({type:Oo(n.map((e=>e.type))),isUnbounded:!0})}return t}function ze(e,t){const n=$(e.leftExpression,void 0,2),i=e.arguments.map((e=>({valueExpression:e.valueExpression,argumentCategory:e.argumentCategory,node:e,name:e.name})));let r={node:e,type:Ys.create()};if(ea(n.type))r.isIncomplete=!0;else{if(38===e.leftExpression.nodeType&&"super"===e.leftExpression.value)r=function(e){let t,n;if(e.arguments.length>2&&fe(ml.Diagnostic.superCallArgCount(),e.arguments[2]),e.arguments.length>0){t=$(e.arguments[0].valueExpression).type;const n=Ie(t);ho(n)||_o(n)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.superCallFirstArg().format({type:ai(t)}),e.arguments[0].valueExpression)}else{const n=Er(e);if(n){const e=$t(n);t=e?e.classType:Ys.create()}else fe(ml.Diagnostic.superCallZeroArgForm(),e.leftExpression),t=Ys.create()}if(e.arguments.length>1){const i=Ie($(e.arguments[1].valueExpression).type);let r=!1;ho(i)||(vo(i)?(_o(t)&&(Da(Zs.cloneAsInstantiable(i),t,!0)||(r=!0)),n=i):_o(i)?(_o(t)&&(Da(i,t,!0)||(r=!0)),n=i):r=!0),r&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.superCallSecondArg().format({type:ai(t)}),e.arguments[1].valueExpression)}else{const i=kr(e);let r;if(i){const e=Gt(i);if(e){const t=e.functionType;Xs.isClassMethod(t)?t.details.parameters.length>0&&t.details.parameters[0].hasDeclaredType&&(r=Ie(t.details.parameters[0].type)):Xs.isInstanceMethod(t)&&t.details.parameters.length>0&&t.details.parameters[0].hasDeclaredType&&(r=Ie(Na(t.details.parameters[0].type)))}}r&&_o(r)?n=r:_o(t)&&(n=t)}let i=!0;if(e.arguments.length<=1){const t=kr(e);if(t){const e=Gt(t);e&&(Xs.isStaticMethod(e.functionType)||Xs.isConstructorMethod(e.functionType)||Xs.isClassMethod(e.functionType))&&(i=!1)}}const r=e.parent;if(35===r.nodeType){const s=va(t,r.memberName.value,1);if(s&&_o(s.classType))return{type:i?Zs.cloneAsInstance(s.classType):s.classType,node:e,bindToType:i&&n&&_o(n)?Zs.cloneAsInstance(n):n,isSuperCall:!0}}if(_o(t)){if(t.details.mro.some((e=>ho(e))))return{type:Ys.create(),isSuperCall:!0,node:e};const n=t.details.baseClasses;if(n.length>0){const t=n[0];if(_o(t))return{type:i?Zs.cloneAsInstance(t):t,isSuperCall:!0,node:e}}}return{type:Ys.create(),isSuperCall:!0,node:e}}(e);else if(ho(n.type)&&38===e.leftExpression.nodeType&&"reveal_type"===e.leftExpression.value)r=$e(e,t);else if(Eo(n.type)&&"reveal_type"===n.type.details.builtInName)r=$e(e,t);else if(ho(n.type)&&38===e.leftExpression.nodeType&&"reveal_locals"===e.leftExpression.value)0===e.arguments.length?r.type=function(e){let t,n=e;for(;n&&(t=zs(n),!t||0===t.type);)n=n.parent;const i=[];return t&&t.symbolTable.forEach(((e,t)=>{if(!e.isIgnoredForProtocolMatch()){const n=Nn(e);i.push(ml.DiagnosticAddendum.typeOfSymbol().format({name:t,type:ai(n,!0)}))}})),i.length>0?me(i.join("\n"),e):me(ml.Diagnostic.revealLocalsNone(),e),to.createInstance()}(e):fe(ml.Diagnostic.revealLocalsArgs(),e);else{const s=et(e,i,n.type,void 0,!1,t);r.type=s.returnType||Ys.create(),s.argumentErrors&&(r.typeErrors=!0,t&&(r.isIncomplete=!0)),s.isTypeIncomplete&&(r.isIncomplete=!0)}n.isIncomplete&&(r.isIncomplete=!0)}return _o(n.type)&&Zs.isBuiltIn(n.type,"TypeVar")&&qt(e).isTypingStubFile||i.forEach((e=>{e.valueExpression&&48!==e.valueExpression.nodeType&&!R(e.valueExpression)&&$(e.valueExpression)})),r}function $e(e,t){let n,i,r,s,o;if(e.arguments.forEach(((e,t)=>{if(0===t)0!==e.argumentCategory||e.name||(n=e.valueExpression);else if(0===e.argumentCategory&&e.name)if("expected_text"===e.name.value){s=e.valueExpression;const t=$(e.valueExpression).type;vo(t)&&Zs.isBuiltIn(t,"str")&&"string"==typeof t.literalValue?o=t.literalValue:fe(ml.Diagnostic.revealTypeExpectedTextArg(),e.valueExpression)}else"expected_type"===e.name.value&&(i=e.valueExpression,r=Fa(In(e).type));else n=void 0})),!n)return fe(ml.Diagnostic.revealTypeArgs(),e),{node:e,type:Ys.create()};const a=$(n,t),l=a.type,c=xr(n),u=ai(l,!0);if(void 0!==o&&o!==u&&fe(ml.Diagnostic.revealTypeExpectedTextMismatch().format({expected:o,received:u}),null!=s?s:n),r&&!Ao(r,l)){const e=ai(r);fe(ml.Diagnostic.revealTypeExpectedTypeMismatch().format({expected:e,received:u}),null!=i?i:n)}return me(ml.DiagnosticAddendum.typeOfSymbol().format({name:c,type:u}),e.arguments[0]),{node:e,type:l,isIncomplete:a.isIncomplete}}function He(e,t,n,i,r,s){const o=[],a=[];let l=!1;for(let r=0;rvoid 0!==e));for(let t=0;t{if(!u[t])return e;const n={...e};return n.argType=u[t],n})));const h=i?i.clone():new jo(na(r));h.addSolveForScope(na(r));const m=kn(e,(()=>nt(e,d,h,!0,s)));if(m.isTypeIncomplete&&(l=!0),!m.argumentErrors&&m.returnType){c=r,a.push({overload:c,matchResults:d,typeVarMap:h}),o.push(m.returnType);break}}if(!c)return{argumentErrors:!0,isTypeIncomplete:l}}if(i)for(let n=0;n(i.addSolveForScope(na(t)),i.unlock(),nt(e,r,i,!0,s))))}a[0].typeVarMap.unlock();const c=nt(e,a[0].matchResults,a[0].typeVarMap,r,s);return c.isTypeIncomplete&&(l=!0),{argumentErrors:!1,returnType:Oo(o),isTypeIncomplete:l,specializedInitSelfType:c.specializedInitSelfType}}function Ge(e,t,n){let i,r=0,s=[];return t.overloads.forEach((t=>{kn(e,(()=>{if(Xs.isOverloaded(t)){const i=tt(e,n,t,r);i.argumentErrors||s.push(i),r++}}))})),s=Ke(s),s.forEach(((t,n)=>{void 0===i&&kn(e,(()=>{const r=it(e,t,new jo(na(t.overload)),!0);r&&!r.argumentErrors&&(i=n)}))})),void 0===i?void 0:s[i].overload}function Ke(e){return e.sort(((e,t)=>e.relevance!==t.relevance?t.relevance-e.relevance:e.overloadIndex-t.overloadIndex))}function Je(e,t){let n,i=e.length-1;for(;i>=0&&!t[0][i];)i--;if(i++,i>=e.length)return;for(;i{Jo(n,(t=>{const n=[...e];n[i]=t,r.push(n)}))})),r}function Ye(e,t,n,i,r){var s;let o,a=!1,l=!1,u=!1,p=!1;const d=e=>Eo(e)&&Xs.isSkipConstructorCheck(e),h=null===(s=ee(e,Zs.cloneAsInstance(n),"__init__",{method:"get"},void 0,68))||void 0===s?void 0:s.type;if(h&&!d(h)){if(r&&(o=Ko(r,(r=>{r=ta(r);const s=new jo(na(n));if(Xe(Zs.cloneAsInstance(n),r,s,Re(e))){let o;if(kn(e,(()=>{o=et(e,t,h,s.clone(),i,to.createInstance())})),!(null==o?void 0:o.argumentErrors))return et(e,t,h,s,i,to.createInstance()).isTypeIncomplete&&(u=!0),Qe(n,r,s)}})),ao(o)&&(o=void 0)),!o){const r=n.typeArguments?wa(n,!1):new jo(na(n));r.addSolveForScope(na(h));const s=et(e,t,h,r,i);if(s.argumentErrors)l=!0;else{let e=n;s.specializedInitSelfType&&vo(s.specializedInitSelfType)&&Zs.isSameGenericClass(s.specializedInitSelfType,n)&&(e=Zs.cloneAsInstantiable(s.specializedInitSelfType)),o=Ze(e,void 0,r),s.isTypeIncomplete&&(u=!0)}}a=!0,i=!0}if(!l){const s=n.details.effectiveMetaclass;let c;if(s&&_o(s)&&!Zs.isSameGenericClass(s,n)&&(c=Ne(e,s,"__call__",{method:"get"},void 0,352,n),c&&(p=!0)),c||(c=Ne(e,n,"__new__",{method:"get"},void 0,21,n)),c&&!d(c.type)){const s=new jo(na(n));n.typeAliasInfo&&s.addSolveForScope(n.typeAliasInfo.typeVarScopeId),s.addSolveForScope(na(c.type));const p=et(e,t,c.type,s,i);if(p.argumentErrors)l=!0;else{let e=p.returnType;p.isTypeIncomplete&&(u=!0),e&&(vo(e)&&Zs.isSameGenericClass(e,n)?(La(e)||$a(e))&&void 0!==o||(vo(e)&&Zs.isTupleClass(e)&&!e.tupleTypeArguments&&e.typeArguments&&1===e.typeArguments.length&&(e=qa(e,[{type:e.typeArguments[0],isUnbounded:!0}])),o=e):o||po(e)||(o=e))}o?vo(o)&&pa(o)&&!o.tupleTypeArguments&&(o=function(e,t){let n=e;return t&&vo(t)&&pa(t)&&t.tupleTypeArguments&&(n=qa(e,t.tupleTypeArguments)),n}(o,r)):o=Ze(n,r,s),a=!0}}if(a||t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&$(e.valueExpression)})),!a&&t.length>0&&(n.details.effectiveMetaclass&&_o(n.details.effectiveMetaclass)&&!Zs.isBuiltIn(n.details.effectiveMetaclass)||p||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.constructorNoArgs().format({type:n.aliasName||n.details.name}),e)),!o)if(!r&&n.typeArguments)o=Fa(n);else{const t=new jo(na(n));r&&Xe(Zs.cloneAsInstance(n),r,t,Re(e)),o=Ze(n,r,t)}if(!l){const i=function(e,t,n,i,r){return"functools.partial"===i.details.fullName?function(e,t,n,i){if(!vo(i.returnType)||"functools.partial"!==i.returnType.details.fullName)return i;const r=_a(i.returnType,"__call__");if(!r||!Ao(Fa(r.classType),i.returnType))return i;const s=e.getTypeOfMember(r);if(!Eo(s)||s.details.parameters.length<1)return i;if(n.length<1)return i;const o=e.getTypeForArgument(n[0]).type;if(e.inferReturnTypeIfNecessary(o),!Eo(o))return i;if(n.some((e=>0!==e.argumentCategory)))return i;const a=new Map,l=Ho(o);let c=!1,u=!1;const p=new jo(na(o));n.slice(1).forEach(((n,i)=>{var r,s,d,h,m,f,g,y;const _=e.getTypeForArgument(n);if(n.name){const i=l.params.find((e=>{var t;return e.param.name===(null===(t=n.name)||void 0===t?void 0:t.value)&&e.source!==zo.PositionOnly}));if(i){const r=i.param.name,s=Xs.getEffectiveParameterType(o,i.index);if(a.has(r))e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAlreadyAssigned().format({name:n.name.value}),n.name),c=!0;else{const i=new il;e.canAssignType(s,_.type,i,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(s),functionName:o.details.name,paramName:r}),null!==(y=n.valueExpression)&&void 0!==y?y:t),c=!0),a.set(r,!0)}}else if(void 0===l.kwargsIndex)e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.name.value}),n.name),c=!0;else{const i=Xs.getEffectiveParameterType(o,l.params[l.kwargsIndex].index),r=new il;e.canAssignType(i,_.type,r,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(i),functionName:o.details.name,paramName:null!==(f=l.params[l.kwargsIndex].param.name)&&void 0!==f?f:""}),null!==(g=n.valueExpression)&&void 0!==g?g:t),c=!0)}}else if(i>=l.params.length||l.params[i].source===zo.KeywordOnly)if(void 0!==l.argsIndex){const i=Xs.getEffectiveParameterType(o,l.params[l.argsIndex].index),a=new il;e.canAssignType(i,_.type,a,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(i),functionName:o.details.name,paramName:null!==(r=l.params[l.argsIndex].param.name)&&void 0!==r?r:""}),null!==(s=n.valueExpression)&&void 0!==s?s:t),c=!0)}else u||e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===l.positionParamCount?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:l.positionParamCount}),null!==(d=n.valueExpression)&&void 0!==d?d:t),u=!0,c=!0;else{const r=Xs.getEffectiveParameterType(o,i),s=new il,u=null!==(h=l.params[i].param.name)&&void 0!==h?h:"";e.canAssignType(r,_.type,s,p)||(e.addDiagnostic(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(r),functionName:o.details.name,paramName:u}),null!==(m=n.valueExpression)&&void 0!==m?m:t),c=!0),a.set(u,!1)}}));const d=fa(o,p);if(!Eo(d))return i;const h=d.details.parameters.map(((e,t)=>{const n={...e};return n.type=Xs.getEffectiveParameterType(d,t),e.name&&a.get(e.name)&&(n.hasDefault=!0),n})),m=[...h.filter((e=>!(2===e.category||1!==e.category&&e.name&&a.has(e.name)))),...h.filter((e=>e.name&&a.get(e.name))),...h.filter((e=>2===e.category))],f=Xs.createInstance(s.details.name,s.details.fullName,s.details.moduleName,s.details.flags,d.details.docString);s.details.parameters.length>0&&Xs.addParameter(f,s.details.parameters[0]),m.forEach((e=>{Xs.addParameter(f,e)})),f.details.declaredReturnType=d.details.declaredReturnType?Xs.getSpecializedReturnType(d):d.inferredReturnType,f.details.declaration=s.details.declaration,f.details.typeVarScopeId=d.details.typeVarScopeId;const g=Zs.cloneForSymbolTableUpdate(i.returnType);return g.details.fields.set("__call__",Vo.createWithType(4,f)),{returnType:g,isTypeIncomplete:!1,argumentErrors:c}}(e,t,n,r):r}(li,e,t,n,{argumentErrors:l,returnType:o,isTypeIncomplete:u});o=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return{argumentErrors:l,returnType:o,isTypeIncomplete:u}}function Qe(e,t,n){const i=fa(Zs.cloneAsInstance(e),n);if(Jn(t,i))return uo(t)?t:i}function Ze(e,t,n){if(t){const i=Ko(t,(t=>Qe(e,t,n)));if(!ao(i))return i}const i=fa(e,n,!0);return Zs.cloneAsInstance(i)}function Xe(e,t,n,i){if(uo(t))return e.details.typeParameters.forEach((e=>{n.setTypeVarType(e,t)})),!0;if(!yo(t))return!1;const r=t.typeArguments;if(!r)return Jn(e,t,void 0,n,1024);if(Zs.isSameGenericClass(t,e)){const i=wa(t);return i.getTypeVars().forEach((t=>{const r=i.getTypeVarType(t.typeVar);r&&(bo(r)&&r.scopeId===e.details.typeVarScopeId||n.setTypeVarType(t.typeVar,1===t.typeVar.details.variance?void 0:r,2===t.typeVar.details.variance?void 0:r,t.retainLiteral))})),!0}const s=na(t),o=Zs.getTypeParameters(t).map(((e,t)=>{const n=oo.createInstance(`__dest${t}`);return n.details.isSynthesized=!0,n.details.variance=0,n.scopeId=s,n})),a=Zs.cloneForSpecialization(t,o,!0),l=Zs.getTypeParameters(e).map(((e,t)=>{const n=oo.createInstance(`__source${t}`);return n.details.isSynthesized=!0,n.details.synthesizedIndex=t,n.details.isExemptFromBoundCheck=!0,n})),c=Zs.cloneForSpecialization(e,l,!0),u=new jo(s);if(Jn(a,c,void 0,u,1024)){let e=!0;return o.forEach(((t,s)=>{const o=u.getTypeVarType(t);if(o&&bo(o)&&o.details.isSynthesized&&void 0!==o.details.synthesizedIndex){const a=Zs.getTypeParameters(c)[o.details.synthesizedIndex];if(si.scopeId===e))?e:void 0):new Za(t,n).apply(e);var i}(o,n,i)),o?n.setTypeVarType(a,1===t.details.variance?void 0:o,2===t.details.variance?void 0:o):e=!1}}})),e}return!1}function et(e,t,n,i,r=!1,s,o=0){let a,l=!1,u=!1;if(o>Gs)return{returnType:Ys.create(),argumentErrors:!0};if(o++,Ks.isSpecialForm(n)){const t=9===e.nodeType?e.leftExpression:e;return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotCallable().format({expression:xr(t),type:ai(n,!0)}),t),{returnType:Ys.create(),argumentErrors:!0}}const p=Se(n,void 0,((n,p)=>{var d,h,m;switch(n.category){case 1:case 2:return t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&bn(e)})),n;case 5:{if("namedtuple"===n.details.builtInName)return _e(qt(e).diagnosticRuleSet.reportUntypedNamedTuple,$o.reportUntypedNamedTuple,ml.Diagnostic.namedTupleNoTypes(),e),Lu(li,e,t,!1);let o=i;o||(o=new jo(na(n)),!o.getSolveForScopes()&&Xs.isConstructorMethod(n)&&o.addSolveForScope($s));const c=rt(e,t,n,o,r,s);if(c.isTypeIncomplete&&(u=!0),c.argumentErrors)l=!0;else{a=c.specializedInitSelfType;const i=zu(li,e,t,n,{argumentErrors:c.argumentErrors,returnType:null!==(d=c.returnType)&&void 0!==d?d:Ys.create(),isTypeIncomplete:u});c.returnType=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return c.argumentErrors||"NewType"!==n.details.builtInName?"__import__"===n.details.builtInName?io.create():c.returnType:at(e,t)}case 6:{if("cast"===n.overloads[0].details.builtInName&&2===t.length){const n=In(t[0]).type,i=bn(t[1]).type;return _o(n)&&vo(i)&&Ao(n,Zs.cloneAsInstantiable(i),!0)&&_e(qt(e).diagnosticRuleSet.reportUnnecessaryCast,$o.reportUnnecessaryCast,ml.Diagnostic.unnecessaryCast().format({type:ai(i)}),e),Fa(n)}const o=function(e,t,n,i,r,s){let o=[],a=[];if(kn(e,(()=>{let i=0;n.overloads.forEach((n=>{if(Xs.isOverloaded(n)){const r=tt(e,t,n,i);r.argumentErrors||o.push(r),i++}})),a=t.map((e=>{if(e.type)return e.type;if(e.valueExpression){const t=e.valueExpression;return kn(t,(()=>$(t).type))}return io.create()}))})),o=Ke(o),0===o.length){if(!ye(e)){const i=n.overloads[0].details.name||"",r=new il,s=t.map((e=>ai(bn(e).type)));r.addMessage(ml.DiagnosticAddendum.argumentTypes().format({types:s.join(", ")})),_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noOverload().format({name:i})+al(r),e)}return{argumentErrors:!0,isTypeIncomplete:!1}}const l=t=>{const n=o.reduce(((e,t)=>t.overloadIndex>e.overloadIndex?t:e)),r=null!=i?i:new jo;return r.addSolveForScope(na(n.overload)),r.unlock(),nt(e,n,r,t,s)};if(1===o.length)return l(!1);let c=[t.map((e=>{}))],u=!1;for(;;){const t=He(e,c,o,i,r,s);if(t.isTypeIncomplete&&(u=!0),!t.argumentErrors)return t;if(c=Je(a,c),!c||c.length>64)break}if(!ye(e)&&!u){const e=l(!0);return e.returnType=Ys.create(),e}return{argumentErrors:!0,isTypeIncomplete:!1}}(e,t,n,i,r,s);if(o.isTypeIncomplete&&(u=!0),o.argumentErrors)l=!0;else{a=o.specializedInitSelfType;const i=zu(li,e,t,n,{argumentErrors:o.argumentErrors,returnType:null!==(h=o.returnType)&&void 0!==h?h:Ys.create(),isTypeIncomplete:u});o.returnType=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return o.returnType||Ys.create()}case 7:if(Ks.isInstantiable(n)){if(void 0!==n.literalValue)return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.literalNotCallable(),e),l=!0,Ys.create();if(Zs.isBuiltIn(n)){const i=n.aliasName||n.details.name;if("type"===i)return Ye(e,t,n,r,s),1===t.length?Ko(bn(t[0]).type,(e=>vo(e)||bo(e)&&Ks.isInstance(e)||lo(e)?Na(Qo(e)):io.create())):t.length>=2&&function(e,t){const n=qt(e),i=bn(t[0]).type;if(!vo(i)||!Zs.isBuiltIn(i,"str"))return;const r=i.literalValue||"_",s=bn(t[1]).type;if(!vo(s)||!pa(s)||void 0===s.tupleTypeArguments)return;const o=Zs.createInstantiable(r,br(e,n.moduleName,r),n.moduleName,n.filePath,0,Ir(e),void 0,s.details.effectiveMetaclass);return s.tupleTypeArguments.forEach((n=>{_o(n.type)||ho(n.type)?o.details.baseClasses.push(n.type):ve(n.type,t[1].valueExpression||e)})),Ha(o)||fe(ml.Diagnostic.methodOrdering(),e),o}(e,t)||io.create();if("TypeVar"===i)return function(e,t){var n,i,r;let s,o="";if(0===t.length)return void fe(ml.Diagnostic.typeVarFirstArg(),e);const a=t[0];a.valueExpression&&48===a.valueExpression.nodeType?o=a.valueExpression.strings.map((e=>e.value)).join(""):fe(ml.Diagnostic.typeVarFirstArg(),a.valueExpression||e);const l=oo.createInstantiable(o,!1);for(let o=1;o0)fe(ml.Diagnostic.typeVarBoundAndConstrained(),t[o].valueExpression||e);else{const i=null!==(n=t[o].type)&&void 0!==n?n:Sn(t[o].valueExpression,void 0,void 0,!0).type;$a(i,!0)&&fe(ml.Diagnostic.typeVarGeneric(),t[o].valueExpression||e),l.details.boundType=Fa(i)}else"covariant"===c?t[o].valueExpression&&ot(t[o].valueExpression)&&(2===l.details.variance?fe(ml.Diagnostic.typeVarVariance(),t[o].valueExpression):l.details.variance=1):"contravariant"===c?t[o].valueExpression&&ot(t[o].valueExpression)&&(1===l.details.variance?fe(ml.Diagnostic.typeVarVariance(),t[o].valueExpression):l.details.variance=2):fe(ml.Diagnostic.typeVarUnknownParam().format({name:c}),(null===(i=t[o].node)||void 0===i?void 0:i.name)||t[o].valueExpression||e);u.set(c,c)}else if(l.details.boundType)fe(ml.Diagnostic.typeVarBoundAndConstrained(),t[o].valueExpression||e);else{const n=null!==(r=t[o].type)&&void 0!==r?r:Sn(t[o].valueExpression,void 0,void 0,!0).type;$a(n,!0)&&fe(ml.Diagnostic.typeVarGeneric(),t[o].valueExpression||e),oo.addConstraint(l,Fa(n)),void 0===s&&(s=t[o])}}return 1===l.details.constraints.length&&s&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarSingleConstraint(),s.valueExpression||e),l}(e,t);if("TypeVarTuple"===i)return function(e,t){var n,i;let r="";if(0===t.length)return void fe(ml.Diagnostic.typeVarFirstArg(),e);const s=t[0];s.valueExpression&&48===s.valueExpression.nodeType?r=s.valueExpression.strings.map((e=>e.value)).join(""):fe(ml.Diagnostic.typeVarFirstArg(),s.valueExpression||e);const o=oo.createInstantiable(r,!1);o.details.isVariadic=!0;for(let r=1;re.value)).join(""):fe(ml.Diagnostic.paramSpecFirstArg(),r.valueExpression||e);const o=oo.createInstantiable(s,!0);for(let r=1;re.value)).join("")}const s=Zs.createInstantiable(r,br(e,i.moduleName,r),i.moduleName,i.filePath,1048576,Ir(e),void 0,t.details.effectiveMetaclass);s.details.baseClasses.push(t),Ha(s);const o=s.details.fields;if(o.set("__class__",Vo.createWithType(68,s)),!(n.length<2)){{const t=n[1];if(0!==t.argumentCategory||!t.valueExpression||48!==t.valueExpression.nodeType)return;t.valueExpression.strings.map((e=>e.value)).join("").split(" ").forEach((n=>{if(n=n.trim()){const i=Ys.create(),r=Vo.createWithType(4,i),s=t.valueExpression;w(48===s.nodeType);const a=qt(e),l={type:1,node:s,isRuntimeTypeExpression:!0,path:a.filePath,range:St(s.start,dt.getEnd(s),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};r.addDeclaration(l),o.set(n,r)}}))}return s}}(e,n,t);if("TypedDict"===i)return function(e,t,n,i){const r=qt(t);let s="TypedDict";if(0===i.length)e.addError(ml.Diagnostic.typedDictFirstArg(),t);else{const n=i[0];0===n.argumentCategory&&n.valueExpression&&48===n.valueExpression.nodeType?s=n.valueExpression.strings.map((e=>e.value)).join(""):e.addError(ml.Diagnostic.typedDictFirstArg(),i[0].valueExpression||t)}const o=Zs.createInstantiable(s,br(t,r.moduleName,s),r.moduleName,r.filePath,128,Ir(t),void 0,n.details.effectiveMetaclass);o.details.baseClasses.push(n),Ha(o);const a=o.details.fields;a.set("__class__",Vo.createWithType(68,o));let l=!1;if(i.length<2)e.addError(ml.Diagnostic.typedDictSecondArgDict(),t);else{const n=i[1],s=new Map;if(0===n.argumentCategory&&n.valueExpression&&15===n.valueExpression.nodeType){l=!0;const t=n.valueExpression;t.entries.forEach((t=>{if(17!==t.nodeType)return void e.addError(ml.Diagnostic.typedDictSecondArgDictEntry(),t);if(48!==t.keyExpression.nodeType)return void e.addError(ml.Diagnostic.typedDictEntryName(),t.keyExpression);const n=t.keyExpression.strings.map((e=>e.value)).join("");if(!n)return void e.addError(ml.Diagnostic.typedDictEmptyName(),t.keyExpression);if(s.has(n))return void e.addError(ml.Diagnostic.typedDictEntryUnique(),t.keyExpression);s.set(n,!0);const i=e.getTypeForExpressionExpectingType(t.valueExpression,!0,!0),o=new Vo(8),l={type:1,node:t.keyExpression,path:r.filePath,typeAnnotationNode:t.valueExpression,isRequired:i.isRequired,isNotRequired:i.isNotRequired,isRuntimeTypeExpression:!0,range:St(t.keyExpression.start,dt.getEnd(t.keyExpression),r.lines),moduleName:r.moduleName,isInExceptSuite:!1};o.addDeclaration(l),a.set(n,o)})),e.setTypeForNode(t)}else if(n.name)for(let n=1;n=3&&(!i[2].name||"total"!==i[2].name.value||!i[2].valueExpression||11!==i[2].valueExpression.nodeType||15!==i[2].valueExpression.constType&&33!==i[2].valueExpression.constType?e.addError(ml.Diagnostic.typedDictTotalParam(),i[2].valueExpression||t):15===i[2].valueExpression.constType&&(o.details.flags|=256)),i.length>3&&e.addError(ml.Diagnostic.typedDictExtraArgs(),i[3].valueExpression||t)),fl(e,t,o),o}(li,e,n,t);if("auto"===i&&0===t.length)return Cn(e,"int")}if(Zs.supportsAbstractMethods(n)){const t=ii(n);if(t.length>0&&!n.includeSubclasses&&!bo(p)){const i=new il,r=2;t.forEach(((e,n)=>{if(n===r)i.addMessage(ml.DiagnosticAddendum.memberIsAbstractMore().format({count:t.length-r}));else if(n_o(e)&&Zs.isBuiltIn(e,"type")))){let i="__class_"+o.details.name;if(3===t.length){const e=bn(t[0]).type;vo(e)&&Zs.isBuiltIn(e,"str")&&"string"==typeof e.literalValue&&(i=e.literalValue)}const r=Zs.createInstantiable(i,"","",qt(e).filePath,0,Ir(e),Zs.cloneAsInstantiable(o),Zs.cloneAsInstantiable(o));return r.details.baseClasses.push(xn(e,"object")),r.details.effectiveMetaclass=n,Ha(r),r}return o}{let a=null===(m=ee(e,n,"__call__"))||void 0===m?void 0:m.type;if(a&&(Eo(a)||ko(a))){a=Ba(a);const n=et(e,t,a,i,r,s,o);return n.argumentErrors&&(l=!0),n.returnType||Ys.create()}return a&&ho(a)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.objectNotCallable().format({type:ai(n)}),e),Ys.create()}case 3:return void _e(qt(e).diagnosticRuleSet.reportOptionalCall,$o.reportOptionalCall,ml.Diagnostic.noneNotCallable(),e);case 10:{n=ta(n);const a=et(e,t,n,i,r,s,o);return a.argumentErrors&&(l=!0),a.returnType||Ys.create()}case 8:return void _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleNotCallable(),e)}}));return{argumentErrors:l,returnType:ao(p)&&!p.isNoReturn?void 0:p,isTypeIncomplete:u,specializedInitSelfType:a}}function tt(e,t,n,i){var r;const s=Ho(n);let o=0,a=!1,l=!1,u=!1,p=!1;const d=new Map;s.params.forEach((e=>{const t=e.param;t.name&&0===t.category&&d.set(t.name,{argsNeeded:0!==t.category||t.hasDefault?0:1,argsReceived:0,isPositionalOnly:e.source===zo.PositionOnly})}));let h=s.positionOnlyParamCount,m=null!==(r=s.firstKeywordOnlyIndex)&&void 0!==r?r:s.params.length;const f=s.argsIndex,g=s.kwargsIndex;let y,_,v=!1;if(void 0!==f&&void 0!==g){w(s.params[f],"varArgListParamIndex params entry is undefined");const e=s.params[f].param;w(s.params[g],"varArgDictParamIndex params entry is undefined");const t=s.params[g].param;wo(e.type)&&"args"===e.type.paramSpecAccess&&wo(t.type)&&"kwargs"===t.type.paramSpecAccess&&e.type.details.name===t.type.details.name&&(v=!0,e.type.scopeId===n.details.typeVarScopeId?(y=[],_=oo.cloneForParamSpecAccess(e.type,void 0)):h=f)}t.forEach((e=>{if(e.name){const t=s.params.findIndex((t=>t.param.name===e.name.value&&0===t.param.category));t>=0&&t>=h&&(m<0||t2===e.argumentCategory||void 0!==e.name));b<0&&(b=t.length);let I,S=[];function x(e,t){e.active&&(I=t)}let C=void 0!==t.find((e=>1===e.argumentCategory)),E=0,k=0;for(;o=m){C&&1===t[o].argumentCategory||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===m?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:m}),t[o].valueExpression||e),l=!0);break}if(E>=s.params.length)break;w(s.params[E],"paramIndex params entry is undefined");const i=s.params[E].type;if(1===t[o].argumentCategory){if(!t[o].valueExpression)break;const r=1===s.params[E].param.category&&Io(i);let c=!1;const h=bn(t[o]),f=h.type;let g,_=!1;n.details.paramSpec&&E0&&kt>o&&1===e.argumentCategory)),k++,k>=v.tupleTypeArguments.length&&(k=0,_=!0)):r&&Io(f)?(g=f,c=!0,_=!0,p=!0):vo(f)&&pa(f)&&f.tupleTypeArguments&&1===f.tupleTypeArguments.length&&Io(f.tupleTypeArguments[0].type)?(g=f.tupleTypeArguments[0].type,c=!0,_=!0,p=!0):wo(f)&&"args"===f.paramSpecAccess?g=void 0:(g=ae(f,!1,t[o].valueExpression)||Ys.create(),1!==s.params[E].param.category&&(a=!0));const b=g?{argumentCategory:0,type:g}:void 0;b&&h.isIncomplete&&(u=!0);const I=s.params[E].param.name;r&&!c?(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedArgWithVariadicParam(),t[o].valueExpression||e),l=!0):(y&&y.push(t[o]),b&&S.push({paramCategory:s.params[E].param.category,paramType:i,requiresTypeVarMatching:$a(i),argument:b,errorNode:t[o].valueExpression||e,paramName:s.params[E].param.isNameSynthesized?void 0:I})),x(t[o],s.params[E].param),I&&0===s.params[E].param.category&&d.has(I)&&d.get(I).argsReceived++,(_||1===s.params[E].param.category)&&o++,(p||1!==s.params[E].param.category)&&E++}else if(1===s.params[E].param.category)if(x(t[o],s.params[E].param),y)y.push(t[o]),o++;else{let n=s.params[E].param.category,r=i;const a=s.params[E].param.name;xo(i)&&i.tupleTypeArguments&&i.tupleTypeArguments.length>0&&(r=i.tupleTypeArguments[0].type),n=Io(r)?1:0;const c=b-o,u=m-E-1;c<=u?(c=0&&Ee.param.hasDefault)),i=(n>=0&&n0&&(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===i?ml.Diagnostic.argMorePositionalExpectedOne():ml.Diagnostic.argMorePositionalExpectedCount().format({expected:i}),t.length>b&&t[b].valueExpression||e),l=!0)}if(!l){let i;for(;o{const a=d.get(i);if(a&&!a.isPositionalOnly)if(a.argsReceived>0)r.addMessage(ml.Diagnostic.paramAlreadyAssigned().format({name:i}));else{a.argsReceived++;const r=s.params.findIndex((e=>e.param.name===i));w(r>=0);const l=s.params[r].type;S.push({paramCategory:0,paramType:l,requiresTypeVarMatching:$a(l),argument:{argumentCategory:0,type:n.valueType},errorNode:t[o].valueExpression||e,paramName:i})}else if(void 0!==s.kwargsIndex){const r=s.params[s.kwargsIndex].type;S.push({paramCategory:2,paramType:r,requiresTypeVarMatching:$a(r),argument:{argumentCategory:0,type:n.valueType},errorNode:t[o].valueExpression||e,paramName:i}),d.set(i,{argsNeeded:1,argsReceived:1,isPositionalOnly:!1})}else r.addMessage(ml.Diagnostic.paramNameMissing().format({name:i}))})),r.isEmpty()||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedTypedDictArgument()+r.getString(),t[o].valueExpression||e),l=!0)}else if(wo(n)&&"kwargs"===n.paramSpecAccess)i=io.create();else{const r=ce(e,"Mapping"),s=Cn(e,"str");if(r&&_o(r)&&s&&vo(s)){const a=new jo(na(r));let c=!1;if(bo(n))c=!0;else if(Jn(Zs.cloneAsInstance(r),n,void 0,a)){const e=fa(r,a).typeArguments;e&&e.length>=2?(Jn(s,e[0])&&(c=!0),i=e[1]):(c=!0,i=Ys.create())}c||(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedDictArgumentNotMapping(),t[o].valueExpression||e),l=!0)}}y&&y.push(t[o])}else{const n=t[o].name;if(n){const i=n.value,r=d.get(i);if(r&&!r.isPositionalOnly)if(r.argsReceived>0)_e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAlreadyAssigned().format({name:i}),n),l=!0;else{r.argsReceived++;const n=s.params.findIndex((e=>e.param.name===i));w(n>=0);const a=s.params[n].type;S.push({paramCategory:0,paramType:a,requiresTypeVarMatching:$a(a),argument:t[o],errorNode:t[o].valueExpression||e,paramName:i}),x(t[o],s.params[n].param)}else if(void 0!==s.kwargsIndex){if(y)y.push(t[o]);else{const n=s.params[s.kwargsIndex].type;S.push({paramCategory:2,paramType:n,requiresTypeVarMatching:$a(n),argument:t[o],errorNode:t[o].valueExpression||e,paramName:i}),d.set(i,{argsNeeded:1,argsReceived:1,isPositionalOnly:!1})}w(s.params[s.kwargsIndex],"paramDetails.kwargsIndex params entry is undefined"),x(t[o],s.params[s.kwargsIndex].param)}else _e(qt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.value}),n),l=!0}else 0===t[o].argumentCategory&&(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===m?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:m}),t[o].valueExpression||e),l=!0)}o++}if(!i||C&&void 0===s.argsIndex||s.params.forEach(((n,r)=>{var o,a;const l=n.param;if(r>=s.firstPositionOrKeywordIndex&&0===l.category&&l.name&&!l.hasDefault&&d.has(l.name)&&0===d.get(l.name).argsReceived){const n=s.params[r].type;S.push({paramCategory:0,paramType:n,requiresTypeVarMatching:$a(n),argument:{argumentCategory:0,type:i},errorNode:null!==(a=null===(o=t.find((e=>2===e.argumentCategory)))||void 0===o?void 0:o.valueExpression)&&void 0!==a?a:e,paramName:l.isNameSynthesized?void 0:l.name}),d.get(l.name).argsReceived=1}})),!i&&!Xs.isDefaultParameterCheckDisabled(n)){const t=[...d.keys()].filter((e=>{const t=d.get(e);return!t||t.argsReceived0){const n=t.map((e=>`"${e}"`)).join(", ");_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===t.length?ml.Diagnostic.argMissingForParam().format({name:n}):ml.Diagnostic.argMissingForParams().format({names:n}),e),l=!0}s.params.forEach((t=>{const n=t.param;if(0===n.category&&n.name){const t=d.get(n.name);0===t.argsNeeded&&0===t.argsReceived&&n.defaultType&&!ca(n.defaultType)&&$a(n.type)&&S.push({paramCategory:n.category,paramType:n.type,requiresTypeVarMatching:!0,argument:{argumentCategory:0,type:n.defaultType},errorNode:e,paramName:n.isNameSynthesized?void 0:n.name})}}))}}if((!l||!c.isSpeculative(void 0))&&void 0!==s.argsIndex&&s.argsIndex>=0&&s.params[s.argsIndex].param.hasDeclaredType&&!p){const t=s.params[s.argsIndex].type,n=S.filter((e=>e.mapsToVarArgList));if(bo(t)&&t.details.isVariadic&&T&&_o(T)){const i=n.map((t=>{var n;const i=bn(t.argument).type;return(So(i)||vo(i)&&pa(i)&&i.tupleTypeArguments&&i.tupleTypeArguments.some((e=>So(e.type))))&&1!==t.argument.argumentCategory&&_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarTupleMustBeUnpacked(),null!==(n=t.argument.valueExpression)&&void 0!==n?n:e),{type:Qo(i),isUnbounded:1===t.argument.argumentCategory}})),r={paramCategory:1,paramType:t,requiresTypeVarMatching:!0,argument:{argumentCategory:0,type:Zs.cloneAsInstance(qa(T,i,!0,!0,!0))},errorNode:e,paramName:s.params[s.argsIndex].param.name,mapsToVarArgList:!0};S=[...S.filter((e=>!e.mapsToVarArgList)),r]}}let D=0;return a&&D--,["isinstance","issubclass"].some((e=>e===n.details.builtInName))&&2===S.length&&(S[1].expectingType=!0),{overload:n,overloadIndex:i,argumentErrors:l,isTypeIncomplete:u,argParams:S,paramSpecTarget:_,paramSpecArgList:y,activeParam:I,relevance:D}}function nt(e,t,n,i=!1,r){const s=t.overload;if(!r||ho(r)||ao(r)||$a(r)||!s.details.declaredReturnType)return it(e,t,n,i);const o=Un(s);let a=r,l=4;if(oa(a,!0)&&(l|=128),fo(r)){let r;kn(e,(()=>{const s=n.clone();Jn(o,a,void 0,s,1024|l),r=it(e,t,s,i)})),r&&r.argumentErrors&&(a=void 0)}if(a){if(vo(o)&&vo(a)&&!Zs.isSameGenericClass(o,a)){const t=new jo(na(o));Xe(o,a,t,Re(e));const n=Zs.cloneForSpecialization(o,void 0,!1);a=fa(n,t)}Jn(o,a,void 0,n,1024|l)}return it(e,t,n,i)}function it(e,t,n,i=!1){const r=t.overload;let s,o=t.isTypeIncomplete,a=!1;const l=Xo(r);if(r.boundTypeVarScopeId&&(void 0!==r.preBoundFlags&&r.boundToType&&$a(r.boundToType)&&6&r.preBoundFlags&&n.addSolveForScope(r.boundTypeVarScopeId),"__init__"===r.details.name&&Xs.isOverloaded(r)&&r.strippedFirstParamType&&r.boundToType&&vo(r.strippedFirstParamType)&&vo(r.boundToType)&&Zs.isSameGenericClass(r.strippedFirstParamType,r.boundToType)&&r.strippedFirstParamType.typeArguments)){const e=r.strippedFirstParamType.details.typeParameters;s=r.strippedFirstParamType,r.strippedFirstParamType.typeArguments.forEach(((t,i)=>{ie===r.details.builtInName))&&(i=!0);const c=t.argParams.filter((e=>e.requiresTypeVarMatching)).length;if(c>0){let s=Math.min(c,2);for(let a=0;a{t.argParams.forEach((e=>{if(e.requiresTypeVarMatching){const t=st(e,n,r,i,0===a,s>1&&0===a,l);t.isTypeIncomplete&&(o=!0),0===a&&t.skippedOverloadArg&&s++}}))}));n.lock()}t.argParams.forEach((e=>{const t=st(e,n,r,i,!1,!1,l);t.isCompatible||(a=!0),t.isTypeIncomplete&&(o=!0)})),t.paramSpecArgList&&t.paramSpecTarget&&(function(e,t,n,i,r){var s;const o=i.getParamSpec(n);if(!o)return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecNotBound().format({type:ai(n)}),(null===(s=t[0])||void 0===s?void 0:s.valueExpression)||e),!1;i.addSolveForScope(o.typeVarScopeId);let a=!1;const l=new Map,c=o.parameters;c.forEach((e=>{e.name&&l.set(e.name,e)}));let u=0,p=c.findIndex((e=>0!==e.category));p<0&&(p=c.length);const d=c.find((e=>1===e.category)),h=c.find((e=>2===e.category));if(t.forEach((t=>{if(0===t.argumentCategory){let n;if(t.name){const i=l.get(t.name.value);i?(n=i.type,l.delete(t.name.value)):h?n=h.type:(_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:t.name.value}),t.valueExpression||e),a=!0)}else{if(u{const t=l.get(e);return 0===t.category&&!t.hasDefault})),t.length>0&&!o.paramSpec){const n=t.map((e=>`"${e}"`)).join(", ");_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===t.length?ml.Diagnostic.argMissingForParam().format({name:n}):ml.Diagnostic.argMissingForParams().format({names:n}),e),a=!0}}return!a}(e,t.paramSpecArgList,t.paramSpecTarget,n,l)||(a=!0));const u=Un(r,t.argParams);let p=!0,d=e;for(;;){const e=Pr(d);if(!e)break;const t=Pe(e);n.hasSolveForScope(t)&&(p=!1),d=e}(Eo(u)||ko(u))&&(p=!1);let h=Zo(fa(u,n,!1,!1,p),l);return xo(h)&&(h=Zs.cloneForUnpacked(h,!1)),vo(h)&&Zs.isBuiltIn(h,["TypeGuard","StrictTypeGuard"])&&h.typeArguments&&h.typeArguments.length>0&&b&&_o(b)&&(h=Zs.cloneAsInstance(Zs.cloneForTypeGuard(b,h.typeArguments[0],Zs.isBuiltIn(h,"StrictTypeGuard")))),Eo(h)&&!h.details.name&&(h.details={...h.details,typeVarScopeId:$s}),s&&(s=fa(s,n)),{argumentErrors:a,returnType:h,isTypeIncomplete:o,activeParam:t.activeParam,specializedInitSelfType:s}}function rt(e,t,n,i,r=!1,s){const o=tt(e,t,n,0);return o.argumentErrors?(d.isUndoTrackingEnabled()||t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&$(e.valueExpression)})),{argumentErrors:!0,activeParam:o.activeParam}):nt(e,o,i,r,s)}function st(e,t,n,i,r,s,o){let a,l,u=!1,p=!0;const d=null==n?void 0:n.details.name;if(e.argument.valueExpression){let i=bo(e.paramType)&&void 0!==n&&e.paramType.scopeId===n.details.typeVarScopeId?void 0:fa(e.paramType,t,!1,s);if(i&&po(i)&&(i=void 0),e.argType)a=e.argType;else{const t=e.expectingType?168:0,n=$(e.argument.valueExpression,i,t);a=n.type,n.isIncomplete&&(u=!0),n.typeErrors&&(p=!1),l=n.expectedTypeDiagAddendum}e.argument&&e.argument.name&&!c.isSpeculative(e.errorNode)&&N(e.argument.name,i||a,0,u)}else if(e.argType)a=e.argType;else if(e.expectingType&&!e.argument.type&&e.argument.valueExpression){const t=$(e.argument.valueExpression,void 0,168);a=t.type,t.isIncomplete&&(u=!0)}else{const t=bn(e.argument);a=t.type,t.isIncomplete&&(u=!0)}2===e.paramCategory&&bo(e.paramType)&&(a=Qo(a)),o&&(a=Se(a,o,(e=>e)));let h=new il;if(wo(e.paramType)&&void 0!==e.paramType.paramSpecAccess)return{isCompatible:p,isTypeIncomplete:u};if(r){if(ko(a))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0};const t=Ie(e.paramType);if(Eo(t)||ko(t)){if(_o(a)){const e=Zn(a);if(e&&ko(e))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0}}if(vo(a)){const e=_a(a,"__call__");if(e&&ko(Bn(e)))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0}}}}if(!Jn(e.paramType,a,h.createAddendum(),t)){if("none"!==qt(e.errorNode).diagnosticRuleSet.reportGeneralTypeIssues&&!ye(e.errorNode)){const t=qt(e.errorNode),n=ai(a),i=ai(e.paramType);let r;r=e.paramName?d?ml.Diagnostic.argAssignmentParamFunction().format({argType:n,paramType:i,functionName:d,paramName:e.paramName}):ml.Diagnostic.argAssignmentParam().format({argType:n,paramType:i,paramName:e.paramName}):d?ml.Diagnostic.argAssignmentFunction().format({argType:n,paramType:i,functionName:d}):ml.Diagnostic.argAssignment().format({argType:n,paramType:i}),l&&(h=l),_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,r+al(h),e.errorNode)}return{isCompatible:!1,isTypeIncomplete:u}}if(!i){const t=Ro(a),n=qt(e.errorNode),i=()=>{const t=new il;return e.paramName&&t.addMessage((d?ml.DiagnosticAddendum.argParamFunction().format({paramName:e.paramName,functionName:d}):ml.DiagnosticAddendum.argParam().format({paramName:e.paramName}))+t.getString()),t};if("none"!==n.diagnosticRuleSet.reportUnknownArgumentType&&!uo(e.paramType)&&!u)if(po(t)){const t=i();_e(n.diagnosticRuleSet.reportUnknownArgumentType,$o.reportUnknownArgumentType,ml.Diagnostic.argTypeUnknown()+t.getString(),e.errorNode)}else if(La(t,!0)){let r=!1;if(_o(t)&&(r=!0),La(e.paramType)&&(r=!0),vo(t)&&t.isEmptyContainer&&(r=!0),!r){const r=i();r.addMessage(ml.DiagnosticAddendum.argumentType().format({type:ai(t,!0)})),_e(n.diagnosticRuleSet.reportUnknownArgumentType,$o.reportUnknownArgumentType,ml.Diagnostic.argTypePartiallyUnknown()+r.getString(),e.errorNode)}}}return{isCompatible:p,isTypeIncomplete:u}}function ot(e){if(11===e.nodeType){if(15===e.constType)return!1;if(33===e.constType)return!0}return fe(ml.Diagnostic.expectedBoolLiteral(),e),!1}function at(e,t){const n=qt(e);let i="_";if(t.length>=1){const e=t[0];0===e.argumentCategory&&e.valueExpression&&48===e.valueExpression.nodeType&&(i=e.valueExpression.strings.map((e=>e.value)).join(""))}if(t.length>=2){const r=In(t[1]).type;if(_o(r)){Zs.isProtocolClass(r)?fe(ml.Diagnostic.newTypeProtocolClass(),t[1].node||e):void 0!==r.literalValue&&fe(ml.Diagnostic.newTypeLiteral(),t[1].node||e);const s=-4&r.details.flags,o=Zs.createInstantiable(i,br(e,n.moduleName,i),n.moduleName,n.filePath,s,Ir(e),void 0,r.details.effectiveMetaclass);o.details.baseClasses.push(r),Ha(o);const a=Xs.createInstance("__init__","","",64);Xs.addParameter(a,{category:0,name:"self",type:Zs.cloneAsInstance(o),hasDeclaredType:!0}),Xs.addParameter(a,{category:0,name:"_x",type:Zs.cloneAsInstance(r),hasDeclaredType:!0}),a.details.declaredReturnType=to.createInstance(),o.details.fields.set("__init__",Vo.createWithType(4,a));const l=Xs.createInstance("__new__","","",65);return Xs.addParameter(l,{category:0,name:"cls",type:o,hasDeclaredType:!0}),Xs.addDefaultParameters(l),l.details.declaredReturnType=Zs.cloneAsInstance(o),o.details.fields.set("__new__",Vo.createWithType(4,l)),o}ho(r)||fe(ml.Diagnostic.newTypeNotAClass(),t[1].node||e)}}function lt(e){return!(!Ku[e]||!Ku[e][2])||!!Ju[e]}function ut(e,t,n){const i=e.leftExpression;let r=e.rightExpression,s=!1;lt(e.operator)&&7===r.nodeType&&!r.parenthesized&<(r.operator)&&(ut(r,t,n),r=r.leftExpression);let o,a=37===e.operator||36===e.operator?t:void 0;26===e.operator&&t&&vo(t)&&Zs.isBuiltIn(t,"list")&&t.typeArguments&&t.typeArguments.length>=1&&31===e.leftExpression.nodeType&&(o=t);const l=$(i,a||o,n);let c=l.type;a||(37===e.operator||36===e.operator||0===e.operator&&31===e.rightExpression.nodeType||6===e.operator)&&(a=c);const u=$(r,a,n);let p=u.type;if((l.isIncomplete||u.isIncomplete)&&(s=!0),6===e.operator&&!pt(c,"__or__")&&!pt(p,"__ror__")){let t=p;if(!lo(c)&&lo(p)&&Ks.isInstance(p)&&(t=to.createType()),function(e){let t=3;for(const n of e)t&=n.flags;return 0!=(1&t)&&0==(2&t)}([c,t])){const i=qt(e);i.isStubFile||0!=(4&n)||i.executionEnvironment.pythonVersion>=De.V3_10||ho(c)||fe(ml.Diagnostic.unionSyntaxIllegal(),e,e.operatorToken);const r=Oo([c,t]);return fo(r)&&Ks.setSpecialForm(r),{type:r,node:e}}}let d=!1;void 0===Ju[e.operator]&&(12===e.operator||28===e.operator?c=Fo(c):d=Go(c),12!==e.operator&&28!==e.operator||(p=Fo(p)));const h=new il,m=!l.isIncomplete&&!u.isIncomplete;let f=mt(e.operator,c,p,e,t,h,m);if(!h.isEmpty()||!f){if(!s){const t=qt(e);d&&1===h.getMessages().length?_e(qt(e).diagnosticRuleSet.reportOptionalOperand,$o.reportOptionalOperand,ml.Diagnostic.noneOperator().format({operator:Cr(e.operator)}),e.leftExpression):_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e.operator),leftType:ai(c),rightType:ai(p)})+al(h),e)}f=Ys.create()}return{type:f,node:e,isIncomplete:s}}function pt(e,t){if(!_o(e))return!1;const n=e.details.effectiveMetaclass;if(!n||!_o(n))return!1;if(Zs.isBuiltIn(n,"type"))return!1;const i=va(n,t);return!(!i||_o(i.classType)&&Zs.isBuiltIn(i.classType,"type"))}function ht(e,t){const n={1:["__iadd__",0],34:["__isub__",33],27:["__imul__",26],14:["__ifloordiv__",13],11:["__itruediv__",10],25:["__imod__",24],30:["__ipow__",29],23:["__imatmul__",22],4:["__iand__",3],7:["__ior__",6],9:["__ixor__",8],18:["__ilshift__",17],32:["__irshift__",31]};let i;const r=new il,s=$(e.leftExpression),o=s.type;let a;7===e.operator&&(a=o);const l=$(e.rightExpression,a),c=l.type,u=!!l.isIncomplete||!!s.isIncomplete;return ao(o)||ao(c)?{node:e,type:no.createNever(),isIncomplete:u}:(i=Se(o,void 0,((i,o)=>Se(c,Xo(i),((a,c)=>{if(ho(o)||ho(c))return po(o)||po(c)?Ys.create():io.create();const u=n[e.operator][0];let p=gt(o,[c],u,e,t);if(p||o===i||(p=gt(i,[c],u,e,t)),p||c===a||(p=gt(i,[a],u,e,t)),!p){const i=n[e.operator][1],a=!s.isIncomplete&&!l.isIncomplete;p=mt(i,o,c,e,t,r,a)}return p})))),r.isEmpty()&&i&&!ao(i)||(u||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e.operator),leftType:ai(o),rightType:ai(c)})+al(r),e),i=Ys.create()),{node:e,type:i,isIncomplete:u})}function mt(e,t,n,i,r,s,o){let a,l=Ie(t);if(void 0!==Ju[e]){if(36===e){if(!Q(l))return t;if(!Y(l))return n;l=Z(l)}else if(37===e){if(!Y(l))return t;if(!Q(l))return n;l=X(l)}if(ao(t)||ao(n))return no.createNever();41===e||42===e?(a=Se(n,void 0,((t,n)=>Se(l,Xo(t),(r=>{if(ho(r)||ho(n))return po(r)||po(n)?Ys.create():io.create();let o=gt(t,[r],"__contains__",i,void 0);if(!o){const e=ae(t,!1,void 0);e&&Jn(e,r)&&(o=Cn(i,"bool"))}return o||s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e),leftType:ai(r),rightType:ai(t)})),o})))),a&&!ao(a)&&(a=Cn(i,"bool"))):a=Se(l,void 0,((t,r)=>Se(n,Xo(t),((t,n)=>36===e||37===e?Oo([r,n]):Cn(i,"bool")))))}else if(Ku[e]){if(ao(t)||ao(n))return no.createNever();if(o){const i=aa(t);if(i&&!Xo(t)){const r=64;if(i===aa(n)&&!Xo(n)&&la(t)*la(n)Ko(n,(t=>{const n=e,i=t;return Zs.cloneWithLiteral(n,n.literalValue+i.literalValue)})))));else if("int"===i&&(0===e||33===e||26===e||13===e||24===e)){let i=!0;a=Ko(t,(t=>Ko(n,(n=>{try{const r=t,s=n,o=BigInt(r.literalValue),a=BigInt(s.literalValue);let l;return 0===e?l=o+a:33===e?l=o-a:26===e?l=o*a:13===e?a!==BigInt(0)&&(l=o/a):24===e&&a!==BigInt(0)&&(l=o%a),void 0===l||"number"==typeof l&&isNaN(l)?void(i=!1):(l===BigInt(Number(l))&&(l=Number(l)),Zs.cloneWithLiteral(r,l))}catch{return void(i=!1)}})))),i||(a=void 0)}}}a||(a=Se(t,void 0,((t,o)=>Se(n,Xo(t),((n,a)=>{if(ho(o)||ho(a))return po(o)||po(a)?Ys.create():io.create();if(0===e&&vo(t)&&pa(t)&&t.tupleTypeArguments&&!da(t)&&vo(n)&&pa(n)&&n.tupleTypeArguments&&!da(n)&&T&&_o(T))return Zs.cloneAsInstance(qa(T,[...t.tupleTypeArguments,...n.tupleTypeArguments]));const l=Ku[e][0];let c=gt(yt(o),[a],l,i,r);if(c||o===t||(c=gt(yt(t),[a],l,i,r)),c||a===n||(c=gt(yt(t),[n],l,i,r)),!c){const s=Ku[e][1];c=gt(yt(a),[o],s,i,r),c||a===n||(c=gt(yt(n),[o],s,i,r)),c||o===t||(c=gt(yt(n),[t],s,i,r))}return c||(r?s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperatorBidirectional().format({operator:Cr(e),leftType:ai(t),rightType:ai(n),expectedType:ai(r)})):s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e),leftType:ai(t),rightType:ai(n)}))),c})))))}return a&&ao(a)?void 0:a}function gt(e,t,n,i,r){let s=!0;const o=e=>{var o,a;let l;const c=Ie(e);if(vo(c)?l=null===(o=ee(i,c,n,void 0,void 0,64,e))||void 0===o?void 0:o.type:_o(c)&&(l=null===(a=te(i,c,n,void 0,void 0,96))||void 0===a?void 0:a.type),l){const e=t.map((e=>({argumentCategory:0,type:e})));let n;return kn(i,(()=>{n=et(i,e,l,void 0,!0,r)})),n.argumentErrors&&(s=!1),n.returnType}s=!1},a=Ko(e,(e=>{if(ho(e))return e;if(vo(e)||_o(e)||bo(e))return o(e);if(lo(e)){const e=Cn(i,"object");if(vo(e))return o(e)}s=!1}));if(s)return a}function yt(e){return(Eo(e)||ko(e))&&y?y:e}function _t(e,t,n){if(!vo(t=ta(t)))return;const i=[],r=[];let s=!1;if(Zs.isTypedDictClass(t)){if(Tt(e,i,r,!0,void 0,void 0,gl(li,t),n)&&(s=!0),Zs.isTypedDictClass(t)){const o=function(e,t,n,i,r){w(vo(t)),w(Zs.isTypedDictClass(t)),w(n.length===i.length);let s=!0;const o=new Map,a=gl(e,t);if(n.forEach(((n,l)=>{if(vo(n)&&Zs.isBuiltIn(n,"str")&&ra(n)){const c=n.literalValue,u=a.get(c);u?(e.canAssignType(u.valueType,i[l])||(r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldTypeMismatch().format({name:n.literalValue,type:e.printType(i[l])})),s=!1),u.isRequired||o.set(c,{valueType:i[l],isRequired:!1,isProvided:!0}),u.isProvided=!0):(s=!1,r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldUndefined().format({name:n.literalValue,type:e.printType(Zs.cloneAsInstance(t))})))}else s=!1})),s&&(a.forEach(((n,i)=>{n.isRequired&&!n.isProvided&&(r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldRequired().format({name:i,type:e.printType(t)})),s=!1)})),s))return 0===o.size?t:Zs.cloneForNarrowedTypedDictEntries(t,o)}(li,t,i,r,n);if(o)return{type:o,node:e,isIncomplete:s}}return}const o=Cn(e,"dict");if(!vo(o))return;const a=new jo(na(o));if(!Xe(o,t,a,Re(e)))return;const l=fa(Zs.cloneAsInstantiable(o),a);if(!l.typeArguments||2!==l.typeArguments.length)return;const c=l.typeArguments[0],u=l.typeArguments[1];Tt(e,i,r,!0,c,u,void 0,n)&&(s=!0);const p=vo(t)&&(Zs.isBuiltIn(t,"dict")||Zs.isBuiltIn(t,"MutableMapping")),d=It(c,i,!1),h=It(u,r,!p);return d&&h?{type:Cn(e,"dict",[d,h]),node:e,isIncomplete:s}:void 0}function vt(e,t){const n=t?io.create():Ys.create();let i=n,r=n,s=[],o=[],a=!1,l=!1;Tt(e,s,o,t)&&(l=!0),s=s.map((e=>Qo(e))),o=o.map((e=>Qo(e))),i=s.length>0?Oo(s):n,o.length>0?r=qt(e).diagnosticRuleSet.strictDictionaryInference||t?Oo(o):Yo(o,!0)?o[0]:n:(r=n,a=!0);const c=xn(e,"dict");return{type:_o(c)?Zs.cloneAsInstance(Zs.cloneForSpecialization(c,[i,r],!0,void 0,void 0,a)):Ys.create(),node:e,isIncomplete:l}}function Tt(e,t,n,i,r,s,o,a){let l=!1;return e.entries.forEach(((c,u)=>{var p;let d=!0;if(17===c.nodeType){const e=$(c.keyExpression,null!=r?r:i?no.createNever():void 0);e.isIncomplete&&(l=!0);let p,h=e.type;if(r){const e=Ie(r);ho(e)||Jn(e,h)&&(h=e)}p=o&&vo(h)&&Zs.isBuiltIn(h,"str")&&ra(h)&&o.has(h.literalValue)?$(c.valueExpression,o.get(h.literalValue).valueType):$(c.valueExpression,null!=s?s:i?no.createNever():void 0),a&&p.expectedTypeDiagAddendum&&a.addAddendum(p.expectedTypeDiagAddendum);const m=p.type;p.isIncomplete&&(l=!0),(i||u<64)&&(t.push(h),n.push(m)),d=!1}else if(16===c.nodeType){const r=$(c.expandExpression);r.isIncomplete&&(l=!0);const s=r.type;if(ho(s))d=!1;else{const r=ce(e,"Mapping");if(r&&_o(r)){const o=new jo(na(r));if(Jn(Zs.cloneAsInstance(r),s,void 0,o)){const e=fa(r,o).typeArguments;e&&e.length>=2&&((i||u<64)&&(t.push(e[0]),n.push(e[1])),d=!1)}else _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dictUnpackIsNotMapping(),c)}}}else if(32===c.nodeType){const e=wt(c,s,r),o=e.type;if(e.isIncomplete&&(l=!0),vo(o)&&pa(o)){const e=null===(p=o.tupleTypeArguments)||void 0===p?void 0:p.map((e=>e.type));e&&2===e.length&&((i||u<64)&&(t.push(e[0]),n.push(e[1])),d=!1)}}d&&(i||u<64)&&(t.push(Ys.create()),n.push(Ys.create()))})),l}function bt(e,t){const n=31===e.nodeType?"list":"set";t=ta(t);let i=!1;if(!vo(t))return;const r=Cn(e,n);if(!vo(r))return;const s=new jo(na(r));if(!Xe(r,t,s,Re(e)))return;const o=fa(Zs.cloneAsInstantiable(r),s);if(!o.typeArguments||1!==o.typeArguments.length)return;const a=o.typeArguments[0],l=[];e.entries.forEach((e=>{let t;t=32===e.nodeType?wt(e,a):$(e,a),l.push(t.type),t.isIncomplete&&(i=!0)}));const c=vo(t)&&Zs.isBuiltIn(t,n),u=It(a,l,!c);return u?{type:Cn(e,n,[u]),node:e,isIncomplete:i}:void 0}function It(e,t,n){const i=oo.createInstance("__typeArg");i.details.isSynthesized=!0,i.details.boundType=e,i.scopeId="__typeArgScopeId";let r=new jo($s);if(r.setTypeVarType(i,n?void 0:e,e),!t.some((e=>!Jn(i,Qo(e),void 0,r)))||(r=new jo($s),r.setTypeVarType(i,n?void 0:e,e,!0),!t.some((e=>!Jn(i,e,void 0,r)))))return fa(i,r)}function xt(e,t,n,i,r,s){if("none"===e)return;const o=n.value,a=Ro(i);if(po(a))_e(e,t,ml.Diagnostic.typeUnknown().format({name:o}),r);else if(La(a)&&(!s||!vo(i)||!i.isEmptyContainer)){const n=new il;n.addMessage(ml.DiagnosticAddendum.typeOfSymbol().format({name:o,type:ai(a,!0)})),_e(e,t,ml.Diagnostic.typePartiallyUnknown().format({name:o})+n.getString(),r)}}function Ct(e){let t=!1;if(33===e.nodeType){const n=$(e.iterableExpression);n.isIncomplete&&(t=!0);const i=ae(Qo(n.type),!!e.isAsync,e.iterableExpression)||Ys.create();xe(e.targetExpression,i,!!n.isIncomplete,e.iterableExpression)}else w(34===e.nodeType),c.isSpeculative(e.testExpression)||$(e.testExpression);return t}function wt(e,t,n){let i=!1;for(const t of e.forIfNodes)Ct(t)&&(i=!0);let r=Ys.create();if(17===e.expression.nodeType){const s=$(e.expression.keyExpression,n);s.isIncomplete&&(i=!0);let o=s.type;n&&oa(n)||(o=Qo(o));const a=$(e.expression.valueExpression,t);a.isIncomplete&&(i=!0);let l=a.type;t&&oa(t)||(l=Qo(l)),r=Ue([o,l])}else if(16===e.expression.nodeType)$(e.expression.expandExpression,t);else if(yr(e)){const n=$(e.expression,t);n.isIncomplete&&(i=!0),r=n.type}return{type:r,node:e,isIncomplete:i}}function Et(e,t){if(e.typeList){if(!(null==t?void 0:t.allowTypeArgList))return fe(ml.Diagnostic.typeArgListNotAllowed(),e.node),!1;e.typeList.forEach((e=>{Et(e)}))}if(ca(e.type)&&!(null==t?void 0:t.allowTypeArgList))return fe(ml.Diagnostic.ellipsisContext(),e.node),!1;if(To(e.type))return fe(ml.Diagnostic.moduleAsType(),e.node),!1;if(wo(e.type)&&!(null==t?void 0:t.allowParamSpec))return fe(ml.Diagnostic.paramSpecContext(),e.node),!1;if(Io(e.type)&&!e.type.isVariadicInUnion){if(!(null==t?void 0:t.allowVariadicTypeVar))return fe(ml.Diagnostic.typeVarTupleContext(),e.node),!1;Oe(e.type,e.node)}return!(null==t?void 0:t.allowEmptyTuple)&&e.isEmptyTupleShorthand?(fe(ml.Diagnostic.zeroLengthTupleNotAllowed(),e.node),!1):!(xo(e.type)&&!(null==t?void 0:t.allowUnpackedTuples)&&(fe(ml.Diagnostic.unpackedArgInTypeArgument(),e.node),1))}function kt(e,t,n){const i=Cn(e,t);return vo(i)?Zs.cloneWithLiteral(i,n):Ys.create()}function Nt(e,t,n){const i=xn(e,t);return _o(i)?Zs.cloneWithLiteral(i,n):Ys.create()}function Ot(e,t,n,i=!1,r=!1){const s=Zs.isTupleClass(e);if(t)if(s&&1===t.length&&t[0].isEmptyTupleShorthand)t=[];else{let e=!1;const r=t=>{e&&(o||(fe(ml.Diagnostic.variadicTypeArgsTooMany(),t.node),o=!0)),e=!0};let o=!1;t.forEach(((e,o)=>{ca(e.type)?s?2!==t.length||1!==o?fe(ml.Diagnostic.ellipsisSecondArg(),e.node):bo(t[0].type)&&Io(t[0].type)&&!t[0].type.isVariadicInUnion&&fe(ml.Diagnostic.typeVarTupleContext(),t[0].node):fe(ml.Diagnostic.ellipsisContext(),e.node):wo(e.type)&&i||(Io(e.type)&&void 0===n?(r(e),Oe(e.type,e.node)):void 0===n&&Co(e.type)?(r(e),Et(e,{allowUnpackedTuples:!0})):Et(e))}))}let o,a=t?t.map((e=>Fa(e.type))):[];if(void 0!==n)if(t&&a.length>n)fe(ml.Diagnostic.typeArgsTooMany().format({name:e.aliasName||e.details.name,expected:n,received:a.length}),t[n].node),a=a.slice(0,n);else if(a.length{1===t&&ca(a[t])?1!==n.length||n[0].isUnbounded?fe(ml.Diagnostic.ellipsisSecondArg(),e.node):n[0]={type:n[0].type,isUnbounded:!0}:xo(e.type)&&e.type.tupleTypeArguments?n.push(...e.type.tupleTypeArguments):n.push({type:a[t],isUnbounded:!1})})):n.push({type:Ys.create(),isUnbounded:!0}),o=qa(e,n,void 0!==t,!1)}else o=Zs.cloneForSpecialization(e,a,void 0!==t);return r||Ks.setSpecialForm(o),o}function Ut(e,t){var n,i,r,s;const o=Er(e,!0);if(o){const l=$t(o);if(l&&Zs.isEnumClass(l.classType)){let o=3===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)&&e.parent.leftExpression===e||54===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&e.parent.valueExpression===e&&3===(null===(r=e.parent.parent)||void 0===r?void 0:r.nodeType)||qt(e).isStubFile&&54===(null===(s=e.parent)||void 0===s?void 0:s.nodeType)&&e.parent.valueExpression===e;(a=e.value).length>2&&a.startsWith("_")&&a.endsWith("_")&&(o=!1),"name"!==e.value&&"value"!==e.value||(o=!1);const c=t();if(vo(c)&&c.details.fields.get("__get__")&&(o=!1),o)return Zs.cloneAsInstance(Zs.cloneWithLiteral(l.classType,new Hs(l.classType.details.name,e.value,c)))}}var a}function Vt(e,t,n){if(!Ks.isInstantiable(e))return e;if(ea(e))return e;let i=[];bo(e)&&!Ks.isAnnotated(e)||Jo(e,(e=>{Ia(i,Sa(e))})),i=i.filter((e=>!e.details.isSynthesized)),i=i.map((e=>Ks.isInstance(e)?e:Fa(e)));const r=i.filter((e=>Io(e)));r.length>1&&fe(ml.Diagnostic.variadicTypeParamTooManyAlias().format({names:r.map((e=>`"${e.details.name}"`)).join(", ")}),n);const s=qt(t),o=Pe(t),a=i.filter((e=>e.scopeId!==o&&0===e.scopeType));return a.length>0&&fe(ml.Diagnostic.genericTypeAliasBoundTypeVar().format({names:a.map((e=>`${e.details.name}`)).join(", ")}),n),Ks.cloneForTypeAlias(e,t.value,`${s.moduleName}.${t.value}`,o,i.length>0?i:void 0)}function Bt(e,t,n){const i=qt(e);let r=Zs.createInstantiable(t,br(e,i.moduleName,t),i.moduleName,i.filePath,3,0,void 0,void 0);i.isTypingExtensionsStubFile&&(r.details.flags|=65536);const s=n.alias||"object";let o;if("builtins"===n.module)o=xn(e,s);else if("collections"===n.module)o=ue(e,s,["collections"]);else if("self"===n.module){const t=wn(e,s,!1);t&&(o=Nn(t.symbol),_o(o)&&Zs.isBuiltIn(o,"_TypedDict")&&(o.details.flags&=-513))}return o&&_o(o)?n.alias?r=Zs.cloneForTypingAlias(o,t):(r.details.baseClasses.push(o),r.details.effectiveMetaclass=o.details.effectiveMetaclass,Ha(r)):(r.details.baseClasses.push(Ys.create()),r.details.effectiveMetaclass=Ys.create(),Ha(r)),r}function Wt(e){var t;const n=qt(e);if(F(e,0))return;let i,r=F(e.rightExpression,0),s=!1;if(!r&&((n.isTypingStubFile||n.isTypingExtensionsStubFile)&&(r=function(e){if(38!==e.leftExpression.nodeType)return;const t=e.leftExpression.value;if("Any"===t)return io.create();const n=new Map([["overload",{alias:"",module:"builtins"}],["TypeVar",{alias:"",module:"builtins"}],["_promote",{alias:"",module:"builtins"}],["no_type_check",{alias:"",module:"builtins"}],["NoReturn",{alias:"",module:"builtins"}],["Never",{alias:"",module:"builtins"}],["Counter",{alias:"Counter",module:"collections"}],["List",{alias:"list",module:"builtins"}],["Dict",{alias:"dict",module:"builtins"}],["DefaultDict",{alias:"defaultdict",module:"collections"}],["Set",{alias:"set",module:"builtins"}],["FrozenSet",{alias:"frozenset",module:"builtins"}],["Deque",{alias:"deque",module:"collections"}],["ChainMap",{alias:"ChainMap",module:"collections"}],["OrderedDict",{alias:"OrderedDict",module:"collections"}]]).get(t);return n?($(e.rightExpression),Bt(e,t,n)):void 0}(e),r&&N(e.rightExpression,r,0,!1)),!r)){const l=se(e.leftExpression,{method:"set"});let c,u=0;n.isStubFile&&(u|=256),38!==e.rightExpression.nodeType&&35!==e.rightExpression.nodeType||(u|=2);let p,d=!1;if(re(e.leftExpression))u|=232,u&=-3,c=e.leftExpression.valueExpression;else if(38===e.leftExpression.nodeType){const t=wn(e.leftExpression,e.leftExpression.value,!1);if(t){const n=t.symbol.getDeclarations();1===n.length&&os(n[0])&&(c=e.leftExpression,d=!0)}}if(c){p=oo.createInstantiable(`__type_alias_${c.value}`),p.details.isSynthesized=!0,p.details.recursiveTypeAliasName=c.value;const t=Pe(c);p.details.recursiveTypeAliasScopeId=t,p.scopeId=t,N(e,p,void 0,!1),N(e.leftExpression,p,void 0,!1),54===e.leftExpression.nodeType&&N(e.leftExpression.valueExpression,p,void 0,!1)}const h=$(e.rightExpression,l,u);let m=h.type;i=h.expectedTypeDiagAddendum,h.isIncomplete&&(s=!0);const f=Xc(e.rightExpression,n.executionEnvironment);if(void 0!==f){const t=Cn(e,"bool");vo(t)&&(m=Zs.cloneWithLiteral(t,f))}l&&Jn(l,m)&&(ho(m)||(m=ni(l,m))),r=m,38!==e.leftExpression.nodeType||e.typeAnnotationComment||(r=Ut(e.leftExpression,(()=>r))||r),c&&(M(e),M(e.leftExpression),54===e.leftExpression.nodeType&&M(e.leftExpression.valueExpression),(!d||Ks.isInstantiable(r)&&!po(r))&&(r=Vt(r,c,e.rightExpression),o=p,(9!==(a=r).category?a===o||mo(a)&&a.typeAliasInfo&&a.typeAliasInfo.name===o.details.recursiveTypeAliasName:void 0!==Mo(a,(e=>Ao(o,e))))&&_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAliasIsRecursiveDirect().format({name:c.value}),e.rightExpression),p.details.boundType=r,p.details.recursiveTypeParameters=null===(t=r.typeAliasInfo)||void 0===t?void 0:t.typeParameters),p.details.illegalRecursionDetected&&_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAliasIsRecursiveIndirect().format({name:c.value}),e.leftExpression))}var o,a;xe(e.leftExpression,r,s,e.rightExpression,!0,!0,i),N(e,r,0,s)}function jt(e){if(F(e,0))return;const t=ht(e,void 0);xe(e.destExpression,t.type,!!t.isIncomplete,e.rightExpression),N(e,t.type,0,!!t.isIncomplete)}function $t(e){const t=F(e.name,0);if(t){if(!_o(t))return;return{classType:t,decoratedType:F(e,0)||Ys.create()}}const n=zs(e),i=qt(e);let r=0;(4===(null==n?void 0:n.type)||i.isTypingStubFile||i.isTypingExtensionsStubFile||i.isBuiltInStubFile)&&(r|=1,i.isTypingExtensionsStubFile&&(r|=65536),"property"===e.name.value&&(r|=2048),"tuple"===e.name.value&&(r|=524288)),i.isStubFile&&(r|=8388608);const s=Zs.createInstantiable(e.name.value,br(e,i.moduleName,e.name.value),i.moduleName,i.filePath,r,0,void 0,void 0,Vr(e.suite.statements));s.details.typeVarScopeId=Pe(e);const o=null==n?void 0:n.lookUpSymbol(e.name.value);let a;const l=Mt(e);l&&(a=l),a&&o&&B(o,a,s),s.details.flags|=131072,N(e,s,void 0,!1),N(e.name,s,void 0,!1);const c=[];let u;const p=[];let d,h=272960;i.isStubFile&&(h|=4),e.arguments.forEach((e=>{if(e.name)if("metaclass"===e.name.value)d?fe(ml.Diagnostic.metaclassDuplicate(),e):d=e.valueExpression;else if("total"===e.name.value&&Zs.isTypedDictClass(s)){const t=Xc(e.valueExpression,i.executionEnvironment);void 0===t?fe(ml.Diagnostic.typedDictTotalParam(),e.valueExpression):t||(s.details.flags|=256)}else p.push({argumentCategory:0,node:e,name:e.name,valueExpression:e.valueExpression});else{let t=$(e.valueExpression,void 0,h).type;if(fo(t)&&(t=Ro(t)),ho(t)||mo(t)||(_o(t)?(Zs.isBuiltIn(t,"Protocol")&&(!i.isStubFile&&!Zs.isTypingExtensionClass(t)&&i.executionEnvironment.pythonVersion=De.V3_6&&Zs.isBuiltIn(t,"NamedTuple")&&(s.details.flags|=16777220),Zs.isBuiltIn(t,"TypedDict")||Zs.isTypedDictClass(t)?s.details.flags|=128:Zs.isTypedDictClass(s)&&!Zs.isTypedDictClass(t)&&fe(ml.Diagnostic.typedDictBaseClass(),e),Da(t,s,!0)&&(fe(ml.Diagnostic.baseClassCircular(),e),t=Ys.create())):(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.baseClassInvalid(),e),t=Ys.create())),po(t)&&_e(i.diagnosticRuleSet.reportUntypedBaseClass,$o.reportUntypedBaseClass,ml.Diagnostic.baseClassUnknown(),e),s.details.baseClasses.some((e=>_o(e)&&_o(t)&&Zs.isSameGenericClass(t,e)))&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.duplicateBaseClass(),e.name||e),s.details.baseClasses.push(t),_o(t)&&(Zs.isEnumClass(t)&&(s.details.flags|=1048576),(Zs.supportsAbstractMethods(t)||Zs.isProtocolClass(t)&&!Zs.isBuiltIn(t))&&(s.details.flags|=512),Zs.isPropertyClass(t)&&(s.details.flags|=2048),Zs.isFinal(t))){const n=oi(t);fe(ml.Diagnostic.baseClassFinal().format({type:n}),e.valueExpression)}Ia(c,Sa(t)),_o(t)&&Zs.isBuiltIn(t,"Generic")&&(u||(u=[],Ia(u,Sa(t))))}})),s.details.baseClasses.length>1&&s.details.baseClasses.some((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")))&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.namedTupleMultipleInheritance(),e.name),Zs.isBuiltIn(s,"object")||0!==s.details.baseClasses.filter((e=>yo(e))).length||s.details.baseClasses.push(xn(e,"object")),u&&function(e,t,n){const i=t.filter((e=>!n.some((t=>t.details.name===e.details.name))));if(i.length>0){const t=new il;t.addMessage(ml.DiagnosticAddendum.typeVarsMissing().format({names:i.map((e=>`"${e.details.name}"`)).join(", ")})),_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarsNotInGeneric()+t.getString(),e)}}(e.name,c,u),s.details.typeParameters=u||c;const m=s.details.typeParameters.filter((e=>Io(e)));m.length>1&&fe(ml.Diagnostic.variadicTypeParamTooManyClass().format({names:m.map((e=>`"${e.details.name}"`)).join(", ")}),e.name,dt.combine(e.arguments)||e.name),Ha(s)||fe(ml.Diagnostic.methodOrdering(),e.name);const f=zs(e.suite);s.details.fields=(null==f?void 0:f.symbolTable)||new Map;const y=null==f?void 0:f.getSlotsNames();if(y&&(s.details.localSlotsNames=y),Zs.isTypedDictClass(s)&&fl(li,e,s),!i.isStubFile&&0===s.details.typeParameters.length){const t=s.details.fields.get("__init__");if(t){const n=t.getTypedDeclarations();if(1===n.length&&3===n[0].type){const t=n[0].node,i=t.parameters;if(i.length>1&&!i.some(((e,n)=>!!ie(t,n)))){const n=i.filter(((e,t)=>t>0&&e.name&&0===e.category));n.length>0&&(s.details.flags|=16384,s.details.typeParameters=n.map((n=>{const i=oo.createInstance(`__type_of_${n.name.value}`);return i.details.isSynthesized=!0,i.scopeId=Pe(t),i.details.boundType=Ys.create(),oo.cloneForScopeId(i,Pe(e),e.name.value,0)})))}}}}if(0!==s.details.typeParameters.length||Zs.isBuiltIn(s,"type")||(s.details.baseClasses.some((e=>_o(e)&&Zs.hasCustomClassGetItem(e)))||s.details.fields.has("__class_getitem__"))&&(s.details.flags|=262144),d){const e=$(d,void 0,h).type;(_o(e)||po(e))&&($a(e)&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.metaclassIsGeneric(),d),s.details.declaredMetaclass=e,_o(e)&&(Zs.isBuiltIn(e,"EnumMeta")?s.details.flags|=1048576:Zs.isBuiltIn(e,"ABCMeta")&&(s.details.flags|=512)))}let v=s.details.declaredMetaclass,T=!1;if(!v||_o(v))for(const t of s.details.baseClasses){if(!_o(t)){v=Ys.create();break}{const n=t.details.effectiveMetaclass||_;if(!n||!_o(n)){v=n?Ys.create():void 0;break}v?Da(n,v,!1)?v=n:Da(v,n,!1)||T||(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.metaclassConflict(),e.name),T=!0):v=n}}if(!v){const t=xn(e,"type");v=t&&_o(t)?t:Ys.create()}s.details.effectiveMetaclass=v;let b,I=s,S=!1;for(let t=e.decorators.length-1;t>=0;t--){const n=e.decorators[t],r=Ht(I,s,n);Oa(r)?S||(_e(i.diagnosticRuleSet.reportUntypedClassDecorator,$o.reportUntypedClassDecorator,ml.Diagnostic.classDecoratorTypeUnknown(),e.decorators[t].expression),S=!0):I=r}if(_o(v)&&v.details.classDataClassTransform)b=v.details.classDataClassTransform;else{const e=s.details.mro.find((e=>yo(e)&&void 0!==e.details.classDataClassTransform));e&&(b=e.details.classDataClassTransform)}if(b&&(Wu(s,b),Bu(li,s,p)),s.details.flags&=-131073,Zs.isDataClass(s)){const t=Zs.isSkipSynthesizedDataClassInit(s);let n=t;if(!t){const e=va(s,"__init__",2);if(e){const t=Bn(e);Eo(t)&&Xs.isSynthesizedMethod(t)||(n=!0)}}let i=!1;const r=va(s,"__hash__",2);if(r){const e=Bn(r);Eo(e)&&!Xs.isSynthesizedMethod(e)&&(i=!0)}!function(e,t,n,i,r,s){w(Zs.isDataClass(n));const o=Aa(n,!0),a=Xs.createInstance("__new__","","",65),l=Xs.createInstance("__init__","","",64);Xs.addParameter(a,{category:0,name:"cls",type:o,hasDeclaredType:!0}),Xs.addDefaultParameters(a),a.details.declaredReturnType=Fa(o);const c={category:0,name:"self",type:Aa(n,!1),hasDeclaredType:!0};Xs.addParameter(l,c),l.details.declaredReturnType=to.createInstance();const u=[],p=[],d=function(e,t){let n=!0;for(let i=e.details.mro.length-1;i>=0;i--){const r=e.details.mro[i];if(_o(r)){const e=wa(r,!1);Zs.getDataClassEntries(r).forEach((n=>{const i=t.findIndex((e=>e.name===n.name)),r={...n};r.type=fa(r.type,e),n.isClassVar?i>=0&&t.splice(i,1):i>=0?t[i]=r:t.push(r)}))}else n=!1}return n}(n,p);d||Xs.addDefaultParameters(l);const h=[];let m=!1;t.suite.statements.forEach((r=>{47===r.nodeType&&r.statements.forEach((r=>{var s;let o,a,l,c,d=!1,f=Zs.isDataClassKeywordOnlyParams(n)||m,g=!0;if(3===r.nodeType){if(54===r.leftExpression.nodeType&&38===r.leftExpression.valueExpression.nodeType&&(o=r.leftExpression.valueExpression,l=()=>e.getTypeOfAnnotation(r.leftExpression.typeAnnotation,{isVariableAnnotation:!0,allowFinal:!0,allowClassVar:!0})),d=!0,c=r.rightExpression,9===r.rightExpression.nodeType){const i=e.getTypeOfExpression(r.rightExpression.leftExpression,void 0,2).type;if(function(e,t){let n;return Eo(e)?n=e.details.fullName:ko(e)?n=e.overloads[0].details.fullName:_o(e)&&(n=e.details.fullName),!!n&&t.some((e=>e===n))}(i,(null===(s=n.details.dataClassBehaviors)||void 0===s?void 0:s.fieldDescriptorNames)||[])){const n=r.rightExpression.arguments.find((e=>{var t;return"init"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(n&&n.valueExpression)!1===Xc(n.valueExpression,qt(t).executionEnvironment)&&(g=!1);else{let t;if(Eo(i))t=i;else if(ko(i))t=e.getBestOverloadForArguments(r.rightExpression,i,r.rightExpression.arguments);else if(_o(i)){const n=e.getBoundMethod(i,"__init__");n&&(Eo(n)?t=n:ko(n)&&(t=e.getBestOverloadForArguments(r.rightExpression,n,r.rightExpression.arguments)))}if(t){const e=t.details.parameters.find((e=>"init"===e.name));e&&e.defaultValueExpression&&e.hasDeclaredType&&yo(e.type)&&Zs.isBuiltIn(e.type,"bool")&&ra(e.type)&&!1===e.type.literalValue&&(g=!1)}}const s=r.rightExpression.arguments.find((e=>{var t;return"kw_only"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(s&&s.valueExpression){const e=Xc(s.valueExpression,qt(t).executionEnvironment);!1===e?f=!1:!0===e&&(f=!0)}const o=r.rightExpression.arguments.find((e=>{var t,n,i;return"default"===(null===(t=e.name)||void 0===t?void 0:t.value)||"default_factory"===(null===(n=e.name)||void 0===n?void 0:n.value)||"factory"===(null===(i=e.name)||void 0===i?void 0:i.value)}));d=!!o,(null==o?void 0:o.valueExpression)&&(c=o.valueExpression);const l=r.rightExpression.arguments.find((e=>{var t;return"alias"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(l){const t=e.getTypeOfExpression(l.valueExpression).type;vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)&&(a=t.literalValue)}}}}else if(54===r.nodeType&&38===r.valueExpression.nodeType&&(o=r.valueExpression,l=()=>e.getTypeOfAnnotation(r.typeAnnotation,{isVariableAnnotation:!0,allowFinal:!0,allowClassVar:!0}),"_"===r.valueExpression.value)){const e=l();vo(e)&&Zs.isBuiltIn(e,"KW_ONLY")&&(m=!0,o=void 0,l=void 0)}if(o&&l){const t=o.value,r=n.details.fields.get(t),s=null==r?void 0:r.getDeclarations().some((e=>1===e.type&&e.isFinal));if((null==r?void 0:r.isClassVar())&&!s){const e=p.findIndex((e=>e.name===t));e>=0&&p.splice(e,1);const i={name:t,classType:n,alias:a,isKeywordOnly:!1,hasDefault:d,defaultValueExpression:c,includeInInit:g,type:Ys.create(),isClassVar:!0};u.push(i)}else{const r={name:t,classType:n,alias:a,isKeywordOnly:f,hasDefault:d,defaultValueExpression:c,includeInInit:g,type:Ys.create(),isClassVar:!1};h.push({entry:r,evaluator:l});let s=u.findIndex((e=>e.name===t));if(s>=0?u[s]=r:u.push(r),s=p.findIndex((e=>e.name===t)),s>=0){const e=p[s];!r.hasDefault&&e.hasDefault&&(r.hasDefault=!0,r.defaultValueExpression=e.defaultValueExpression,d=!0),p[s]=r}else p.push(r),s=p.length-1;if(!f&&g&&!i&&!d){const t=p.findIndex((e=>e.hasDefault&&e.includeInInit&&!e.isKeywordOnly));t>=0&&t{e.entry.type=e.evaluator()}));const f=n.details.fields,g=[];i||r||!d||(p.forEach((t=>{var i;if(t.includeInInit){let r=t.type;if(t.classType!==n&&$a(r)){const e=new jo(na(t.classType));ma(e,t.classType,n),r=fa(r,e)}(null===(i=n.details.dataClassBehaviors)||void 0===i?void 0:i.transformDescriptorTypes)&&(r=function(e,t){if(!vo(t))return t;const n=_a(t,"__set__");if(!n)return t;const i=e.getTypeOfMember(n);if(!Eo(i))return t;const r=e.bindFunctionToClassOrObject(t,i);return!r||!Eo(r)||r.details.parameters.length<2?t:Xs.getEffectiveParameterType(r,1)}(e,r));const s={category:0,name:t.alias||t.name,hasDefault:t.hasDefault,defaultValueExpression:t.defaultValueExpression,type:r,hasDeclaredType:!0};t.isKeywordOnly?g.push(s):Xs.addParameter(l,s)}})),g.length>0&&(Xs.addParameter(l,{category:1,type:io.create()}),g.forEach((e=>{Xs.addParameter(l,e)}))),f.set("__init__",Vo.createWithType(4,l)),f.set("__new__",Vo.createWithType(4,a)));const y=e.getBuiltInType(t,"str"),_=e.getBuiltInType(t,"tuple");if(_&&_o(_)&&y&&_o(y)&&!f.has("__match_args__")){const e=[];p.forEach((t=>{t.includeInInit&&!t.isKeywordOnly&&e.push(t.name)}));const t=e.map((e=>({type:Zs.cloneAsInstance(Zs.cloneWithLiteral(y,e)),isUnbounded:!1}))),n=Zs.cloneAsInstance(qa(_,t));f.set("__match_args__",Vo.createWithType(4,n))}const v=(n,i)=>{const r=Xs.createInstance(n,"","",64);Xs.addParameter(r,c),Xs.addParameter(r,{category:0,name:"other",type:i,hasDeclaredType:!0}),r.details.declaredReturnType=e.getBuiltInObject(t,"bool"),f.set(n,Vo.createWithType(4,r))};if(Zs.isSkipSynthesizedDataClassEq(n)||v("__eq__",e.getBuiltInObject(t,"object")),Zs.isSynthesizedDataclassOrder(n)){const e=Zs.cloneAsInstance(n);["__lt__","__le__","__gt__","__ge__"].forEach((t=>{v(t,e)}))}let T=!Zs.isSkipSynthesizedDataClassEq(n)&&Zs.isFrozenDataClass(n);const b=!Zs.isSkipSynthesizedDataClassEq(n)&&!Zs.isFrozenDataClass(n);if(s&&(T=!1),Zs.isSynthesizeDataClassUnsafeHash(n)&&(T=!0),T){const n=Xs.createInstance("__hash__","","",64);Xs.addParameter(n,c),n.details.declaredReturnType=e.getBuiltInObject(t,"int"),f.set("__hash__",Vo.createWithType(4,n))}else b&&!s&&f.set("__hash__",Vo.createWithType(4,to.createInstance()));let I=e.getBuiltInType(t,"dict");_o(I)&&(I=Zs.cloneAsInstance(Zs.cloneForSpecialization(I,[e.getBuiltInObject(t,"str"),io.create()],!0))),f.set("__dataclass_fields__",Vo.createWithType(4,I)),Zs.isGeneratedDataClassSlots(n)&&void 0===n.details.localSlotsNames&&(n.details.localSlotsNames=u.map((e=>e.name))),Uu(n,p.map((e=>e.type)),!0)}(li,e,s,t,n,i)}if(s.details.localSlotsNames){let e=!0;const t=[...s.details.localSlotsNames];s.details.baseClasses.forEach((n=>{_o(n)?Zs.isBuiltIn(n,"object")||Zs.isBuiltIn(n,"type")||Zs.isBuiltIn(n,"Generic")||(void 0===n.details.inheritedSlotsNames?e=!1:t.push(...n.details.inheritedSlotsNames)):e=!1})),e&&(s.details.inheritedSlotsNames=t)}return N(e.name,s,0,!1),N(e,I,0,!1),function(e,t,n){const i=n.length>0?n[0].node.name:e.name,r=Ne(i,t,"__init_subclass__",{method:"get"},void 0,133,t);if(r){const e=r.type;e&&et(i,n,e,void 0,!1,to.createInstance())}else if(t.details.effectiveMetaclass&&yo(t.details.effectiveMetaclass)){const r=va(t.details.effectiveMetaclass,"__new__",32);if(r){const t=Bn(r);if(Eo(t)){const r=Ho(t);if(void 0!==r.firstKeywordOnlyIndex){const s=new Map;for(let e=r.firstKeywordOnlyIndex;e{var o,a,l;if(0===n.argumentCategory&&n.name){const c=null!==(o=s.get(n.name.value))&&void 0!==o?o:r.kwargsIndex;if(void 0!==c){const e=r.params[c];st({paramCategory:e.param.category,paramType:Xs.getEffectiveParameterType(t,e.index),requiresTypeVarMatching:!1,argument:n,errorNode:null!==(a=n.valueExpression)&&void 0!==a?a:i},new jo,t,!0,!0,!1,void 0),s.delete(n.name.value)}else _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.name.value}),null!==(l=n.name)&&void 0!==l?l:i)}}));const o=[];if(s.forEach(((e,t)=>{r.params[e].param.hasDefault||o.push(t)})),o.length>0){const e=o.map((e=>`"${e}"`)).join(", ");_e(qt(i).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===o.length?ml.Diagnostic.argMissingForParam().format({name:e}):ml.Diagnostic.argMissingForParams().format({names:e}),i)}}}}}n.forEach((e=>{e.valueExpression&&$(e.valueExpression)}))}(e,s,p),Zs.isBuiltIn(s,"UnionType")&&(g=Zs.cloneAsInstance(s)),{classType:s,decoratedType:I}}function Ht(e,t,n){let i=qt(n).isStubFile?4:0;9!==n.expression.nodeType&&(i|=2);const r=$(n.expression,void 0,i).type;if(9===n.expression.nodeType){const e=$(n.expression.leftExpression,void 0,2|i).type;Eo(e)&&("__dataclass_transform__"!==e.details.name&&"dataclass_transform"!==e.details.builtInName||(t.details.classDataClassTransform=Vu(li,n.expression)))}if(ko(r)){const n=qu(r);if(n)return ju(li,t,n,void 0),e}else if(Eo(r)){if("final"===r.details.builtInName)return t.details.flags|=4096,e;if("runtime_checkable"===r.details.builtInName)return t.details.flags|=32768,e;let s,o;if(9===n.expression.nodeType?(o=n.expression,s=qu($(o.leftExpression,void 0,2|i).type)):s=qu($(n.expression,void 0,i).type),s)return ju(li,t,s,o),e}return J(n,e)}function Gt(e){const t=qt(e),n=F(e.name,0);if(n){if(!Eo(n))return;return{functionType:n,decoratedType:F(e,0)||Ys.create()}}let i;const r=Mt(e);r&&(i=r);const s=Er(e,!0);let o;if(s){const e=$t(s);if(!e)return;o=e.classType}let a=en(e,!!s);(null==i?void 0:i.isGenerator)&&(a|=16),s&&"__class_getitem__"===e.name.value&&(a|=2),t.isStubFile?a|=2048:t.isInPyTypedPackage&&(a|=4096),e.isAsync&&(a|=512);const l=Xs.createInstance(e.name.value,function(e,t,n){const i=[n];let r=e;for(;r;)r=Dr(r),r&&i.push(r.name.value);return i.push(t),i.reverse().join(".")}(e,t.moduleName,e.name.value),t.moduleName,a,Vr(e.suite.statements));l.details.typeVarScopeId=Pe(e),(t.isBuiltInStubFile||t.isTypingStubFile||t.isTypingExtensionsStubFile)&&(l.details.builtInName=e.name.value),l.details.declaration=i;const c=zs(e),u=null==c?void 0:c.lookUpSymbolRecursive(e.name.value);i&&u&&B(u.symbol,i,l),N(e,l,void 0,!1),N(e.name,l,void 0,!1);const p=o&&Zs.isPseudoGenericClass(o)&&"__init__"===e.name.value,d=[];let h=0,m=0;if(o&&0==(4&l.details.flags)&&(m=1),e.functionAnnotationComment&&!e.functionAnnotationComment.isParamListEllipsis){const t=e.parameters.length-m,n=e.functionAnnotationComment.paramTypeAnnotations.length;m>0&&n===e.parameters.length?m=0:n!==t&&fe(ml.Diagnostic.annotatedParamCountMismatch().format({expected:t,received:n}),e.functionAnnotationComment)}const f=e=>{if(e.name){const n=wn(e.name,e.name.value,!1);n&&we(t,n.symbol,e.name)}};let g=!0;if(e.parameters.forEach(((n,i)=>{let r,s,a,c,u=!1;if(n.name&&(0===i&&o&&(Xs.isClassMethod(l)||Xs.isInstanceMethod(l)||Xs.isConstructorMethod(l))||Xs.isAbstractMethod(l)||o&&Zs.isProtocolClass(o))&&f(n),n.typeAnnotation)a=n.typeAnnotation;else if(n.typeAnnotationComment)a=n.typeAnnotationComment;else if(e.functionAnnotationComment&&!e.functionAnnotationComment.isParamListEllipsis){const t=i-m;t>=0&&t0&&0===n.category&&n.name&&(s=o.details.typeParameters[h],h++),s){const e=Jt(n,s);e!==s&&(s=e,u=!0)}if(n.defaultValue&&(c=$(n.defaultValue,s,1).type),s){if(n.defaultValue&&c){const i=new il,r=new jo(l.details.typeVarScopeId);if(o&&void 0!==o.details.typeVarScopeId&&("__init__"!==e.name.value&&"__new__"!==e.name.value||r.addSolveForScope(o.details.typeVarScopeId)),!Jn(s,c,i,r)){const e=_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAssignmentMismatch().format({sourceType:ai(c),paramType:ai(s)})+i.getString(),n.defaultValue);if(u&&a){const t={action:"pyright.addoptionalforparam",offsetOfTypeNode:a.start+1};e&&e.addAction(t)}}}r=s}const y=0===n.category&&n.name&&Kt(n.name.value),_=0===n.category&&!n.name;i>0&&g&&!y&&!_&&Xs.addParameter(l,{category:0,type:Ys.create()}),y&&!_||(g=!1);let v=!1;r||(v=!0,r=Qt(e,l.details.flags,i,o));const T={category:n.category,name:n.name?n.name.value:void 0,hasDefault:!!n.defaultValue,defaultValueExpression:n.defaultValue,defaultType:c,type:null!=r?r:Ys.create(),typeAnnotation:a,hasDeclaredType:!!a,isTypeInferred:v};if(Xs.addParameter(l,T),n.name){const t=Xt(e,n.category,T.type);d.push(t)}else d.push(T.type)})),g&&l.details.parameters.length>0&&Xs.addParameter(l,{category:0,type:Ys.create()}),d.forEach(((t,n)=>{const i=e.parameters[n].name;i&&(po(t)&&(l.details.flags|=16384),N(i,t,0,!1))})),d.length>=2){const e=d[d.length-2],t=d[d.length-1];wo(e)&&"args"===e.paramSpecAccess&&wo(t)&&"kwargs"===t.paramSpecAccess&&(l.details.flags|=32768)}if(e.returnTypeAnnotation){l.details.declaredReturnType=Ys.create();const t=K(e.returnTypeAnnotation,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});l.details.declaredReturnType=t}else if(e.functionAnnotationComment){l.details.declaredReturnType=Ys.create();const t=K(e.functionAnnotationComment.returnTypeAnnotation,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});l.details.declaredReturnType=t}else t.isStubFile&&("__init__"===e.name.value?l.details.declaredReturnType=to.createInstance():l.details.declaredReturnType=Ys.create());(t.isStubFile||Or(e.suite))&&l.details.declaredReturnType&&vo(l.details.declaredReturnType)&&Zs.isBuiltIn(l.details.declaredReturnType,["Generator","AsyncGenerator","AwaitableGenerator"])&&(l.details.flags|=16);let y=e.isAsync?function(e,t){const n=Xs.clone(t);return t.details.declaredReturnType&&(n.details.declaredReturnType=nn(e,t.details.declaredReturnType,Xs.isGenerator(t))),n.details.flags|=1024,n}(e,l):l,_=!1;for(let n=e.decorators.length-1;n>=0;n--){const i=e.decorators[n],r=tn(y,l,i,e);Oa(r)?_||(_e(t.diagnosticRuleSet.reportUntypedFunctionDecorator,$o.reportUntypedFunctionDecorator,ml.Diagnostic.functionDecoratorTypeUnknown(),e.decorators[n].expression),_=!0):y=r}return Eo(y)&&(Xs.isOverloaded(y)&&e.parameters.forEach((e=>{f(e)})),y=function(e,t){let n;const i=Mt(e);i&&(n=i);const r=wn(e,e.name.value,!1);if(r){const i=r.symbol.getDeclarations(),s=i.findIndex((e=>e===n));if(s>0){for(let e=0;e{var i,r;const s=e.parameters[n];return(null===(i=s.name)||void 0===i?void 0:i.value)===(null===(r=t.name)||void 0===r?void 0:r.value)&&s.category===t.category}))){const t=i.parameters[n],s=null!==(r=t.typeAnnotation)&&void 0!==r?r:t.typeAnnotationComment;if(s){let t=G(s,e.parameters[n].category);const i=qt(e);return i.isInPyTypedPackage&&!i.isStubFile&&(t=Ks.cloneForAmbiguousType(t)),t}}}}}const s=e.parameters[n].defaultValue;if(s){const t=$(s,void 0,1).type;let n;if(lo(t)?n=Oo([to.createInstance(),Ys.create()]):vo(t)&&Zs.isBuiltIn(t,["tuple","list","set","dict"])||(n=Qo(t)),n){const t=qt(e);t.isInPyTypedPackage&&!t.isStubFile&&(n=Ks.cloneForAmbiguousType(n))}return n}}function Xt(e,t,n){switch(t){case 0:return n;case 1:return bo(n)&&n.paramSpecAccess?n:xo(n)?Zs.cloneForUnpacked(n,!1):T&&_o(T)?Zs.cloneAsInstance(qa(T,[{type:n,isUnbounded:!Io(n)}],!0,!0)):Ys.create();case 2:{if(bo(n)&&n.paramSpecAccess)return n;if(vo(n)&&Zs.isTypedDictClass(n)&&n.isUnpacked)return n;const t=xn(e,"dict"),i=Cn(e,"str");return _o(t)&&vo(i)?Zs.cloneAsInstance(Zs.cloneForSpecialization(t,[i,n],!0)):Ys.create()}}}function en(e,t){const n=qt(e);let i=0;"__new__"===e.name.value&&t&&(i|=1),"__init_subclass__"===e.name.value&&t&&(i|=2);for(const r of e.decorators){let e=n.isStubFile?4:0;9!==r.expression.nodeType&&(e|=2);const s=$(r.expression,void 0,e).type;Eo(s)?"abstractmethod"===s.details.builtInName?t&&(i|=8):"final"===s.details.builtInName&&(i|=8192):_o(s)&&(Zs.isBuiltIn(s,"staticmethod")?t&&(i|=4):Zs.isBuiltIn(s,"classmethod")&&t&&(i|=2))}return i}function tn(e,t,n,i){let r=qt(n).isStubFile?4:0;9!==n.expression.nodeType&&(r|=2);const s=$(n.expression,void 0,r).type;if((_o(s)&&Zs.isSpecialBuiltIn(s,"overload")||Eo(s)&&"overload"===s.details.builtInName)&&Eo(e))return e.details.flags|=256,t.details.flags|=256,e;if(9===n.expression.nodeType){const i=$(n.expression.leftExpression,void 0,2|r).type;if(Eo(i)&&("__dataclass_transform__"===i.details.name||"dataclass_transform"===i.details.builtInName))return t.details.decoratorDataClassBehaviors=Vu(li,n.expression),e}let o=J(n,e);if(Eo(s)){if("abstractmethod"===s.details.builtInName)return e;if(35===n.expression.nodeType){const t=$(n.expression.leftExpression,void 0,2|r).type;if(ua(t)){const r=n.expression.memberName.value;if("setter"===r)return Eo(e)?($u(li,e,n),function(e,t,n,i){if(!ua(t))return t;const r=t,s=r.details.flags;let o=!!r.isAsymmetricDescriptor;const a=qt(i);if(i.parameters.length>=2){const t=e.getTypeAnnotationForParameter(i,1);if(t){const n=e.getGetterTypeFromProperty(r,!1);if(n&&!ho(n)){const i=e.getTypeOfAnnotation(t,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});if("none"!==a.diagnosticRuleSet.reportPropertyTypeMismatch){const r=new il;e.canAssignType(n,i,r)||e.addDiagnostic(a.diagnosticRuleSet.reportPropertyTypeMismatch,$o.reportPropertyTypeMismatch,ml.Diagnostic.setterGetterTypeMismatch()+r.getString(),t)}Ao(n,i)||(o=!0)}}}const l=Zs.createInstantiable(r.details.name,r.details.fullName,r.details.moduleName,qt(i).filePath,s,r.details.typeSourceId,r.details.declaredMetaclass,r.details.effectiveMetaclass);l.details.typeVarScopeId=r.details.typeVarScopeId,Ha(l);const c=Zs.cloneAsInstance(l);l.isAsymmetricDescriptor=o;const u=l.details.fields;r.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||u.set(t,e)}));const p=Vo.createWithType(4,n);u.set("fset",p);const d=Xs.createInstance("__set__","","",64);Xs.addParameter(d,{category:0,name:"self",type:t,hasDeclaredType:!0});let h=n.details.parameters.length>0?n.details.parameters[0].type:io.create();bo(h)&&h.details.isSynthesizedSelf&&(h=e.makeTopLevelTypeVarsConcrete(h)),Xs.addParameter(d,{category:0,name:"obj",type:Oo([h,to.createInstance()]),hasDeclaredType:!0}),d.details.declaredReturnType=to.createInstance();let m=Ys.create();n.details.parameters.length>=2&&0===n.details.parameters[1].category&&n.details.parameters[1].name&&(m=n.details.parameters[1].type),Xs.addParameter(d,{category:0,name:"value",type:m,hasDeclaredType:!0});const f=Vo.createWithType(4,d);return u.set("__set__",f),c}(li,t,e,i)):e;if("deleter"===r)return Eo(e)?($u(li,e,n),function(e,t,n,i){var r;if(!ua(t))return t;const s=t,o=Zs.createInstantiable(s.details.name,s.details.fullName,s.details.moduleName,qt(i).filePath,s.details.flags,s.details.typeSourceId,s.details.declaredMetaclass,s.details.effectiveMetaclass);o.details.typeVarScopeId=s.details.typeVarScopeId,Ha(o);const a=Zs.cloneAsInstance(o);o.isAsymmetricDescriptor=null!==(r=s.isAsymmetricDescriptor)&&void 0!==r&&r;const l=o.details.fields;s.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||l.set(t,e)}));const c=Vo.createWithType(4,n);l.set("fdel",c);const u=Xs.createInstance("__delete__","","",64);Xs.addParameter(u,{category:0,name:"self",type:t,hasDeclaredType:!0});let p=n.details.parameters.length>0?n.details.parameters[0].type:io.create();bo(p)&&p.details.isSynthesizedSelf&&(p=e.makeTopLevelTypeVarsConcrete(p)),Xs.addParameter(u,{category:0,name:"obj",type:Oo([p,to.createInstance()]),hasDeclaredType:!0}),u.details.declaredReturnType=to.createInstance();const d=Vo.createWithType(4,u);return l.set("__delete__",d),a}(li,t,e,i)):e}}}else if(_o(s)){if(Zs.isBuiltIn(s))switch(s.details.name){case"classmethod":case"staticmethod":{const t="classmethod"===s.details.name?2:4;if(Eo(e)&&0==(e.details.flags&t)){const n=Xs.clone(e);return n.details.flags&=-8,n.details.flags|=t,n}return e}}if(Zs.isPropertyClass(s)){if(Eo(e))return $u(li,e,n),Hu(li,n,s,e);if(vo(e)){const t=_a(e,"__call__");if(t){const i=Bn(t);if(Eo(i)||ko(i)){const t=ri(e,i);if(t&&Eo(t))return Hu(li,n,s,t)}}return Ys.create()}}}return Eo(e)&&Eo(o)&&(o=Xs.clone(o),Xs.isOverloaded(e)&&(o.details.flags|=256),o.details.docString||(o.details.docString=e.details.docString)),o}function nn(e,t,n){let i;if(vo(t)&&Zs.isBuiltIn(t))if("Generator"===t.details.name){const n=ce(e,"AsyncGenerator");if(n&&_o(n)){const e=[],r=t.typeArguments;r&&r.length>0&&e.push(r[0]),r&&r.length>1&&e.push(r[1]),i=Zs.cloneAsInstance(Zs.cloneForSpecialization(n,e,!0))}}else["AsyncGenerator","AsyncIterator","AsyncIterable"].some((e=>e===t.details.name))&&(i=t);if(!i||!n){const n=ce(e,"Coroutine");i=n&&_o(n)?Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[io.create(),io.create(),t],!0)):Ys.create()}return i}function rn(e,t){var n;if(e.returnTypeAnnotation||(null===(n=e.functionAnnotationComment)||void 0===n?void 0:n.returnTypeAnnotation))return;let r=F(e.suite,0);if(r)return r;if(!i.has(e.id)){i.set(e.id,!0);try{let n;const s=Mt(e);s&&(n=s);const o=!de(e),a=de(e.suite);if(qt(e).isStubFile)r=Ys.create();else{if(o)r=t||function(e){if(!e||!e.isMethod||e.returnStatements||e.yieldStatements||!e.raiseStatements)return!1;for(const t of e.raiseStatements){if(!t.typeExpression||t.valueExpression)return!1;const e=$(t.typeExpression).type,n=_o(e)||vo(e)?e:void 0;if(!n||!Zs.isBuiltIn(n,"NotImplementedError"))return!1}return!0}(n)?Ys.create():no.createNoReturn();else{const e=[];(null==n?void 0:n.returnStatements)&&n.returnStatements.forEach((t=>{if(pe(t))if(t.returnExpression){const n=$(t.returnExpression).type;e.push(n||Ys.create())}else e.push(to.createInstance())})),!o&&a&&e.push(to.createInstance()),r=Oo(e),r=Ro(r)}if(null==n?void 0:n.isGenerator){const t=[];let i=!1;n.yieldStatements&&n.yieldStatements.forEach((e=>{if(pe(e))if(61===e.nodeType){const n=$(e.expression).type;if(vo(n)&&Zs.isBuiltIn(n,"Coroutine"))t.push(),i=!0;else{const i=ae(n,!1,e);t.push(i||Ys.create())}}else if(e.expression){const n=$(e.expression).type;t.push(n||Ys.create())}else t.push(to.createInstance())})),0===t.length&&t.push(to.createInstance());const s=Oo(t),o=ce(e,i?"AwaitableGenerator":"Generator");if(o&&_o(o)){const e=[];i&&e.push(io.create()),e.push(s,to.createInstance(),ao(r)?to.createInstance():r),r=Zs.cloneAsInstance(Zs.cloneForSpecialization(o,e,!0))}else r=Ys.create()}}N(e.suite,r,0,!1)}finally{i.delete(e.id)}}return r}function sn(e){if(F(e,0))return;const t=$(e.iterableExpression),n=ae(t.type,!!e.isAsync,e.iterableExpression)||Ys.create();xe(e.targetExpression,n,!!t.isIncomplete,e.targetExpression),N(e,n,0,!!t.isIncomplete)}function on(e){if(w(void 0!==e.typeExpression),F(e,0))return;function t(e,t){return ho(e=Ie(e))?e:_o(e)?Zs.cloneAsInstance(e):vo(e)?Ko(ae(e,!1,t)||Ys.create(),(e=>ho(e)?e:Ys.create())):Ys.create()}const n=Ko($(e.typeExpression).type,(n=>{const i=ia(n);return i&&i.tupleTypeArguments?Oo(i.tupleTypeArguments.map((n=>t(n.type,e.typeExpression)))):t(n,e.typeExpression)}));e.name&&xe(e.name,n,!1,e.name),N(e,n,0,!1)}function an(e){if(F(e,0))return;const t=$(e.expression);let n=t.type;const i=e.parent&&58===e.parent.nodeType&&!!e.parent.isAsync;Go(n)&&(_e(qt(e).diagnosticRuleSet.reportOptionalContextManager,$o.reportOptionalContextManager,ml.Diagnostic.noneNotUsableWith(),e.expression),n=Fo(n));const r=i?"__aenter__":"__enter__",s=Ko(n,(t=>{var n;if(ho(t=Ie(t)))return t;const s=new il,o=new il;if(vo(t)){const a=null===(n=ee(e.expression,t,r,{method:"get"},s))||void 0===n?void 0:n.type;if(a){let t;return t=Eo(a)?Un(a):Ys.create(),i&&(t=oe(t,e)),t}i||ee(e.expression,t,"__aenter__",{method:"get"},s)&&o.addMessage(ml.DiagnosticAddendum.asyncHelp())}return _e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotUsableWith().format({type:ai(t),method:r})+o.getString(),e.expression),Ys.create()})),o=i?"__aexit__":"__exit__";Jo(n,(t=>{if(ho(t=Ie(t)))return;const n=new il;vo(t)&&ee(e.expression,t,o,{method:"get"},n)||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotUsableWith().format({type:ai(t),method:o}),e.expression)})),e.target&&xe(e.target,s,!!t.isIncomplete,e.target),N(e,s,0,!!t.isIncomplete)}function ln(e){if(F(e,0))return;let t;if(t=e.alias?e.alias:e.module.nameParts[0],!t)return;let n=dn(e,t.value)||Ys.create();const i=F(e,0);i&&To(i)&&n&&Ao(n,i)&&(n=i),Te(t,n,!1),N(e,n,0,!1)}function cn(t){var n;if(F(t,0))return;const i=t.alias||t.name,r=qt(t);if((null===(n=t.alias)||void 0===n?void 0:n.value)===t.name.value){const e=wn(t,t.name.value,!0);e&&we(r,e.symbol,t)}let s=dn(t,i.value);if(!s){const n=t.parent;w(n&&22===n.nodeType),w(!n.isWildcardImport);const i=Rt(n.module);if(i&&i.isImportFound&&!i.isNativeLib){const n=i.resolvedPaths[i.resolvedPaths.length-1],o=e(n);let a=!1;if(o){if(a=!0,r.executionEnvironment.pythonVersion>=De.V3_7||r.isStubFile){const e=o.symbolTable.get("__getattr__");if(e){const t=Nn(e);Eo(t)&&(s=Un(t),a=!1)}}}else n||(a=!0);a&&_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.importSymbolUnknown().format({name:t.name.value,moduleName:i.importName}),t.name)}s||(s=Ys.create())}Te(i,s,!1),N(t,s,0,!1)}function un(e){if(F(e,0))return;if(!e.parent||63!==e.parent.nodeType)return void E("Expected parent of case statement to be match statement");const t=$(e.parent.subjectExpression);let n=t.type;for(const t of e.parent.cases){if(t===e)break;t.guardExpression||(n=fu(li,n,t.pattern,!1))}let i=!1;Jo(Ie(n),(e=>{vo(e)&&Zs.isBuiltIn(e,"object")&&(i=!0)})),n=fu(li,n,e.pattern,!0),bu(li,n,!!t.isIncomplete,i,e.pattern),N(e,n,0,!!t.isIncomplete)}function pn(e){if(F(e,0))return;const t=e.module.nameParts[0];let n=dn(e,t.value)||Ys.create();const i=F(e,0);i&&To(i)&&n&&Ao(n,i)&&(n=i),Te(t,n,!1),N(e,n,0,!1)}function dn(e,n){const i=wn(e,n,!0);if(!i)return;const r=i.symbol.getDeclarations().filter((t=>Mr(e,t.node)&&6===t.type));let s=r.length>0?r[r.length-1]:void 0;if(s||(s=i.symbol.getDeclarations().find((e=>6===e.type))),!s)return;w(6===s.type);const o=qt(e),a=Fn(s,!0,o.isStubFile);if(a){if(!a.declaration)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();if(23===e.nodeType&&(a.isPrivate&&_e(o.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfModule().format({name:e.name.value}),e.name),a.privatePyTypedImporter)){const t=new il;a.privatePyTypedImported&&t.addMessage(ml.DiagnosticAddendum.privateImportFromPyTypedSource().format({module:a.privatePyTypedImported})),_e(o.diagnosticRuleSet.reportPrivateImportUsage,$o.reportPrivateImportUsage,ml.Diagnostic.privateImportFromPyTypedModule().format({name:e.name.value,module:a.privatePyTypedImporter})+t.getString(),e.name)}return Pn(i.symbol,s)}}function hn(e){var t,n,i;let r=e,s=e;function o(e){var t,n,i,r,s;return 41===e.nodeType&&30===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)||1===e.nodeType&&(9===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)||24===(null===(i=e.parent)||void 0===i?void 0:i.nodeType))||54===(null===(r=e.parent)||void 0===r?void 0:r.nodeType)||41===(null===(s=e.parent)||void 0===s?void 0:s.nodeType)&&(e===e.parent.typeAnnotation||e===e.parent.typeAnnotationComment)||9===e.nodeType||24===e.nodeType||15===e.nodeType||27===e.nodeType||31===e.nodeType||30===e.nodeType||35===e.nodeType||45===e.nodeType||49===e.nodeType||48===e.nodeType||52===e.nodeType||56===e.nodeType||17===e.nodeType||16===e.nodeType||32===e.nodeType||33===e.nodeType||34===e.nodeType||65===e.nodeType||67===e.nodeType||68===e.nodeType||74===e.nodeType||66===e.nodeType||69===e.nodeType||70===e.nodeType||73===e.nodeType||71===e.nodeType||72===e.nodeType}if(38===e.nodeType&&e.parent){if(28===e.parent.nodeType&&e.parent.name===e)return void Gt(e.parent);if(10===e.parent.nodeType&&e.parent.name===e)return void $t(e.parent);if(29===e.parent.nodeType||39===e.parent.nodeType)return void $(e,void 0,4)}for(;s;){const e=o(s);if(!e&&!yr(s))break;e&&(r=s),s=s.parent}const a=r.parent;if(3===a.nodeType)return void(r===a.typeAnnotationComment?K(r,{isVariableAnnotation:!0,allowFinal:Fr(a.leftExpression),allowClassVar:Nr(a.leftExpression)}):Wt(a));if(14===a.nodeType)return void Ce(r);if(5===a.nodeType)return void jt(a);if(13===a.nodeType)return void(10===(null===(t=a.parent)||void 0===t?void 0:t.nodeType)?$t(a.parent):28===(null===(n=a.parent)||void 0===n?void 0:n.nodeType)&&Gt(a.parent));const l=e=>{const t=e.parent;if(3===(null==t?void 0:t.nodeType)&&t.leftExpression===a)Wt(t);else{const t=K(e.typeAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(e.valueExpression),allowClassVar:Nr(e.valueExpression)});N(e.valueExpression,t,0,!1)}};if(64===a.nodeType&&r!==a.guardExpression)return void un(a);if(54===a.nodeType)return void l(a);if(41===a.nodeType&&r!==a.defaultValue)return void mn(a);if(28===a.nodeType&&(r===a.returnTypeAnnotation||r===a.functionAnnotationComment))return void K(r,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});if(37===a.nodeType)return;if(1===a.nodeType&&r===a.name)return;if(1===a.nodeType&&10===(null===(i=a.parent)||void 0===i?void 0:i.nodeType))return void $t(a.parent);if(44===a.nodeType&&a.returnExpression){const t=kr(e),n=t?qn(t):void 0;return void $(a.returnExpression,n,0)}const c=yr(a)&&0!==a.nodeType?a:r;54===c.nodeType?l(c):$(c,void 0,qt(c).isStubFile?4:0)}function mn(e){if(!e.name)return;const t=e.parent;if(30===t.nodeType)return void hn(t);w(28===t.nodeType);const n=t,i=n.parameters.findIndex((t=>t===e)),r=ie(n,i);if(r){const t=n.parameters[i],s=G(r,n.parameters[i].category),o=Xt(e,e.category,Jt(t,s));return void N(e.name,o,0,!1)}const s=Er(n,!0);if(s){const t=$t(s);if(t){const r=Qt(n,en(n,!0),i,t.classType);if(r)return void N(e.name,Xt(e,e.category,r),0,!1)}}N(e.name,Xt(e,e.category,Ys.create()),0,!1)}function fn(e){z(e);let t=e;for(;t;){switch(t.nodeType){case 3:if(!t.parent||3!==t.parent.nodeType&&4!==t.parent.nodeType&&5!==t.parent.nodeType||t.parent.rightExpression!==t)return void Wt(t);break;case 4:return void $(t);case 5:return void jt(t);case 10:return void $t(t);case 41:return void mn(t);case 30:return void hn(t);case 28:return void Gt(t);case 26:return void sn(t);case 25:return void on(t);case 59:return void an(t);case 33:{const e=t.parent;if(w(32===e.nodeType),t===e.expression)hn(e);else for(const n of e.forIfNodes)if(Ct(n),n===t)break;return}case 21:return void ln(t);case 23:return void cn(t);case 22:return void pn(t);case 64:return void un(t)}t=t.parent}E("Unexpected statement")}function gn(e,t){let n=F(e,void 0);if(n)return{node:e,type:n};const i=C;try{if(C=new Map,t(),n=F(e,void 0),n)return{node:e,type:n};if(n=C.get(e.id),n)return{node:e,type:n,isIncomplete:!0};C=i}catch(e){throw C=i,e}}function yn(e){let t=r.get(e);return t||(t=ci.createCodeFlowAnalyzer(),r.set(e,t)),t}function _n(e,t,n,i,r){var s;const o=At(e),a=Rr(null!==(s=null==r?void 0:r.parent)&&void 0!==s?s:e),l=a.codeFlowExpressions;if(!l||!l.has(o))return{type:void 0,isIncomplete:!1};let c;c=L(a)?function(){const e=D.length;return w(e>0),D[e-1].codeFlowAnalyzer}():yn(a.id);const u=Lt(null!=r?r:e);return void 0===u?{type:void 0,isIncomplete:!1}:vn(c,u,e,t,n,i)}function vn(e,t,n,i,r,s){let o;d.enterTrackingScope();try{o=e.getTypeFromCodeFlow(t,n,i,r,s),d.exitTrackingScope()}catch(e){throw d.exitTrackingScope(),e}return o.isIncomplete&&d.enableUndoTracking(),o}function Tn(e,t,n,i){if(Zs.isSpecialBuiltIn(e)){const r=e.aliasName||e.details.name;switch(r){case"Callable":return function(e,t){const n=Xs.createInstantiable("","","",0);Ks.setSpecialForm(n),n.details.declaredReturnType=Ys.create();const i=Dr(t);if(n.details.typeVarScopeId=i?Pe(i):$s,e&&e.length>0){if(e[0].typeList){const t=e[0].typeList;let i=!1,r=!1;const s=e=>{i&&(r||(fe(ml.Diagnostic.variadicTypeArgsTooMany(),e.node),r=!0)),i=!0};t.forEach(((e,t)=>{let i=e.type,r=0;const o=`__p${t.toString()}`;Io(i)?(Oe(i,e.node),r=1,s(e)):Et(e,{allowUnpackedTuples:!0})?xo(i)&&(r=1,s(e)):i=Ys.create(),Xs.addParameter(n,{category:r,name:o,isNameSynthesized:!0,type:Fa(i),hasDeclaredType:!0})})),Xs.addParameter(n,{category:0,isNameSynthesized:!1,type:Ys.create()})}else if(ca(e[0].type))Xs.addDefaultParameters(n),n.details.flags|=32768;else if(wo(e[0].type))n.details.paramSpec=e[0].type;else if(_o(e[0].type)&&Zs.isBuiltIn(e[0].type,"Concatenate")){const t=e[0].type.typeArguments;t&&t.length>0&&t.forEach(((e,i)=>{i===t.length-1?(Xs.addParameter(n,{category:0,isNameSynthesized:!1,type:Ys.create()}),wo(e)&&(n.details.paramSpec=e)):Xs.addParameter(n,{category:0,name:`__p${i}`,isNameSynthesized:!0,hasDeclaredType:!0,type:e})}))}else fe(ml.Diagnostic.callableFirstArg(),e[0].node);if(e.length>1){let t=e[1].type;Et(e[1])||(t=Ys.create()),n.details.declaredReturnType=Fa(t)}else _e(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.callableSecondArg(),t),n.details.declaredReturnType=Ys.create();e.length>2&&fe(ml.Diagnostic.callableExtraArgs(),e[2].node)}else Xs.addDefaultParameters(n,!0),n.details.flags|=32768;return n}(t,i);case"Never":return t&&t.length>0&&fe(ml.Diagnostic.typeArgsExpectingNone().format({name:"Never"}),t[0].node),no.createNever();case"NoReturn":return t&&t.length>0&&fe(ml.Diagnostic.typeArgsExpectingNone().format({name:"NoReturn"}),t[0].node),no.createNoReturn();case"Optional":return function(e,t,n,i){if(!n)return 0!=(1024&i)?(fe(ml.Diagnostic.optionalExtraArgs(),t),Ys.create()):e;if(n.length>1)return fe(ml.Diagnostic.optionalExtraArgs(),t),Ys.create();let r=n[0].type;Et(n[0])?Ks.isInstantiable(r)||(ve(r,n[0].node),r=Ys.create()):r=Ys.create();const s=Oo([r,to.createType()]);return fo(s)&&Ks.setSpecialForm(s),s}(e,i,t,n);case"Type":{if(1===(null==t?void 0:t.length)&&ho(t[0].type)&&_&&_o(_))return _;let n=Ot(e,t,1);return _o(n)&&(n=Ua(n)),n}case"ClassVar":return function(e,t,n,i){var r;if(131072&i)return fe(ml.Diagnostic.classVarNotAllowed(),t),io.create();if(!n)return e;if(0===n.length)return fe(ml.Diagnostic.classVarFirstArgMissing(),t),Ys.create();if(n.length>1)return fe(ml.Diagnostic.classVarTooManyArgs(),n[1].node),Ys.create();const s=n[0].type;return $a(s,!0,!0)&&_e(qt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classVarWithTypeVar(),null!==(r=n[0].node)&&void 0!==r?r:t),s}(e,i,t,n);case"Protocol":return Ot(e,t,void 0,!0);case"Tuple":return Ot(e,t,void 0);case"Union":return function(e,t,n,i){const r=[];if(!n)return 0!=(1024&i)?(fe(ml.Diagnostic.unionTypeArgCount(),t),no.createNever()):e;for(const e of n){let t=e.type;Et(e,{allowVariadicTypeVar:!0,allowUnpackedTuples:!0})?Ks.isInstantiable(t)||(ve(t,e.node),t=Ys.create()):t=Ys.create(),xo(e.type)&&e.type.tupleTypeArguments?e.type.tupleTypeArguments.forEach((e=>{r.push(Na(e.type))})):(bo(t)&&Io(t)&&t.isVariadicUnpacked&&(t=oo.cloneForUnpacked(t,!0)),r.push(t))}1===r.length&&(Io(r[0])||Co(r[0])||lo(r[0])||fe(ml.Diagnostic.unionTypeArgCount(),t));const s=Oo(r);return fo(s)&&Ks.setSpecialForm(s),s}(e,i,t,n);case"Generic":return function(e,t,n,i){if(!n)return 0!=(263168&i)&&fe(ml.Diagnostic.genericTypeArgMissing(),t),e;const r=[];return n&&(0===n.length&&fe(ml.Diagnostic.genericTypeArgMissing(),t),n.forEach((e=>{bo(e.type)?(r.some((t=>Ao(t,e.type)))&&fe(ml.Diagnostic.genericTypeArgUnique(),e.node),r.push(e.type)):fe(ml.Diagnostic.genericTypeArgTypeVar(),e.node)}))),Ot(e,n,void 0,!0)}(e,i,t,n);case"Final":return function(e,t,n,i){return 16&i?(fe(ml.Diagnostic.finalContext(),t),io.create()):n&&0!==n.length?(n.length>1&&fe(ml.Diagnostic.finalTooManyArgs(),t),n[0].type):e}(e,i,t,n);case"Annotated":return function(e,t){return t&&t.length<2&&fe(ml.Diagnostic.annotatedTypeArgMissing(),e),t&&0!==t.length?Ks.cloneForAnnotated(t[0].type):io.create()}(i,t);case"Concatenate":return function(e,t,n){return n&&0!==n.length?n.forEach(((e,t)=>{t===n.length-1?wo(e.type)||fe(ml.Diagnostic.concatenateParamSpecMissing(),e.node):wo(e.type)&&fe(ml.Diagnostic.paramSpecContext(),e.node)})):fe(ml.Diagnostic.concatenateTypeArgsMissing(),e),Ot(t,n,void 0,!0)}(i,e,t);case"TypeGuard":case"StrictTypeGuard":return function(e,t,n,i){if(!n)return 0!=(1024&i)&&fe(ml.Diagnostic.typeGuardArgCount(),e),t;if(1!==n.length)return fe(ml.Diagnostic.typeGuardArgCount(),e),Ys.create();const r=n.map((e=>Fa(Et(e)?e.type:Ys.create())));return Zs.cloneForSpecialization(t,r,!0)}(i,e,t,n);case"Unpack":return function(e,t,n){if(!t||1!==t.length)return fe(ml.Diagnostic.unpackArgCount(),e),Ys.create();let i=t[0].type;fo(i)&&1===i.subtypes.length&&(i=i.subtypes[0]);const r=qt(e);return 0!=(2097152&n)?_o(i)&&!i.includeSubclasses&&pa(i)?Zs.cloneForUnpacked(i):Io(i)&&!i.isVariadicUnpacked?oo.cloneForUnpacked(i):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackExpectedTypeVarTuple(),e),Ys.create()):0!=(8388608&n)?_o(i)&&Zs.isTypedDictClass(i)?Zs.cloneForUnpacked(i):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackExpectedTypedDict(),e),Ys.create()):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackNotAllowed(),e),Ys.create())}(i,t,n);case"Required":case"NotRequired":return function(e,t,n,i,r){var s;if(!i&&0==(1024&r))return e;if(!i||1!==i.length)return fe(n?ml.Diagnostic.requiredArgCount():ml.Diagnostic.notRequiredArgCount(),t),e;const o=i[0].type,a=Er(t,!0),l=a?$t(a):void 0;let c=!1;return l&&_o(l.classType)&&Zs.isTypedDictClass(l.classType)&&54===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)&&t.parent.typeAnnotation===t&&(c=!0),0!=(1048576&r)&&(c=!0),c?o:(fe(n?ml.Diagnostic.requiredNotInTypedDict():ml.Diagnostic.notRequiredNotInTypedDict(),t),Zs.cloneForSpecialization(e,[Fa(o)],!!i))}(e,i,"Required"===r,t,n);case"Self":return function(e,t,n){var i;const r=qt(t);n&&_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsExpectingNone().format({name:e.details.name}),null!==(i=n[0].node)&&void 0!==i?i:t);const s=Er(t),o=s?$t(s):void 0;if(!o)return _e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeContext(),t),Ys.create();const a=kr(t);if(a){if(4&en(a,!0))return _e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeContext(),t),Ys.create();if(a.parameters.length>0){const e=ie(a,0);if(e&&!Mr(t,e)){const n=K(e,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});bo(n)&&n.details.isSynthesizedSelf||_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeWithTypedSelfOrCls(),t)}}}return Aa(o.classType,!0)}(e,i,t);case"LiteralString":return Ot(e,t,0)}}const r=qt(i);if(r.isStubFile||r.executionEnvironment.pythonVersion>=De.V3_9||H(qt(i))||0!=(4&n)){if(Zs.isBuiltIn(e,"type")&&t){if(1===t.length&&ho(t[0].type))return e;const n=ce(i,"Type");if(n&&_o(n)){let e=Ot(n,t,1,void 0,!0);return _o(e)&&(e=Ua(e)),e}}if(pa(e))return Ot(e,t,void 0,void 0,!0)}let s=t?t.length:0;const o=Zs.isPseudoGenericClass(e)?[]:Zs.getTypeParameters(e);if(0===o.length&&0===s)return e;const a=o.findIndex((e=>Io(e)));if(t){if(s>o.length){if(!Zs.isPartiallyConstructed(e)&&!Zs.isTupleClass(e)){const n=qt(i);0===o.length?_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsExpectingNone().format({name:e.aliasName||e.details.name}),t[o.length].node):1===o.length&&wo(o[0])||_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsTooMany().format({name:e.aliasName||e.details.name,expected:o.length,received:s}),t[o.length].node)}s=o.length}else s0?t[0].node.parent:i);t.forEach(((e,t)=>{if(t===a){if(vo(e.type)&&pa(e.type))return;if(Io(e.type))return void Oe(e.type,e.node)}const n=t!ca(e.type)&&!e.typeList&&!wo(e.type))))1===t.length&&_o(t[0].type)&&Zs.isBuiltIn(t[0].type,"Concatenate")||(t=[{type:Ys.create(),node:t[0].node,typeList:t}]);else if(t.length>1){const e=t.find((e=>wo(e.type)));e&&fe(ml.Diagnostic.paramSpecContext(),e.node);const n=t.find((e=>!!e.typeList));n&&fe(ml.Diagnostic.typeArgListNotAllowed(),n.node)}return c.forEach(((e,n)=>{if(t&&n{Xs.addParameter(i,{category:0,name:`__p${t}`,isNameSynthesized:!0,type:Fa(e.type),hasDeclaredType:!0})})),void l.push(i);if(_o(e.type)&&Zs.isBuiltIn(e.type,"Concatenate")){const t=e.type.typeArguments;return t&&t.length>0&&t.forEach(((e,n)=>{n===t.length-1?wo(e)&&(i.details.paramSpec=e):Xs.addParameter(i,{category:0,name:`__p${n}`,isNameSynthesized:!0,hasDeclaredType:!0,type:e})})),void l.push(i)}}l.push(Fa(t[n].type))}else l.push(Ys.create())})),l=l.map(((e,n)=>{if(nGs)return t;if(r++,ho(t))return t;let s=t;if(bo(t)){if(Ao(t,e,void 0,void 0,r))return t;s=Ie(t)}if(e.details.boundType&&!Jn(e.details.boundType,s,n.createAddendum(),void 0,i,r))return void(e.details.isSynthesized||n.addMessage(ml.DiagnosticAddendum.typeBound().format({sourceType:ai(s),destType:ai(e.details.boundType),name:oo.getReadableName(e)})));if(e.details.isParamSpec)return wo(t)||Eo(t)&&Xs.isParamSpecValue(t)||vo(t)&&Zs.isBuiltIn(t,"Concatenate")?t:void n.addMessage(ml.DiagnosticAddendum.typeParamSpec().format({type:ai(t),name:oo.getReadableName(e)}));if(bo(t)&&t.details.isParamSpec)return void n.addMessage(ml.Diagnostic.paramSpecContext());const o=e.details.constraints;if(0===o.length)return t;if(bo(t)&&t.details.constraints.length>0){if(t.details.constraints.every((e=>o.some((t=>Jn(t,e,void 0,void 0,void 0,r))))))return t}else{let e;for(const t of o)Jn(t,s,void 0,void 0,void 0,r)&&(e&&!Jn(e,t,void 0,void 0,void 0,r)||(e=t));if(e)return e}n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(t),name:oo.getReadableName(e)}))}(o[n],e,i);r?e=r:vo(e)&&Zs.isPartiallyConstructed(e)||_e(qt(t[n].node).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarAssignmentMismatch().format({type:ai(e),name:oo.getReadableName(o[n])})+i.getString(),t[n].node)}return e})),Zs.cloneForSpecialization(e,l,void 0!==t)}function bn(e){return e.type?{type:e.type}:e.valueExpression?$(e.valueExpression):{type:Ys.create()}}function In(e){return e.type?{type:e.type}:Sn(e.valueExpression)}function Sn(e,t=!1,n=!1,i=!1){let r=131304;return qt(e).isStubFile?r|=4:r|=4194304,t||(r|=16),n&&(r|=1048576),$(e,void 0,r)}function xn(e,t){const n=zs(e);if(n){const e=function(e){let t=e;for(;4!==t.type;)t=t.parent;return t}(n).lookUpSymbol(t);if(e)return Nn(e)}return Ys.create()}function Cn(e,t,n){const i=xn(e,t);if(_o(i)){let e=i;return n&&(e=Zs.cloneForSpecialization(e,n,void 0!==n)),Zs.cloneAsInstance(e)}return i}function wn(e,t,n,i=!1){var r;const s=zs(e);let o=null==s?void 0:s.lookUpSymbolRecursive(t);const a=null!==(r=null==s?void 0:s.type)&&void 0!==r?r:3;if(o&&n&&1!==a&&0!==a&&0===o.symbol.getDeclarations().filter((t=>{if(6!==t.type&&0!==t.type){const n=Rr(e),i=4===t.type||3===t.type?t.node.name:t.node;if(n===Rr(i)&&!he(i,e)){const t=Lt(e);return!(t&&ci.isFlowNodeReachable(t))}}return!0})).length&&(o=1!==o.scope.type&&o.scope.parent?o.scope.parent.lookUpSymbolRecursive(t,o.isOutsideCallerModule||3===o.scope.type,o.isBeyondExecutionScope||o.scope.isIndependentlyExecutable()):void 0),o&&i){let e=o;for(;3!==e.scope.type&&4!==e.scope.type&&e.scope.parent&&(e=e.scope.parent.lookUpSymbolRecursive(t,e.isOutsideCallerModule,e.isBeyondExecutionScope||e.scope.isIndependentlyExecutable()),e););3!==(null==e?void 0:e.scope.type)&&4!==(null==e?void 0:e.scope.type)||(o=e)}return o}function En(e,t){p.push(e);try{const e=t();return p.pop(),e}catch(e){throw p.pop(),e}}function kn(e,t,n=!0){c.enterSpeculativeContext(e,n);try{const e=t();return c.leaveSpeculativeContext(),e}catch(e){throw c.leaveSpeculativeContext(),e}}function Dn(e,t){if(Eo(e)&&e.details.declaration){const n=e.details.declaration;if(3===n.type){const e=Ft(n.node);if(e){const n=e.lookUpSymbol(t);if(n)return n.getDeclarations().find((e=>2===e.type))}}}}function An(e){var t,n;switch(e.type){case 0:{if("Any"===e.intrinsicType)return io.create();if("class"===e.intrinsicType){const t=$t(Er(e.node));return t?t.classType:void 0}const t=Cn(e.node,"str"),n=Cn(e.node,"int");if(vo(n)&&vo(t)){if("str"===e.intrinsicType)return t;if("str | None"===e.intrinsicType)return Oo([t,to.createInstance()]);if("int"===e.intrinsicType)return n;if("Iterable[str]"===e.intrinsicType){const n=xn(e.node,"Iterable");if(_o(n))return Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[t],!0))}if("Dict[str, Any]"===e.intrinsicType){const n=xn(e.node,"dict");if(_o(n))return Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[t,io.create()],!0))}}return Ys.create()}case 4:{const t=$t(e.node);return t?t.decoratedType:void 0}case 5:return K(e.node.typeAnnotation);case 3:{const t=Gt(e.node);return t?t.decoratedType:void 0}case 2:{let n=e.node.typeAnnotation||e.node.typeAnnotationComment;if(!n&&28===(null===(t=e.node.parent)||void 0===t?void 0:t.nodeType)){const t=e.node.parent;if(t.functionAnnotationComment&&!t.functionAnnotationComment.isParamListEllipsis){const i=t.parameters.findIndex((t=>t===e.node));n=ie(t,i)}}if(n){const t=G(n,e.node.category);return Xt(e.node,e.node.category,Jt(e.node,t))}return}case 1:{const t=e.typeAnnotationNode;if(t){const i=re(t)?function(e){let t=e,n=e.parent;for(;n;){if(54===n.nodeType){if(n.typeAnnotation===t)return n;break}t=n,n=n.parent}}(t):void 0;let r;if(e.isRuntimeTypeExpression)r=Fa(Sn(t,!0,!0).type);else{const i=e.isDefinedByMemberAccess&&35===(null===(n=e.node.parent)||void 0===n?void 0:n.nodeType)?e.node.parent:e.node;r=K(t,{isVariableAnnotation:!0,allowClassVar:Nr(i),allowFinal:Fr(i)})}if(r)return 38===e.node.nodeType&&(r=Ut(e.node,(()=>r))||r),i&&38===i.valueExpression.nodeType&&(r=Vt(r,i.valueExpression,e.node)),r}return}case 6:return}}function Pn(n,i){var r,s;const o=Rn(i,!0,qt(i.node).isStubFile);if(!o)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();function a(e,n,i){if(n.path&&n.loadSymbolsFromPath){const r=i(n.path);if(!r)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();e.fields=r.symbolTable,e.docString=r.docString}return n.implicitImports&&n.implicitImports.forEach(((t,n)=>{const r=e.moduleName?e.moduleName+"."+n:"",s=a(Qs.create(r,t.path),t,i),o=Vo.createWithType(0,s);e.loaderFields.set(n,o)})),e}if(6===o.type){let t=o.moduleName;if(6===i.type&&(i.symbolName&&(t+="."+i.symbolName),t.startsWith("."))){const e=qt(i.node).moduleName.split(".");for(t=t.substr(1);t.startsWith(".")&&e.length>0;)t=t.substr(1),e.pop();t=e.join(".")+"."+t}const n=Qs.create(t,o.path);return o.symbolName&&o.submoduleFallback?a(n,o.submoduleFallback,e):a(n,o,e)}const l=An(o);if(l)return l;const c=qt(o.node);let u=!c.isInPyTypedPackage||c.isStubFile;if(!u&&1===o.type){const e=Er(o.node,!0);if(e){const t=$t(e);t&&Zs.isEnumClass(t.classType)&&(u=!0)}(o.isFinal||o.isConstant)&&(u=!0)}if(2===o.type)return null===(r=gn(o.node.name,(()=>{mn(o.node)})))||void 0===r?void 0:r.type;if(1===o.type&&o.inferredTypeSource){const e=o.typeAliasName&&o.inferredTypeSource.parent?o.inferredTypeSource.parent:o.inferredTypeSource;let t=null===(s=gn(o.node,(()=>{fn(e)})))||void 0===s?void 0:s.type;if(t&&38===o.node.nodeType){const e=Ut(o.node,(()=>{var e;return(null===(e=gn(o.inferredTypeSource,(()=>{fn(o.inferredTypeSource)})))||void 0===e?void 0:e.type)||Ys.create()}));e&&(t=e)}return t&&o.typeAliasName&&(!Ks.isInstantiable(t)||po(t)||ca(t)||(t=Vt(t,o.typeAliasName,o.node),u=!0)),t&&c.isInPyTypedPackage&&!c.isStubFile&&(u||function(e,t,n){var i;const r=e.getDeclarations().filter((e=>1!==e.type||!e.isInferenceAllowedInPyTyped));if(r.length>1)return!1;if(1!==t.type)return!1;if(0===r.length)return!0;if(bo(n))return!0;let s;const o=t.node.parent;if(o&&(3===o.nodeType?s=o:35===o.nodeType&&3===(null===(i=o.parent)||void 0===i?void 0:i.nodeType)&&(s=o.parent)),!s)return!1;const a=$(s.rightExpression).type;return!(!vo(a)||!ra(a))||38===s.rightExpression.nodeType&&!Ks.isAmbiguous(a)}(n,i,t)&&(u=!0),u||(t=Ks.cloneForAmbiguousType(t))),t}}function Rn(t,n,i=!1){var r;return null===(r=Rc(e,t,n,i))||void 0===r?void 0:r.declaration}function Fn(t,n,i=!1){return Rc(e,t,n,i)}function Nn(e){return Mn(e).type}function Mn(e,t,n=!1){if(e.hasTypedDeclarations()){const n=On(e,t);return{type:n||Ys.create(),isIncomplete:!1,includesVariableDecl:e.getTypedDeclarations().some((e=>1===e.type)),isRecursiveDefinition:!n}}let i=u.get(e.id);const r=t?t.id:void 0;if(i)for(const e of i)if(e.usageNodeId===r&&e.useLastDecl===n)return e.result;const s=[],o=e.getDeclarations(),a=Wo(e);let l,p=!1,d=!1,h=!1;if(n&&o.forEach(((e,t)=>{e.isInExceptSuite||(l=t)})),o.forEach(((n,i)=>{var r,o;let u=void 0===l||i===l;if(void 0!==t&&6!==n.type&&Rr(t)===Rr(n.node)&&(he(n.node,t)||(u=!1)),u){const t=ss(n);if((t||os(n))&&1===n.type&&3===(null===(o=null===(r=n.inferredTypeSource)||void 0===r?void 0:r.parent)||void 0===o?void 0:o.nodeType)&&(Wt(n.inferredTypeSource.parent),n.typeAliasAnnotation&&K(n.typeAliasAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(n.node),allowClassVar:Nr(n.node)})),V(e,n))try{let i=Pn(e,n);if(q(e)||(p=!0),i){if(1===n.type){d=!0;let e=1===n.type&&!!n.isConstant;vo(i)&&Zs.isEnumClass(i)&&function(e){const t=Er(e.node,!0);if(!t)return!1;const n=$t(t);return!!n&&Zs.isEnumClass(n.classType)}(n)&&(e=!0),!Ks.isInstance(i)||t||e||a||(i=Qo(i))}s.push(i),c.isSpeculative(n.node)&&(h=!0)}else p=!0}catch(t){throw q(e),t}else p=!0}})),s.length>0){const t={type:Oo(s),isIncomplete:!1,includesVariableDecl:d,isRecursiveDefinition:!1};return h||(i||(i=[],u.set(e.id,i)),i.push({usageNodeId:r,useLastDecl:n,result:t})),t}return{type:Js.create(),isIncomplete:p,includesVariableDecl:d,isRecursiveDefinition:!1}}function On(e,t){const n=e.getSynthesizedType();if(n)return n;let i=e.getTypedDeclarations();if(0===i.length)return;if(i.length>1&&t){const e=i.filter((e=>!(6!==e.type&&Rr(t)===Rr(e.node)&&!he(e.node,t,!1))));e.length>0&&(i=e)}let r=i.length-1;for(;r>=0;){const t=i[r],n=W(e,t);if(n)return n;if(U(e,t)<0&&V(e,t))try{const n=An(t);if(q(e)||4===t.type)return n}catch(t){throw q(e),t}r--}}function Ln(e){Eo(e)?Un(e):ko(e)&&e.overloads.forEach((e=>{Un(e)}))}function Un(e,t,n=!0){return Xs.getSpecializedReturnType(e)||(n?Vn(e,t):Ys.create())}function Vn(e,n){var i;let r;if(Xs.isStubDefinition(e))return Ys.create();if(e.inferredReturnType)r=e.inferredReturnType;else{if(Xs.isInstanceMethod(e)&&"__init__"===e.details.name)r=to.createInstance();else if(e.details.declaration){const n=e.details.declaration.node;if(t.analyzeUnannotatedFunctions){const t=function(e){var t;return null!==(t=e.codeFlowComplexity)&&void 0!==t?t:0}(n);(e.details.parameters.length<=1||e.details.parameters.some((e=>e.hasDeclaredType))||t<15)&&(function(t){const i=c.disableSpeculativeMode();try{r=rn(n,Xs.isAbstractMethod(e)),c.enableSpeculativeMode(i)}catch(e){throw c.enableSpeculativeMode(i),e}}(),r&&Xs.isWrapReturnTypeInAwait(e)&&(r=nn(n,r,!!(null===(i=e.details.declaration)||void 0===i?void 0:i.isGenerator))))}}r||(r=Ys.create()),e.inferredReturnType=r}if(t.analyzeUnannotatedFunctions&&La(r)&&Xs.hasUnannotatedParams(e)&&!Xs.isStubDefinition(e)&&!Xs.isPyTypedDefinition(e)&&n){const t=function(e,t){var n;let i;if(!e.details.declaration)return;const r=e.details.declaration.node;if(t.some((e=>!e.paramName)))return;if(D.some((e=>e.functionNode===r)))return;const s=Gt(r);return s&&!(t.length>6||D.length>=2)?(En(r,(()=>{const n=A;D.push({functionNode:r,codeFlowAnalyzer:ci.createCodeFlowAnalyzer()});try{A=new Map;let o=!0;r.parameters.forEach(((e,n)=>{if(e.name){let i;const a=t.find((t=>e.name.value===t.paramName));a&&a.argument.valueExpression?(i=$(a.argument.valueExpression).type,po(i)||(o=!1)):e.defaultValue?(i=$(e.defaultValue).type,po(i)||(o=!1)):0===n&&(Xs.isInstanceMethod(s.functionType)||Xs.isClassMethod(s.functionType))&&s.functionType.details.parameters.length>0&&r.parameters[0].name&&(i=s.functionType.details.parameters[0].type),i||(i=Ys.create()),N(e.name,i,0,!1)}})),o||(i=rn(r,Xs.isAbstractMethod(e)))}finally{D.pop(),A=n}})),i?(i=Ro(i),Xs.isWrapReturnTypeInAwait(e)&&!ao(i)&&(i=nn(r,i,!!(null===(n=e.details.declaration)||void 0===n?void 0:n.isGenerator))),i):void 0):void 0}(e,n);t&&(r=t)}return r}function qn(e){const t=Gt(e);return t?Xs.isAbstractMethod(t.functionType)?io.create():Xs.isGenerator(t.functionType)?Pa(t.functionType):t.functionType.details.declaredReturnType:io.create()}function Bn(e){return _o(e.classType)?ha(Nn(e.symbol),e.classType):Ys.create()}function Wn(e,t,n,i,r,s,o){if(o>Gs)return!0;if(o++,h.some((n=>Ao(n.srcType,t)&&Ao(n.destType,e))))return!0;h.push({srcType:t,destType:e});let a=!0;try{a=function(e,t,n,i,r,s,o){const a=e.details.fields,l=Zs.cloneForSpecialization(e,void 0,!1),c=new jo(na(e)),u=new jo(na(e));ma(u,e,t),Zs.isTypedDictClass(t)&&x&&_o(x)&&(t=x);let p=!0;const d=wa(t),h=oa(t,!0)?128:0;if(a.forEach(((e,i)=>{if(e.isClassMember()&&!e.isIgnoredForProtocolMatch()){let r,a=!1;if(!s&&"__class_getitem__"===i)return;if("__slots__"===i)return;if(s&&t.details.effectiveMetaclass&&_o(t.details.effectiveMetaclass)&&(r=va(t.details.effectiveMetaclass,i),r&&(d.addSolveForScope(na(t.details.effectiveMetaclass)),a=!0)),r||(r=va(t,i)),r){let l=On(e);if(l){let d=_o(r.classType)?ha(Nn(r.symbol),r.classType,t):Ys.create();if(Eo(d)||ko(d)){if(a){const e=ri(t,d,void 0,void 0,o,!1,t);if(e&&(d=Ba(e)),Eo(l)||ko(l)){const e=ri(t,l,void 0,void 0,o,!1,t);e&&(l=Ba(e))}}else if(_o(r.classType)){l=fa(l,u);const e=ri(s?t:Zs.cloneAsInstance(t),d,r.classType,void 0,o);if(e&&(d=Ba(e)),Eo(l)||ko(l)){const e=ri(Zs.cloneAsInstance(t),l,r.classType,void 0,o);e&&(l=Ba(e))}}}else l=fa(l,u);const m=null==n?void 0:n.createAddendum();if(vo(l)&&Zs.isPropertyClass(l))if(vo(d)&&Zs.isPropertyClass(d)&&!s)Gu(li,Zs.cloneAsInstantiable(l),Zs.cloneAsInstantiable(d),t,null==m?void 0:m.createAddendum(),c,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1);else{const e=Hn(l,!0);e&&Jn(e,d,null==m?void 0:m.createAddendum(),c,h,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1)}else Jn(l,d,null==m?void 0:m.createAddendum(),c,h,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1);const f=e.getTypedDeclarations().some((e=>1===e.type&&!!e.isFinal));f!==r.symbol.getTypedDeclarations().some((e=>1===e.type&&!!e.isFinal))&&(f?m&&m.addMessage(ml.DiagnosticAddendum.memberIsFinalInProtocol().format({name:i})):m&&m.addMessage(ml.DiagnosticAddendum.memberIsNotFinalInProtocol().format({name:i})),p=!1)}e.isClassVar()&&!r.symbol.isClassMember()&&(n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberClassVar().format({name:i})),p=!1)}else n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberMissing().format({name:i})),p=!1}})),e.details.baseClasses.forEach((a=>{!_o(a)||Zs.isBuiltIn(a,"object")||Zs.isBuiltIn(a,"Protocol")||Wn(ka(e,a),t,null==n?void 0:n.createAddendum(),i,r,s,o)||(p=!1)})),p&&e.details.typeParameters.length>0&&e.typeArguments){const t=fa(l,c);Gn(e,t,n,i,r,o)||(p=!1)}return p}(e,t,n,i,r,s,o)}catch(e){throw h.pop(),e}return h.pop(),a}function jn(e,t,n,i,r,s){if(s>Gs)return!0;s++;let o=!0;const a=e.details.fields,l=Zs.cloneForSpecialization(e,void 0,!1),c=new jo(na(e));if(a.forEach(((i,r)=>{if(i.isClassMember()&&!i.isIgnoredForProtocolMatch()){const a=t.fields.get(r);if(a){let t=On(i);if(t){const i=Nn(a);if((Eo(i)||ko(i))&&(Eo(t)||ko(t))){const n=ri(Zs.cloneAsInstance(e),t,e,void 0,s);n&&(t=n)}const l=null==n?void 0:n.createAddendum();Jn(t,i,null==l?void 0:l.createAddendum(),c,0,s)||(l&&l.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:r})),o=!1)}}else n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberMissing().format({name:r})),o=!1}})),e.details.baseClasses.forEach((a=>{!_o(a)||Zs.isBuiltIn(a,"object")||Zs.isBuiltIn(a,"Protocol")||jn(ka(e,a),t,null==n?void 0:n.createAddendum(),i,r,s)||(o=!1)})),o&&e.details.typeParameters.length>0&&e.typeArguments){const t=fa(l,c);Gn(e,t,n,i,r,s)||(o=!1)}return o}function zn(e,t,n,i,r,s,o){if(Zs.isTypedDictClass(e)&&Zs.isTypedDictClass(t))return!!_l(li,e,t,n,s)&&(Zs.isFinal(e)!==Zs.isFinal(t)?(n&&n.addMessage(ml.DiagnosticAddendum.typedDictFinalMismatch().format({sourceType:ai(Fa(t)),destType:ai(Fa(e))})),!1):!(0!=(1&r)&&!Zs.isSameGenericClass(e,t))||_l(li,t,e,void 0,s));const a=Qu.get(e.details.fullName);if(a&&a.some((e=>t.details.mro.some((t=>yo(t)&&e===t.details.fullName))))&&0==(1&r))return!0;const l=[],c=Zs.isDerivedFrom(t,e,l);if(Zs.isProtocolClass(e)&&!c)return!!Wn(e,t,null==n?void 0:n.createAddendum(),i,r,!1,s)||(n&&n.addMessage(ml.DiagnosticAddendum.protocolIncompatible().format({sourceType:ai(Fa(t)),destType:ai(Fa(e))})),!1);if((0==(1&r)||Zs.isSameGenericClass(t,e))&&c)return w(l.length>0),function(e,t,n,i,r,s,o){let a=t,l=r||new jo(na(e)),c=s;r||(c&=-9);for(let t=n.length-1;t>=0;t--){const r=n[t];if(po(r))return!0;if(Zs.isBuiltIn(r,"object"))return!0;if(t0&&a.typeArguments&&!r.isLocked()){const t=a.typeArguments;for(let n=0;nIo(e.type))),p=l.findIndex((e=>e.isUnbounded)),d=c.findIndex((e=>e.isUnbounded));if(d>=0){const e=u>=0||p>=0?l.length-1:l.length,t=c.length>0?c[d].type:io.create();for(;c.length=0&&d>=0)return n&&n.addMessage(ml.DiagnosticAddendum.typeVarTupleRequiresKnownLength()),!1;if(p>=0||u>=0){const e=c.length-l.length+1;if(e>=0)if(u>=0){if(T&&_o(T)){const t=c.splice(u,e),n=Fa(qa(T,t.map((e=>({type:Qo(e.type),isUnbounded:!1}))),!0,!0,!0));c.splice(u,0,{type:n,isUnbounded:!1})}}else{const t=c.splice(p,e);c.splice(p,0,{type:t.length>0?Oo(t.map((e=>e.type))):io.create(),isUnbounded:!1})}}if(c.length===l.length)for(let e=0;e=0))return n&&n.addMessage(ml.DiagnosticAddendum.tupleSizeMismatch().format({expected:l.length,received:c.length})),!1;if(!e.isUnpacked)return n&&n.addMessage(ml.DiagnosticAddendum.tupleSizeMismatchIndeterminate().format({expected:l.length})),!1}return!0}function Hn(e,t){if(!Zs.isPropertyClass(e))return;const n=e.details.fields.get("fget");if(n){const e=On(n);if(e&&Eo(e))return Un(e,void 0,t)}}function Gn(e,t,n,i,r,s){var o,a,l;w(Zs.isSameGenericClass(e,t));const c=Zs.getTypeParameters(e);let u,p;if(!e.typeArguments||!t.typeArguments)return!0;if(Zs.isTupleClass(e)?(u=null!==(a=null===(o=e.tupleTypeArguments)||void 0===o?void 0:o.map((e=>e.type)))&&void 0!==a?a:[],p=null===(l=t.tupleTypeArguments)||void 0===l?void 0:l.map((e=>e.type))):(u=e.typeArguments,p=t.typeArguments),p)for(let t=0;t=u.length?u.length-1:t,l=a>=0?u[a]:Ys.create(),d=a({category:e.category,name:e.name,isNameSynthesized:e.isNameSynthesized,hasDefault:!!e.hasDefault,type:Xs.getEffectiveParameterType(n,t)}))),o=i.getParamSpec(e);if(!o)return!i.isLocked()&&i.hasSolveForScope(e.scopeId)&&i.setParamSpec(e,{parameters:s,typeVarScopeId:t.details.typeVarScopeId,flags:t.details.flags,docString:t.details.docString,paramSpec:void 0}),!0;if(!o.paramSpec&&o.parameters.length===s.length&&!o.parameters.some(((e,t)=>{const n=s[t];return e.category!==n.category||e.name!==n.name||e.hasDefault!==n.hasDefault||!Ao(e.type,n.type,void 0,void 0,r)})))return!0}else if(ho(t))return!0;return n&&n.addMessage(ml.DiagnosticAddendum.typeParamSpec().format({type:ai(t),name:e.details.name})),!1}(e,t,n,i,s);e.details.isVariadic&&(Co(t)||(t=T&&_o(T)?Fa(qa(T,[{type:t,isUnbounded:!1}],!0,!0,!0)):Ys.create())),Ks.isInstantiable(e)&&vo(t)&&Zs.isBuiltIn(t,"type")&&!t.typeArguments&&(t=io.create());const c=i.getTypeVar(e),u=null==c?void 0:c.narrowBound,p=null!==(o=null==c?void 0:c.wideBound)&&void 0!==o?o:e.details.boundType;if(e.details.constraints.length>0){let r;const o=Ie(t);if(bo(t))Jn(e,o,void 0,new jo(e.scopeId),void 0,s)&&(r=t,Ks.isInstantiable(t)&&(r=Fa(t)));else{let t,n=!0;r=Ko(o,(i=>{let r,o;return ho(i)?i:(e.details.constraints.forEach(((t,n)=>{const a=Ks.isInstantiable(e)?Na(t):t;Jn(a,i,void 0,void 0,void 0,s)&&(r&&!Jn(r,a,void 0,void 0,void 0,s)||(r=Zo(t,Xo(i)),o=n))})),r||l||(n=!1),void 0===o||Xo(i)||(void 0!==t&&t!==o&&(n=!1),t=o),r)})),!ao(r)&&n||(r=void 0),!r&&fo(o)&&(r=e.details.constraints.find((t=>Jn(Ks.isInstantiable(e)?Na(t):t,o,void 0,void 0,void 0,s))))}if(!r)return n&&n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(t),name:e.details.name})),!1;if(u&&!ho(u)){if(!Jn(u,r,void 0,void 0,void 0,s)){if(!Jn(r,u,void 0,void 0,void 0,s))return n&&n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(r),name:ai(u)})),!1;!i.isLocked()&&a&&i.setTypeVarType(e,r)}}else!i.isLocked()&&a&&i.setTypeVarType(e,r);return!0}let d=u,h=p;const m=n?new il:void 0,f=0!=(128&r)||i.getRetainLiterals(e)||e.details.boundType&&oa(e.details.boundType)||e.details.constraints.some((e=>oa(e)));let g=f?t:Qo(t);if(Ks.isInstantiable(e)){if(!Ra(g))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(e)})),!1;g=Fa(g)}if(l||0!=(4&r)){if(p){if(!Ao(p,g,void 0,void 0,s))if(Jn(p,Ie(g),m,void 0,512&r,s))h=g;else if(!Jn(g,p,m,void 0,512&r,s))return n&&m&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(p)})),n.addAddendum(m)),!1}else h=g;if(u&&!Jn(h,u,void 0,void 0,512&r,s))return n&&m&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(u)})),n.addAddendum(m)),!1}else{if(u){if(!Ao(u,g,void 0,void 0,s))if(Jn(u,g,m,i,r,s))d=La(u)&&!po(g)&&Jn(g,u,void 0,i,512&r,s)?g:u;else{if(i.isLocked()||bo(g))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(u),destType:ai(g)})),!1;if(Io(e))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(u),destType:ai(g)})),!1;d=Jn(g,u,void 0,i,512&r,s)?g:fo(u)&&u.subtypes.length>64&&void 0!==e.details.boundType&&y&&vo(y)?Oo([u,y]):Oo([u,g])}}else d=g;if(p&&d&&!Ao(p,d,void 0,void 0,s)){let e=!0;if(bo(p)&&(Ao(d,p)||fo(d)&&d.subtypes.some((e=>Ao(e,p))))&&(e=!1),!Jn(e?Ie(p):p,d,void 0,i,512&r,s))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(p)})),!1}}if(e.details.boundType){const o=d||h;if(Ks.isInstantiable(e)&&!Ks.isInstantiable(t))return!1;if(!Jn(e.details.boundType,Ie(o),null==n?void 0:n.createAddendum(),i,512&r,s))return e.details.isSynthesized||n&&n.addMessage(ml.DiagnosticAddendum.typeBound().format({sourceType:ai(o),destType:ai(e.details.boundType),name:oo.getReadableName(e)})),!1}return!i.isLocked()&&a&&i.setTypeVarType(e,d,h,f),!0}function Jn(e,t,n,i,r=0,s=0){var o,a;if(fo(e)&&1===e.subtypes.length&&Io(e.subtypes[0])&&(e=e.subtypes[0]),fo(t)&&1===t.subtypes.length&&Io(t.subtypes[0])&&(t=t.subtypes[0]),e===t)return!bo(e)||e.details.isParamSpec||e.details.isVariadic||0!==e.scopeType||!i||i.isLocked()||!i.hasSolveForScope(e.scopeId)||i.getTypeVar(e)||0!=(10&r)||i.setTypeVarType(e,t),!0;if(s>Gs)return!0;if(s++,bo(e)&&e.details.recursiveTypeAliasScopeId&&bo(t)&&t.details.recursiveTypeAliasScopeId){if((null===(o=e.typeAliasInfo)||void 0===o?void 0:o.typeArguments)&&(null===(a=t.typeAliasInfo)||void 0===a?void 0:a.typeArguments)&&e.details.recursiveTypeAliasScopeId===t.details.recursiveTypeAliasScopeId){let o=!0;const a=t.typeAliasInfo.typeArguments;return e.typeAliasInfo.typeArguments.forEach(((e,t)=>{Jn(e,t{var i;if(Ao(e,t,!0,void 0,n))return!1;const r=oo.getNameWithScope(e),s=(null!==(i=Xo(t))&&void 0!==i?i:[]).filter((e=>e.typeVarName===r));return 0===s.length||!s.some((i=>e.details.boundType?(w(0===i.constraintIndex,"Expected constraint for bound TypeVar to have index of 0"),Jn(e.details.boundType,t,void 0,void 0,void 0,n)):!(e.details.constraints.length>0)||(w(i.constraintIndex{Kn(t,e,n,i,4|l,s)&&(o=!0)})),o}return Jn(Ie(e),Ie(t),n,void 0,l,s)}if(0!=(1&r))return!!ho(e)||!!(wo(t)&&Eo(e)&&Xs.shouldSkipArgsKwargsCompatibilityCheck(e)&&e.details.parameters.length<=2)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}if(ho(e))return!0;if(ho(t)){if(i){const n=ca(t)?io.create():t;Ca(e,n,i,s)}if(0==(16&r))return!0}if(ao(t))return i&&Ca(e,Ys.create(),i,s),!0;if(fo(t)&&Ks.isSpecialForm(t)&&(t=g||y||io.create()),fo(e))if(fo(t)){if(Yn(e,t,void 0,i,l,s))return!0}else{const n=i?i.clone():void 0;if(Qn(e,t,void 0,n,l,s))return i&&n&&i.copyFromClone(n),!0}const c=Ie(t);if(fo(c))return Yn(e,c,n,i,l,s);if(fo(e))return Qn(e,t,n,i,l,s);if(lo(e)&&lo(t))return!0;if(co(e)){if(co(t))return!0;if(_o(t)&&Zs.isBuiltIn(t,"NoneType"))return!0}if(vo(t)&&Zs.isBuiltIn(t,"type")){const o=t.typeArguments;if(o&&o.length>=1){if(ho(o[0]))return!(!vo(e)||!Zs.isBuiltIn(t,"type"))||Ks.isInstantiable(e);if(vo(o[0])||bo(o[0]))return!!Jn(e,Na(o[0]),null==n?void 0:n.createAddendum(),i,r,s)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}}if(_o(e)){const o=Ie(t);if(_o(o))return Zs.isProtocolClass(e)&&Zs.isProtocolClass(o)&&_o(t)&&!t.includeSubclasses?(n&&n.addMessage(ml.DiagnosticAddendum.protocolSourceIsNotConcrete().format({sourceType:ai(Fa(t)),destType:ai(e)})),!1):!!zn(e,o,n,i,r,s,!1)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}if(vo(e)){if(Zs.isBuiltIn(e,"Type")){const o=e.typeArguments;if(o&&o.length>=1&&Ks.isInstance(o[0])&&Ks.isInstantiable(t))return Jn(o[0],Fa(t),n,i,r,s)}else if(Zs.isBuiltIn(e,"type")){if(Ks.isInstantiable(t))return!(yo(t)&&void 0!==t.literalValue)}else if(Zs.isBuiltIn(e,["TypeGuard","StrictTypeGuard"])&&0!=(64&l)&&vo(t)&&Zs.isBuiltIn(t,"bool"))return!0;const o=Ie(t);if(yo(o)&&Ks.isInstance(o)){if(void 0!==e.literalValue&&(void 0===o.literalValue||!Zs.isLiteralValueSame(o,e)))return n&&n.addMessage(ml.DiagnosticAddendum.literalAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1;if(Zs.isBuiltIn(e,"LiteralString")&&Zs.isBuiltIn(o,"str")){if(void 0!==o.literalValue)return!0}else if(Zs.isBuiltIn(o,"LiteralString")&&Zs.isBuiltIn(e,"str")&&void 0===e.literalValue)return!0;return!!zn(Zs.cloneAsInstantiable(e),Zs.cloneAsInstantiable(o),n,i,r,s,!0)}if(Eo(o)||ko(o)){const t=Xn(e);if(t)return Jn(t,o,n,i,r,s);if(y&&vo(y))return Jn(e,y,n,i,r,s)}else if(To(o)){if(Zs.isBuiltIn(e,"ModuleType"))return!0;if(Zs.isProtocolClass(e))return jn(Zs.cloneAsInstantiable(e),o,n,i,r,s)}else if(_o(o)){const t=Xn(e);if(t)return Jn(t,o,n,i,r,s);if(Zs.isProtocolClass(e))return Wn(Zs.cloneAsInstantiable(e),o,n,i,r,!0,s);const a=o.details.effectiveMetaclass;if(a)return!!ho(a)||zn(Zs.cloneAsInstantiable(e),a,n,i,r,s,!1)}else{if(ho(o))return 0==(16&r);if(fo(o))return Jn(e,o,n,i,r,s)}}if(Eo(e)){let o,a=Ie(t);if(vo(a)){const e=_a(a,"__call__");if(e){const t=Bn(e);if(Eo(t)||ko(t)){const e=ri(a,t,void 0,void 0,s);e&&(a=Ba(e))}}}if(_o(a)&&void 0===a.literalValue){const e=Zn(a,s);e&&(a=e)}if(ko(a)){if(e.details.paramSpec)return n&&n.addMessage(ml.DiagnosticAddendum.paramSpecOverload()),!1;const t=a.overloads,l=t.findIndex((t=>{if(!Xs.isOverloaded(t))return!1;const o=i?i.clone():void 0;return Jn(e,t,null==n?void 0:n.createAddendum(),o,r,s)}));if(l<0)return n&&n.addMessage(ml.DiagnosticAddendum.noOverloadAssignable().format({type:ai(e)})),!1;o=t[l]}else if(Eo(a))o=a;else if(ho(a))return 0==(16&r);if(o&&function(e,t,n,i,r,s){var o,a,l,c,u,p,d,h,m;let f=!0;const g=0==(32&r);r&=-33,e=Wa(e),t=Wa(t);const y=Ho(e),_=Ho(t);!function(e,t){var n;if(void 0===t.argsIndex)return;if(e.params.lengthn>=t.argsIndex&&e.source===zo.KeywordOnly));i<0&&(i=e.params.length);const r=(null!==(n=t.firstKeywordOnlyIndex)&&void 0!==n?n:t.params.length)-t.argsIndex-1,s=e.params.slice(t.argsIndex,i-r),o=[];if(s.forEach((e=>{1===e.param.category?So(e.type)?o.push({type:e.type,isUnbounded:!1}):xo(e.type)&&e.type.tupleTypeArguments?o.push(...e.type.tupleTypeArguments):o.push({type:e.type,isUnbounded:!0}):o.push({type:e.type,isUnbounded:!1})})),1!==o.length||!Io(o[0].type)){let n;n=T&&_o(T)?Fa(qa(T,o,!0,!0,!0)):Ys.create(),e.params=[...e.params.slice(0,t.argsIndex),{param:{category:1,name:"_arg_combined",isNameSynthesized:!0,hasDeclaredType:!0,type:n},type:n,index:-1,source:zo.PositionOrKeyword},...e.params.slice(t.argsIndex+s.length,e.params.length)];const i=e.params.findIndex((e=>1===e.param.category));e.argsIndex=i>=0?i:void 0;const r=e.params.findIndex((e=>2===e.param.category));e.kwargsIndex=r>=0?r:void 0;const a=e.params.findIndex((e=>e.source===zo.KeywordOnly));e.firstKeywordOnlyIndex=a>=0?a:void 0}}(_,y);const v=0==(2&r)?i:new jo(na(e)),I=0!=(2&r)?i:new jo(na(t)),S=0!=(2&r)?!!t.details.paramSpec:!!e.details.paramSpec,x=null!==(a=null!==(o=y.argsIndex)&&void 0!==o?o:y.firstKeywordOnlyIndex)&&void 0!==a?a:y.params.length,C=null!==(c=null!==(l=_.argsIndex)&&void 0!==l?l:_.firstKeywordOnlyIndex)&&void 0!==c?c:_.params.length,w=Math.min(x,C);for(let i=0;i!!e.param.name&&!e.param.hasDefault&&0===e.param.category)).length;if(void 0===y.argsIndex)x0&&y.firstPositionOrKeywordIndex{n>=y.firstKeywordOnlyIndex&&e.param.name&&0===e.param.category&&t.set(e.param.name,e)}));let i=void 0!==_.firstKeywordOnlyIndex?_.firstKeywordOnlyIndex:_.params.length;x=0&&_.params.forEach(((e,o)=>{if(o>=i&&e.param.name&&0===e.param.category){const i=t.get(e.param.name),o=null==n?void 0:n.createAddendum(),a=e.type;if(i){const l=i.type,c=v?fa(l,v):l;Jn(a,c,null==o?void 0:o.createAddendum(),void 0,r,s)||(o&&o.addMessage(ml.DiagnosticAddendum.namedParamTypeMismatch().format({name:e.param.name,sourceType:ai(c),destType:ai(a)})),f=!1),i.param.hasDefault&&!e.param.hasDefault&&(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.functionParamDefaultMissing().format({name:e.param.name})),f=!1),t.delete(e.param.name)}else void 0!==y.kwargsIndex||e.param.hasDefault?void 0!==y.kwargsIndex&&(ei(y.params[y.kwargsIndex].type,a,y.params[y.kwargsIndex].index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1)):(o&&o.addMessage(ml.DiagnosticAddendum.namedParamMissingInDest().format({name:e.param.name})),f=!1)}})),t.forEach(((e,i)=>{void 0!==_.kwargsIndex&&e.param.name?(ei(e.param.type,_.params[_.kwargsIndex].type,e.index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1),t.delete(i)):(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.namedParamMissingInSource().format({name:i})),f=!1)})),void 0!==_.kwargsIndex&&void 0!==y.kwargsIndex&&(ei(y.params[y.kwargsIndex].type,_.params[_.kwargsIndex].type,y.params[y.kwargsIndex].index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1)),Xs.shouldSkipArgsKwargsCompatibilityCheck(e)||void 0!==_.kwargsIndex||void 0===y.kwargsIndex||(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.kwargsParamMissing().format({paramName:y.params[y.kwargsIndex].param.name})),f=!1)}if(S&&(null===(h=t.details.paramSpec)||void 0===h?void 0:h.nameWithScope)===(null===(m=e.details.paramSpec)||void 0===m?void 0:m.nameWithScope)){const n=t.details.parameters.length,i=e.details.parameters.length;n!==i&&(n!==i-1||0!==e.details.parameters[i-1].category||e.details.parameters[i-1].name)&&(f=!1)}if(i&&!i.isLocked()){const n=0==(2&r)?I:v;if(n.getTypeVars().forEach((e=>{Jn(e.typeVar,n.getTypeVarType(e.typeVar),void 0,i,void 0,s)})),i.getTypeVars().forEach((e=>{if(e.narrowBound){const t=fa(e.narrowBound,i);t!==e.narrowBound&&i.setTypeVarType(e.typeVar,t,e.wideBound,e.retainLiteral)}})),S){const n=0==(2&r)?e:t,s=0==(2&r)?t:e;if(n.details.paramSpec){const e=n.details.parameters.filter((e=>!(!e.name||0===e.category&&wo(e.type)))).length;let t=0;const r=[];s.details.parameters.forEach(((n,i)=>{t!Xs.isOverloaded(e)||(i&&i.addSolveForScope(na(e)),Jn(e,t,null==o?void 0:o.createAddendum(),i||new jo(na(e)),r,s))))||(o&&o.addMessage(ml.DiagnosticAddendum.overloadNotAssignable().format({name:e.overloads[0].details.name})),!1)}return!(!vo(e)||!Zs.isBuiltIn(e,"object")||0!=(1&r))||(lo(t)&&vo(e)&&Zs.isProtocolClass(e)&&f&&_o(f)?Wn(Zs.cloneAsInstantiable(e),f,n,i,r,!1,s):lo(e)?(n&&n.addMessage(ml.DiagnosticAddendum.assignToNone()),!1):(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1))}function Yn(e,t,n,i,r,s){if(Ao(t,e,void 0,void 0,s))return!0;if(fo(e)){if(0!=(4&r)){const n=e.subtypes.filter((e=>!ho(e)));if(1===n.length&&bo(n[0]))return Jn(n[0],t,void 0,i,r,s),!0}const o=[];let a=[...t.subtypes],l=!1;if(e.subtypes.forEach((e=>{if($a(e))o.push(e);else{const t=a.findIndex((t=>Ao(t,e,void 0,void 0,s)));t>=0?a.splice(t,1):l=!0}})),l||[...a].forEach((e=>{const t=o.findIndex((t=>yo(e)&&yo(t)&&Ks.isInstance(e)===Ks.isInstance(t)&&Zs.isSameGenericClass(e,t)));t>=0&&(Jn(o[t],e,null==n?void 0:n.createAddendum(),i,r,s)||(l=!0),o.splice(t,1),a=a.filter((t=>t!==e)))})),l||0===o.length&&0===a.length||1===o.length&&bo(o[0])&&Jn(o[0],Oo(a),null==n?void 0:n.createAddendum(),i,r,s)||(l=!0),!l)return!0}let o=!1;return Jo(t,(t=>{Jn(e,t,void 0,i,r,s)||Jn(e,Ie(t),null==n?void 0:n.createAddendum(),i,r,s)||(o=!0)})),!o||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}function Qn(e,t,n,i,r,s){if(1&r){let o=!1;return Jo(e,((a,l)=>{if(!o&&!Jn(a,t,null==n?void 0:n.createAddendum(),i,r,s)){let t=!1;ho(a)||Jo(e,((e,n)=>{l===n||t||Jn(e,a,void 0,void 0,0,s)&&(t=!0)})),t||(o=!0)}})),!o||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}const o=n?new il:void 0;let a=!1;if(lo(t)&&Go(e))a=!0;else{let n,l;if(vo(t)&&ra(t)&&so.containsType(e,t,s))return!0;Jo(e,(e=>{const c=null==i?void 0:i.clone();if(Jn(e,t,null==o?void 0:o.createAddendum(),c,r,s)&&(a=!0,c)){const e=c.getScore();(void 0===l||l<=e)&&(l=e,n=c)}})),i&&n&&i.copyFromClone(n)}return a||bo(t)&&t.details.constraints.length>0&&(a=Jn(e,Ie(t),null==o?void 0:o.createAddendum(),i,r,s)),!!a||(n&&o&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),n.addAddendum(o)),!1)}function Zn(e,t=0){const n=va(e,"__init__",12);if(n){const i=Bn(n),r=Zs.cloneAsInstance(e),s=e=>{let n=ri(r,e,void 0,void 0,t);return n&&(n=Xs.clone(n),n.details.declaredReturnType=r,n.specializedTypes&&(n.specializedTypes.returnType=r)),n};if(Eo(i))return s(i);if(ko(i)){const e=[];if(i.overloads.forEach((t=>{const n=s(t);n&&e.push(n)})),0===e.length)return;return 1===e.length?e[0]:eo.create(e)}}const i=va(e,"__new__",12);if(i){const t=Bn(i),n=t=>ri(e,t,void 0,void 0,void 0,!0);if(Eo(t))return n(t);if(ko(t)){const e=[];if(t.overloads.forEach((t=>{const i=n(t);i&&e.push(i)})),0===e.length)return;return 1===e.length?e[0]:eo.create(e)}}const r=Xs.createInstance("__new__","","",65);return r.details.declaredReturnType=Zs.cloneAsInstance(e),Xs.addDefaultParameters(r),r}function Xn(e){if(!vo(e)||!Zs.isProtocolClass(e))return;for(const t of e.details.mro)if(yo(t)&&Zs.isProtocolClass(t))for(const e of t.details.fields)if("__call__"!==e[0]&&!e[1].isIgnoredForProtocolMatch()){let t=!1;if(v&&yo(v)&&v.details.fields.has(e[0])&&(t=!0),!t)return}const t=_a(e,"__call__");if(!t)return;const n=Bn(t);if(Eo(n)||ko(n)){const t=ri(e,n);if(t)return Ba(t)}}function ei(e,t,n,i,r,s,o,a){if(bo(e)&&e.details.isSynthesized&&e.details.boundType&&vo(e.details.boundType)&&Zs.isProtocolClass(e.details.boundType))return!0;if(Io(e)&&!Co(t))return!1;let l=t,c=e,u=!1;if(0==(2&o))c=fa(e,r),$a(c)&&(u=!Jn(l,c,void 0,r,642|o,a),c=fa(e,r));else if(l=fa(t,s),$a(l)&&$a(l)&&(u=!Jn(l,c,void 0,s,-3&o|512,a),l=fa(t,s)),u)return i&&i.addMessage(ml.DiagnosticAddendum.paramAssignment().format({index:n+1,sourceType:ai(e),destType:ai(t)})),!1;return bo(c)&&c.details.isSynthesizedSelf||bo(l)&&l.details.isSynthesizedSelf&&l.details.boundType&&(l=fa(l.details.boundType,new jo(na(l)),!0)),!(!Jn(l,c,null==i?void 0:i.createAddendum(),0==(2&o)?s:r,o,a)&&!Ao(e,t)&&(i&&i.addMessage(ml.DiagnosticAddendum.paramAssignment().format({index:n+1,sourceType:ai(e),destType:ai(t)})),1))}function ti(e,t){if(t.details.typeParameters.length>0&&t.typeArguments&&t.typeArguments.length<=t.details.typeParameters.length){const n=new jo(na(t));Xe(Zs.cloneForSpecialization(t,void 0,!1),e,n,[]);let i=!1;const r=t.typeArguments.map(((e,r)=>{const s=t.details.typeParameters[r],o=n.getTypeVarType(s);return o&&(uo(o)||ho(e))?(i=!0,o):e}));if(i)return Zs.cloneForSpecialization(t,r,!0)}}function ni(e,t){const n=new il,i=Ko(t,(t=>{const i=Ko(e,(i=>{if(ho(e))return e;if(Jn(i,t,n)){if(_o(i)&&_o(t)){const e=ti(i,t);e&&(t=e)}else if(vo(i)&&vo(t)){const e=ti(Zs.cloneAsInstantiable(i),Zs.cloneAsInstantiable(t));e&&(t=Zs.cloneAsInstance(e))}else{if(!bo(i)&&bo(t))return i;if(ho(t))return i}return t}}));return ao(i)?t:i}));return ho(t)?e:i}function ii(e){const t=new Map;e.details.mro.forEach((e=>{_o(e)&&e.details.fields.forEach(((n,i)=>{if(n.isClassMember()){let r;const s=qo(n);r=!(!s||3!==s.type)&&!!(8&en(s.node,!0)),t.has(i)||t.set(i,{symbol:n,symbolName:i,isAbstract:r,classType:e})}}))}));const n=[];return t.forEach((e=>{e.isAbstract&&n.push(e)})),n}function ri(e,t,n,i,r=0,s=!1,o){if(Eo(t)){if(!e)return Xs.clone(t,!0);if(Xs.isInstanceMethod(t)){const s=vo(e)?e:Zs.cloneAsInstance(xa(e));return si(e,t,n||Zs.cloneAsInstantiable(s),i,r,o||s,vo(e))}if(Xs.isClassMethod(t)||s&&Xs.isConstructorMethod(t)){const s=_o(e)?e:Zs.cloneAsInstantiable(e),a=o?_o(e)?o:Na(o):s;return si(Ks.isInstance(e)?Zs.cloneAsInstantiable(e):e,t,n||s,i,r,a,!0)}if(Xs.isStaticMethod(t)){const s=_o(e)?e:Zs.cloneAsInstantiable(e);return si(Ks.isInstance(e)?Zs.cloneAsInstantiable(e):e,t,n||s,i,r,void 0,!1)}}else if(ko(t)){const a=eo.create([]);return t.overloads.forEach((t=>{if(Xs.isOverloaded(t)){const i=ri(e,t,n,void 0,r,s,o);i&&eo.addOverload(a,i)}})),1===a.overloads.length?a.overloads[0]:0===a.overloads.length?void(i&&t.overloads.forEach((t=>{ri(e,t,n,i,r,s,o)}))):a}return t}function si(e,t,n,i,r,s,o=!0){const a=new jo(na(n));if(s&&t.details.parameters.length>0){const n=t.details.parameters[0],o=Xs.getEffectiveParameterType(t,0),l=Qo(s);a.addSolveForScope(na(t));const c=new il;if(bo(o)&&o.details.boundType&&vo(o.details.boundType)&&Zs.isProtocolClass(o.details.boundType))a.isLocked()||a.setTypeVarType(o,Ks.isInstantiable(o)?Fa(l):l);else if(!Jn(o,l,c,a,void 0,r)&&n.name&&!n.isNameSynthesized&&n.hasDeclaredType){if(!i)return;{const r=t.details.name||"(unnamed)";_e(qt(i).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.bindTypeMismatch().format({type:ai(e),methodName:r,paramName:n.name})+c.getString(),i)}}}Un(t);const l=fa(t,a);return Xs.clone(l,o,e,na(e))}function oi(e){return Fl(e,t.printTypeFlags,Un)}function ai(e,n=!1){let i=t.printTypeFlags;return n&&(i|=32),Pl(e,i,Un)}const li={runWithCancellationToken:function(e,t){try{return m=e,t()}finally{m=void 0}},getType:j,getTypeOfExpression:$,getTypeOfAnnotation:K,getTypeOfClass:$t,getTypeOfFunction:Gt,getTypeForExpressionExpectingType:Sn,getExpectedType:function(e){hn(e);let t=e;for(;void 0!==t;){const e=l.get(t.id);if(e)return{type:e,node:t};t=t.parent}},evaluateTypeForSubnode:gn,evaluateTypesForStatement:fn,evaluateTypesForMatchNode:function(e){if(F(e,0))return;const t=$(e.subjectExpression);let n=t.type;for(const t of e.cases)t.guardExpression||(n=fu(li,n,t.pattern,!1));N(e,n,0,!!t.isIncomplete)},evaluateTypesForCaseNode:un,evaluateTypeOfParameter:mn,canBeTruthy:Q,canBeFalsy:Y,removeTruthinessFromType:Z,removeFalsinessFromType:X,verifyRaiseExceptionType:function(e){const t=xn(e,"BaseException");if(e.typeExpression){const n=$(e.typeExpression).type;if(n&&t&&_o(t)){const i=new il;Jo(n,(n=>{const r=Ie(n);if(!ho(r))if(_o(r)&&void 0===r.literalValue)if(Da(r,t,!1)){let t;En(e.typeExpression,(()=>{t=Ye(e.typeExpression,[],r,!1,void 0)})),t&&t.argumentErrors&&i.addMessage(ml.Diagnostic.exceptionTypeNotInstantiable().format({type:ai(n,!1)}))}else i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:ai(n,!1)}));else vo(r)&&Da(Zs.cloneAsInstantiable(r),t,!1)||i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:ai(n,!1)}))})),i.isEmpty()||_e(qt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.expectedExceptionClass()+i.getString(),e.typeExpression)}}},verifyDeleteExpression:Ce,isAfterNodeReachable:de,isNodeReachable:pe,isAsymmetricDescriptorAssignment:function(e){return a.has(e.id)},suppressDiagnostics:En,getDeclarationsForNameNode:function(e){var t;if(zt(e))return;const n=[];if(e.parent&&23===e.parent.nodeType&&e.parent.alias&&e===e.parent.name){const t=zs(e);if(t){const i=t.lookUpSymbolRecursive(e.parent.alias.value);if(i){const t=i.symbol.getDeclarations().filter((t=>6===t.type&&t.node===e.parent));n.push(...ls(t))}}}else if(e.parent&&35===e.parent.nodeType&&e===e.parent.memberName){let t=j(e.parent.leftExpression);if(t){t=Ie(t);const i=e.parent.memberName.value;Jo(t,(e=>{let t;if(_o(e=Ie(e))){let n=va(e,i,16);if(n||(n=va(e,i)),!n){const t=e.details.effectiveMetaclass;t&&_o(t)&&(n=va(t,i))}n&&(t=n.symbol)}else if(vo(e)){let n=_a(e,i,16);n||(n=_a(e,i)),n&&(t=n.symbol)}else To(e)&&(t=Qs.getField(e,i));if(t){const e=t.getTypedDeclarations();e.length>0?n.push(...e):n.push(...t.getDeclarations())}}))}}else if(e.parent&&37===e.parent.nodeType){const t=e.parent.nameParts.findIndex((t=>t===e)),i=Rt(e.parent);t>=0&&i&&!i.isNativeLib&&t{const t=Dn(e,r);t&&n.push(t)}));else if(_o(e)){const s=null===(t=ee(i.parent.leftExpression,Zs.cloneAsInstance(e),"__init__",{method:"get"},void 0,4))||void 0===t?void 0:t.type;if(s&&Eo(s)){const t=Dn(s,r);if(t)n.push(t);else if(Zs.isDataClass(e)){const t=va(e,r);t&&n.push(...t.symbol.getDeclarations())}}}}}else{const t=qt(e),i=function(e,t){let n,i=e,r=!1;for(;i;){if(41===i.nodeType&&(n===i.typeAnnotation||n===i.typeAnnotationComment))return r||!t;if(28===i.nodeType&&n===i.returnTypeAnnotation)return r||!t;if(28===i.nodeType&&n===i.functionAnnotationComment)return!0;if(54===i.nodeType&&n===i.typeAnnotation)return r||!t;if(3===i.nodeType&&n===i.typeAnnotationComment)return!0;if(48===i.nodeType&&n===i.typeAnnotation&&(r=!0),30===i.nodeType||28===i.nodeType||10===i.nodeType||36===i.nodeType)return!1;n=i,i=i.parent}return!1}(e,!H(qt(e))),r=i||t.isStubFile,s=wn(e,e.value,!r,i);s&&n.push(...s.symbol.getDeclarations())}return n},getTypeForDeclaration:An,resolveAliasDeclaration:Rn,resolveAliasDeclarationWithInfo:Fn,getTypeFromIterable:le,getTypeFromIterator:ae,getGetterTypeFromProperty:Hn,getTypeForArgument:bn,markNamesAccessed:function(e,t){const n=qt(e),i=zs(e);i&&t.forEach((t=>{const r=i.lookUpSymbolRecursive(t);r&&we(n,r.symbol,e)}))},getScopeIdForNode:Pe,makeTopLevelTypeVarsConcrete:Ie,mapSubtypesExpandTypeVars:Se,populateTypeVarMapBasedOnExpectedType:Xe,lookUpSymbolRecursive:wn,getDeclaredTypeOfSymbol:On,getEffectiveTypeOfSymbol:Nn,getEffectiveTypeOfSymbolForUsage:Mn,getInferredTypeOfDeclaration:Pn,getDeclaredTypeForExpression:se,getFunctionDeclaredReturnType:qn,getFunctionInferredReturnType:Vn,getBestOverloadForArguments:Ge,getBuiltInType:xn,getTypeOfMember:Bn,getTypeFromObjectMember:ee,getBoundMethod:ne,getTypeFromMagicMethodReturn:gt,bindFunctionToClassOrObject:ri,getCallSignatureInfo:function(e,t,n){const i=e.leftExpression,r=j(i);if(void 0===r)return;const s=[];let o=0;function a(){s.push({argumentCategory:o,type:Ys.create(),active:!0})}e.arguments.forEach(((e,i)=>{let r=!1;i===t&&(n?r=!0:a()),o=e.argumentCategory,s.push({valueExpression:e.valueExpression,argumentCategory:e.argumentCategory,name:e.name,active:r})})),e.arguments.length{n=rt(i,s,t,new jo(na(t)),!0)})),l.push({type:t,activeParam:null==n?void 0:n.activeParam})}function u(e){Eo(e)?c(e):e.overloads.forEach((e=>{Xs.isOverloaded(e)&&c(e)}))}return Jo(r,(e=>{switch(e.category){case 5:case 6:u(e);break;case 7:if(Ks.isInstantiable(e)){let t;t=ne(e,"__init__");const n=!!t&&Eo(t)&&"builtins.object.__init__"===t.details.fullName,i=!!t&&Eo(t)&&Xs.isSkipConstructorCheck(t);if(!t||n||i){const n=ne(e,"__new__",!0);n&&(Eo(n)&&"builtins.object.__new__"===n.details.fullName||(t=n))}t&&u(t)}else{const t=ne(e,"__call__");t&&u(t)}}})),0!==l.length?{callNode:e,signatures:l}:void 0},getTypeAnnotationForParameter:ie,getAbstractMethods:ii,narrowConstrainedTypeVar:function(e,t){const n=Lt(e);if(n)return ci.narrowConstrainedTypeVar(n,t)},canAssignType:Jn,canOverrideMethod:function(e,t,n,i=!0){if(ko(e)&&(e=e.overloads[e.overloads.length-1],Xs.isOverloaded(e)))return!0;if(!Eo(e))return n.addMessage(ml.DiagnosticAddendum.overrideType().format({type:ai(e)})),!1;const r=Ho(e),s=Ho(t);let o=!0,a=!1;if(s.params.lengthr.params.length)for(let e=r.params.length;e=r.positionOnlyParamCount&&!Yt(l.name||"")&&0===l.category&&l.name!==c.name)0===c.category&&i&&(s.params[a].source===zo.PositionOnly?n.addMessage(ml.DiagnosticAddendum.overrideParamNamePositionOnly().format({index:a+1,baseName:l.name||"*"})):n.addMessage(ml.DiagnosticAddendum.overrideParamName().format({index:a+1,baseName:l.name||"*",overrideName:c.name||"*"})),o=!1);else{const i=Xs.getEffectiveParameterType(e,a),r=Xs.getEffectiveParameterType(t,a),s=bo(i)&&i.details.isSynthesized,u=bo(r)&&r.details.isSynthesized;s||u||l.category===c.category&&Jn(r,i,n.createAddendum(),new jo(na(t)),8)||(n.addMessage(ml.DiagnosticAddendum.overrideParamType().format({index:a+1,baseType:ai(i),overrideType:ai(r)})),o=!1)}}const c=Un(e),u=Un(t);return Jn(c,u,n.createAddendum(),new jo(na(e)),8)||(n.addMessage(ml.DiagnosticAddendum.overrideReturnType().format({baseType:ai(c),overrideType:ai(u)})),o=!1),o},canAssignProtocolClassToSelf:function e(t,n,i=0){w(Zs.isProtocolClass(t)),w(Zs.isProtocolClass(n)),w(Zs.isSameGenericClass(t,n)),w(t.details.typeParameters.length>0);const r=new il,s=new jo;let o=!0;return t.details.fields.forEach(((e,a)=>{if(o&&e.isClassMember()&&!e.isIgnoredForProtocolMatch()){const l=va(n,a);w(void 0!==l);let c=On(e);if(c){const a=Bn(l);if(c=ha(c,t),vo(c)&&Zs.isPropertyClass(c)&&vo(a)&&Zs.isPropertyClass(a))Gu(li,Zs.cloneAsInstantiable(c),Zs.cloneAsInstantiable(a),n,r,s,i)||(o=!1);else{const t=e.getDeclarations()[0],n=1!==(null==t?void 0:t.type)||t.isFinal?0:1;Jn(c,a,r,s,n,i)||(o=!1)}}}})),t.details.baseClasses.forEach((r=>{_o(r)&&Zs.isProtocolClass(r)&&!Zs.isBuiltIn(r,"object")&&!Zs.isBuiltIn(r,"Protocol")&&r.details.typeParameters.length>0&&(e(ka(t,r),ka(n,r),i)||(o=!1))})),o},assignTypeToExpression:xe,getBuiltInObject:Cn,getTypingType:ce,inferReturnTypeIfNecessary:Ln,addError:fe,addWarning:function(e,t,n){return ge("warning",e,t,n)},addInformation:me,addUnusedCode:function(e,t){ye(e)||qt(e).diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unreachableCode(),t)},addDeprecated:function(e,t){ye(t)||qt(t).diagnosticSink.addDeprecatedWithTextRange(e,t)},addDiagnostic:_e,addDiagnosticForTextRange:function(e,t,n,i,r){if("none"===t)return;const s=e.diagnosticSink.addDiagnosticWithTextRange(t,i,r);return n&&s.setRule(n),s},printType:ai,printFunctionParts:function(e){return Nl(e,t.printTypeFlags,Un)},getTypeCacheSize:function(){return s.size},useSpeculativeMode:kn,setTypeForNode:O,checkForCancellation:P},ci=function(e,t){const n=new Map,i=new Map,r=new Map;let s=0,o=1;function a(e,t){const i=new Set;if(n.has(e.id))return!0;n.set(e.id,!0);try{return function e(t,n,r=0){if(r>64)return!0;r++;let s=t;for(;;){if(i.has(s.id))return!1;if(i.add(s.id),s.flags&ft.Unreachable)return!1;if(s===n)return!0;if(s.flags&(ft.VariableAnnotation|ft.Assignment|ft.TrueCondition|ft.FalseCondition|ft.WildcardImport|ft.TrueNeverCondition|ft.FalseNeverCondition|ft.NarrowForPattern|ft.ExhaustedMatch))s=s.antecedent;else{if(!(s.flags&ft.Call)){if(s.flags&(ft.BranchLabel|ft.LoopLabel)){if(s.flags&ft.PostContextManager){const e=s;if(!e.expressions.some((t=>u(t,e.isAsync))))return!1}const t=s;for(const i of t.antecedents)if(e(i,n,r))return!0;return!1}if(s.flags&ft.Start)return!n;if(s.flags&ft.PreFinallyGate)return!s.isGateClosed;if(s.flags&ft.PostFinally){const t=s,i=t.preFinallyGate.isGateClosed;try{return t.preFinallyGate.isGateClosed=!0,e(t.antecedent,n,r)}finally{t.preFinallyGate.isGateClosed=i}}return E("Unexpected flow node flags"),!1}{const e=s;if(c(e.node))return!1;s=e.antecedent}}}}(e,t)}finally{n.delete(e.id)}}function l(e,t){let n=!0;return Jo(e,(e=>{bo(e)?Ao(e,t)||(n=!1):e.condition&&e.condition.some((e=>e.isConstrainedTypeVar&&e.typeVarName===t.nameWithScope))||(n=!1)})),n}function c(t){if(i.has(t.id))return i.get(t.id);i.set(t.id,!1);let n=0,r=0;const s=h(t.leftExpression);s&&Jo(s,(i=>{var s;let o;if(r++,_o(i)){if(i.details.effectiveMetaclass&&yo(i.details.effectiveMetaclass)&&!Zs.isBuiltIn(i.details.effectiveMetaclass,"type")&&va(i.details.effectiveMetaclass,"__call__",12))return;let t=va(i,"__init__",12);if(void 0===t&&(t=va(i,"__new__",12)),t){const n=e.getTypeOfMember(t);if(n&&(Eo(n)||ko(n))){const t=e.bindFunctionToClassOrObject(void 0,n);t&&(i=t)}}}else if(vo(i)){const t=va(i,"__call__",8);if(t){const n=e.getTypeOfMember(t);if(n&&(Eo(n)||ko(n))){const t=e.bindFunctionToClassOrObject(void 0,n);t&&(i=t)}}}if(Eo(i))o=i;else if(ko(i)){const e=i;o=e.overloads[e.overloads.length-1]}if(o){const i=o.details.declaredReturnType;if(Xs.isAsync(o))i&&vo(i)&&Zs.isBuiltIn(i,"Coroutine")&&i.typeArguments&&i.typeArguments.length>=3&&ao(i.typeArguments[2])&&6===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)&&n++;else if(i)ao(i)&&n++;else if(o.details.declaration&&!(o.details.declaration.yieldStatements||Xs.isAbstractMethod(o)||Xs.isStubDefinition(o)||Xs.isPyTypedDefinition(o))){const t=o.details.declaration.node.suite.statements;let i=!1;for(const e of t){if(47!==e.nodeType||1!==e.statements.length)break;const t=e.statements[0];if(48!==t.nodeType){if(43===t.nodeType&&t.typeExpression){const e=e=>38===(null==e?void 0:e.nodeType)&&"NotImplementedError"===e.value;(e(t.typeExpression)||9===t.typeExpression.nodeType&&e(t.typeExpression.leftExpression))&&(i=!0)}break}}i||e.isAfterNodeReachable(o.details.declaration.node)||n++}}}));const o=r>0&&n===r;return i.set(t.id,o),o}function u(t,n){var i;if(r.has(t.id))return r.get(t.id);r.set(t.id,!1);let s,o=!1;if(9===t.nodeType){const e=h(t.leftExpression);if(e)if(_o(e))s=Fa(e);else if(Eo(e))s=e.details.declaredReturnType;else if(ko(e)){const t=e.overloads.find((e=>Xs.isOverloaded(e)));t&&(s=t.details.declaredReturnType)}}else 38===t.nodeType&&(s=e.getDeclaredTypeForExpression(t));if(s&&vo(s)){const r=n?"__aexit__":"__exit__",a=null===(i=e.getTypeFromObjectMember(t,s,r))||void 0===i?void 0:i.type;if(a&&Eo(a)&&a.details.declaredReturnType){const e=a.details.declaredReturnType;o=vo(e)&&Zs.isBuiltIn(e,"bool")}}return r.set(t.id,o),o}function p(t,n){const i=Rt(t.node.module);w(void 0!==i&&i.isImportFound),w(t.node.isWildcardImport);const r=e.lookUpSymbolRecursive(t.node,n,!1);w(void 0!==r);const s=r.symbol.getDeclarations().find((e=>e.node===t.node));return s&&e.getInferredTypeOfDeclaration(r.symbol,s)||Ys.create()}function d(t,n){var i;const r=e.getDeclaredTypeOfSymbol(t);if(r)return r;const s=t.getDeclarations().filter((e=>!e.isInExceptSuite));if(0===s.length)return;const o=s[s.length-1];return 2===o.type?null===(i=e.evaluateTypeForSubnode(o.node.name,(()=>{e.evaluateTypeOfParameter(o.node)})))||void 0===i?void 0:i.type:6===o.type||n?e.getInferredTypeOfDeclaration(t,o):void 0}function h(t){if(38===t.nodeType){const n=e.lookUpSymbolRecursive(t,t.value,!1);if(!n)return;return d(n.symbol,n.isBeyondExecutionScope)}if(35===t.nodeType){const n=t.memberName.value;let i=h(t.leftExpression);if(!i)return;i=e.makeTopLevelTypeVarsConcrete(i);const r=Ko(i,(e=>{var t;let i;if(To(e))i=Qs.getField(e,n);else if(yo(e)){const t=va(e,n);i=t?t.symbol:void 0}return i&&null!==(t=d(i,!1))&&void 0!==t?t:Ys.create()}));if(!ao(r))return r}if(9===t.nodeType){const e=h(t.leftExpression);if(!e)return;if(e&&_o(e))return Fa(e);if(Eo(e))return e.details.declaredReturnType}}return{createCodeFlowAnalyzer:function(){const n=new Map;return{getTypeFromCodeFlow:function(i,r,l,d,h){const m=void 0!==r?At(r):void 0;let f;const g=void 0!==m&&void 0!==l?m+`.${l.toString()}`:".";let y=n.get(g);function _(e,n,i){if(i){const t=y.get(e.id);if(void 0===t)o++;else if(n&&t.isIncompleteType){const e=t;e.type&&!Ao(e.type,n)&&o++}}else o++;const r=i?{isIncompleteType:!0,type:n,incompleteSubtypes:[],generationCount:o}:n;return y.set(e.id,r),t.trackEntry(y,e.id),{type:n,isIncomplete:i,generationCount:o,incompleteSubtypes:i?[]:void 0}}function v(e,t,n,i,r){const s=y.get(e.id);void 0!==s&&Nu(s)||E("setIncompleteSubtype can be called only on a valid incomplete cache entry");const a=s.incompleteSubtypes;if(t0){const e=[];t.incompleteSubtypes.forEach((t=>{t.type&&e.push(t.type)})),n=e.length>0?Oo(e):void 0}return{type:n,isIncomplete:!0,incompleteSubtypes:t.incompleteSubtypes,generationCount:t.generationCount}}function S(e){y.delete(e.id)}function x(t){let n=t.node;const i=t.node.parent;return i&&(28!==i.nodeType&&10!==i.nodeType||(n=i)),e.evaluateTypeForSubnode(n,(()=>{e.evaluateTypesForStatement(t.node)}))}return y||(y=new Map,n.set(g,y)),i?function t(n,i,r,l,d){var h;let g=n;const y=s;for(s++,e.checkForCancellation();;){const C=I(g);if(C){if(!C.isIncomplete)return C;if(C.generationCount===o)return{type:(null==C?void 0:C.type)?Po(C.type):void 0,isIncomplete:!0}}if(g.flags&ft.Unreachable)return _(g,void 0,!1);if(g.flags&ft.VariableAnnotation)g=g.antecedent;else if(g.flags&ft.Call){const e=g;if(c(e.node))return _(g,void 0,!1);g=e.antecedent}else if(g.flags&ft.Assignment){const t=g;if(i){if(r===t.targetSymbolId&&Lr(i,t.node)){if(g.flags&ft.Unbind)return _(g,Js.create(),!1);if(C&&void 0===C.type)return{type:void 0,isIncomplete:!0};_(g,i?void 0:l,!0);let n=x(t);return n&&(ea(n.type)||35===i.nodeType&&e.isAsymmetricDescriptorAssignment(t.node))&&(n=void 0),_(g,null==n?void 0:n.type,!!(null==n?void 0:n.isIncomplete))}if(Ur(i,t.node))return{type:l,isIncomplete:d}}g=t.antecedent}else{if(g.flags&ft.BranchLabel){const e=g;if(g.flags&ft.PostContextManager){const e=g;if(e.expressions.some((t=>u(t,e.isAsync)))===e.blockIfSwallowsExceptions)return _(g,void 0,!1)}if(i&&e.preBranchAntecedent&&e.affectedExpressions&&(f||(f=Pt(i)),!f.some((t=>e.affectedExpressions.has(t)))&&a(g,e.preBranchAntecedent))){g=e.preBranchAntecedent;continue}const n=g,o=[];let c=!1;_(g,i?void 0:l,!0),n.antecedents.forEach((e=>{const n=t(e,i,r,l,d);n.isIncomplete&&(c=!0),n.type&&o.push(n.type)}));const p=i||o.length>0?Oo(o):void 0;return s-y>16384&&(c=!1),_(g,p,c)}if(g.flags&ft.LoopLabel){const e=g;if(i&&(f||(f=Pt(i)),!f.some((t=>e.affectedExpressions.has(t))))){g=e.antecedents[0];continue}let o,a=!1,c=I(g);void 0===c?c=_(g,i?void 0:l,!0):o=c.type;const u=void 0!==c.incompleteSubtypes&&c.incompleteSubtypes.some((e=>e.isPending)),p=T(g);if(u&&(null===(h=c.incompleteSubtypes)||void 0===h?void 0:h.every((e=>e.isPending))))return{type:c.type,isIncomplete:!0};if(e.antecedents.forEach(((e,n)=>{var s;c=I(g);const o=void 0!==c.incompleteSubtypes&&n=64?c.incompleteSubtypes[0].isIncomplete:void 0!==i;return s-y>16384&&(e=!1),{type:c.type,isIncomplete:e}}return a&&o&&c.type&&(Ao(o,c.type)?b(n)>2&&(a=!1):b(n,!0)),a?{type:(null==c?void 0:c.type)?Po(c.type):void 0,isIncomplete:!1}:_(g,c.type,!1)}if(g.flags&(ft.TrueCondition|ft.FalseCondition)){const n=g;if(i){_(g,i?void 0:l,!0);try{const s=ou(e,i,n.expression,!!(n.flags&(ft.TrueCondition|ft.TrueNeverCondition)));if(s){const e=t(n.antecedent,i,r,l,d);let o=e.type;return o&&(o=s(o)),_(g,o,e.isIncomplete)}S(g)}catch(e){throw S(g),e}}g=n.antecedent}else if(g.flags&(ft.TrueNeverCondition|ft.FalseNeverCondition)){const t=g;if(t.reference&&At(t.reference)!==m){const n=e.lookUpSymbolRecursive(t.reference,t.reference.value,!1);if(n&&n.symbol.getTypedDeclarations().length>0){_(g,i?void 0:l,!0);try{const n=ou(e,t.reference,t.expression,!!(t.flags&(ft.TrueCondition|ft.TrueNeverCondition)));if(n){const i=e.getTypeOfExpression(t.reference);if(ao(n(i.type)||i.type))return _(g,void 0,!!i.isIncomplete)}S(g)}catch(e){throw S(g),e}}}g=t.antecedent}else if(g.flags&ft.ExhaustedMatch){const t=g,n=e.evaluateTypeForSubnode(t.node,(()=>{e.evaluateTypesForMatchNode(t.node)}));if(n&&ao(n.type))return _(g,void 0,!!n.isIncomplete);g=t.antecedent}else if(g.flags&ft.NarrowForPattern){const t=g;if(!i||Lr(i,t.subjectExpression)){const n=e.evaluateTypeForSubnode(t.statement,(()=>{64===t.statement.nodeType?e.evaluateTypesForCaseNode(t.statement):e.evaluateTypesForMatchNode(t.statement)}));if(n){if(i)return _(g,n.type,!!n.isIncomplete);if(ao(n.type))return _(g,void 0,!!n.isIncomplete)}}g=t.antecedent}else{if(g.flags&ft.PreFinallyGate){const e=g;if(e.isGateClosed)return{type:void 0,isIncomplete:!1};_(g,i?void 0:l,!0);try{const n=t(e.antecedent,i,r,l,d);return S(g),{type:n.type,isIncomplete:n.isIncomplete}}catch(e){throw S(g),e}}if(g.flags&ft.PostFinally){const n=g,s=n.preFinallyGate.isGateClosed;try{let o;return n.preFinallyGate.isGateClosed=!0,e.useSpeculativeMode(n.finallyNode,(()=>{o=t(n.antecedent,i,r,l,d)})),o.isIncomplete?o:_(g,o.type,!1)}finally{n.preFinallyGate.isGateClosed=s}}if(g.flags&ft.Start)return _(g,l,d);if(!(g.flags&ft.WildcardImport))return E("Unexpected flow node flags"),_(g,void 0,!1);{const e=g;if(i&&38===i.nodeType){const t=i.value;if(e.names.some((e=>e===t))){_(g,i?void 0:l,!0);try{const n=p(e,t);return _(g,n,!1)}catch(e){throw S(g),e}}}g=e.antecedent}}}}}(i,r,l,d,h):{type:d,isIncomplete:h}}}},isFlowNodeReachable:a,narrowConstrainedTypeVar:function(t,n){w(!n.details.isParamSpec),w(!n.details.isVariadic),w(!n.details.boundType),w(n.details.constraints.length>0);const i=new Set,r=[];for(const e of n.details.constraints){if(!vo(e))return;r.push(e)}const s=function t(n,s){let o=n;for(;;){if(i.has(o.id))return r;if(o.flags&(ft.Unreachable|ft.Start))return r;if(o.flags&(ft.VariableAnnotation|ft.Assignment|ft.WildcardImport|ft.TrueNeverCondition|ft.FalseNeverCondition|ft.NarrowForPattern|ft.ExhaustedMatch|ft.PostFinally|ft.PreFinallyGate|ft.Call))o=o.antecedent;else{if(!(o.flags&(ft.TrueCondition|ft.FalseCondition))){if(o.flags&(ft.BranchLabel|ft.LoopLabel)){const e=o,n=[];i.add(o.id);for(const i of e.antecedents){const e=t(i,s);for(const t of e)n.some((e=>Ao(e,t)))||n.push(t)}return i.delete(o.id),n}return E("Unexpected flow node flags"),r}{const n=o,r=n.expression,a=0!=(o.flags&ft.TrueCondition);if(9===r.nodeType&&38===r.leftExpression.nodeType&&"isinstance"===r.leftExpression.value&&2===r.arguments.length){const c=r.arguments[0].valueExpression;if(l(e.getTypeOfExpression(c).type,s)){i.add(o.id);const l=t(n.antecedent,s);i.delete(o.id);const c=r.arguments[1].valueExpression,u=e.getTypeOfExpression(c,void 0,168).type;if(_o(u))return l.filter((e=>Zs.isSameGenericClass(e,u)?a:!a))}}o=n.antecedent}}}}(t,n);return 1===s.length?s[0]:void 0}}}(li,c);return li}class Xu{constructor(e){this.importName=e,this.isAccessed=!1}}class ep extends Xu{constructor(e,t,n){super(e),this.alias=t,this.symbol=n}}class tp extends Xu{constructor(e,t,n){super(e),this.isWildcardImport=t,this.node=n,this.symbols=[]}addSymbol(e,t,n,i=!1){this.symbols.find((e=>e.name===t))||this.symbols.push({symbol:e,name:t,alias:n,isAccessed:i})}}class np extends _r{constructor(e,t){super(),this._accessedImportedSymbols=e,this._treatStringsAsSymbols=t}analyze(e){this.walk(e)}walk(e){zt(e)||super.walk(e)}visitName(e){return this._accessedImportedSymbols.set(e.value,!0),!0}visitMemberAccess(e){const t=this._getRecursiveModuleAccessExpression(e.leftExpression);return t&&this._accessedImportedSymbols.set(`${t}.${e.memberName.value}`,!0),!0}visitString(e){return this._treatStringsAsSymbols&&this._accessedImportedSymbols.set(e.value,!0),!0}_getRecursiveModuleAccessExpression(e){if(38===e.nodeType)return e.value;if(35===e.nodeType){const t=this._getRecursiveModuleAccessExpression(e.leftExpression);if(!t)return;return`${t}.${e.memberName.value}`}}}class ip extends _r{constructor(e,t,n){super(),this._stubPath=e,this._sourceFile=t,this._evaluator=n,this._indentAmount=0,this._includeAllImports=!1,this._typeStubText="",this._lineEnd="\n",this._tab=" ",this._classNestCount=0,this._functionNestCount=0,this._ifNestCount=0,this._emittedSuite=!1,this._emitDocString=!0,this._trackedImportAs=new Map,this._trackedImportFrom=new Map,this._accessedImportedSymbols=new Map,this._stubPath.endsWith("__init__.pyi")&&(this._includeAllImports=!0)}write(){const e=this._sourceFile.getParseResults();this._lineEnd=e.tokenizerOutput.predominantEndOfLineSequence,this._tab=e.tokenizerOutput.predominantTabSequence,this.walk(e.parseTree),this._writeFile()}walk(e){zt(e)||super.walk(e)}visitClass(e){const t=e.name.value;this._emittedSuite=!0,this._emitDocString=!0,this._emitDecorators(e.decorators);let n=`class ${t}`;const i=e.arguments.filter((e=>void 0!==e.name||0!==e.argumentCategory||38!==e.valueExpression.nodeType||"object"!==e.valueExpression.value));return i.length>0&&(n+=`(${i.map((e=>{let t="";return e.name&&(t=e.name.value+"="),t+=this._printExpression(e.valueExpression),t})).join(", ")})`),n+=":",this._emitLine(n),this._emitSuite((()=>{this._classNestCount++,this.walk(e.suite),this._classNestCount--})),this._emitLine(""),this._emitLine(""),!1}visitFunction(e){const t=e.name.value;if(0===this._functionNestCount&&!Yt(t)){this._emittedSuite=!0,this._emitDocString=!0,this._emitDecorators(e.decorators);let n,i=e.isAsync?"async ":"";if(i+=`def ${t}`,i+=`(${e.parameters.map(((t,n)=>this._printParameter(t,e,n))).join(", ")})`,e.returnTypeAnnotation?n=this._printExpression(e.returnTypeAnnotation,!0):e.functionAnnotationComment?n=this._printExpression(e.functionAnnotationComment.returnTypeAnnotation,!0):"__init__"===e.name.value?n="None":"__str__"===e.name.value?n="str":["__int__","__hash__"].some((t=>t===e.name.value))?n="int":["__eq__","__ne__","__gt__","__lt__","__ge__","__le__"].some((t=>t===e.name.value))&&(n="bool"),n&&(i+=" -> "+n),i+=":",!n){const t=this._evaluator.getTypeOfFunction(e);if(t&&Eo(t.functionType)){let e=this._evaluator.getFunctionInferredReturnType(t.functionType);e=Po(e),ao(e)||po(e)||(i+=` # -> ${this._evaluator.printType(e,!1)}:`)}}this._emitLine(i),this._emitSuite((()=>{this._functionNestCount++,this.walk(e.suite),this._functionNestCount--})),this._emitLine("")}return!1}visitWhile(e){return this._emitDocString=!1,!1}visitFor(e){return this._emitDocString=!1,!1}visitTry(e){return this._emitDocString=!1,!1}visitWith(e){return this._emitDocString=!1,!1}visitIf(e){if(this._emitDocString=!1,0===this._functionNestCount&&0===this._ifNestCount){this._ifNestCount++,this._emittedSuite=!0,this._emitLine("if "+this._printExpression(e.testExpression)+":"),this._emitSuite((()=>{this.walkMultiple(e.ifSuite.statements)}));const t=e.elseSuite;t&&(this._emitLine("else:"),this._emitSuite((()=>{19===t.nodeType?this.walkMultiple([t.testExpression,t.ifSuite,t.elseSuite]):this.walkMultiple(t.statements)}))),this._ifNestCount--}return!1}visitAssignment(e){let t=!1,n="";if(38===e.leftExpression.nodeType){if("__all__"===e.leftExpression.value)return 0===this._functionNestCount&&0===this._ifNestCount&&(this._emittedSuite=!0,n=this._printExpression(e.leftExpression),n+=" = ",n+=this._printExpression(e.rightExpression),this._emitLine(n)),!1;if(0===this._functionNestCount){n=this._printExpression(e.leftExpression),e.typeAnnotationComment&&(n+=": "+this._printExpression(e.typeAnnotationComment,!0));const i=this._evaluator.getType(e.leftExpression);if(null==i?void 0:i.typeAliasInfo)t=!0;else if(9===e.rightExpression.nodeType){const n=this._evaluator.getType(e.rightExpression.leftExpression);n&&_o(n)&&Zs.isBuiltIn(n,["TypeVar","TypeVarTuple","ParamSpec","NewType"])&&(t=!0)}}}else if(54===e.leftExpression.nodeType){const t=e.leftExpression.valueExpression;38===t.nodeType&&0===this._functionNestCount&&(n=`${this._printExpression(t)}: ${this._printExpression(e.leftExpression.typeAnnotation,!0)}`)}return n&&(this._emittedSuite=!0,n+=" = ",n+=t?this._printExpression(e.rightExpression):"...",this._emitLine(n)),!1}visitAugmentedAssignment(e){if(38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value&&1===e.operator&&0===this._functionNestCount&&0===this._ifNestCount){let t=this._printExpression(e.leftExpression);t+=" += ",t+=this._printExpression(e.rightExpression),this._emitLine(t)}return!1}visitTypeAnnotation(e){if(0===this._functionNestCount){let t="";if(38===e.valueExpression.nodeType)t=this._printExpression(e.valueExpression);else if(35===e.valueExpression.nodeType){const n=e.valueExpression.leftExpression;38===n.nodeType&&"self"===n.value&&(Yt(e.valueExpression.memberName.value)||(t=this._printExpression(e.valueExpression)))}t&&(t+=": "+this._printExpression(e.typeAnnotation,!0),this._emitLine(t))}return!1}visitImport(e){if(this._functionNestCount>0||this._classNestCount>0)return!1;const t=zs(e);return t&&e.list.forEach((e=>{const n=this._printModuleName(e.module);if(!this._trackedImportAs.has(n)){const i=e.alias?e.alias.value:e.module.nameParts.length>0?e.module.nameParts[0].value:"",r=t.lookUpSymbolRecursive(i);if(r){const t=new ep(n,e.alias?e.alias.value:void 0,r.symbol);this._trackedImportAs.set(n,t)}}})),!1}visitImportFrom(e){if(this._functionNestCount>0||this._classNestCount>0)return!1;const t=zs(e);if(t){const n=this._printModuleName(e.module);let i=this._trackedImportFrom.get(n);i||(i=new tp(n,e.isWildcardImport,e),this._trackedImportFrom.set(n,i)),e.imports.forEach((e=>{const n=e.alias?e.alias.value:e.name.value,r=t.lookUpSymbolRecursive(n);r&&i.addSymbol(r.symbol,e.name.value,e.alias?e.alias.value:void 0,!1)}))}return!1}visitStatementList(e){return e.statements.length>0&&48===e.statements[0].nodeType&&!this._emittedSuite&&this._emitDocString&&this._emitLine(this._printExpression(e.statements[0])),this._emitDocString=!1,this.walkMultiple(e.statements),!1}_emitSuite(e){this._increaseIndent((()=>{const t=this._emittedSuite;this._emittedSuite=!1,e(),this._emittedSuite||this._emitLine("..."),this._emittedSuite=t}))}_increaseIndent(e){this._indentAmount++,e(),this._indentAmount--}_emitDecorators(e){e.forEach((e=>{this._emitLine("@"+this._printExpression(e.expression))}))}_printHeaderDocString(){return'"""'+this._lineEnd+"This type stub file was generated by pyright."+this._lineEnd+'"""'+this._lineEnd+this._lineEnd}_emitLine(e){for(let e=0;ee.value)).join("."),t}_printParameter(e,t,n){let i="";1===e.category?i+="*":2===e.category&&(i+="**"),e.name&&(i+=e.name.value);const r=this._evaluator.getTypeAnnotationForParameter(t,n);let s="";return r&&(s=this._printExpression(r,!0)),s&&(i+=": "+s),e.defaultValue&&(i+=s?" = ...":"=..."),i}_printExpression(e,t=!1,n=!1){return new np(this._accessedImportedSymbols,n).analyze(e),xr(e,t?1:0)}_printTrackedImports(){let e="",t=!1;return this._trackedImportAs.forEach((n=>{this._accessedImportedSymbols.get(n.alias||n.importName)&&(n.isAccessed=!0),(n.isAccessed||this._includeAllImports)&&(e+=`import ${n.importName}`,n.alias&&(e+=` as ${n.alias}`),e+=this._lineEnd,t=!0)})),this._trackedImportFrom.forEach((n=>{n.symbols.forEach((e=>{this._accessedImportedSymbols.get(e.alias||e.name)&&(e.isAccessed=!0)})),n.isWildcardImport&&(e+=`from ${n.importName} import *`+this._lineEnd,t=!0);const i=n.symbols.filter((e=>e.isAccessed||this._includeAllImports)).sort(((e,t)=>e.namet.name?1:0));i.length>0&&(e+=`from ${n.importName} import `,e+=i.map((e=>{let t=e.name;return e.alias&&(t+=" as "+e.alias),t})).join(", "),e+=this._lineEnd,t=!0)})),t&&(e+=this._lineEnd),e}_writeFile(){let e=this._printHeaderDocString();e+=this._printTrackedImports(),e+=this._typeStubText,this._sourceFile.fileSystem.writeFileSync(this._stubPath,e,"utf8")}}class rp{constructor(e,t,n,i,r,s){this._extension=i,this._disableChecker=s,this._sourceFileList=[],this._sourceFileMap=new Map,this._parsedFileCount=0,this._lookUpImport=e=>{var t;let n;if("string"==typeof e)n=this._getSourceFileInfoFromPath(e);else{const t=this._importResolver.resolveImport(e.importingFilePath,this._configOptions.findExecEnvironment(e.importingFilePath),{leadingDots:0,nameParts:e.nameParts,importedSymbols:void 0});if(t.isImportFound&&!t.isNativeLib&&t.resolvedPaths.length>0){let e=t.resolvedPaths[t.resolvedPaths.length-1];e&&(n=this._getSourceFileInfoFromPath(e),n||(e=ke(this._fs,e),this.addTrackedFile(e),n=this._getSourceFileInfoFromPath(e)))}}if(!n)return;n.sourceFile.isBindingRequired()&&Fn.typeCheckerTime.subtractFromTime((()=>{this._bindFile(n)}));const i=n.sourceFile.getModuleSymbolTable();if(!i)return;const r=n.sourceFile.getParseResults(),s=r.parseTree,o=Wt(r.parseTree);return{symbolTable:i,dunderAllNames:null==o?void 0:o.names,usesUnsupportedDunderAllForm:null!==(t=null==o?void 0:o.usesUnsupportedDunderAllForm)&&void 0!==t&&t,get docString(){return Vr(s.statements)}}},this._console=n||new Un,this._logTracker=null!=r?r:new Bn(n,"FG"),this._importResolver=e,this._configOptions=t,this._createNewEvaluator()}get evaluator(){return this._evaluator}setConfigOptions(e){this._configOptions=e,this._createNewEvaluator()}setImportResolver(e){this._importResolver=e,this._createNewEvaluator()}setTrackedFiles(e){if(this._sourceFileList.length>0){const t=new Map;e.forEach((e=>{t.set(ke(this._fs,e),e)})),this._sourceFileList.forEach((e=>{const n=ke(this._fs,e.sourceFile.getFilePath());t.has(n)||(e.isTracked=!1)}))}return this.addTrackedFiles(e),this._removeUnneededFiles()}setPreCheckCallback(e){this._preCheckCallback=e}setAllowedThirdPartyImports(e){this._allowedThirdPartyImports=e}addTrackedFiles(e,t=!1,n=!1){e.forEach((e=>{this.addTrackedFile(e,t,n)}))}addTrackedFile(e,t=!1,n=!1){let i=this._getSourceFileInfoFromPath(e);if(i)return i.isTracked=!0,i.sourceFile;const r=this._getImportNameForFile(e),s=new Ru(this._fs,e,r,t,n,this._console,this._logTracker);return i={sourceFile:s,isTracked:!0,isOpenByClient:!1,isTypeshedFile:!1,isThirdPartyImport:t,isThirdPartyPyTypedPresent:n,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(i),s}setFileOpened(e,t,n,i){var r,s;let o=this._getSourceFileInfoFromPath(e);if(o)o.isOpenByClient=!0,o.diagnosticsVersion=0;else{const t=this._getImportNameForFile(e),n=new Ru(this._fs,e,t,!1,!1,this._console,this._logTracker,null!==(r=null==i?void 0:i.ipythonMode)&&void 0!==r&&r),a=null==i?void 0:i.chainedFilePath;o={sourceFile:n,isTracked:null!==(s=null==i?void 0:i.isTracked)&&void 0!==s&&s,chainedSourceFile:a?this._getSourceFileInfoFromPath(a):void 0,isOpenByClient:!0,isTypeshedFile:!1,isThirdPartyImport:!1,isThirdPartyPyTypedPresent:!1,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(o)}o.sourceFile.setClientVersion(t,n)}setFileClosed(e){const t=this._getSourceFileInfoFromPath(e);return t&&(t.isOpenByClient=!1,t.sourceFile.setClientVersion(null,[]),t.sourceFile.didContentsChangeOnDisk()&&(t.sourceFile.markDirty(),this._markFileDirtyRecursive(t,new Map))),this._removeUnneededFiles()}markAllFilesDirty(e,t=!0){const n=new Map;this._sourceFileList.forEach((i=>{e?i.sourceFile.markDirty(t):i.sourceFile.didContentsChangeOnDisk()&&(i.sourceFile.markDirty(t),this._markFileDirtyRecursive(i,n))})),n.size>0&&this._createNewEvaluator()}markFilesDirty(e,t,n=!0){const i=new Map;e.forEach((e=>{const r=this._getSourceFileInfoFromPath(e);if(r){const s=de(e);if("builtins.pyi"===s||"__builtins__.pyi"===s)return void this.markAllFilesDirty(t,n);(t||!r.isOpenByClient&&r.sourceFile.didContentsChangeOnDisk())&&(r.sourceFile.markDirty(n),this._markFileDirtyRecursive(r,i))}})),i.size>0&&this._createNewEvaluator()}getFileCount(){return this._sourceFileList.length}getTracked(){return this._sourceFileList.filter((e=>e.isTracked))}getOpened(){return this._sourceFileList.filter((e=>e.isOpenByClient))}getFilesToAnalyzeCount(){let e=0;return this._disableChecker||this._sourceFileList.forEach((t=>{t.sourceFile.isCheckingRequired()&&this._shouldCheckFile(t)&&e++})),e}isCheckingOnlyOpenFiles(){return this._configOptions.checkOnlyOpenFiles||!1}getSourceFile(e){const t=this._getSourceFileInfoFromPath(e);if(t)return t.sourceFile}getBoundSourceFile(e){const t=this._getSourceFileInfoFromPath(e);if(t)return this._bindFile(t),this.getSourceFile(e)}analyze(e,t=ot.CancellationToken.None){return this._runEvaluatorWithCancellationToken(t,(()=>{const t=new Pn,n=this._sourceFileList.filter((e=>e.isOpenByClient&&e.sourceFile.isCheckingRequired()));if(n.length>0){const i=e?e.openFilesTimeInMs:Number.MAX_VALUE;for(const e of n)if(this._checkTypes(e)&&t.getDurationInMilliseconds()>i)return!0;if(void 0!==e)return!0}if(!this._configOptions.checkOnlyOpenFiles){const n=e?e.noOpenFilesTimeInMs:Number.MAX_VALUE;for(const e of this._sourceFileList)if(this._isUserCode(e)&&this._checkTypes(e)&&t.getDurationInMilliseconds()>n)return!0}return!1}))}indexWorkspace(e,t){return this._configOptions.indexing?this._runEvaluatorWithCancellationToken(t,(()=>{const i=new Set;for(const e of this._sourceFileList)e.sourceFile.isParseRequired()||i.add(e);let r=0;for(const s of this._sourceFileList){if(!this._isUserCode(s)||!s.sourceFile.isIndexingRequired())continue;this._bindFile(s);const o=s.sourceFile.index({indexingForAutoImportMode:!1},t);if(o){if(++r>2e3)return this._console.warn("Workspace indexing has hit its upper limit: 2000 files"),n(this._sourceFileList,i),r;e(s.sourceFile.getFilePath(),o)}this._handleMemoryHighUsage()}return n(this._sourceFileList,i),r})):0;function n(e,t){for(const n of e)n.sourceFile.isParseRequired()||t.has(n)||n.sourceFile.dropParseAndBindInfo()}}printDependencies(e,t){const n=this._sourceFileList.filter((e=>!e.isTypeshedFile)).sort(((e,t)=>e.sourceFile.getFilePath(){this._console.info("");let r=n.sourceFile.getFilePath();const s=Y(r,e);s&&(r=s),this._console.info(`${r}`),this._console.info(` Imports ${n.imports.length} file`+(1===n.imports.length?"":"s")),t&&n.imports.forEach((e=>{this._console.info(` ${e.sourceFile.getFilePath()}`)})),this._console.info(` Imported by ${n.importedBy.length} file`+(1===n.importedBy.length?"":"s")),t&&n.importedBy.forEach((e=>{this._console.info(` ${e.sourceFile.getFilePath()}`)})),0===n.importedBy.length&&i.push(n.sourceFile)})),i.length>0&&(this._console.info(""),this._console.info(`${i.length} file${1===i.length?"":"s"} not explicitly imported`),i.forEach((e=>{this._console.info(` ${e.getFilePath()}`)})))}writeTypeStub(e,t,n,i){for(const r of this._sourceFileList){ct(i);const s=Y(r.sourceFile.getFilePath(),e);if(void 0!==s){let e=me(te(n,s));e=t?te($(e),"__init__.pyi"):he(e)+".pyi";const o=$(e);try{Q(this._fs,o,n)}catch(e){throw new Error(`Could not create directory for '${o}'`)}this._bindFile(r),this._runEvaluatorWithCancellationToken(i,(()=>{new ip(e,r.sourceFile,this._evaluator).write()})),this._handleMemoryHighUsage()}}}getTypeForSymbol(e){return this._handleMemoryHighUsage(),(this._evaluator||this._createNewEvaluator()).getEffectiveTypeOfSymbol(e)}printType(e,t){return this._handleMemoryHighUsage(),(this._evaluator||this._createNewEvaluator()).printType(e,t)}static _getPrintTypeFlags(e){let t=0;return e.diagnosticRuleSet.printUnknownAsAny&&(t|=1),e.diagnosticRuleSet.omitConditionalConstraint&&(t|=64),e.diagnosticRuleSet.omitTypeArgsIfAny&&(t|=2),e.diagnosticRuleSet.omitUnannotatedParamType&&(t|=4),e.diagnosticRuleSet.pep604Printing&&(t|=8),t}get _fs(){return this._importResolver.fileSystem}_getImportNameForFile(e){return this._importResolver.getModuleNameForImport(e,this._configOptions.getDefaultExecEnvironment()).moduleName}_addShadowedFile(e,t){let n=this._getSourceFileInfoFromPath(t);if(!n){const e=this._getImportNameForFile(t);n={sourceFile:new Ru(this._fs,t,e,!1,!1,this._console,this._logTracker),isTracked:!1,isOpenByClient:!1,isTypeshedFile:!1,isThirdPartyImport:!1,isThirdPartyPyTypedPresent:!1,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(n)}return n.shadows.includes(e)||n.shadows.push(e),e.shadowedBy.includes(n)||e.shadowedBy.push(n),n.sourceFile}_createNewEvaluator(){return this._evaluator=function(e,t,n,i){if(!t.logCalls&&o())return Zu(e,t);function r(e,r,s){return t.logCalls?n.log(e,(e=>(e.add(null==i?void 0:i.print(s)),Fn.typeEvaluationTime.timeOperation(r))),t.minimumLoggingThreshold,!0):Fn.typeEvaluationTime.timeOperation(r)}const s=Zu(t.logCalls?r=>n.log("import lookup",(t=>(t.add(null==i?void 0:i.printFileOrModuleName(r)),e(r))),t.minimumLoggingThreshold,!0):e,t);return{runWithCancellationToken:s.runWithCancellationToken,getType:e=>r("getType",(()=>s.getType(e)),e),getTypeOfExpression:(e,t,n)=>r("getTypeOfExpression",(()=>s.getTypeOfExpression(e,t,n)),e),getTypeOfAnnotation:s.getTypeOfAnnotation,getTypeOfClass:e=>r("getTypeOfClass",(()=>s.getTypeOfClass(e)),e),getTypeOfFunction:e=>r("getTypeOfFunction",(()=>s.getTypeOfFunction(e)),e),getTypeForExpressionExpectingType:s.getTypeForExpressionExpectingType,evaluateTypeForSubnode:s.evaluateTypeForSubnode,evaluateTypesForStatement:e=>r("evaluateTypesForStatement",(()=>s.evaluateTypesForStatement(e)),e),evaluateTypesForMatchNode:s.evaluateTypesForMatchNode,evaluateTypesForCaseNode:s.evaluateTypesForCaseNode,evaluateTypeOfParameter:s.evaluateTypeOfParameter,canBeTruthy:s.canBeTruthy,canBeFalsy:s.canBeFalsy,removeTruthinessFromType:s.removeTruthinessFromType,removeFalsinessFromType:s.removeFalsinessFromType,getExpectedType:e=>r("getExpectedType",(()=>s.getExpectedType(e)),e),verifyRaiseExceptionType:e=>r("verifyRaiseExceptionType",(()=>s.verifyRaiseExceptionType(e)),e),verifyDeleteExpression:e=>r("verifyDeleteExpression",(()=>s.verifyDeleteExpression(e)),e),isAfterNodeReachable:e=>r("isAfterNodeReachable",(()=>s.isAfterNodeReachable(e)),e),isNodeReachable:(e,t)=>r("isNodeReachable",(()=>s.isNodeReachable(e,t)),e),isAsymmetricDescriptorAssignment:s.isAsymmetricDescriptorAssignment,suppressDiagnostics:(e,t)=>r("suppressDiagnostics",(()=>s.suppressDiagnostics(e,t))),getDeclarationsForNameNode:e=>r("getDeclarationsForNameNode",(()=>s.getDeclarationsForNameNode(e)),e),getTypeForDeclaration:e=>r("getTypeForDeclaration",(()=>s.getTypeForDeclaration(e)),e),resolveAliasDeclaration:(e,t,n)=>r("resolveAliasDeclaration",(()=>s.resolveAliasDeclaration(e,t,n)),e),resolveAliasDeclarationWithInfo:(e,t,n)=>r("resolveAliasDeclarationWithInfo",(()=>s.resolveAliasDeclarationWithInfo(e,t,n)),e),getTypeFromIterable:(e,t,n)=>r("getTypeFromIterable",(()=>s.getTypeFromIterable(e,t,n)),e),getTypeFromIterator:(e,t,n)=>r("getTypeFromIterator",(()=>s.getTypeFromIterator(e,t,n)),e),getGetterTypeFromProperty:(e,t)=>r("getGetterTypeFromProperty",(()=>s.getGetterTypeFromProperty(e,t)),e),getTypeForArgument:s.getTypeForArgument,markNamesAccessed:(e,t)=>r("markNamesAccessed",(()=>s.markNamesAccessed(e,t)),e),getScopeIdForNode:s.getScopeIdForNode,makeTopLevelTypeVarsConcrete:e=>r("makeTopLevelTypeVarsConcrete",(()=>s.makeTopLevelTypeVarsConcrete(e)),e),mapSubtypesExpandTypeVars:s.mapSubtypesExpandTypeVars,populateTypeVarMapBasedOnExpectedType:s.populateTypeVarMapBasedOnExpectedType,lookUpSymbolRecursive:s.lookUpSymbolRecursive,getDeclaredTypeOfSymbol:s.getDeclaredTypeOfSymbol,getEffectiveTypeOfSymbol:e=>r("getEffectiveTypeOfSymbol",(()=>s.getEffectiveTypeOfSymbol(e)),e),getEffectiveTypeOfSymbolForUsage:(e,t,n)=>r("getEffectiveTypeOfSymbolForUsage",(()=>s.getEffectiveTypeOfSymbolForUsage(e,t,n)),e),getInferredTypeOfDeclaration:s.getInferredTypeOfDeclaration,getDeclaredTypeForExpression:s.getDeclaredTypeForExpression,getFunctionDeclaredReturnType:e=>r("getFunctionDeclaredReturnType",(()=>s.getFunctionDeclaredReturnType(e)),e),getFunctionInferredReturnType:(e,t)=>r("getFunctionInferredReturnType",(()=>s.getFunctionInferredReturnType(e,t)),e),getBestOverloadForArguments:(e,t,n)=>s.getBestOverloadForArguments(e,t,n),getBuiltInType:(e,t)=>r("getBuiltInType",(()=>s.getBuiltInType(e,t)),e),getTypeOfMember:e=>r("getTypeOfMember",(()=>s.getTypeOfMember(e)),e.symbol),getTypeFromObjectMember:s.getTypeFromObjectMember,getBoundMethod:s.getBoundMethod,getTypeFromMagicMethodReturn:s.getTypeFromMagicMethodReturn,bindFunctionToClassOrObject:s.bindFunctionToClassOrObject,getCallSignatureInfo:(e,t,n)=>r("getCallSignatureInfo",(()=>s.getCallSignatureInfo(e,t,n)),e),getTypeAnnotationForParameter:(e,t)=>r("getTypeAnnotationForParameter",(()=>s.getTypeAnnotationForParameter(e,t)),e),getAbstractMethods:e=>r("getAbstractMethods",(()=>s.getAbstractMethods(e)),e),narrowConstrainedTypeVar:s.narrowConstrainedTypeVar,canAssignType:(e,t,n,i,o)=>r("canAssignType",(()=>s.canAssignType(e,t,n,i,o)),e),canOverrideMethod:(e,t,n,i)=>r("canOverrideMethod",(()=>s.canOverrideMethod(e,t,n,i)),t),canAssignProtocolClassToSelf:(e,t)=>r("canAssignProtocolClassToSelf",(()=>s.canAssignProtocolClassToSelf(e,t))),assignTypeToExpression:s.assignTypeToExpression,getBuiltInObject:s.getBuiltInObject,getTypingType:s.getTypingType,inferReturnTypeIfNecessary:s.inferReturnTypeIfNecessary,addError:(e,t)=>r("addError",(()=>s.addError(e,t)),t),addWarning:(e,t)=>r("addWarning",(()=>s.addWarning(e,t)),t),addInformation:(e,t)=>r("addInformation",(()=>s.addInformation(e,t)),t),addUnusedCode:(e,t)=>r("addUnusedCode",(()=>s.addUnusedCode(e,t)),e),addDeprecated:(e,t)=>r("addDeprecated",(()=>s.addDeprecated(e,t)),t),addDiagnostic:(e,t,n,i)=>r("addDiagnostic",(()=>s.addDiagnostic(e,t,n,i)),i),addDiagnosticForTextRange:(e,t,n,i,o)=>r("addDiagnosticForTextRange",(()=>s.addDiagnosticForTextRange(e,t,n,i,o))),printType:(e,t)=>r("printType",(()=>s.printType(e,t)),e),printFunctionParts:e=>r("printFunctionParts",(()=>s.printFunctionParts(e)),e),getTypeCacheSize:s.getTypeCacheSize,useSpeculativeMode:s.useSpeculativeMode,setTypeForNode:s.setTypeForNode,checkForCancellation:s.checkForCancellation}}(this._lookUpImport,{printTypeFlags:rp._getPrintTypeFlags(this._configOptions),logCalls:this._configOptions.logTypeEvaluationTime,minimumLoggingThreshold:this._configOptions.typeEvaluationTimeThreshold,analyzeUnannotatedFunctions:this._configOptions.analyzeUnannotatedFunctions,evaluateUnknownImportsAsAny:!!this._configOptions.evaluateUnknownImportsAsAny,verifyTypeCacheEvaluatorFlags:!!this._configOptions.internalTestMode},this._logTracker,this._configOptions.logTypeEvaluationTime?Fu(this._importResolver.getImportRoots(this._configOptions.findExecEnvironment(this._configOptions.projectRoot))):void 0),this._evaluator}_parseFile(e,t){if(this._isFileNeeded(e)&&e.sourceFile.isParseRequired()&&(e.sourceFile.parse(this._configOptions,this._importResolver,t)&&(this._parsedFileCount++,this._updateSourceFileImports(e,this._configOptions)),e.sourceFile.isFileDeleted())){e.isTracked=!1;const t=new Map;this._markFileDirtyRecursive(e,t),this._importResolver.invalidateCache()}}_bindFile(e,t){var n,i;if(!this._isFileNeeded(e)||!e.sourceFile.isBindingRequired())return;this._parseFile(e,t);const r=t=>{if(!t||t===e)return;if(this._bindFile(t),t.sourceFile.isFileDeleted())return;const n=t.sourceFile.getParseResults();if(!n)return;const i=Ft(n.parseTree);return w(void 0!==i),i};let s;e.builtinsImport&&e.builtinsImport!==e&&(s=null!==(i=null!==(n=r(e.chainedSourceFile))&&void 0!==n?n:r(e.ipythonDisplayImport))&&void 0!==i?i:r(e.builtinsImport)),e.sourceFile.bind(this._configOptions,this._lookUpImport,s)}_buildModuleSymbolsMap(e,t,n,i){return function(e,t,n){const i=new Map;return ct(n),e.forEach((e=>{if(e.shadows.length>0)return;const n=e.sourceFile.getFilePath(),r=e.sourceFile.getModuleSymbolTable();if(r){if(Yt(he(de(n))))return;return void i.set(n,{forEach(e){r.forEach(((t,n)=>{if(t.isExternallyHidden())return;const i=t.getDeclarations();if(!i||0===i.length)return;const r=i[0];if(!r)return;if(6===r.type)return;const s=1!==r.type||r.isConstant||r.isFinal?void 0:ot.SymbolKind.Variable;e({symbol:t,kind:s},n,!1)}))}})}const s=e.sourceFile.getCachedIndexResults();s&&t&&!s.privateOrProtected&&i.set(n,Gl(s,!1))})),i}(this._sourceFileList.filter((n=>n!==e&&(!t||this._isUserCode(n)))),n,i)}_shouldCheckFile(e){return!!e.isOpenByClient||!(this._configOptions.checkOnlyOpenFiles||!e.isTracked)}_checkTypes(e){return this._logTracker.log(`analyzing: ${e.sourceFile.getFilePath()}`,(t=>{if(!this._isFileNeeded(e))return t.suppress(),!1;if(!e.sourceFile.isCheckingRequired())return t.suppress(),!1;if(!this._shouldCheckFile(e))return t.suppress(),!1;if(this._bindFile(e),this._preCheckCallback){const t=e.sourceFile.getParseResults();t&&this._preCheckCallback(t,this._evaluator)}if(this._disableChecker||e.sourceFile.check(this._evaluator),this._handleMemoryHighUsage(),"none"!==this._configOptions.diagnosticRuleSet.reportImportCycles&&!this._allowedThirdPartyImports){const t=new Map;this._getImportsRecursive(e,t,0),t.forEach((e=>{Fn.cycleDetectionTime.timeOperation((()=>{this._detectAndReportImportCycles(e)}))}))}return!0}))}_getImportsRecursive(e,t,n){const i=ke(this._fs,e.sourceFile.getFilePath());if(!t.has(i))if(n>256)e.sourceFile.setHitMaxImportDepth(256);else{t.set(i,e);for(const i of e.imports)this._getImportsRecursive(i,t,n+1)}}_detectAndReportImportCycles(e,t=[],n=new Map){if(e.sourceFile.isStubFile()||e.isThirdPartyImport)return;const i=ke(this._fs,e.sourceFile.getFilePath());if(n.has(i))t.length>1&&e===t[0]&&this._logImportCycle(t);else{if(n.has(i))return;n.set(i,!0),t.push(e);for(const i of e.imports)this._detectAndReportImportCycles(i,t,n);n.set(i,!1),t.pop()}}_logImportCycle(e){const t=new _c;e.forEach((e=>{t.appendPath(e.sourceFile.getFilePath())})),t.normalizeOrder();const n=t.getPaths()[0],i=this._getSourceFileInfoFromPath(n);w(void 0!==i),i.sourceFile.addCircularDependency(t)}_markFileDirtyRecursive(e,t,n=!1){const i=ke(this._fs,e.sourceFile.getFilePath());t.has(i)||(e.sourceFile.markReanalysisRequired(n),t.set(i,!0),e.importedBy.forEach((n=>{const i=n.chainedSourceFile===e;this._markFileDirtyRecursive(n,t,i)})))}getTextOnRange(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;const r=i.sourceFile,s=r.getOpenFileContents();return void 0!==s?this._runEvaluatorWithCancellationToken(n,(()=>{this._parseFile(i);const e=r.getParseResults(),n=Ct(t,e.tokenizerOutput.lines);if(n)return s.substr(n.start,n.length)})):void 0}getAutoImports(e,t,n,i,r,s,o,a){const l=this._getSourceFileInfoFromPath(e);if(!l)return[];const c=l.sourceFile,u=c.getOpenFileContents();return void 0===u?[]:this._runEvaluatorWithCancellationToken(a,(()=>{this._bindFile(l);const p=c.getParseResults(),d=Ct(t,p.tokenizerOutput.lines);if(!d)return[];const h=Tr(p.parseTree,d.start);if(!h)return[];const m=u.substr(d.start,d.length),f=this._buildModuleSymbolsMap(l,!!r,!0,a),g=new Hl(this._configOptions.findExecEnvironment(e),this._importResolver,p,t.start,new $l,f,{lazyEdit:s,allowVariableInAll:o,libraryMap:r,patternMatcher:(e,t)=>function(e,t){if(t.startsWith(e))return 1;const n=t.toLocaleLowerCase(),i=e.toLocaleLowerCase();if(n.startsWith(i))return.75;let r=n.length,s=Number.MAX_VALUE;for(;r>0;){const e=F()(n.substr(0,r),i);e=e.length?0:(e.length-s)/e.length*.5}(e,t)>n}),y=[],_=zs(h);if(_){const e=null==i?void 0:i.get(m);e&&y.push(...g.getAutoImportCandidatesForAbbr(m,e,a)),y.push(...g.getAutoImportCandidates(m,n,void 0,a).filter((e=>!_.lookUpSymbolRecursive(e.name))))}return y}))}getDiagnostics(e){const t=this._removeUnneededFiles();return this._sourceFileList.forEach((n=>{if(this._shouldCheckFile(n)){const i=n.sourceFile.getDiagnostics(e,n.diagnosticsVersion);void 0!==i&&(t.push({filePath:n.sourceFile.getFilePath(),version:n.sourceFile.getClientVersion(),diagnostics:i}),n.diagnosticsVersion=n.sourceFile.getDiagnosticVersion())}else!n.isOpenByClient&&e.checkOnlyOpenFiles&&void 0!==n.diagnosticsVersion&&(t.push({filePath:n.sourceFile.getFilePath(),version:n.sourceFile.getClientVersion(),diagnostics:[]}),n.diagnosticsVersion=void 0)})),t}getDiagnosticsForRange(e,t){const n=this.getSourceFile(e);if(!n)return[];const i=n.getDiagnostics(this._configOptions);return i?i.filter((e=>yt(e.range,t))):[]}getDefinitionsForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getDefinitionsForPosition(this._createSourceMapper(s),t,n,this._evaluator,i)}))}getTypeDefinitionsForPosition(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e);return i.sourceFile.getTypeDefinitionsForPosition(this._createSourceMapper(r,!1,!0),t,this._evaluator,e,n)}))}reportReferencesForPosition(e,t,n,i,r){this._runEvaluatorWithCancellationToken(r,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;const o=this._isUserCode(s);this._bindFile(s);const a=this._configOptions.findExecEnvironment(e),l=s.sourceFile.getDeclarationForPosition(this._createSourceMapper(a),t,this._evaluator,i,r);if(l)if(l.requiresGlobalSearch){for(const e of this._sourceFileList)if(ct(r),e.isOpenByClient||!o||this._isUserCode(e)){const t=e.sourceFile.getFileContent();(!t||t.search(l.symbolName)>=0)&&(this._bindFile(e),e.sourceFile.addReferences(l,n,this._evaluator,r)),this._handleMemoryHighUsage()}if(n)for(const e of l.declarations){if(ct(r),l.locations.some((t=>t.path===e.path)))continue;const t=this._getSourceFileInfoFromPath(e.path);if(!t)continue;const i=new Xl(l.requiresGlobalSearch,l.nodeAtOffset,l.symbolName,l.declarations);t.sourceFile.addReferences(i,n,this._evaluator,r);for(const t of i.locations)t.path===e.path&&_t(e.range,t.range)&&l.addLocations(t)}}else s.sourceFile.addReferences(l,n,this._evaluator,r)}))}getFileIndex(e,t,n){if(!t.indexingForAutoImportMode||!Yt(he(de(e))))return this._handleMemoryHighUsage(),this._runEvaluatorWithCancellationToken(n,(()=>{var i;const r=this._getSourceFileInfoFromPath(e);if(!r)return;const s=null!==(i=r.sourceFile.getFileContent())&&void 0!==i?i:"";return t.indexingForAutoImportMode&&!r.sourceFile.isStubFile()&&!r.sourceFile.isThirdPartyPyTypedPresent()&&s.indexOf("__all__")<0?void 0:(this._bindFile(r,s),r.sourceFile.index(t,n))}))}addSymbolsForDocument(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);i&&(i.sourceFile.getCachedIndexResults()||this._bindFile(i),i.sourceFile.addHierarchicalSymbolsForDocument(t,n))}))}reportSymbolsForWorkspace(e,t,n){this._runEvaluatorWithCancellationToken(n,(()=>{if(e)for(const i of this._sourceFileList){if(!this._isUserCode(i))continue;i.sourceFile.getCachedIndexResults()||this._bindFile(i);const r=i.sourceFile.getSymbolsForDocument(e,n);r.length>0&&t(r),this._handleMemoryHighUsage()}}))}getHoverForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getHoverForPosition(this._createSourceMapper(s,!0),t,n,this._evaluator,i)}))}getDocumentHighlight(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e);return i.sourceFile.getDocumentHighlight(this._createSourceMapper(r),t,this._evaluator,n)}))}getSignatureHelpForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getSignatureHelpForPosition(t,this._createSourceMapper(s,!0),this._evaluator,n,i)}))}async getCompletionsForPosition(e,t,n,i,r,s,o){var a,l;const c=this._getSourceFileInfoFromPath(e);if(!c)return;const u=this._logTracker.log(`completion at ${e}:${t.line}:${t.character}`,(a=>{var l,u;const p=this._runEvaluatorWithCancellationToken(o,(()=>{this._bindFile(c);const a=this._configOptions.findExecEnvironment(e);return c.sourceFile.getCompletionsForPosition(t,n,this._configOptions,this._importResolver,this._lookUpImport,this._evaluator,i,this._createSourceMapper(a,!0),r,s,(()=>this._buildModuleSymbolsMap(c,!!s,!1,o)),o)}));return a.add(`found ${null!==(u=null===(l=null==p?void 0:p.completionMap)||void 0===l?void 0:l.size)&&void 0!==u?u:"null"} items`),p})),p={completionList:Ln.CompletionList.create(null===(a=null==u?void 0:u.completionMap)||void 0===a?void 0:a.toArray()),memberAccessInfo:null==u?void 0:u.memberAccessInfo,autoImportInfo:null==u?void 0:u.autoImportInfo,extensionInfo:null==u?void 0:u.extensionInfo};if(!(null==u?void 0:u.completionMap)||!(null===(l=this._extension)||void 0===l?void 0:l.completionListExtension))return p;const d=c.sourceFile.getParseResults();if((null==d?void 0:d.parseTree)&&(null==d?void 0:d.text)){const e=xt(t,d.tokenizerOutput.lines);void 0!==e&&await this._extension.completionListExtension.updateCompletionResults(p,d,e,o)}return p}resolveCompletionItem(e,t,n,i,r,s){return this._runEvaluatorWithCancellationToken(s,(()=>{const o=this._getSourceFileInfoFromPath(e);if(!o)return;this._bindFile(o);const a=this._configOptions.findExecEnvironment(e);o.sourceFile.resolveCompletionItem(this._configOptions,this._importResolver,this._lookUpImport,this._evaluator,n,this._createSourceMapper(a,!0),i,r,(()=>this._buildModuleSymbolsMap(o,!!r,!1,s)),t,s)}))}renameModule(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{if(ge(this._fs,e)&&!this._getSourceFileInfoFromPath(e))return;const i=gc.createForModule(this._importResolver,this._configOptions,this._evaluator,e,t,n);return i?(this._processModuleReferences(i,i.lastModuleName,e),i.getEdits()):void 0}))}moveSymbolAtPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=r.sourceFile.getParseResults();if(!s)return;const o=xt(n,s.tokenizerOutput.lines);if(void 0===o)return;const a=Tr(s.parseTree,o);if(void 0===a)return;if(38!==a.nodeType)return;const l=this._configOptions.findExecEnvironment(e),c=Ml.getDeclarationsForNode(a,this._evaluator,!1,i,this._createSourceMapper(l)),u=gc.createForSymbol(this._importResolver,this._configOptions,this._evaluator,e,t,c,i);return u?(this._processModuleReferences(u,a.value,e),{edits:u.getEdits(),fileOperations:[]}):void 0}))}renameSymbolAtPosition(e,t,n,i,r){return this._runEvaluatorWithCancellationToken(r,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;this._bindFile(s);const o=this._configOptions.findExecEnvironment(e),a=s.sourceFile.getDeclarationForPosition(this._createSourceMapper(o),t,this._evaluator,void 0,r);if(!a)return;if(m(a.declarations,(e=>{var t;return!(!Gn(e)||e.usesLocalName&&e.node&&22!==e.node.nodeType&&(null===(t=e.node.alias)||void 0===t?void 0:t.value)===a.symbolName)})),0===a.declarations.length)return;if(!i&&a.declarations.some((e=>!this._isUserCode(this._getSourceFileInfoFromPath(e.path)))))return;if(a.requiresGlobalSearch&&!i)for(const e of this._sourceFileList)this._isUserCode(e)&&(this._bindFile(e),e.sourceFile.addReferences(a,!0,this._evaluator,r)),this._handleMemoryHighUsage();else(i||this._isUserCode(s))&&s.sourceFile.addReferences(a,!0,this._evaluator,r);const l=[];return a.locations.forEach((e=>{l.push({filePath:e.path,range:e.range,replacementText:n})})),l}))}getCallForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);return Jl.getCallForDeclaration(s.symbolName,o,this._evaluator,n)}getIncomingCallsForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);let a=[];for(const e of this._sourceFileList)if(this._isUserCode(e)||e.isOpenByClient){this._bindFile(e);const t=Jl.getIncomingCallsForDeclaration(e.sourceFile.getFilePath(),s.symbolName,o,e.sourceFile.getParseResults(),this._evaluator,n);t&&(a=a.concat(...t)),this._handleMemoryHighUsage()}return a}getOutgoingCallsForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);return Jl.getOutgoingCallsForDeclaration(o,i.sourceFile.getParseResults(),this._evaluator,n)}performQuickAction(e,t,n,i){const r=this._getSourceFileInfoFromPath(e);if(r)return this._bindFile(r),r.sourceFile.performQuickAction(t,n,i)}getApiDocs(e,t){const n=[...t,Ln.MarkupKind.PlainText].map((e=>{switch(e){case Ln.MarkupKind.Markdown:return ds;case Ln.MarkupKind.PlainText:return hs;default:return}})).filter(Boolean)[0],i=e=>e?n(e):void 0,r=Object.create(null);for(const t of e){const e={leadingDots:0,nameParts:t.split("."),importedSymbols:[]},n=this._importResolver.resolveImport("",this._configOptions.findExecEnvironment("."),e);if(n.isImportFound){const e=n.resolvedPaths[n.resolvedPaths.length-1];this.addTrackedFiles([e],!0,!1);const s=this.getBoundSourceFile(e);if(s){const e=s.getParseResults().parseTree,n={id:t,name:t,kind:"module",fullName:t,docString:i(Vr(e.statements)),children:[]};r[t]=n;const o=zs(e),a=(e,t,n)=>{n.forEach(((n,r)=>{if(!n.isExternallyHidden()&&!n.isPrivateMember()){const s=this.getTypeForSymbol(n),o=n.getDeclarations(),l=e=>o.some((t=>t.type===e));if(l(4)&&yo(s)){const n=s.details.fullName;e.push({id:n,name:r,children:[],docString:i(s.details.docString),fullName:n,kind:"class",baseClasses:s.details.baseClasses.map((e=>({name:e.details.name,fullName:e.details.fullName}))).filter((e=>"builtins.object"!==e.fullName))}),a(e[e.length-1].children,[...t,r],s.details.fields)}else if(l(3)&&Eo(s)){const t=s.details.fullName;e.push({id:t,name:r,docString:i(s.details.docString),fullName:t,kind:"function",params:this.apiDocsParamsInfo(s)})}else if(l(3)&&ko(s)){let t=1;for(const n of s.overloads){const s=n.details.fullName;e.push({id:`${s}-${t++}`,name:r,docString:i(n.details.docString),fullName:s,kind:"function",params:this.apiDocsParamsInfo(n)})}}else if(l(1)){const n=o.find((e=>1===e.type)),s=[...t,r].join(".");e.push({id:s,name:r,fullName:s,kind:"variable",docString:i(n.docString)})}else if(l(6)&&To(s)){const n=s.moduleName;e.push({id:n,name:r,children:[],docString:i(s.docString),fullName:n,kind:"module"}),a(e[e.length-1].children,[...t,r],s.fields)}}}))};a(n.children,[t],o.symbolTable)}}}return this._removeUnneededFiles(),r}apiDocsParamsInfo(e){return e.details.parameters.map((e=>({name:e.name,defaultValue:e.defaultValueExpression?xr(e.defaultValueExpression,0):void 0,category:0===e.category?"simple":1===e.category?"varargList":"varargDict"})))}test_createSourceMapper(e){return this._createSourceMapper(e,!1)}_processModuleReferences(e,t,n){var i;for(const r of this._sourceFileList){if(!this._isUserCode(r))continue;const s=r.sourceFile.getFilePath(),o=null!==(i=r.sourceFile.getFileContent())&&void 0!==i?i:"";if(s!==n&&o.indexOf(t)<0)continue;this._bindFile(r,o);const a=r.sourceFile.getParseResults();a&&(e.renameReferences(s,a),this._handleMemoryHighUsage())}}_handleMemoryHighUsage(){if(this._evaluator.getTypeCacheSize()>75e4||this._parsedFileCount>1e3){const e={heapUsed:0,rss:1};if(e.heapUsed>.9*e.rss){const t=Math.round(e.rss/1048576),n=Math.round(e.heapUsed/1048576);this._console.info(`Emptying type cache to avoid heap overflow. Used ${n}MB out of ${t}MB`),this._createNewEvaluator(),this._discardCachedParseResults(),this._parsedFileCount=0}}}_discardCachedParseResults(){for(const e of this._sourceFileList)e.sourceFile.dropParseAndBindInfo()}_isUserCode(e){return e&&e.isTracked&&!e.isThirdPartyImport&&!e.isTypeshedFile}_runEvaluatorWithCancellationToken(e,t){try{return e?this._evaluator.runWithCancellationToken(e,t):t()}catch(e){throw e instanceof lt||this._createNewEvaluator(),e}}_removeUnneededFiles(){const e=[];for(let t=0;t{const r=i.importedBy.findIndex((e=>e===n));if(!(r<0||(i.importedBy.splice(r,1),this._isFileNeeded(i)))){const n=this._sourceFileList.findIndex((e=>e===i));n>=0&&n{e.shadows=e.shadows.filter((e=>e!==n))})),n.shadowedBy=[])}return e}_isFileNeeded(e){return!e.sourceFile.isFileDeleted()&&(!(!e.isTracked&&!e.isOpenByClient)||e.shadows.length>0||0!==e.importedBy.length&&this._isImportNeededRecursive(e,new Map))}_isImportNeededRecursive(e,t){if(e.isTracked||e.isOpenByClient||e.shadows.length>0)return!0;const n=ke(this._fs,e.sourceFile.getFilePath());if(t.has(n))return!1;t.set(n,!0);for(const n of e.importedBy)if(this._isImportNeededRecursive(n,t))return!0;return!1}_createSourceMapper(e,t,n){return new Xa(this._importResolver,e,this._evaluator,((e,t)=>{const n=this._getSourceFileInfoFromPath(e);if(n)return this._addShadowedFile(n,t),this.getBoundSourceFile(t)}),(e=>this.getBoundSourceFile(e)),null!=t&&t,null!=n&&n)}_isImportAllowed(e,t,n){if(t.isNativeLib)return!1;let i=this._configOptions.useLibraryCodeForTypes||1===t.importType&&!!t.pyTypedInfo||2===t.importType&&e.isThirdPartyPyTypedPresent;return!((1===t.importType||e.isThirdPartyImport&&2===t.importType)&&(this._allowedThirdPartyImports&&(t.isRelative||this._allowedThirdPartyImports.some((e=>t.importName===e||!!t.importName.startsWith(e+"."))))&&(i=!0),!n))||i}_updateSourceFileImports(e,t){const n=[],i=e.sourceFile.getImports(),r=t=>{let n=!1,i=!1;return 1===t.importType?(n=!0,t.pyTypedInfo&&(i=!0)):e.isThirdPartyImport&&2===t.importType&&(n=!0,e.isThirdPartyPyTypedPresent&&(i=!0)),{isThirdPartyImport:n,isPyTypedPresent:i}},s=new Map;if(e.chainedSourceFile)if(e.chainedSourceFile.sourceFile.isFileDeleted())e.chainedSourceFile=void 0;else{const t=e.chainedSourceFile.sourceFile.getFilePath();s.set(ke(this._fs,t),{path:t,isTypeshedFile:!1,isThirdPartyImport:!1,isPyTypedPresent:!1})}i.forEach((n=>{if(n.isImportFound){if(this._isImportAllowed(e,n,n.isStubFile)&&n.resolvedPaths.length>0){const e=n.resolvedPaths[n.resolvedPaths.length-1];if(e){const t=r(n);s.set(ke(this._fs,e),{path:e,isTypeshedFile:!!n.isTypeshedFile,isThirdPartyImport:t.isThirdPartyImport,isPyTypedPresent:t.isPyTypedPresent})}}n.filteredImplicitImports.forEach((t=>{if(this._isImportAllowed(e,n,t.isStubFile)&&!t.isNativeLib){const e=r(n);s.set(ke(this._fs,t.path),{path:t.path,isTypeshedFile:!!n.isTypeshedFile,isThirdPartyImport:e.isThirdPartyImport,isPyTypedPresent:e.isPyTypedPresent})}}))}else t.verboseOutput&&(this._console.info(`Could not import '${n.importName}' in file '${e.sourceFile.getFilePath()}'`),n.importFailureInfo&&n.importFailureInfo.forEach((e=>{this._console.info(` ${e}`)})))}));const o=new Map;e.imports.forEach((t=>{const n=ke(this._fs,t.sourceFile.getFilePath());s.has(n)?o.set(n,t):t.importedBy=t.importedBy.filter((t=>ke(this._fs,t.sourceFile.getFilePath())!==ke(this._fs,e.sourceFile.getFilePath())))})),s.forEach(((t,i)=>{if(!o.has(i)){let r;if(this._getSourceFileInfoFromPath(t.path))r=this._getSourceFileInfoFromPath(t.path);else{const e=this._getImportNameForFile(t.path);r={sourceFile:new Ru(this._fs,t.path,e,t.isThirdPartyImport,t.isPyTypedPresent,this._console,this._logTracker),isTracked:!1,isOpenByClient:!1,isTypeshedFile:t.isTypeshedFile,isThirdPartyImport:t.isThirdPartyImport,isThirdPartyPyTypedPresent:t.isPyTypedPresent,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(r),n.push(r)}r.importedBy.push(e),o.set(i,r)}})),e.imports=[],s.forEach(((t,n)=>{this._getSourceFileInfoFromPath(n)&&e.imports.push(this._getSourceFileInfoFromPath(n))})),e.builtinsImport=void 0;const a=e.sourceFile.getBuiltinsImport();if(a&&a.isImportFound){const t=a.resolvedPaths[a.resolvedPaths.length-1];e.builtinsImport=this._getSourceFileInfoFromPath(t)}e.ipythonDisplayImport=void 0;const l=e.sourceFile.getIPythonDisplayImport();if(l&&l.isImportFound){const t=l.resolvedPaths[l.resolvedPaths.length-1];e.ipythonDisplayImport=this._getSourceFileInfoFromPath(t)}return n}_getSourceFileInfoFromPath(e){return this._sourceFileMap.get(ke(this._fs,e))}_removeSourceFileFromListAndMap(e,t){this._sourceFileMap.delete(ke(this._fs,e)),this._sourceFileList.splice(t,1)}_addToSourceFileListAndMap(e){const t=ke(this._fs,e.sourceFile.getFilePath());w(!this._sourceFileMap.has(t)),this._sourceFileList.push(e),this._sourceFileMap.set(t,e)}}function sp(e,t){try{const n=e();t.postMessage({kind:"ok",data:n})}catch(e){if(lt.is(e))return void t.postMessage({kind:"cancelled",data:e.message});t.postMessage({kind:"failed",data:`Exception: ${e.message} in ${e.stack}`})}}function op(e){return new Promise(((t,n)=>{e.on("message",(e=>{switch(e.kind){case"ok":t(e.data);break;case"cancelled":n(new lt);break;case"failed":n(e.data);break;default:E(`unknown kind ${e.kind}`)}}))}))}var ap=__webpack_require__(6341);__webpack_require__(198);class lp{static shouldCheck(){const e=Date.now().valueOf();return e-this._lastCheckTimestamp>=5&&(this._lastCheckTimestamp=e,!0)}}lp._lastCheckTimestamp=0;class cp{constructor(e){this.cancellationFilePath=e,this.isCancelled=!1}cancel(){this.isCancelled||(this.isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this._disposeEmitter()))}get isCancellationRequested(){return!!this.isCancelled||(lp.shouldCheck()&&this._pipeExists()&&this.cancel(),this.isCancelled)}get onCancellationRequested(){return this._emitter||(this._emitter=new ot.Emitter),this._emitter.event}dispose(){this._disposeEmitter()}_disposeEmitter(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}_pipeExists(){try{return ap.statSync(this.cancellationFilePath),!0}catch(e){return!1}}}function up(e){return e?new cp(e):ot.CancellationToken.None}function pp(e){return e instanceof cp?e.cancellationFilePath:void 0}function dp(e){return e.diagnostics=e.diagnostics.map((e=>({filePath:e.filePath,version:e.version,diagnostics:hp(e.diagnostics)}))),e}function hp(e){return e.map((e=>{const t=new nl(e.category,e.message,e.range);if(e._actions)for(const n of e._actions)t.addAction(n);if(e._rule&&t.setRule(e._rule),e._relatedInfo)for(const n of e._relatedInfo)t.addRelatedInfo(n.message,n.filePath,n.range);return t}))}class mp{constructor(e,t){this.fileSpecs=[],this.logTypeEvaluationTime=!1,this.typeEvaluationTimeThreshold=50,this.enableAmbientAnalysis=!0,this.analyzeUnannotatedFunctions=!0,this.executionRoot=e,this.fromVsCodeExtension=t}}class fp{constructor(e=null){this._scope=e,this._resolved=!1,this._rejected=!1,this._promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}resolve(e){this._resolve.apply(this._scope?this._scope:this,arguments),this._resolved=!0}reject(e){this._reject.apply(this._scope?this._scope:this,arguments),this._rejected=!0}get promise(){return this._promise}get resolved(){return this._resolved}get rejected(){return this._rejected}get completed(){return this._rejected||this._resolved}}function gp(e=null){return new fp(e)}class yp{static runWithOptions(e,t,n,i,r=!0){const s=function(e,t,n,i,r){var s,o;const a=new mp(t,!0);return a.checkOnlyOpenFiles=n.openFilesOnly,a.useLibraryCodeForTypes=n.useLibraryCodeForTypes,a.typeCheckingMode=n.typeCheckingMode,a.autoImportCompletions=n.autoImportCompletions,a.indexing=n.indexing,a.logTypeEvaluationTime=null!==(s=n.logTypeEvaluationTime)&&void 0!==s&&s,a.typeEvaluationTimeThreshold=null!==(o=n.typeEvaluationTimeThreshold)&&void 0!==o?o:50,a.enableAmbientAnalysis=i,i?(a.watchForSourceChanges=n.watchForSourceChanges,a.watchForLibraryChanges=n.watchForLibraryChanges,a.watchForConfigChanges=n.watchForConfigChanges):(a.watchForSourceChanges=!1,a.watchForLibraryChanges=!1,a.watchForConfigChanges=!1),n.venvPath&&(a.venvPath=te(t||e,n.venvPath)),n.pythonPath&&(gn(n.pythonPath)||(a.pythonPath=te(t||e,n.pythonPath))),n.typeshedPath&&(a.typeshedPath=n.typeshedPath),n.stubPath&&(a.stubPath=n.stubPath),n.logLevel===On.Log&&(a.verboseOutput=!0),r&&(a.typeStubTargetImportName=r),a.autoSearchPaths=n.autoSearchPaths,a.extraPaths=n.extraPaths,a.diagnosticSeverityOverrides=n.diagnosticSeverityOverrides,a}(e,t.rootPath,n,r,i);t.serviceInstance.setOptions(s)}static async cloneService(e,t,n,i,r){const s={workspaceName:"temp workspace for cloned service",rootPath:t.rootPath,rootUri:t.rootUri,serviceInstance:t.serviceInstance.clone("cloned service",i,r),disableLanguageServices:!0,disableOrganizeImports:!0,isInitialized:gp()},o=await e.getSettings(t);return yp.runWithOptions(e.rootPath,s,o,n,!1),s.serviceInstance}}class _p{constructor(e){this._ls=e}async execute(e,t){if(e.arguments&&e.arguments.length>=2){const n=e.arguments[0],i=e.arguments[1],r=e.arguments[2],s=await yp.cloneService(this._ls,await this._ls.getWorkspaceForFile(null!=r?r:n),i,this._ls.createBackgroundAnalysis());try{await s.writeTypeStubInBackground(t),s.dispose();const e=`Type stub was successfully created for '${i}'.`;this._ls.window.showInformationMessage(e),this._ls.reanalyze()}catch(e){if(lt.is(e)){const e=`Type stub creation for '${i}' was canceled`;this._ls.console.error(e)}else{let t="";e instanceof Error&&(t=": "+e.message),t=`An error occurred when creating type stub for '${i}'`+t,this._ls.console.error(t),this._ls.window.showErrorMessage(t)}}}}}class vp{constructor(e){this._ls=e}async execute(e,t){if(e.arguments&&e.arguments.length>=1){const n=e.arguments[0],i=e.arguments.slice(1),r=this._ls.decodeTextDocumentUri(n),s=await this._ls.getWorkspaceForFile(r);return"pyright.organizeimports"===e.command&&s.disableOrganizeImports?[]:function(e,t){if(!t)return{};const n=[];return t.forEach((e=>{n.push({range:e.range,newText:e.replacementText})})),{changes:{[e]:n}}}(n,s.serviceInstance.performQuickAction(r,e.command,i,t))}}}class Tp{constructor(e){this._ls=e}async execute(e){this._ls.restart()}}class bp{constructor(e){this._createStub=new _p(e),this._restartServer=new Tp(e),this._quickAction=new vp(e)}async execute(e,t){switch(e.command){case"pyright.organizeimports":case"pyright.addoptionalforparam":return this._quickAction.execute(e,t);case"pyright.createtypestub":return this._createStub.execute(e,t);case"pyright.restartserver":return this._restartServer.execute(e);default:return new ot.ResponseError(1,"Unsupported command")}}isLongRunningCommand(e){switch(e){case"pyright.createtypestub":return!0;default:return!1}}}class Ip{get kind(){return 2}getPythonSearchPaths(e,t){return null==t||t.push("No access to python executable."),{paths:[],prefix:""}}getPythonVersion(e,t){}getPythonPlatform(e){}}var Sp=__webpack_require__(7256);class xp{constructor(e,t,n,i,r,s,o){this._console=e,this._configOptions=t,this._importResolver=n,this._backgroundAnalysis=r,this._maxAnalysisTime=s,this._disableChecker=o,this._program=new rp(this._importResolver,this._configOptions,this._console,i,void 0,this._disableChecker)}get configOptions(){return this._configOptions}get importResolver(){return this._importResolver}get program(){return this._program}get host(){return this._importResolver.host}get backgroundAnalysis(){return this._backgroundAnalysis}setConfigOptions(e){var t;this._configOptions=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setConfigOptions(e),this._program.setConfigOptions(e)}setImportResolver(e){var t;this._importResolver=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setImportResolver(e),this._program.setImportResolver(e),this._configOptions.getExecutionEnvironments().forEach((e=>this._ensurePartialStubPackages(e)))}setTrackedFiles(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setTrackedFiles(e);const n=this._program.setTrackedFiles(e);this._reportDiagnosticsForRemovedFiles(n)}setAllowedThirdPartyImports(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setAllowedThirdPartyImports(e),this._program.setAllowedThirdPartyImports(e)}setFileOpened(e,t,n,i){var r;null===(r=this._backgroundAnalysis)||void 0===r||r.setFileOpened(e,t,[{text:n}],i),this._program.setFileOpened(e,t,[{text:n}],i)}initializeFileSystem(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.initializeFileSystem(e)}updateOpenFileContents(e,t,n,i){var r;null===(r=this._backgroundAnalysis)||void 0===r||r.setFileOpened(e,t,n,i),this._program.setFileOpened(e,t,n,i),this.markFilesDirty([e],!0)}setFileClosed(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setFileClosed(e);const n=this._program.setFileClosed(e);this._reportDiagnosticsForRemovedFiles(n)}markAllFilesDirty(e,t=!0){var n;null===(n=this._backgroundAnalysis)||void 0===n||n.markAllFilesDirty(e,t),this._program.markAllFilesDirty(e,t)}markFilesDirty(e,t,n=!0){var i;null===(i=this._backgroundAnalysis)||void 0===i||i.markFilesDirty(e,t,n),this._program.markFilesDirty(e,t,n)}setCompletionCallback(e){var t;this._onAnalysisCompletion=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setCompletionCallback(e)}startAnalysis(e){return this._backgroundAnalysis?(this._backgroundAnalysis.startAnalysis(this._indices,e),!1):Mn(this._program,this._maxAnalysisTime,this._configOptions,this._onAnalysisCompletion,this._console,e)}test_setIndexing(e,t){const n=this._getIndices();for(const[t,i]of e)n.setWorkspaceIndex(t,i);for(const[e,i]of t)for(const[t,r]of i)n.setIndex(e,t,r)}startIndexing(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.startIndexing(e,this._configOptions,this.importResolver,this.host.kind,this._getIndices())}refreshIndexing(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.refreshIndexing(this._configOptions,this.importResolver,this.host.kind,this._indices)}cancelIndexing(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.cancelIndexing(this._configOptions)}getIndexing(e){var t;return null===(t=this._indices)||void 0===t?void 0:t.getIndex(this._configOptions.findExecEnvironment(e).root)}async getDiagnosticsForRange(e,t,n){return this._backgroundAnalysis?this._backgroundAnalysis.getDiagnosticsForRange(e,t,n):this._program.getDiagnosticsForRange(e,t)}async writeTypeStub(e,t,n,i){return this._backgroundAnalysis?this._backgroundAnalysis.writeTypeStub(e,t,n,i):(Mn(this._program,void 0,this._configOptions,this._onAnalysisCompletion,this._console,i),this._program.writeTypeStub(e,t,n,i))}invalidateAndForceReanalysis(e,t){var n;t&&this.refreshIndexing(),null===(n=this._backgroundAnalysis)||void 0===n||n.invalidateAndForceReanalysis(e),this._importResolver.invalidateCache(),this._program.markAllFilesDirty(!0,e)}restart(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.restart()}_ensurePartialStubPackages(e){var t;return null===(t=this._backgroundAnalysis)||void 0===t||t.ensurePartialStubPackages(e.root),this._importResolver.ensurePartialStubPackages(e)}_getIndices(){if(!this._indices){const e=this._program,t=new Map;this._indices={setWorkspaceIndex(t,n){var i;null===(i=e.getSourceFile(t))||void 0===i||i.cacheIndexResults(n)},getIndex:e=>t.get(e),setIndex(e,n,i){let r=t.get(e);r||(r=new Map,t.set(e,r)),r.set(n,i)},reset(){t.clear()}}}return this._indices}_reportDiagnosticsForRemovedFiles(e){e.length>0&&!this._backgroundAnalysis&&this._onAnalysisCompletion&&this._onAnalysisCompletion({diagnostics:e,filesInProgram:this._program.getFileCount(),filesRequiringAnalysis:this._program.getFilesToAnalyzeCount(),checkingOnlyOpenFiles:this._program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:0})}}var Cp,wp=__webpack_require__(2125);function Ep(e){return 32===e||9===e||11===e||12===e||160===e||5760===e||e>=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function kp(e){return 10===e||13===e||8232===e||8233===e}function Dp(e){return e>=48&&e<=57}function Ap(e,t,n){void 0===n&&(n=Cp.DEFAULT);var i=function(e,t){void 0===t&&(t=!1);var n=e.length,i=0,r="",s=0,o=16,a=0,l=0,c=0,u=0,p=0;function d(t,n){for(var r=0,s=0;r=48&&o<=57)s=16*s+o-48;else if(o>=65&&o<=70)s=16*s+o-65+10;else{if(!(o>=97&&o<=102))break;s=16*s+o-97+10}i++,r++}return r=n)return s=n,o=17;var t=e.charCodeAt(i);if(Ep(t)){do{i++,r+=String.fromCharCode(t),t=e.charCodeAt(i)}while(Ep(t));return o=15}if(kp(t))return i++,r+=String.fromCharCode(t),13===t&&10===e.charCodeAt(i)&&(i++,r+="\n"),a++,c=i,o=14;switch(t){case 123:return i++,o=1;case 125:return i++,o=2;case 91:return i++,o=3;case 93:return i++,o=4;case 58:return i++,o=6;case 44:return i++,o=5;case 34:return i++,r=function(){for(var t="",r=i;;){if(i>=n){t+=e.substring(r,i),p=2;break}var s=e.charCodeAt(i);if(34===s){t+=e.substring(r,i),i++;break}if(92!==s){if(s>=0&&s<=31){if(kp(s)){t+=e.substring(r,i),p=2;break}p=6}i++}else{if(t+=e.substring(r,i),++i>=n){p=2;break}switch(e.charCodeAt(i++)){case 34:t+='"';break;case 92:t+="\\";break;case 47:t+="/";break;case 98:t+="\b";break;case 102:t+="\f";break;case 110:t+="\n";break;case 114:t+="\r";break;case 116:t+="\t";break;case 117:var o=d(4,!0);o>=0?t+=String.fromCharCode(o):p=4;break;default:p=5}r=i}}return t}(),o=10;case 47:var h=i-1;if(47===e.charCodeAt(i+1)){for(i+=2;i=12&&e<=15);return e}:h,getToken:function(){return o},getTokenValue:function(){return r},getTokenOffset:function(){return s},getTokenLength:function(){return i-s},getTokenStartLine:function(){return l},getTokenStartCharacter:function(){return s-u},getTokenError:function(){return p}}}(e,!1);function r(e){return e?function(){return e(i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter())}:function(){return!0}}function s(e){return e?function(t){return e(t,i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter())}:function(){return!0}}var o=r(t.onObjectBegin),a=s(t.onObjectProperty),l=r(t.onObjectEnd),c=r(t.onArrayBegin),u=r(t.onArrayEnd),p=s(t.onLiteralValue),d=s(t.onSeparator),h=r(t.onComment),m=s(t.onError),f=n&&n.disallowComments,g=n&&n.allowTrailingComma;function y(){for(;;){var e=i.scan();switch(i.getTokenError()){case 4:_(14);break;case 5:_(15);break;case 3:_(13);break;case 1:f||_(11);break;case 2:_(12);break;case 6:_(16)}switch(e){case 12:case 13:f?_(10):h();break;case 16:_(1);break;case 15:case 14:break;default:return e}}}function _(e,t,n){if(void 0===t&&(t=[]),void 0===n&&(n=[]),m(e),t.length+n.length>0)for(var r=i.getToken();17!==r;){if(-1!==t.indexOf(r)){y();break}if(-1!==n.indexOf(r))break;r=y()}}function v(e){var t=i.getTokenValue();return e?p(t):a(t),y(),!0}return y(),17===i.getToken()?!!n.allowEmptyContent||(_(4,[],[]),!1):function e(){switch(i.getToken()){case 3:return function(){c(),y();for(var t=!1;4!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(t||_(4,[],[]),d(","),y(),4===i.getToken()&&g)break}else t&&_(6,[],[]);e()||_(4,[],[4,5]),t=!0}return u(),4!==i.getToken()?_(8,[4],[]):y(),!0}();case 1:return function(){o(),y();for(var t=!1;2!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(t||_(4,[],[]),d(","),y(),2===i.getToken()&&g)break}else t&&_(6,[],[]);(10!==i.getToken()?(_(3,[],[2,5]),0):(v(!1),6===i.getToken()?(d(":"),y(),e()||_(4,[],[2,5])):_(5,[],[2,5]),1))||_(4,[],[2,5]),t=!0}return l(),2!==i.getToken()?_(7,[2],[]):y(),!0}();case 10:return v(!0);default:return function(){switch(i.getToken()){case 11:var e=i.getTokenValue(),t=Number(e);isNaN(t)&&(_(2),t=0),p(t);break;case 7:p(null);break;case 8:p(!0);break;case 9:p(!1);break;default:return!1}return y(),!0}()}}()?(17!==i.getToken()&&_(9,[],[]),!0):(_(4,[],[]),!1)}!function(e){e.DEFAULT={allowTrailingComma:!1}}(Cp||(Cp={}));const Pp=["pyrightconfig.json"],Rp=X("/.git/"),Fp=/\.pyi?$/;class Np{constructor(e,t,n,i,r,s,o,a,l,c,u){this._typeStubTargetIsSingleFile=!1,this._requireTrackedFileUpdate=!0,this._lastUserInteractionTime=Date.now(),this._disposed=!1,this._instanceName=e,this._console=n||new Un,this._executionRootPath="",this._extension=o,this._importResolverFactory=r||Np.createImportResolver,this._maxAnalysisTimeInForeground=l,this._backgroundAnalysisProgramFactory=c,this._cancellationProvider=null!=u?u:new pt,this._hostFactory=null!=i?i:()=>new Ip,s=null!=s?s:new Ec("/");const p=this._importResolverFactory(t,s,this._hostFactory());this._backgroundAnalysisProgram=void 0!==c?c(this._console,s,p,this._extension,a,this._maxAnalysisTimeInForeground):new xp(this._console,s,p,this._extension,a,this._maxAnalysisTimeInForeground)}clone(e,t,n){const i=new Np(e,null!=n?n:this._fs,this._console,this._hostFactory,this._importResolverFactory,this._backgroundAnalysisProgram.configOptions,this._extension,t,this._maxAnalysisTimeInForeground,this._backgroundAnalysisProgramFactory,this._cancellationProvider);for(const e of this.backgroundAnalysisProgram.program.getOpened()){const t=e.sourceFile.getClientVersion();void 0!==t&&i.setFileOpened(e.sourceFile.getFilePath(),t,e.sourceFile.getOpenFileContents())}return i}dispose(){this._disposed=!0,this._removeSourceFileWatchers(),this._removeConfigFileWatcher(),this._removeLibraryFileWatcher(),this._clearReloadConfigTimer(),this._clearReanalysisTimer(),this._clearLibraryReanalysisTimer()}get backgroundAnalysisProgram(){return this._backgroundAnalysisProgram}static createImportResolver(e,t,n){return new In(e,t,n)}setCompletionCallback(e){this._onCompletionCallback=e,this._backgroundAnalysisProgram.setCompletionCallback(e)}setOptions(e){this._commandLineOptions=e;const t=this._hostFactory(),n=this._getConfigOptions(t,e);n.pythonPath&&n.ensureDefaultPythonVersion(t,this._console),n.ensureDefaultPythonPlatform(t,this._console),this._backgroundAnalysisProgram.setConfigOptions(n),this._executionRootPath=me(te(e.executionRoot,n.projectRoot)),this._applyConfigOptions(t)}isTracked(e){for(const t of this._configOptions.include)if(this._matchIncludeFileSpec(t.regExp,this._configOptions.exclude,e))return!0;return!1}setFileOpened(e,t,n,i=!1,r){this._backgroundAnalysisProgram.setFileOpened(e,t,n,{isTracked:this.isTracked(e),ipythonMode:i,chainedFilePath:r}),this._scheduleReanalysis(!1)}updateOpenFileContents(e,t,n,i=!1,r){this._backgroundAnalysisProgram.updateOpenFileContents(e,t,n,{isTracked:this.isTracked(e),ipythonMode:i,chainedFilePath:r}),this._scheduleReanalysis(!1)}test_setIndexing(e,t){this._backgroundAnalysisProgram.test_setIndexing(e,t)}startIndexing(e){this._backgroundAnalysisProgram.startIndexing(e)}setFileClosed(e){this._backgroundAnalysisProgram.setFileClosed(e),this._scheduleReanalysis(!1)}getParseResult(e){var t;return null===(t=this._program.getBoundSourceFile(e))||void 0===t?void 0:t.getParseResults()}getTextOnRange(e,t,n){return this._program.getTextOnRange(e,t,n)}getAutoImports(e,t,n,i,r,s,o){return this._program.getAutoImports(e,t,n,i,this._backgroundAnalysisProgram.getIndexing(e),r,s,o)}getDefinitionForPosition(e,t,n,i){return this._program.getDefinitionsForPosition(e,t,n,i)}getTypeDefinitionForPosition(e,t,n){return this._program.getTypeDefinitionsForPosition(e,t,n)}reportReferencesForPosition(e,t,n,i,r){this._program.reportReferencesForPosition(e,t,n,i,r)}addSymbolsForDocument(e,t,n){this._program.addSymbolsForDocument(e,t,n)}reportSymbolsForWorkspace(e,t,n){this._program.reportSymbolsForWorkspace(e,t,n)}getApiDocs(e,t){return this._program.getApiDocs(e,t)}getHoverForPosition(e,t,n,i){return this._program.getHoverForPosition(e,t,n,i)}getDocumentHighlight(e,t,n){return this._program.getDocumentHighlight(e,t,n)}getSignatureHelpForPosition(e,t,n,i){return this._program.getSignatureHelpForPosition(e,t,n,i)}getCompletionsForPosition(e,t,n,i,r,s){return this._program.getCompletionsForPosition(e,t,n,i,r,this._backgroundAnalysisProgram.getIndexing(e),s)}getEvaluator(){return this._program.evaluator}resolveCompletionItem(e,t,n,i,r){this._program.resolveCompletionItem(e,t,n,i,this._backgroundAnalysisProgram.getIndexing(e),r)}performQuickAction(e,t,n,i){return this._program.performQuickAction(e,t,n,i)}renameModule(e,t,n){return this._program.renameModule(e,t,n)}renameSymbolAtPosition(e,t,n,i,r){return this._program.renameSymbolAtPosition(e,t,n,i,r)}getCallForPosition(e,t,n){return this._program.getCallForPosition(e,t,n)}getIncomingCallsForPosition(e,t,n){return this._program.getIncomingCallsForPosition(e,t,n)}getOutgoingCallsForPosition(e,t,n){return this._program.getOutgoingCallsForPosition(e,t,n)}printStats(){this._console.info(""),this._console.info("Analysis stats");const e=this._program.getFileCount();this._console.info("Total files analyzed: "+e.toString())}printDependencies(e){this._program.printDependencies(this._executionRootPath,e)}getDiagnosticsForRange(e,t,n){return this._backgroundAnalysisProgram.getDiagnosticsForRange(e,t,n)}getConfigOptions(){return this._configOptions}getImportResolver(){return this._backgroundAnalysisProgram.importResolver}recordUserInteractionTime(){this._lastUserInteractionTime=Date.now(),this._analyzeTimer&&this._scheduleReanalysis(!1)}get test_program(){return this._program}test_getConfigOptions(e){return this._getConfigOptions(this._backgroundAnalysisProgram.host,e)}test_getFileNamesFromFileSpecs(){return this._getFileNamesFromFileSpecs()}_getConfigOptions(e,t){var n,i,r;let s,o,a=t.executionRoot;t.configFilePath?(s=te(t.executionRoot,me(t.configFilePath)),this._fs.existsSync(s)?s.toLowerCase().endsWith(".json")?a=$(s):(a=s,s=this._findConfigFile(s),s||this._console.info(`Configuration file not found at ${a}.`)):(this._console.info(`Configuration file not found at ${s}.`),s=t.executionRoot)):a&&(s=this._findConfigFile(a),s||t.fromVsCodeExtension||(s=this._findConfigFileHereOrUp(a)),s?a=$(s):(this._console.info("No configuration file found."),s=void 0)),s||(o=this._findPyprojectTomlFile(a),o||t.fromVsCodeExtension||(o=this._findPyprojectTomlFileHereOrUp(a)),o?(a=$(o),this._console.info(`pyproject.toml file found at ${a}.`)):this._console.info("No pyproject.toml file found."));const l=new Ec(a,this._typeCheckingMode),c=["**/node_modules","**/__pycache__","**/.*"];let u;if(t.pythonPath&&(this._console.info(`Setting pythonPath for service "${this._instanceName}": "${t.pythonPath}"`),l.pythonPath=t.pythonPath),l.defaultPythonPlatform=t.pythonPlatform,l.defaultPythonVersion=t.pythonVersion,l.ensureDefaultExtraPaths(this._fs,t.autoSearchPaths||!1,t.extraPaths),t.fileSpecs.length>0?t.fileSpecs.forEach((e=>{l.include.push(be(a,e))})):s||t.executionRoot&&(l.include.push(be(t.executionRoot,".")),c.forEach((e=>{l.exclude.push(be(t.executionRoot,e))}))),this._configFilePath=s||o,s?(this._console.info(`Loading configuration file at ${s}`),u=this._parseJsonConfigFile(s)):o&&(this._console.info(`Loading pyproject.toml file at ${o}`),u=this._parsePyprojectTomlFile(o)),u){l.initializeFromJson(u,this._typeCheckingMode,this._console,e,t.diagnosticSeverityOverrides,t.fileSpecs.length>0);const n=$(this._configFilePath);0===l.include.length&&(this._console.info(`No include entries specified; assuming ${n}`),l.include.push(be(n,"."))),0===l.exclude.length&&(c.forEach((e=>{this._console.info(`Auto-excluding ${e}`),l.exclude.push(be(n,e))})),void 0===l.autoExcludeVenv&&(l.autoExcludeVenv=!0))}else l.autoExcludeVenv=!0,l.applyDiagnosticOverrides(t.diagnosticSeverityOverrides);l.analyzeUnannotatedFunctions=null===(n=t.analyzeUnannotatedFunctions)||void 0===n||n;const p=(e,n)=>{const i=t.fromVsCodeExtension?"the client settings":"a command-line option";this._console.warn(`The ${e} has been specified in both the config file and ${i}. The value in the config file (${n}) will take precedence`)};if(t.venvPath&&(l.venvPath?p("venvPath",l.venvPath):l.venvPath=t.venvPath),t.typeshedPath&&(l.typeshedPath?p("typeshedPath",l.typeshedPath):l.typeshedPath=t.typeshedPath),l.verboseOutput=null!==(i=t.verboseOutput)&&void 0!==i?i:l.verboseOutput,l.checkOnlyOpenFiles=!!t.checkOnlyOpenFiles,l.autoImportCompletions=!!t.autoImportCompletions,l.indexing=!!t.indexing,l.logTypeEvaluationTime=!!t.logTypeEvaluationTime,l.typeEvaluationTimeThreshold=t.typeEvaluationTimeThreshold,void 0===l.useLibraryCodeForTypes?l.useLibraryCodeForTypes=!!t.useLibraryCodeForTypes:void 0!==t.useLibraryCodeForTypes&&p("useLibraryCodeForTypes",l.useLibraryCodeForTypes),t.stubPath?l.stubPath?p("stubPath",l.stubPath):l.stubPath=t.stubPath:l.stubPath||(l.stubPath=me(te(l.projectRoot,"typings"))),l.venvPath&&(this._fs.existsSync(l.venvPath)&&fe(this._fs,l.venvPath)||this._console.error(`venvPath ${l.venvPath} is not a valid directory.`),l.venv=null!==(r=l.venv)&&void 0!==r?r:this._configOptions.venv,l.venv)){const t=te(l.venvPath,l.venv);if(this._fs.existsSync(t)&&fe(this._fs,t)){const t=[];void 0===fn(this._fs,l,e,t)&&(this._console.error(`site-packages directory cannot be located for venvPath ${l.venvPath} and venv ${l.venv}.`),l.verboseOutput&&t.forEach((e=>{this._console.error(` ${e}`)})))}else this._console.error(`venv ${l.venv} subdirectory not found in venv path ${l.venvPath}.`)}return l.venv&&(l.venvPath||this._console.warn("venvPath not specified, so venv settings will be ignored.")),l.typeshedPath&&(this._fs.existsSync(l.typeshedPath)&&fe(this._fs,l.typeshedPath)||this._console.error(`typeshedPath ${l.typeshedPath} is not a valid directory.`)),l.stubPath&&(this._fs.existsSync(l.stubPath)&&fe(this._fs,l.stubPath)||this._console.warn(`stubPath ${l.stubPath} is not a valid directory.`)),l}writeTypeStub(e){var t;const n=this._getTypeStubFolder();this._program.writeTypeStub(null!==(t=this._typeStubTargetPath)&&void 0!==t?t:"",this._typeStubTargetIsSingleFile,n,e)}writeTypeStubInBackground(e){var t;const n=this._getTypeStubFolder();return this._backgroundAnalysisProgram.writeTypeStub(null!==(t=this._typeStubTargetPath)&&void 0!==t?t:"",this._typeStubTargetIsSingleFile,n,e)}invalidateAndForceReanalysis(e=!0,t=!0,n=!1){n&&this._updateTrackedFileList(!1),this._backgroundAnalysisProgram.invalidateAndForceReanalysis(e,t)}restart(){this._applyConfigOptions(this._hostFactory()),this._backgroundAnalysisProgram.restart()}get _fs(){return this._backgroundAnalysisProgram.importResolver.fileSystem}get _program(){return this._backgroundAnalysisProgram.program}get _configOptions(){return this._backgroundAnalysisProgram.configOptions}get _watchForSourceChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForSourceChanges)}get _watchForLibraryChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForLibraryChanges)}get _watchForConfigChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForConfigChanges)}get _typeCheckingMode(){var e;return null===(e=this._commandLineOptions)||void 0===e?void 0:e.typeCheckingMode}get _verboseOutput(){return!!this._configOptions.verboseOutput}get _typeStubTargetImportName(){var e;return null===(e=this._commandLineOptions)||void 0===e?void 0:e.typeStubTargetImportName}_getTypeStubFolder(){const e=this._configOptions.stubPath;if(!this._typeStubTargetPath||!this._typeStubTargetImportName){const e=`Import '${this._typeStubTargetImportName}' could not be resolved`;throw this._console.error(e),new Error(e)}if(!e){const e="No typings path was specified";throw this._console.info(e),new Error(e)}const t=this._typeStubTargetImportName.split(".");if(0===t[0].length){const e=`Import '${this._typeStubTargetImportName}' could not be resolved`;throw this._console.error(e),new Error(e)}try{this._fs.existsSync(e)||this._fs.mkdirSync(e)}catch(t){const n=`Could not create typings directory '${e}'`;throw this._console.error(n),new Error(n)}const n=te(e,t[0]),i=te(e,...t);try{this._fs.existsSync(i)||Q(this._fs,i,e)}catch(e){const t=`Could not create typings subdirectory '${i}'`;throw this._console.error(t),new Error(t)}return n}_findConfigFileHereOrUp(e){return z(e,(e=>this._findConfigFile(e)))}_findConfigFile(e){for(const t of Pp){const n=te(e,t);if(this._fs.existsSync(n))return n}}_findPyprojectTomlFileHereOrUp(e){return z(e,(e=>this._findPyprojectTomlFile(e)))}_findPyprojectTomlFile(e){const t=te(e,"pyproject.toml");if(this._fs.existsSync(t))return t}_parseJsonConfigFile(e){return this._attemptParseFile(e,(e=>function(e,t,n){void 0===t&&(t=[]),void 0===n&&(n=Cp.DEFAULT);var i=null,r=[],s=[];function o(e){Array.isArray(r)?r.push(e):null!==i&&(r[i]=e)}return Ap(e,{onObjectBegin:function(){var e={};o(e),s.push(r),r=e,i=null},onObjectProperty:function(e){i=e},onObjectEnd:function(){r=s.pop()},onArrayBegin:function(){var e=[];o(e),s.push(r),r=e,i=null},onArrayEnd:function(){r=s.pop()},onLiteralValue:o,onError:function(e,n,i){t.push({error:e,offset:n,length:i})}},n),r[0]}(e)))}_parsePyprojectTomlFile(e){return this._attemptParseFile(e,((t,n)=>{try{const e=wp.parse(t);if(e&&e.tool&&e.tool.pyright)return e.tool.pyright}catch(e){throw this._console.error(`Pyproject file parse attempt ${n} error: ${JSON.stringify(e)}`),e}this._console.error(`Pyproject file "${e}" is missing "[tool.pyright]" section.`)}))}_attemptParseFile(e,t){let n="",i=0;for(;;){try{n=this._fs.readFileSync(e,"utf8")}catch{return this._console.error(`Config file "${e}" could not be read.`),void this._reportConfigParseError()}let r=!1;try{return t(n,i+1)}catch(e){r=!0}if(!r)break;if(i++>=5)return this._console.error(`Config file "${e}" could not be parsed. Verify that format is correct.`),void this._reportConfigParseError()}}_getFileNamesFromFileSpecs(){const e=new Map;return Fn.findFilesTime.timeOperation((()=>{const t=this._matchFiles(this._configOptions.include,this._configOptions.exclude);for(const n of t)e.set(n,n)})),[...e.values()]}_updateTrackedFileList(e){if(this._typeStubTargetImportName){const e=this._configOptions.findExecEnvironment(this._executionRootPath),t=vn(this._typeStubTargetImportName),n=this._backgroundAnalysisProgram.importResolver.resolveImport("",e,t);if(n.isImportFound){const e=[],t=n.resolvedPaths[n.resolvedPaths.length-1],i=ge(this._fs,t),r=i&&"__init__"===he(de(t));let s=t;i&&(s=$(s));for(let e=n.resolvedPaths.length-2;e>=0;e--)s=n.resolvedPaths[e]?n.resolvedPaths[e]:$(s);fe(this._fs,s)?this._typeStubTargetPath=s:ge(this._fs,s)&&(this._typeStubTargetPath=$(s)),t?(e.push(t),this._typeStubTargetIsSingleFile=1===n.resolvedPaths.length&&!r):this._typeStubTargetIsSingleFile=!1,n.filteredImplicitImports.forEach((t=>{e.push(t.path)})),this._backgroundAnalysisProgram.setAllowedThirdPartyImports([this._typeStubTargetImportName]),this._backgroundAnalysisProgram.setTrackedFiles(e)}else this._console.error(`Import '${this._typeStubTargetImportName}' not found`)}else{let t=[];this._console.info("Searching for source files"),t=this._getFileNamesFromFileSpecs(),this._backgroundAnalysisProgram.setTrackedFiles(t),this._backgroundAnalysisProgram.markAllFilesDirty(e),0===t.length?this._console.info("No source files found."):this._console.info(`Found ${t.length} source `+(1===t.length?"file":"files"))}this._requireTrackedFileUpdate=!1}_matchFiles(e,t){const n=[["bin","activate"],["Scripts","activate"],["pyvenv.cfg"]],i=[],r=Date.now();let s=!1;const o=(e,o)=>{if(s||.001*(Date.now()-r)>=10&&(this._console.error('Enumeration of workspace source files is taking longer than 10 seconds.\nThis may be because:\n* You have opened your home directory or entire hard drive as a workspace\n* Your workspace contains a very large number of directories and files\n* Your workspace contains a symlink to a directory with many files\n* Your workspace is remote, and file enumeration is slow\nTo reduce this time, open a workspace directory with fewer files or add a pyrightconfig.json configuration file with an "exclude" section to exclude subdirectories from your workspace. For more details, refer to https://github.com/microsoft/pyright/blob/main/docs/configuration.md.'),s=!0),this._configOptions.autoExcludeVenv&&n.some((t=>this._fs.existsSync(te(e,...t)))))return void this._console.info(`Auto-excluding ${e}`);const{files:a,directories:c}=ve(this._fs,e);for(const n of a){const r=te(e,n);this._matchIncludeFileSpec(o,t,r)&&i.push(r)}for(const n of c){const i=te(e,n);o.test(i)&&(this._isInExcludePath(i,t)||l(i,o))}},a=new Set,l=(e,t)=>{const n=_e(this._fs,e);if(n)if(a.has(n))this._console.warn(`Skipping recursive symlink "${e}" -> "${n}"`);else{a.add(n);try{o(e,t)}finally{a.delete(n)}}else this._console.warn(`Skipping broken link "${e}"`)};return e.forEach((e=>{if(!this._isInExcludePath(e.wildcardRoot,t)){let t=!1;const n=ye(this._fs,e.wildcardRoot);(null==n?void 0:n.isFile())?this._shouldIncludeFile(e.wildcardRoot)&&(i.push(e.wildcardRoot),t=!0):(null==n?void 0:n.isDirectory())&&(l(e.wildcardRoot,e.regExp),t=!0),t||this._console.error(`File or directory "${e.wildcardRoot}" does not exist.`)}})),i}_removeSourceFileWatchers(){this._sourceFileWatcher&&(this._sourceFileWatcher.close(),this._sourceFileWatcher=void 0)}_updateSourceFileWatchers(){if(this._removeSourceFileWatchers(),this._watchForSourceChanges&&this._configOptions.include.length>0){const e=this._configOptions.include.map((e=>te(this._executionRootPath,e.wildcardRoot)));try{this._verboseOutput&&this._console.info(`Adding fs watcher for directories:\n ${e.join("\n")}`);const t=et(e);this._sourceFileWatcher=this._fs.createFileSystemWatcher(e,((e,n)=>{if(!n)return;if(this._verboseOutput&&this._console.info(`SourceFile: Received fs event '${e}' for path '${n}'`),t(n))return;if(n.endsWith(".tmp")||n.endsWith(".git")||n.includes(Rp))return;const i=ye(this._fs,n);if(!i||!i.isFile()||n.endsWith(".py")||n.endsWith(".pyi"))if("change"===e&&i)this._backgroundAnalysisProgram.markFilesDirty([n],!1),this._scheduleReanalysis(!1);else{const e=de(n).split(".");let t=!1;4===e.length&&e[3]===e[1]&&32===e[2].length&&(t=!0),t||(this.invalidateAndForceReanalysis(!1,!1),this._scheduleReanalysis(!0))}}))}catch{this._console.error(`Exception caught when installing fs watcher for:\n ${e.join("\n")}`)}}}_removeLibraryFileWatcher(){this._libraryFileWatcher&&(this._libraryFileWatcher.close(),this._libraryFileWatcher=void 0)}_updateLibraryFileWatcher(){if(this._removeLibraryFileWatcher(),!this._watchForLibraryChanges)return;const e=fn(this._fs,this._backgroundAnalysisProgram.configOptions,this._backgroundAnalysisProgram.host,[],!0,this._executionRootPath);if(e&&e.length>0)try{this._verboseOutput&&this._console.info(`Adding fs watcher for library directories:\n ${e.join("\n")}`);const t=et(e);this._libraryFileWatcher=this._fs.createFileSystemWatcher(e,((e,n)=>{n&&(this._verboseOutput&&this._console.info(`LibraryFile: Received fs event '${e}' for path '${n}'`),t(n)||this._scheduleLibraryAnalysis())}))}catch{this._console.error(`Exception caught when installing fs watcher for:\n ${e.join("\n")}`)}}_clearLibraryReanalysisTimer(){var e;this._libraryReanalysisTimer&&(clearTimeout(this._libraryReanalysisTimer),this._libraryReanalysisTimer=void 0,null===(e=this._backgroundAnalysisProgram)||void 0===e||e.cancelIndexing())}_scheduleLibraryAnalysis(){this._disposed||(this._clearLibraryReanalysisTimer(),this._libraryReanalysisTimer=setTimeout((()=>{this._clearLibraryReanalysisTimer(),this.invalidateAndForceReanalysis(!1),this._scheduleReanalysis(!1)}),6e5))}_removeConfigFileWatcher(){this._configFileWatcher&&(this._configFileWatcher.close(),this._configFileWatcher=void 0)}_updateConfigFileWatcher(){this._removeConfigFileWatcher(),this._watchForConfigChanges&&(this._configFilePath?this._configFileWatcher=this._fs.createFileSystemWatcher([this._configFilePath],(e=>{this._verboseOutput&&this._console.info(`Received fs event '${e}' for config file`),this._scheduleReloadConfigFile()})):this._executionRootPath&&(this._configFileWatcher=this._fs.createFileSystemWatcher([this._executionRootPath],((e,t)=>{if(t&&("add"===e||"change"===e)){const n=de(t);n&&Pp.some((e=>e===n))&&(this._verboseOutput&&this._console.info(`Received fs event '${e}' for config file`),this._commandLineOptions&&this.setOptions(this._commandLineOptions))}}))))}_clearReloadConfigTimer(){this._reloadConfigTimer&&(clearTimeout(this._reloadConfigTimer),this._reloadConfigTimer=void 0)}_scheduleReloadConfigFile(){this._clearReloadConfigTimer(),this._reloadConfigTimer=setTimeout((()=>{this._clearReloadConfigTimer(),this._reloadConfigFile()}),100)}_reloadConfigFile(){if(this._updateConfigFileWatcher(),this._configFilePath){this._console.info(`Reloading configuration file at ${this._configFilePath}`);const e=this._backgroundAnalysisProgram.host,t=this._getConfigOptions(e,this._commandLineOptions);this._backgroundAnalysisProgram.setConfigOptions(t),this._applyConfigOptions(e)}}_applyConfigOptions(e){var t;const n=this._importResolverFactory(this._fs,this._backgroundAnalysisProgram.configOptions,e);if(this._backgroundAnalysisProgram.setImportResolver(n),(null===(t=this._commandLineOptions)||void 0===t?void 0:t.fromVsCodeExtension)||this._configOptions.verboseOutput){const e=this._configOptions.verboseOutput?On.Info:On.Log;for(const t of this._configOptions.getExecutionEnvironments())qn(this._console,e,`Search paths for ${t.root||""}`),n.getImportRoots(t,!0).forEach((t=>{qn(this._console,e,` ${t}`)}))}this._updateLibraryFileWatcher(),this._updateConfigFileWatcher(),this._updateSourceFileWatchers(),this._updateTrackedFileList(!0),this._scheduleReanalysis(!1)}_clearReanalysisTimer(){this._analyzeTimer&&(clearTimeout(this._analyzeTimer),this._analyzeTimer=void 0)}_scheduleReanalysis(e){var t,n;if(this._disposed||!(null===(t=this._commandLineOptions)||void 0===t?void 0:t.enableAmbientAnalysis))return;e&&(this._requireTrackedFileUpdate=!0),null===(n=this._backgroundAnalysisCancellationSource)||void 0===n||n.cancel(),this._clearReanalysisTimer();const i=Date.now()-this._lastUserInteractionTime,r=Math.max(250-i,20);this._analyzeTimer=setTimeout((()=>{this._analyzeTimer=void 0,this._requireTrackedFileUpdate&&this._updateTrackedFileList(!1),this._backgroundAnalysisCancellationSource=this._cancellationProvider.createCancellationTokenSource(),this._backgroundAnalysisProgram.startAnalysis(this._backgroundAnalysisCancellationSource.token)&&this._scheduleReanalysis(!1)}),r)}_reportConfigParseError(){this._onCompletionCallback&&this._onCompletionCallback({diagnostics:[],filesInProgram:0,filesRequiringAnalysis:0,checkingOnlyOpenFiles:!0,fatalErrorOccurred:!1,configParseErrorOccurred:!0,elapsedTime:0})}_shouldIncludeFile(e){return Fp.test(e)}_isInExcludePath(e,t){return!!t.find((t=>t.regExp.test(e)))}_matchIncludeFileSpec(e,t,n){return!(!e.test(n)||this._isInExcludePath(n,t)||!this._shouldIncludeFile(n))}}var Mp;!function(e){e.is=function(e){return e&&e.edits&&Ln.WorkspaceEdit.is(e.edits)}}(Mp||(Mp={})),__webpack_require__(6755);class Op{constructor(e){this._reporter=e,this._isDisplayingProgress=!1}isEnabled(e){var t;return!!this._isDisplayingProgress||null!==(t=this._reporter.isEnabled(e))&&void 0!==t&&t}begin(){this._isDisplayingProgress||(this._isDisplayingProgress=!0,this._reporter.begin())}report(e){this._isDisplayingProgress&&this._reporter.report(e)}end(){this._isDisplayingProgress&&(this._isDisplayingProgress=!1,this._reporter.end())}}class Lp{constructor(e){this._fs=e}decodeTextDocumentPosition(e,t){return{filePath:we(this._fs,e.uri),position:t}}decodeTextDocumentUri(e){return we(this._fs,e)}}const Up=(0,Sp.attachWorkDone)(void 0,void 0);var Vp=__webpack_require__(8764).Buffer;class qp{constructor(e,t){if(this._keys=[],this._values=[],this._version=0,this._copyOnWrite=!1,this._comparer="object"==typeof e?e.comparer:e,this._order="object"==typeof e&&"insertion"===e.sort?[]:void 0,t){const e=Bp(t);try{for(let t=Wp(e);t;t=Wp(e)){const[e,n]=t.value;this.set(e,n)}}finally{jp(e)}}}get size(){return this._keys.length}get comparer(){return this._comparer}get[Symbol.toStringTag](){return"SortedMap"}has(e){return d(this._keys,e,t,this._comparer)>=0}get(e){const n=d(this._keys,e,t,this._comparer);return n>=0?this._values[n]:void 0}set(e,n){const i=d(this._keys,e,t,this._comparer);return i>=0?this._values[i]=n:(this._writePreamble(),u(this._keys,~i,e),u(this._values,~i,n),this._order&&u(this._order,~i,this._version),this._writePostScript()),this}delete(e){const n=d(this._keys,e,t,this._comparer);return n>=0&&(this._writePreamble(),this._orderedRemoveItemAt(this._keys,n),this._orderedRemoveItemAt(this._values,n),this._order&&this._orderedRemoveItemAt(this._order,n),this._writePostScript(),!0)}clear(){this.size>0&&(this._writePreamble(),this._keys.length=0,this._values.length=0,this._order&&(this._order.length=0),this._writePostScript())}forEach(e,t){const n=this._keys,i=this._values,r=this._getIterationOrder(),s=this._version;this._copyOnWrite=!0;try{if(r)for(const s of r)e.call(t,i[s],n[s],this);else for(let r=0;rt)).sort(((t,n)=>e[t]-e[n]))}}_orderedRemoveItemAt(e,t){for(let n=t;n=2&&"_"===e.charAt(0)&&"_"===e.charAt(1)?"_"+e:e}static _unescapeKey(e){return e.length>=3&&"_"===e.charAt(0)&&"_"===e.charAt(1)&&"_"===e.charAt(2)?e.slice(1):e}}zp._undefinedValue={};const $p=Object.freeze({EACCES:"access denied",EIO:"an I/O error occurred",ENOENT:"no such file or directory",EEXIST:"file already exists",ELOOP:"too many symbolic links encountered",ENOTDIR:"no such directory",EISDIR:"path is a directory",EBADF:"invalid file descriptor",EINVAL:"invalid value",ENOTEMPTY:"directory not empty",EPERM:"operation not permitted",EROFS:"file system is read-only"});function Hp(e,t=""){const n=new Error(`${e}: ${$p[e]} ${t}`);return n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,Hp),n}const Gp=function(){const e=Ie();return new RegExp(`^(?!(${e}|${e}${e}w+${e}|[a-zA-Z]:${e}?|)$)`)}(),Kp=/[:*?"<>|]/,Jp=/[:"<>|]/,Yp=/^\.{1,2}$|[:*?"<>|]/,Qp=/^\.{1,2}$|[:"<>|]/,Zp=/\.\w+$/;function Xp(e,t=2016){const n=G(e),i=ce(e);if(!function(e,t,n){const i=!!e[0],r=e.length>2,s=e.length>1,o=s&&Zp.test(e[e.length-1]),a=1024&t?2048&t?Jp:Kp:2048&t?Qp:Yp;if(1&t&&!i)return!1;if(2&t&&!r)return!1;if(4&t&&!s)return!1;if(8&t&&!o)return!1;if(16&t&&!n)return!1;if(1&t&&(t|=32),2&t&&(t|=64),4&t&&(t|=128),8&t&&(t|=256),16&t&&(t|=512),32&~t&&i)return!1;if(64&~t&&r)return!1;if(128&~t&&s)return!1;if(256&~t&&o)return!1;if(512&~t&&n)return!1;if(Gp.test(e[0]))return!1;for(let t=1;t1&&i?J(K(n))+S.sep:J(K(n))}var ed=__webpack_require__(8764).Buffer;const td=X("/");let nd=0,id=0;class rd{constructor(e,t={}){this._lazy={},this._tmpfileCounter=0;const{time:n=-1,files:i,meta:r}=t;if(this.ignoreCase=e,this.stringComparer=this.ignoreCase?ae:oe,this._time=n,r)for(const e of Object.keys(r))this.meta.set(e,r[e]);i&&this._applyFiles(i,"");let s=t.cwd;if((!s||!Se(s))&&this._lazy.links){const e=Bp(this._lazy.links.keys());try{for(let t=Wp(e);t;t=Wp(e)){const e=t.value;s=s?ee(e,s):e;break}}finally{jp(e)}}s&&(Xp(s,2017),this.mkdirpSync(s)),this._cwd=s||""}get meta(){return this._lazy.meta||(this._lazy.meta=new zp(this._shadowRoot?this._shadowRoot.meta:void 0)),this._lazy.meta}get isReadonly(){return Object.isFrozen(this)}makeReadonly(){return Object.freeze(this),this}get shadowRoot(){return this._shadowRoot}snapshot(){if(this.isReadonly)return;const e=new rd(this.ignoreCase,{time:this._time});e._lazy=this._lazy,e._cwd=this._cwd,e._time=this._time,e._shadowRoot=this._shadowRoot,e._dirStack=this._dirStack,e.makeReadonly(),this._lazy={},this._shadowRoot=e}shadow(e=this.ignoreCase){if(!this.isReadonly)throw new Error("Cannot shadow a mutable file system.");if(e&&!this.ignoreCase)throw new Error("Cannot create a case-insensitive file system from a case-sensitive one.");const t=new rd(e,{time:this._time});return t._shadowRoot=this,t._cwd=this._cwd,t}time(e){if(void 0!==e&&this.isReadonly)throw Hp("EPERM");let t=this._time;return"function"==typeof t&&(t=t()),"object"==typeof t&&(t=t.getTime()),-1===t&&(t=Date.now()),void 0!==e&&(this._time=e),t}filemeta(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");return this._filemeta(t)}_filemeta(e){if(!e.meta){const t=e.shadowRoot&&this._shadowRoot&&this._shadowRoot._filemeta(e.shadowRoot);e.meta=new zp(t)}return e.meta}cwd(){if(!this._cwd)throw new Error("The current working directory has not been set.");const{node:e}=this._walk(this._cwd);if(!e)throw Hp("ENOENT");if(!vd(e))throw Hp("ENOTDIR");return this._cwd}chdir(e){if(this.isReadonly)throw Hp("EPERM");e=this._resolve(e);const{node:t}=this._walk(e);if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");this._cwd=e}pushd(e){if(this.isReadonly)throw Hp("EPERM");e&&(e=this._resolve(e)),this._cwd&&(this._dirStack||(this._dirStack=[]),this._dirStack.push(this._cwd)),e&&e!==this._cwd&&this.chdir(e)}popd(){if(this.isReadonly)throw Hp("EPERM");const e=this._dirStack&&this._dirStack.pop();e&&this.chdir(e)}apply(e){this._applyFiles(e,this._cwd)}scanSync(e,t,n){e=this._resolve(e);const i=[];return this._scan(e,this._stat(this._walk(e)),t,n,!1,i),i}lscanSync(e,t,n){e=this._resolve(e);const i=[];return this._scan(e,this._stat(this._walk(e,!0)),t,n,!0,i),i}createFileSystemWatcher(e,t){return{close:()=>{}}}getModulePath(){return td}tmpdir(){return this.mkdirpSync("/tmp"),X("/tmp")}tmpfile(e){const t=(null==e?void 0:e.prefix)||"tmp",n=(null==e?void 0:e.prefix)?"-"+e.prefix:"",i=`${t}-${this._tmpfileCounter++}${n}`,r=te(this.tmpdir(),i);return this.writeFileSync(r,""),r}realCasePath(e){return e}isMappedFilePath(e){return!1}getOriginalFilePath(e){return e}getMappedFilePath(e){return e}getUri(e){return x.file(e).toString()}_scan(e,t,n,i,r,s){if("ancestors-or-self"!==n&&"self"!==n&&"descendants-or-self"!==n||i.accept&&!i.accept(e,t)||s.push(e),"ancestors-or-self"===n||"ancestors"===n){const t=$(e);if(t!==e)try{const e=this._stat(this._walk(t,r));i.traverse&&!i.traverse(t,e)||this._scan(t,e,"ancestors-or-self",i,r,s)}catch{}}if(("descendants-or-self"===n||"descendants"===n)&&t.isDirectory()&&(!i.traverse||i.traverse(e,t)))for(const t of this.readdirSync(e))try{const n=te(e,t),o=this._stat(this._walk(n,r));this._scan(n,o,"descendants-or-self",i,r,s)}catch{}}mountSync(e,t,n){if(this.isReadonly)throw Hp("EROFS");e=Xp(e,2017);const{parent:i,links:r,node:s,basename:o}=this._walk(this._resolve(t),!0);if(s)throw Hp("EEXIST");const a=this.time(),l=this._mknod(i?i.dev:++nd,fd,511,a);l.source=e,l.resolver=n,this._addLink(i,r,o,l,a)}rimrafSync(e){try{const t=this.lstatSync(e);if(t.isFile()||t.isSymbolicLink())this.unlinkSync(e);else if(t.isDirectory()){for(const t of this.readdirSync(e))this.rimrafSync(te(e,t));this.rmdirSync(e)}}catch(e){if("ENOENT"===e.code)return;throw e}}mkdirpSync(e){e=this._resolve(e);const t=this._walk(e,!0,((e,t)=>"ENOENT"===e.code?(this._mkdir(t),"retry"):"throw"));t.node||this._mkdir(t)}getFileListing(){let e="";const t=(n,i)=>{const r=Bp(i);try{for(let i=Wp(r);i;i=Wp(r)){const[r,c]=i.value,u=n?te(n,r):r,p=0===(s=this._cwd,o=u,a=this.ignoreCase,l=void 0,s=me(s),o=me(o),"string"==typeof a?(s=te(a,s),o=te(a,o)):"boolean"==typeof a&&(l=a),xe(s,o,U(l)))?"*":" ";e&&(e+="\n"),e+=p,vd(c)?(e+=le(u),t(u,this._getLinks(c))):_d(c)?e+=u:Td(c)&&(e+=`${u} -> ${c.symlink}`)}}finally{jp(r)}var s,o,a,l};return t(void 0,this._getRootLinks()),e}debugPrint(){console.log(this.getFileListing())}existsSync(e){const t=this._walk(this._resolve(e),!0,(()=>"stop"));return void 0!==t&&void 0!==t.node}statSync(e){return this._stat(this._walk(this._resolve(e)))}utimesSync(e,t,n){if(this.isReadonly)throw Hp("EROFS");if(!isFinite(+t)||!isFinite(+n))throw Hp("EINVAL");const i=this._walk(this._resolve(e));if(!i||!i.node)throw Hp("ENOENT");i.node.atimeMs=+t,i.node.mtimeMs=+n,i.node.ctimeMs=this.time()}lstatSync(e){return this._stat(this._walk(this._resolve(e),!0))}_stat(e){const t=e.node;if(!t)throw Hp("ENOENT",e.realpath);return new Id(t.dev,t.ino,t.mode,t.nlink,0,_d(t)?this._getSize(t):Td(t)?t.symlink.length:0,4096,0,t.atimeMs,t.mtimeMs,t.ctimeMs,t.birthtimeMs)}readdirSync(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");return Array.from(this._getLinks(t).keys())}readdirEntriesSync(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");return Array.from(this._getLinks(t).entries()).map((([e,t])=>function(e,t){return{isFile:()=>_d(t),isDirectory:()=>vd(t),isBlockDevice:()=>!1,isCharacterDevice:()=>!1,isFIFO:()=>!1,isSocket:()=>!1,isSymbolicLink:()=>Td(t),name:e}}(e,t)))}mkdirSync(e){if(this.isReadonly)throw Hp("EROFS");this._mkdir(this._walk(this._resolve(e),!0))}_mkdir({parent:e,links:t,node:n,basename:i}){if(n)throw Hp("EEXIST");const r=this.time(),s=this._mknod(e?e.dev:++nd,fd,511,r);this._addLink(e,t,i,s,r)}rmdirSync(e){if(this.isReadonly)throw Hp("EROFS");e=this._resolve(e);const{parent:t,links:n,node:i,basename:r}=this._walk(e,!0);if(!t)throw Hp("EPERM");if(!vd(i))throw Hp("ENOTDIR");if(0!==this._getLinks(i).size)throw Hp("ENOTEMPTY");this._removeLink(t,n,r,i)}linkSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{node:n}=this._walk(this._resolve(e));if(!n)throw Hp("ENOENT");if(vd(n))throw Hp("EPERM");const{parent:i,links:r,basename:s,node:o}=this._walk(this._resolve(t),!0);if(!i)throw Hp("EPERM");if(o)throw Hp("EEXIST");this._addLink(i,r,s,n)}unlinkSync(e){if(this.isReadonly)throw Hp("EROFS");const{parent:t,links:n,node:i,basename:r}=this._walk(this._resolve(e),!0);if(!t)throw Hp("EPERM");if(!i)throw Hp("ENOENT");if(vd(i))throw Hp("EISDIR");this._removeLink(t,n,r,i)}renameSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{parent:n,links:i,node:r,basename:s}=this._walk(this._resolve(e),!0);if(!n)throw Hp("EPERM");if(!r)throw Hp("ENOENT");const{parent:o,links:a,node:l,basename:c}=this._walk(this._resolve(t),!0);if(!o)throw Hp("EPERM");const u=this.time();if(l){if(vd(r)){if(!vd(l))throw Hp("ENOTDIR");if(this._getLinks(l).size>0)throw Hp("ENOTEMPTY")}else if(vd(l))throw Hp("EISDIR");this._removeLink(o,a,c,l,u)}this._replaceLink(n,i,s,o,a,c,r,u)}symlinkSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{parent:n,links:i,node:r,basename:s}=this._walk(this._resolve(t),!0);if(!n)throw Hp("EPERM");if(r)throw Hp("EEXIST");const o=this.time(),a=this._mknod(n.dev,hd,438,o);a.symlink=Xp(e,2016),this._addLink(n,i,s,a,o)}realpathSync(e){const{realpath:t}=this._walk(this._resolve(e));return t}readFileSync(e,t=null){const{node:n}=this._walk(this._resolve(e));if(!n)throw Hp("ENOENT");if(vd(n))throw Hp("EISDIR");if(!_d(n))throw Hp("EBADF");const i=this._getBuffer(n).slice();return t?i.toString(t):i}writeFileSync(e,t,n=null){if(this.isReadonly)throw Hp("EROFS");const{parent:i,links:r,node:s,basename:o}=this._walk(this._resolve(e),!1);if(!i)throw Hp("EPERM");const a=this.time();let l=s;if(l||(l=this._mknod(i.dev,md,438,a),this._addLink(i,r,o,l,a)),vd(l))throw Hp("EISDIR");if(!_d(l))throw Hp("EBADF");l.buffer=ed.isBuffer(t)?t.slice():function(e,t){return Vp.from&&Vp.from!==Int8Array.from?Vp.from(e,t):new Vp(e,t)}(""+t,n||"utf8"),l.size=l.buffer.byteLength,l.mtimeMs=a,l.ctimeMs=a}readFile(e){return Promise.resolve(this.readFileSync(e))}readFileText(e,t){return Promise.resolve(this.readFileSync(e,t||"utf8"))}createReadStream(e){throw new Error("Not implemented in test file system.")}createWriteStream(e){throw new Error("Not implemented in test file system.")}copyFileSync(e,t){throw new Error("Not implemented in test file system.")}diff(e=this.shadowRoot,t={}){const n={};return(e?rd._rootDiff(n,this,e,t):rd._trackCreatedInodes(n,this,this._getRootLinks()))?n:void 0}static diff(e,t,n={}){const i={};return rd._rootDiff(i,e,t,n)?i:void 0}isInZipOrEgg(e){return!1}static _diffWorker(e,t,n,i,r,s){if(n&&!r)return rd._trackCreatedInodes(e,t,n);if(r&&!n)return rd._trackDeletedInodes(e,r);if(n&&r){let o=!1;return r.forEach(((t,i)=>{n.has(i)||(e[i]=vd(t)?new cd:new ud,o=!0)})),n.forEach(((n,a)=>{const l=r.get(a);if(l){if(vd(n)&&vd(l))return o=rd._directoryDiff(e,a,t,n,i,l,s)||o;if(_d(n)&&_d(l))return o=rd._fileDiff(e,a,t,n,i,l,s)||o;if(Td(n)&&Td(l))return o=rd._symlinkDiff(e,a,n,l)||o}return o=rd._trackCreatedInode(e,a,t,n)||o})),o}return!1}static _rootDiff(e,t,n,i){for(;!t._lazy.links&&t._shadowRoot;)t=t._shadowRoot;for(;!n._lazy.links&&n._shadowRoot;)n=n._shadowRoot;return t!==n&&!!(t._lazy.links||t._shadowRoot||n._lazy.links||n._shadowRoot)&&rd._diffWorker(e,t,t._getRootLinks(),n,n._getRootLinks(),i)}static _directoryDiff(e,t,n,i,r,s,o){for(;!i.links&&i.shadowRoot;)i=i.shadowRoot;for(;!s.links&&s.shadowRoot;)s=s.shadowRoot;if(i===s)return!1;if(gd(i)&&gd(s))return!1;if(!i.links&&!s.links&&i.resolver&&void 0!==i.source&&s.resolver===i.resolver&&s.source===i.source)return!1;const a={};return!!rd._diffWorker(a,n,n._getLinks(i),r,r._getLinks(s),o)&&(e[t]=new sd(a),!0)}static _fileDiff(e,t,n,i,r,s,o){for(;!i.buffer&&i.shadowRoot;)i=i.shadowRoot;for(;!s.buffer&&s.shadowRoot;)s=s.shadowRoot;if(i===s)return!1;if(yd(i)&&yd(s))return!1;if(!i.buffer&&!s.buffer&&i.resolver&&void 0!==i.source&&s.resolver===i.resolver&&s.source===i.source)return!1;const a=n._getBuffer(i),l=r._getBuffer(s);return a!==l&&(0===ed.compare(a,l)?!!o.includeChangedFileWithSameContent&&(e[t]=new ad(a),!0):(e[t]=new od(a),!0))}static _symlinkDiff(e,t,n,i){return n.symlink!==i.symlink&&(e[t]=new pd(n.symlink),!0)}static _trackCreatedInode(e,t,n,i){if(vd(i)){const r={};rd._trackCreatedInodes(r,n,n._getLinks(i)),e[t]=new sd(r)}else Td(i)?e[t]=new pd(i.symlink):e[t]=new od(i.buffer||"");return!0}static _trackCreatedInodes(e,t,n){return!!n.size&&(n.forEach(((n,i)=>{rd._trackCreatedInode(e,i,t,n)})),!0)}static _trackDeletedInodes(e,t){return!!t.size&&(t.forEach(((t,n)=>{e[n]=vd(t)?new cd:new ud})),!0)}_mknod(e,t,n,i=this.time()){return{dev:e,ino:++id,mode:n&~dd&-19&4095|t&dd,atimeMs:i,mtimeMs:i,ctimeMs:i,birthtimeMs:i,nlink:0}}_addLink(e,t,n,i,r=this.time()){t.set(n,i),i.nlink++,i.ctimeMs=r,e&&(e.mtimeMs=r),e||this._cwd||(this._cwd=n)}_removeLink(e,t,n,i,r=this.time()){t.delete(n),i.nlink--,i.ctimeMs=r,e&&(e.mtimeMs=r)}_replaceLink(e,t,n,i,r,s,o,a){e!==i?(this._removeLink(e,t,n,o,a),this._addLink(i,r,s,o,a)):(t.delete(n),t.set(s,o),e.mtimeMs=a,i.mtimeMs=a)}_getRootLinks(){if(!this._lazy.links){const e=new qp(this.stringComparer);this._shadowRoot&&this._copyShadowLinks(this._shadowRoot._getRootLinks(),e),this._lazy.links=e}return this._lazy.links}_getLinks(e){if(!e.links){const t=new qp(this.stringComparer),{source:n,resolver:i}=e;if(n&&i){e.source=void 0,e.resolver=void 0;for(const r of i.readdirSync(n)){const s=te(n,r),o=i.statSync(s);switch(o.mode&dd){case fd:{const s=this._mknod(e.dev,fd,511);s.source=te(n,r),s.resolver=i,this._addLink(e,t,r,s);break}case md:{const s=this._mknod(e.dev,md,438);s.source=te(n,r),s.resolver=i,s.size=o.size,this._addLink(e,t,r,s);break}}}}else this._shadowRoot&&e.shadowRoot&&this._copyShadowLinks(this._shadowRoot._getLinks(e.shadowRoot),t);e.links=t}return e.links}_getShadow(e){const t=this._lazy.shadows||(this._lazy.shadows=new Map);let n=t.get(e.ino);return n||(n={dev:e.dev,ino:e.ino,mode:e.mode,atimeMs:e.atimeMs,mtimeMs:e.mtimeMs,ctimeMs:e.ctimeMs,birthtimeMs:e.birthtimeMs,nlink:e.nlink,shadowRoot:e},Td(e)&&(n.symlink=e.symlink),t.set(n.ino,n)),n}_copyShadowLinks(e,t){const n=Bp(e);try{for(let e=Wp(n);e;e=Wp(n)){const[n,i]=e.value;t.set(n,this._getShadow(i))}}finally{jp(n)}}_getSize(e){return e.buffer?e.buffer.byteLength:void 0!==e.size?e.size:e.source&&e.resolver?e.size=e.resolver.statSync(e.source).size:this._shadowRoot&&e.shadowRoot?e.size=this._shadowRoot._getSize(e.shadowRoot):0}_getBuffer(e){if(!e.buffer){const{source:t,resolver:n}=e;t&&n?(e.source=void 0,e.resolver=void 0,e.size=void 0,e.buffer=n.readFileSync(t)):this._shadowRoot&&e.shadowRoot?e.buffer=this._shadowRoot._getBuffer(e.shadowRoot):e.buffer=ed.allocUnsafe(0)}return e.buffer}_walk(e,t,n){let i,r=this._getRootLinks(),s=G(e),o=0,a=0,l=!1;for(;;){if(a>=40)throw Hp("ELOOP");const e=o===s.length-1,n=s[o],u=r.get(n);if(e&&(t||!Td(u)))return{realpath:J(s),basename:n,parent:i,links:r,node:u};if(void 0===u){if(c(Hp("ENOENT"),u))continue;return}if(Td(u)){const e=ee(J(s.slice(0,o)),u.symlink);r=this._getRootLinks(),i=void 0,s=G(e).concat(s.slice(o+1)),o=0,a++,l=!1}else if(vd(u))r=this._getLinks(u),i=u,o++,l=!1;else if(!c(Hp("ENOTDIR"),u))return}function c(e,t){const a=J(s.slice(0,o+1)),c=s[o],u=!l&&n?n(e,{realpath:a,basename:c,parent:i,links:r,node:t}):"throw";if("stop"===u)return!1;if("retry"===u)return l=!0,!0;throw e}}_resolve(e){return this._cwd?ee(this._cwd,Xp(e,4064)):Xp(e,4065)}_applyFiles(e,t){const n=[];this._applyFilesWorker(e,t,n);for(const[e,i]of n){if(this.mkdirpSync($(i)),this.pushd($(i)),e instanceof pd){if(0===this.stringComparer($(i),i))throw new TypeError("Roots cannot be symbolic links.");this.symlinkSync(ee(t,e.symlink),i),this._applyFileExtendedOptions(i,e)}else if(e instanceof ld){if(0===this.stringComparer($(i),i))throw new TypeError("Roots cannot be hard links.");this.linkSync(e.path,i)}else this.mountSync(e.source,i,e.resolver),this._applyFileExtendedOptions(i,e);this.popd()}}_applyFileExtendedOptions(e,t){const{meta:n}=t;if(void 0!==n){const t=this.filemeta(e);for(const e of Object.keys(n))t.set(e,n[e])}}_applyFilesWorker(e,t,n){for(const i of Object.keys(e)){const r=bd(e[i]),s=t?ee(t,i):i;if(Xp(s,2017),null==r||r instanceof cd||r instanceof ud){if(0===this.stringComparer($(s),s))throw new TypeError("Roots cannot be deleted.");this.rimrafSync(s)}else if(r instanceof od){if(0===this.stringComparer($(s),s))throw new TypeError("Roots cannot be files.");this.mkdirpSync($(s)),this.writeFileSync(s,r.data,r.encoding),this._applyFileExtendedOptions(s,r)}else r instanceof sd?(this.mkdirpSync(s),this._applyFileExtendedOptions(s,r),this._applyFilesWorker(r.files,s,n)):n.push([r,s])}}}class sd{constructor(e,{meta:t}={}){this.files=e,this.meta=t}}class od{constructor(e,{meta:t,encoding:n}={}){this.data=e,this.encoding=n,this.meta=t}}class ad extends od{constructor(e,t){super(e,t)}}class ld{constructor(e){this.path=e}}class cd{}class ud{}class pd{constructor(e,{meta:t}={}){this.symlink=e,this.meta=t}}const dd=61440,hd=40960,md=32768,fd=16384;function gd(e){return!(e.links||e.shadowRoot||e.resolver||e.source)}function yd(e){return!(e.buffer||e.shadowRoot||e.resolver||e.source)}function _d(e){return void 0!==e&&(e.mode&dd)===md}function vd(e){return void 0!==e&&(e.mode&dd)===fd}function Td(e){return void 0!==e&&(e.mode&dd)===hd}function bd(e){return null==e||e instanceof sd||e instanceof od||e instanceof ld||e instanceof pd||e instanceof class{constructor(e,t,{meta:n}={}){this.source=e,this.resolver=t,this.meta=n}}||e instanceof cd||e instanceof ud?e:"string"==typeof e||ed.isBuffer(e)?new od(e):new sd(e)}class Id{constructor(e=0,t=0,n=0,i=0,r=0,s=0,o=0,a=0,l=0,c=0,u=0,p=0){this.dev=e,this.ino=t,this.mode=n,this.nlink=i,this.uid=0,this.gid=0,this.rdev=r,this.size=s,this.blksize=o,this.blocks=a,this.atimeMs=l,this.mtimeMs=c,this.ctimeMs=u,this.birthtimeMs=p,this.atime=new Date(this.atimeMs),this.mtime=new Date(this.mtimeMs),this.ctime=new Date(this.ctimeMs),this.birthtime=new Date(this.birthtimeMs)}isFile(){return(this.mode&dd)===md}isDirectory(){return(this.mode&dd)===fd}isSymbolicLink(){return(this.mode&dd)===hd}isBlockDevice(){return 24576==(this.mode&dd)}isCharacterDevice(){return 8192==(this.mode&dd)}isFIFO(){return 4096==(this.mode&dd)}isSocket(){return 49152==(this.mode&dd)}}class Sd extends Map{constructor(){super(...arguments),this._defaultWorkspacePath=""}getNonDefaultWorkspaces(){const e=[];return this.forEach((t=>{t.rootPath&&e.push(t)})),e}getWorkspaceForFile(e,t){let n,i;if(this.forEach((e=>{e.rootPath&&t.startsWith(e.rootPath)&&(void 0===n||e.rootPath.startsWith(n))&&(n=e.rootPath,i=e)})),void 0===i){let t=this.get(this._defaultWorkspacePath);if(!t){const n=[...this.keys()];if(1===n.length)return this.get(n[0]);t={workspaceName:"",rootPath:"",rootUri:"",serviceInstance:e.createAnalyzerService(this._defaultWorkspacePath),disableLanguageServices:!1,disableOrganizeImports:!1,isInitialized:gp()},this.set(this._defaultWorkspacePath,t),e.updateSettingsForWorkspace(t).ignoreErrors()}return t}return i}}var xd=__webpack_require__(7630);const Cd={openFilesTimeInMs:50,noOpenFilesTimeInMs:200};class wd extends class{constructor(e,t,n){var i,r;this._serverOptions=e,this._connection=t,this.console=n,this._lastTriggerKind=ot.CompletionTriggerKind.Invoked,this.rootPath="",this.client={hasConfigurationCapability:!1,hasVisualStudioExtensionsCapability:!1,hasWorkspaceFoldersCapability:!1,hasWatchFileCapability:!1,hasActiveParameterCapability:!1,hasSignatureLabelOffsetCapability:!1,hasHierarchicalDocumentSymbolCapability:!1,hasWindowProgressCapability:!1,hasGoToDeclarationCapability:!1,hasDocumentChangeCapability:!1,hasDocumentAnnotationCapability:!1,hoverContentFormat:ot.MarkupKind.PlainText,completionDocFormat:ot.MarkupKind.PlainText,completionSupportsSnippet:!1,signatureDocFormat:ot.MarkupKind.PlainText,supportsDeprecatedDiagnosticTag:!1,supportsUnnecessaryDiagnosticTag:!1,completionItemResolveSupportsAdditionalTextEdits:!1},this.diagnosticTextSettings={},__webpack_require__.g.__rootDirectory=e.rootDirectory,this.console.info(`${e.productName} language server ${e.version&&e.version+" "}starting`),this.console.info(`Server root directory: ${e.rootDirectory}`),this._workspaceMap=this._serverOptions.workspaceMap,this._fileWatcherProvider=this._serverOptions.fileWatcherProvider,this.fs=new rt(this._serverOptions.fileSystem),this._uriParser=new Lp(this.fs);const s=this.fs.getModulePath();s&&this.fs.chdir(s),this.setupConnection(null!==(i=e.supportedCommands)&&void 0!==i?i:[],null!==(r=e.supportedCodeActions)&&void 0!==r?r:[]),this._progressReporter=new Op(this.createProgressReporter()),this._connection.listen()}decodeTextDocumentUri(e){return this._uriParser.decodeTextDocumentUri(e)}async getConfiguration(e,t){if(this.client.hasConfigurationCapability){const n={};return void 0!==e&&(n.scopeUri=e),void 0!==t&&(n.section=t),this._connection.workspace.getConfiguration(n)}if(this._defaultClientConfig)return n=this._defaultClientConfig,t.split(".").reduce(((e,t)=>e&&e[t]),n);var n}isOpenFilesOnly(e){return"workspace"!==e}getSeverityOverrides(e){const t=e;if(["error","warning","information","none"].includes(t))return t}getDiagnosticRuleName(e){const t=e;if(wc().includes(t))return t}createBackgroundAnalysisProgram(e,t,n,i,r,s){return new xp(e,t,n,i,r,s)}setExtension(e){this._serverOptions.extension=e}get window(){return this._connection.window}get supportAdvancedEdits(){return this.client.hasDocumentChangeCapability&&this.client.hasDocumentAnnotationCapability}createAnalyzerService(e){this.console.log(`Starting service instance "${e}"`);const t=new Np(e,this.fs,this.console,this.createHost.bind(this),this.createImportResolver.bind(this),void 0,this._serverOptions.extension,this.createBackgroundAnalysis(),this._serverOptions.maxAnalysisTimeInForeground,this.createBackgroundAnalysisProgram.bind(this),this._serverOptions.cancellationProvider);return t.setCompletionCallback((e=>this.onAnalysisCompletedHandler(e))),t}async getWorkspaceForFile(e){const t=this._workspaceMap.getWorkspaceForFile(this,e);return await t.isInitialized.promise,t}reanalyze(){this._workspaceMap.forEach((e=>{e.serviceInstance.invalidateAndForceReanalysis()}))}restart(){this._workspaceMap.forEach((e=>{e.serviceInstance.restart()}))}setupConnection(e,t){this._connection.onInitialize((n=>this.initialize(n,e,t))),this._connection.onInitialized((()=>this.onInitialized())),this._connection.onDidChangeConfiguration((e=>this.onDidChangeConfiguration(e))),this._connection.onCodeAction(((e,t)=>this.executeCodeAction(e,t))),this._connection.onDefinition((async(e,t)=>this.onDefinition(e,t))),this._connection.onDeclaration((async(e,t)=>this.onDeclaration(e,t))),this._connection.onTypeDefinition((async(e,t)=>this.onTypeDefinition(e,t))),this._connection.onReferences((async(e,t,n,i)=>this.onReferences(e,t,n,i))),this._connection.onDocumentSymbol((async(e,t)=>this.onDocumentSymbol(e,t))),this._connection.onWorkspaceSymbol((async(e,t,n,i)=>this.onWorkspaceSymbol(e,t,i))),this._connection.onHover((async(e,t)=>this.onHover(e,t))),this._connection.onDocumentHighlight((async(e,t)=>this.onDocumentHighlight(e,t))),this._connection.onSignatureHelp((async(e,t)=>this.onSignatureHelp(e,t))),this._connection.onCompletion(((e,t)=>this.onCompletion(e,t))),this._connection.onCompletionResolve((async(e,t)=>this.onCompletionResolve(e,t))),this._connection.onRenameRequest((async(e,t)=>this.onRenameRequest(e,t)));const n=this._connection.languages.callHierarchy;n.onPrepare((async(e,t)=>this.onPrepare(e,t))),n.onIncomingCalls((async(e,t)=>this.onIncomingCalls(e,t))),n.onOutgoingCalls((async(e,t)=>this.onOutgoingCalls(e,t))),this._connection.onDidOpenTextDocument((async e=>this.onDidOpenTextDocument(e))),this._connection.onDidChangeTextDocument((async e=>this.onDidChangeTextDocument(e))),this._connection.onDidCloseTextDocument((async e=>this.onDidCloseTextDocument(e))),this._connection.onDidChangeWatchedFiles((e=>this.onDidChangeWatchedFiles(e))),this._connection.onExecuteCommand((async(e,t,n)=>this.onExecuteCommand(e,t,n)))}async initialize(e,t,n){var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,V,q;this.diagnosticTextSettings={locale:e.locale,style:e.initializationOptions.diagnosticStyle},await dl(this.diagnosticTextSettings),this.rootPath=e.rootPath||"";const B=e.capabilities;this.client.hasConfigurationCapability=!!(null===(i=B.workspace)||void 0===i?void 0:i.configuration),this.client.hasWatchFileCapability=!!(null===(s=null===(r=B.workspace)||void 0===r?void 0:r.didChangeWatchedFiles)||void 0===s?void 0:s.dynamicRegistration),this.client.hasWorkspaceFoldersCapability=!!(null===(o=B.workspace)||void 0===o?void 0:o.workspaceFolders),this.client.hasVisualStudioExtensionsCapability=!!B.supportsVisualStudioExtensions,this.client.hasActiveParameterCapability=!!(null===(c=null===(l=null===(a=B.textDocument)||void 0===a?void 0:a.signatureHelp)||void 0===l?void 0:l.signatureInformation)||void 0===c?void 0:c.activeParameterSupport),this.client.hasSignatureLabelOffsetCapability=!!(null===(h=null===(d=null===(p=null===(u=B.textDocument)||void 0===u?void 0:u.signatureHelp)||void 0===p?void 0:p.signatureInformation)||void 0===d?void 0:d.parameterInformation)||void 0===h?void 0:h.labelOffsetSupport),this.client.hasHierarchicalDocumentSymbolCapability=!!(null===(f=null===(m=B.textDocument)||void 0===m?void 0:m.documentSymbol)||void 0===f?void 0:f.hierarchicalDocumentSymbolSupport),this.client.hasDocumentChangeCapability=!!(null===(y=null===(g=B.workspace)||void 0===g?void 0:g.workspaceEdit)||void 0===y?void 0:y.documentChanges)&&!!(null===(_=B.workspace.workspaceEdit)||void 0===_?void 0:_.resourceOperations),this.client.hasDocumentAnnotationCapability=!!(null===(T=null===(v=B.workspace)||void 0===v?void 0:v.workspaceEdit)||void 0===T?void 0:T.changeAnnotationSupport),this.client.hoverContentFormat=this._getCompatibleMarkupKind(null===(I=null===(b=B.textDocument)||void 0===b?void 0:b.hover)||void 0===I?void 0:I.contentFormat),this.client.completionDocFormat=this._getCompatibleMarkupKind(null===(C=null===(x=null===(S=B.textDocument)||void 0===S?void 0:S.completion)||void 0===x?void 0:x.completionItem)||void 0===C?void 0:C.documentationFormat),this.client.completionSupportsSnippet=!!(null===(k=null===(E=null===(w=B.textDocument)||void 0===w?void 0:w.completion)||void 0===E?void 0:E.completionItem)||void 0===k?void 0:k.snippetSupport),this.client.signatureDocFormat=this._getCompatibleMarkupKind(null===(P=null===(A=null===(D=B.textDocument)||void 0===D?void 0:D.signatureHelp)||void 0===A?void 0:A.signatureInformation)||void 0===P?void 0:P.documentationFormat);const W=(null===(N=null===(F=null===(R=B.textDocument)||void 0===R?void 0:R.publishDiagnostics)||void 0===F?void 0:F.tagSupport)||void 0===N?void 0:N.valueSet)||[];return this.client.supportsUnnecessaryDiagnosticTag=W.some((e=>e===ot.DiagnosticTag.Unnecessary)),this.client.supportsDeprecatedDiagnosticTag=W.some((e=>e===ot.DiagnosticTag.Deprecated)),this.client.hasWindowProgressCapability=!!(null===(M=B.window)||void 0===M?void 0:M.workDoneProgress),this.client.hasGoToDeclarationCapability=!!(null===(O=B.textDocument)||void 0===O?void 0:O.declaration),this.client.completionItemResolveSupportsAdditionalTextEdits=!!(null===(q=null===(V=null===(U=null===(L=B.textDocument)||void 0===L?void 0:L.completion)||void 0===U?void 0:U.completionItem)||void 0===V?void 0:V.resolveSupport)||void 0===q?void 0:q.properties.some((e=>"additionalTextEdits"===e))),e.workspaceFolders?e.workspaceFolders.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._workspaceMap.set(t,this.createWorkspaceServiceInstance(e,t))})):e.rootPath&&this._workspaceMap.set(e.rootPath,this.createWorkspaceServiceInstance(void 0,e.rootPath)),this.updateSettingsForAllWorkspaces(),{capabilities:{textDocumentSync:ot.TextDocumentSyncKind.Incremental,definitionProvider:{workDoneProgress:!0},declarationProvider:{workDoneProgress:!0},typeDefinitionProvider:{workDoneProgress:!0},referencesProvider:{workDoneProgress:!0},documentSymbolProvider:{workDoneProgress:!0},workspaceSymbolProvider:{workDoneProgress:!0},hoverProvider:{workDoneProgress:!0},documentHighlightProvider:{workDoneProgress:!0},renameProvider:{workDoneProgress:!0},completionProvider:{triggerCharacters:this.client.hasVisualStudioExtensionsCapability?[".","[","@"]:[".","["],resolveProvider:!0,workDoneProgress:!0},signatureHelpProvider:{triggerCharacters:["(",",",")"],workDoneProgress:!0},codeActionProvider:{codeActionKinds:n,workDoneProgress:!0},executeCommandProvider:{commands:t,workDoneProgress:!0},callHierarchyProvider:!0}}}onInitialized(){this.client.hasWorkspaceFoldersCapability&&this._connection.workspace.onDidChangeWorkspaceFolders((e=>{e.removed.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._workspaceMap.delete(t)})),e.added.forEach((async e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri),n=this.createWorkspaceServiceInstance(e,t);this._workspaceMap.set(t,n),await this.updateSettingsForWorkspace(n)}))})),this.client.hasWatchFileCapability&&this._connection.client.register(ot.DidChangeWatchedFilesNotification.type,{watchers:[...Pp.map((e=>({globPattern:`**/${e}`,kind:ot.WatchKind.Create|ot.WatchKind.Change|ot.WatchKind.Delete}))),{globPattern:"**",kind:ot.WatchKind.Create|ot.WatchKind.Change|ot.WatchKind.Delete}]})}onDidChangeConfiguration(e){this.console.log("Received updated settings"),(null==e?void 0:e.settings)&&(this._defaultClientConfig=null==e?void 0:e.settings),this.updateSettingsForAllWorkspaces()}async onDefinition(e,t){return this.getDefinitions(e,t,this.client.hasGoToDeclarationCapability?sc.PreferSource:sc.All,((e,t,n,i,r)=>e.serviceInstance.getDefinitionForPosition(t,n,i,r)))}async onDeclaration(e,t){return this.getDefinitions(e,t,this.client.hasGoToDeclarationCapability?sc.PreferStubs:sc.All,((e,t,n,i,r)=>e.serviceInstance.getDefinitionForPosition(t,n,i,r)))}async onTypeDefinition(e,t){return this.getDefinitions(e,t,sc.All,((e,t,n,i,r)=>e.serviceInstance.getTypeDefinitionForPosition(t,n,r)))}async getDefinitions(e,t,n,i){this.recordUserInteractionTime();const{filePath:r,position:s}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),o=await this.getWorkspaceForFile(r);if(o.disableLanguageServices)return;const a=i(o,r,s,n,t);return a?a.filter((e=>!this.fs.isInZipOrEgg(e.path))).map((e=>ot.Location.create(Ee(this.fs,e.path),e.range))):void 0}async onReferences(e,t,n,i){this._pendingFindAllRefsCancellationSource&&(this._pendingFindAllRefsCancellationSource.cancel(),this._pendingFindAllRefsCancellationSource=void 0);const r=await this._getProgressReporter(n,ml.CodeAction.findingReferences(),t),s=r.source;this._pendingFindAllRefsCancellationSource=s;try{const{filePath:t,position:n}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),o=await this.getWorkspaceForFile(t);if(o.disableLanguageServices)return;const a=e=>e.filter((e=>!this.fs.isInZipOrEgg(e.path))).map((e=>ot.Location.create(Ee(this.fs,e.path),e.range))),l=[],c=i?e=>i.report(a(e)):e=>l.push(...a(e));return o.serviceInstance.reportReferencesForPosition(t,n,e.context.includeDeclaration,c,s.token),l}finally{r.reporter.done(),s.dispose()}}async onDocumentSymbol(e,t){this.recordUserInteractionTime();const n=this._uriParser.decodeTextDocumentUri(e.textDocument.uri),i=await this.getWorkspaceForFile(n);if(i.disableLanguageServices)return;const r=[];return i.serviceInstance.addSymbolsForDocument(n,r,t),this.client.hasHierarchicalDocumentSymbolCapability?r:function(e,t){const n=[];for(const i of t)Uc(n,e,i);return n}(e.textDocument.uri,r)}async onWorkspaceSymbol(e,t,n){const i=[],r=n?e=>n.report(e):e=>i.push(...e);for(const n of this._workspaceMap.values())await n.isInitialized.promise,n.disableLanguageServices||n.disableWorkspaceSymbol||n.serviceInstance.reportSymbolsForWorkspace(e.query,r,t);return i}async onHover(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=(await this.getWorkspaceForFile(n)).serviceInstance.getHoverForPosition(n,i,this.client.hoverContentFormat,t);return function(e,t){if(!t)return;const n=t.parts.map((t=>{if(t.python){if(e===ot.MarkupKind.Markdown)return"```python\n"+t.text+"\n```\n";if(e===ot.MarkupKind.PlainText)return t.text+"\n\n";E(`Unsupported markup type: ${e}`)}return t.text})).join("").trimEnd();return{contents:{kind:e,value:n},range:t.range}}(this.client.hoverContentFormat,r)}async onDocumentHighlight(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position);return(await this.getWorkspaceForFile(n)).serviceInstance.getDocumentHighlight(n,i,t)}async onSignatureHelp(e,t){var n,i,r,s;const{filePath:o,position:a}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),l=await this.getWorkspaceForFile(o);if(l.disableLanguageServices)return;const c=l.serviceInstance.getSignatureHelpForPosition(o,a,this.client.signatureDocFormat,t);if(!c)return;const u=c.signatures.map((e=>{let t=[];e.parameters&&(t=e.parameters.map((e=>ot.ParameterInformation.create(this.client.hasSignatureLabelOffsetCapability?[e.startOffset,e.endOffset]:e.text,e.documentation))));const n=ot.SignatureInformation.create(e.label,void 0,...t);return void 0!==e.documentation&&(n.documentation=e.documentation),void 0!==e.activeParameter&&(n.activeParameter=e.activeParameter),n})),p=e=>{var t;return void 0!==e.activeParameter||!c.callHasParameters&&!(null===(t=e.parameters)||void 0===t?void 0:t.length)};let d=u.findIndex(p);-1===d&&(d=null);let h=null!==d?u[d].activeParameter:null;if((null===(n=e.context)||void 0===n?void 0:n.isRetrigger)&&e.context.triggerKind!==ot.SignatureHelpTriggerKind.Invoked){const t=null!==(r=null===(i=e.context.activeSignatureHelp)||void 0===i?void 0:i.activeSignature)&&void 0!==r?r:null;if(null!==t&&t{var t,n;return null!==(n=null===(t=e.parameters)||void 0===t?void 0:t.length)&&void 0!==n?n:0})))),{signatures:u,activeSignature:d,activeParameter:h}}async onCompletion(e,t){var n,i;const r=this._lastTriggerKind!==ot.CompletionTriggerKind.TriggerForIncompleteCompletions||(null===(n=e.context)||void 0===n?void 0:n.triggerKind)!==ot.CompletionTriggerKind.TriggerForIncompleteCompletions;this._lastTriggerKind=null===(i=e.context)||void 0===i?void 0:i.triggerKind;const{filePath:s,position:o}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),a=await this.getWorkspaceForFile(s);if(a.disableLanguageServices)return;const l=await this.getWorkspaceCompletionsForPosition(a,s,o,a.rootPath,this.getCompletionOptions(e),t);return l&&l.completionList&&(l.completionList.isIncomplete=r),null==l?void 0:l.completionList}async onCompletionResolve(e,t){const n=e.data;if(n&&n.filePath){const i=await this.getWorkspaceForFile(n.workspacePath);this.resolveWorkspaceCompletionItem(i,n.filePath,e,t)}return e}async onRenameRequest(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return;const s=r.serviceInstance.renameSymbolAtPosition(n,i,e.newName,""===r.rootPath,t);return s?function(e,t){const n={changes:{}};return t.forEach((t=>{const i=Ee(e,t.filePath);n.changes[i]=n.changes[i]||[],n.changes[i].push({range:t.range,newText:t.replacementText})})),n}(this.fs,s):void 0}async onPrepare(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;const s=r.serviceInstance.getCallForPosition(n,i,t)||null;return s?this.fs.isInZipOrEgg(s.uri)?null:(s.uri=Ee(this.fs,s.uri),[s]):null}async onIncomingCalls(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.item,e.item.range.start),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;let s=r.serviceInstance.getIncomingCallsForPosition(n,i,t)||null;return s&&0!==s.length?(s=s.filter((e=>!this.fs.isInZipOrEgg(e.from.uri))),s.forEach((e=>{e.from.uri=Ee(this.fs,e.from.uri)})),s):null}async onOutgoingCalls(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.item,e.item.range.start),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;let s=r.serviceInstance.getOutgoingCallsForPosition(n,i,t)||null;return s&&0!==s.length?(s=s.filter((e=>!this.fs.isInZipOrEgg(e.to.uri))),s.forEach((e=>{e.to.uri=Ee(this.fs,e.to.uri)})),s):null}async onDidOpenTextDocument(e){const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.addUriMap(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.setFileOpened(t,e.textDocument.version,e.textDocument.text)}async onDidChangeTextDocument(e){this.recordUserInteractionTime();const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.hasUriMapEntry(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.updateOpenFileContents(t,e.textDocument.version,e.contentChanges)}async onDidCloseTextDocument(e){const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.removeUriMap(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.setFileClosed(t)}onDidChangeWatchedFiles(e){e.changes.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri),n=1===e.type?"add":"change";this._fileWatcherProvider.onFileChange(n,t)}))}async onExecuteCommand(e,t,n){this._pendingCommandCancellationSource&&(this._pendingCommandCancellationSource.cancel(),this._pendingCommandCancellationSource=void 0);const i=async t=>{const n=await this.executeCommand(e,t);return ot.WorkspaceEdit.is(n)&&this._connection.workspace.applyEdit({label:`Command '${e.command}'`,edit:n}),Mp.is(n)&&await this._connection.workspace.applyEdit({label:n.label,edit:n.edits}),n};if(!this.isLongRunningCommand(e.command))return await i(t);{const e=await this._getProgressReporter(n,ml.CodeAction.executingCommand(),t),r=e.source;this._pendingCommandCancellationSource=r;try{return await i(r.token)}finally{e.reporter.done(),r.dispose()}}}resolveWorkspaceCompletionItem(e,t,n,i){e.serviceInstance.resolveCompletionItem(t,n,this.getCompletionOptions(),void 0,i)}getWorkspaceCompletionsForPosition(e,t,n,i,r,s){return e.serviceInstance.getCompletionsForPosition(t,n,i,r,void 0,s)}updateSettingsForAllWorkspaces(){this._workspaceMap.forEach((e=>{this.updateSettingsForWorkspace(e).ignoreErrors()}))}getCompletionOptions(e){return{format:this.client.completionDocFormat,snippet:this.client.completionSupportsSnippet,lazyEdit:this.client.completionItemResolveSupportsAdditionalTextEdits,autoImport:!0}}createWorkspaceServiceInstance(e,t){var n,i,r;return{workspaceName:null!==(n=null==e?void 0:e.name)&&void 0!==n?n:"",rootPath:t,rootUri:null!==(i=null==e?void 0:e.uri)&&void 0!==i?i:"",serviceInstance:this.createAnalyzerService(null!==(r=null==e?void 0:e.name)&&void 0!==r?r:t),disableLanguageServices:!1,disableOrganizeImports:!1,disableWorkspaceSymbol:!1,isInitialized:gp()}}convertDiagnostics(e){return[{uri:Ee(this.fs,e.filePath),version:e.version,diagnostics:this._convertDiagnostics(e.diagnostics)}]}onAnalysisCompletedHandler(e){if(e.diagnostics.forEach((e=>{this.fs.isInZipOrEgg(e.filePath)||(this._sendDiagnostics(this.convertDiagnostics(e)),this.fs.pendingRequest(e.filePath,e.diagnostics.length>0))})),this._progressReporter.isEnabled(e))if(e.filesRequiringAnalysis>0){this._progressReporter.begin();const t=1===e.filesRequiringAnalysis?ml.CodeAction.filesToAnalyzeOne():ml.CodeAction.filesToAnalyzeCount().format({count:e.filesRequiringAnalysis});this._progressReporter.report(t)}else this._progressReporter.end();else this._progressReporter.end()}async updateSettingsForWorkspace(e,t){var n;t=null!=t?t:await this.getSettings(e),this.console.level=null!==(n=t.logLevel)&&void 0!==n?n:On.Info,this.updateOptionsAndRestartService(e,t),e.disableLanguageServices=!!t.disableLanguageServices,e.disableOrganizeImports=!!t.disableOrganizeImports,e.isInitialized.resolve(!0)}updateOptionsAndRestartService(e,t,n){yp.runWithOptions(this.rootPath,e,t,n)}convertLogLevel(e){if(!e)return On.Info;switch(e.toLowerCase()){case"error":return On.Error;case"warning":return On.Warn;case"information":return On.Info;case"trace":return On.Log;default:return On.Info}}_sendDiagnostics(e){for(const t of e)this._connection.sendDiagnostics(t)}_getCompatibleMarkupKind(e){const t=[ot.MarkupKind.PlainText,ot.MarkupKind.Markdown];for(const n of null!=e?e:[])if(t.includes(n))return n;return ot.MarkupKind.PlainText}async _getProgressReporter(e,t,n){if(e.constructor!==Up.constructor)return{reporter:e,source:ut(n)};const i=await this._connection.window.createWorkDoneProgress();return i.begin(t,void 0,void 0,!0),{reporter:i,source:ut(n,i.token)}}_convertDiagnostics(e){const t=[];return e.forEach((e=>{const n=function(e){switch(e){case 0:return ot.DiagnosticSeverity.Error;case 1:return ot.DiagnosticSeverity.Warning;case 2:return ot.DiagnosticSeverity.Information;case 3:case 4:return ot.DiagnosticSeverity.Hint}}(e.category),i=e.getRule(),r=ot.Diagnostic.create(e.range,e.message,n,i,this._serverOptions.productName);if(3===e.category){if(r.tags=[ot.DiagnosticTag.Unnecessary],r.severity=ot.DiagnosticSeverity.Hint,!this.client.supportsUnnecessaryDiagnosticTag)return}else if(4===e.category&&(r.tags=[ot.DiagnosticTag.Deprecated],r.severity=ot.DiagnosticSeverity.Hint,!this.client.supportsDeprecatedDiagnosticTag))return;if(i){const e=this.getDocumentationUrlForDiagnosticRule(i);e&&(r.codeDescription={href:e})}const s=e.getRelatedInfo();s.length>0&&(r.relatedInformation=s.filter((e=>!this.fs.isInZipOrEgg(e.filePath))).map((e=>ot.DiagnosticRelatedInformation.create(ot.Location.create(Ee(this.fs,e.filePath),e.range),e.message)))),t.push(r)})),t}recordUserInteractionTime(){this._workspaceMap.forEach((e=>{e.serviceInstance.recordUserInteractionTime()}))}getDocumentationUrlForDiagnosticRule(e){return"https://github.com/microsoft/pyright/blob/main/docs/configuration.md"}expandPathVariables(e,t){return t.replace(/\$\{(.*?)\}/g,((t,n)=>{const i=n.trim();return"workspaceFolder"===i?e:"env:HOME"===i&&void 0!=={}.HOME?{}.HOME:"env:USERNAME"===i&&void 0!=={}.USERNAME?{}.USERNAME:"env:VIRTUAL_ENV"===i&&void 0!=={}.VIRTUAL_ENV?{}.VIRTUAL_ENV:t}))}}{constructor(e){const t=__webpack_require__(306).i8||"",n=__webpack_require__.g.__rootDirectory||"/",i=new Vn(e.console),r=new Sd,s=nt;super({productName:"Pyright",rootDirectory:n,version:t,workspaceMap:r,fileSystem:new rd(!1,{cwd:X("/")}),fileWatcherProvider:s,cancellationProvider:new pt,maxAnalysisTimeInForeground:Cd,supportedCodeActions:[xd.CodeActionKind.QuickFix,xd.CodeActionKind.SourceOrganizeImports]},e,i),this._controller=new bp(this)}setupConnection(e,t){super.setupConnection(e,t),this._connection.onNotification("pyright/createFile",(e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._serverOptions.fileSystem.apply({[t]:""}),this._workspaceMap.forEach((t=>{const n=t.serviceInstance.backgroundAnalysisProgram.backgroundAnalysis;null==n||n.createFile(e),t.serviceInstance.invalidateAndForceReanalysis()}))})),this._connection.onNotification("pyright/deleteFile",(e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._serverOptions.fileSystem.unlinkSync(t),this._workspaceMap.forEach((t=>{const n=t.serviceInstance.backgroundAnalysisProgram.backgroundAnalysis;null==n||n.deleteFile(e),t.serviceInstance.invalidateAndForceReanalysis()}))})),this._connection.onRequest(Sn,(e=>{var t;return this._workspaceMap.getWorkspaceForFile(this,e.path).serviceInstance.getApiDocs(e.modules,null!==(t=e.documentationFormat)&&void 0!==t?t:[xd.MarkupKind.PlainText])}))}async initialize(e,t,n){const{files:i}=e.initializationOptions;return"object"==typeof i&&(this._initialFiles=i,this._serverOptions.fileSystem.apply(i)),super.initialize(e,t,n)}async getSettings(e){const t={watchForSourceChanges:!1,watchForLibraryChanges:!1,watchForConfigChanges:!1,openFilesOnly:!0,useLibraryCodeForTypes:!1,disableLanguageServices:!1,disableOrganizeImports:!1,typeCheckingMode:"basic",diagnosticSeverityOverrides:{},logLevel:On.Info,autoImportCompletions:!0};try{const n=await this.getConfiguration(e.rootUri,"python");if(n){const i=n.pythonPath;i&&r(i)&&!gn(i)&&(t.pythonPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,i)));const s=n.venvPath;s&&r(s)&&(t.venvPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,s)))}const i=await this.getConfiguration(e.rootUri,"python.analysis");if(i){const n=i.typeshedPaths;if(n&&Array.isArray(n)&&n.length>0){const i=n[0];i&&r(i)&&(t.typeshedPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,i)))}const s=i.stubPath;s&&r(s)&&(t.stubPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,s)));const o=i.diagnosticSeverityOverrides;if(o)for(const[e,n]of Object.entries(o)){const i=this.getDiagnosticRuleName(e),r=this.getSeverityOverrides(n);i&&r&&(t.diagnosticSeverityOverrides[i]=r)}void 0!==i.diagnosticMode?t.openFilesOnly=this.isOpenFilesOnly(i.diagnosticMode):void 0!==i.openFilesOnly&&(t.openFilesOnly=!!i.openFilesOnly),void 0!==i.useLibraryCodeForTypes&&(t.useLibraryCodeForTypes=!!i.useLibraryCodeForTypes),t.logLevel=this.convertLogLevel(i.logLevel),t.autoSearchPaths=!!i.autoSearchPaths;const a=i.extraPaths;a&&Array.isArray(a)&&a.length>0&&(t.extraPaths=a.filter((e=>e&&r(e))).map((t=>ee(e.rootPath,this.expandPathVariables(e.rootPath,t))))),void 0!==i.typeCheckingMode&&(t.typeCheckingMode=i.typeCheckingMode),void 0!==i.autoImportCompletions&&(t.autoImportCompletions=i.autoImportCompletions),t.logLevel===On.Log&&void 0!==i.logTypeEvaluationTime&&(t.logTypeEvaluationTime=i.logTypeEvaluationTime),void 0!==i.typeEvaluationTimeThreshold&&(t.typeEvaluationTimeThreshold=i.typeEvaluationTimeThreshold)}else t.autoSearchPaths=!0;const s=await this.getConfiguration(e.rootUri,"pyright");if(s){void 0!==s.openFilesOnly&&(t.openFilesOnly=!!s.openFilesOnly),void 0!==s.useLibraryCodeForTypes&&(t.useLibraryCodeForTypes=!!s.useLibraryCodeForTypes),t.disableLanguageServices=!!s.disableLanguageServices,t.disableOrganizeImports=!!s.disableOrganizeImports;const e=s.typeCheckingMode;e&&r(e)&&(t.typeCheckingMode=e)}}catch(e){this.console.error(`Error reading settings: ${e}`)}return t}createBackgroundAnalysis(){const e=new Ed(this.console,this.diagnosticTextSettings);return this._initialFiles&&e.initializeFileSystem(this._initialFiles),e}createHost(){return new Ip}createImportResolver(e,t,n){return new In(e,t,n)}executeCommand(e,t){return this._controller.execute(e,t)}isLongRunningCommand(e){return this._controller.isLongRunningCommand(e)}async executeCodeAction(e,t){this.recordUserInteractionTime();const n=this._uriParser.decodeTextDocumentUri(e.textDocument.uri),i=await this.getWorkspaceForFile(n);return class{static async getCodeActionsForPosition(e,t,n,i){ct(i);const r=[];if(!e.disableLanguageServices){const s=await e.serviceInstance.getDiagnosticsForRange(t,n,i),o=s.find((e=>{const t=e.getActions();return t&&t.find((e=>"pyright.createtypestub"===e.action))}));if(o){const n=o.getActions().find((e=>"pyright.createtypestub"===e.action));if(n){const i=ot.CodeAction.create(ml.CodeAction.createTypeStubFor().format({moduleName:n.moduleName}),ot.Command.create(ml.CodeAction.createTypeStub(),"pyright.createtypestub",e.rootPath,n.moduleName,t),ot.CodeActionKind.QuickFix);r.push(i)}}const a=s.find((e=>{const t=e.getActions();return t&&t.find((e=>"pyright.addoptionalforparam"===e.action))}));if(a){const n=a.getActions().find((e=>"pyright.addoptionalforparam"===e.action));if(n){const i=e.serviceInstance.getImportResolver().fileSystem,s=ot.CodeAction.create(ml.CodeAction.addOptionalToAnnotation(),ot.Command.create(ml.CodeAction.addOptionalToAnnotation(),"pyright.addoptionalforparam",Ee(i,t),n.offsetOfTypeNode),ot.CodeActionKind.QuickFix);r.push(s)}}}return r}}.getCodeActionsForPosition(i,n,e.range,t)}createProgressReporter(){let e;return{isEnabled:e=>!0,begin:()=>{this.client.hasWindowProgressCapability?(e=this._connection.window.createWorkDoneProgress(),e.then((e=>{e.begin("")})).ignoreErrors()):this._connection.sendNotification("pyright/beginProgress")},report:t=>{e?e.then((e=>{e.report(t)})).ignoreErrors():this._connection.sendNotification("pyright/reportProgress",t)},end:()=>{e?(e.then((e=>{e.done()})).ignoreErrors(),e=void 0):this._connection.sendNotification("pyright/endProgress")}}}}class Ed extends class{constructor(e){this.console=e,this._onAnalysisCompletion=Nn}setup(e){this._worker=e,e.on("message",(e=>this.onMessage(e))),e.on("error",(e=>{this.log(On.Error,`Error occurred on background thread: ${JSON.stringify(e)}`)}))}onMessage(e){switch(e.requestType){case"log":{const t=e.data;this.log(t.level,t.message);break}case"analysisResult":this._onAnalysisCompletion(dp(e.data));break;default:E(`${e.requestType} is not expected`)}}setCompletionCallback(e){this._onAnalysisCompletion=null!=e?e:Nn}initializeFileSystem(e){this.enqueueRequest({requestType:"initializeFileSystem",data:e})}createFile(e){this.enqueueRequest({requestType:"createFile",data:e})}deleteFile(e){this.enqueueRequest({requestType:"deleteFile",data:e})}setImportResolver(e){this.enqueueRequest({requestType:"setImportResolver",data:e.host.kind})}setConfigOptions(e){this.enqueueRequest({requestType:"setConfigOptions",data:e})}setTrackedFiles(e){this.enqueueRequest({requestType:"setTrackedFiles",data:e})}setAllowedThirdPartyImports(e){this.enqueueRequest({requestType:"setAllowedThirdPartyImports",data:e})}ensurePartialStubPackages(e){this.enqueueRequest({requestType:"ensurePartialStubPackages",data:{executionRoot:e}})}setFileOpened(e,t,n,i){this.enqueueRequest({requestType:"setFileOpened",data:{filePath:e,version:t,contents:n,options:i}})}setFileClosed(e){this.enqueueRequest({requestType:"setFileClosed",data:e})}markAllFilesDirty(e,t){this.enqueueRequest({requestType:"markAllFilesDirty",data:{evenIfContentsAreSame:e,indexingNeeded:t}})}markFilesDirty(e,t,n){this.enqueueRequest({requestType:"markFilesDirty",data:{filePaths:e,evenIfContentsAreSame:t,indexingNeeded:n}})}startAnalysis(e,t){this._startOrResumeAnalysis("analyze",e,t)}_startOrResumeAnalysis(e,t,n){const{port1:i,port2:r}=En();i.on("message",(e=>{switch(e.requestType){case"analysisResult":this._onAnalysisCompletion(dp(e.data));break;case"analysisPaused":r.close(),i.close(),this._startOrResumeAnalysis("resumeAnalysis",t,n);break;case"indexResult":{const{path:n,indexResults:i}=e.data;null==t||t.setWorkspaceIndex(n,i);break}case"analysisDone":!function(e){e instanceof cp&&e.dispose()}(n),r.close(),i.close();break;default:E(`${e.requestType} is not expected`)}})),i.start(),r.start();const s=pp(n);this.enqueueRequest({requestType:e,data:s,port:r})}startIndexing(e,t,n,i,r){}refreshIndexing(e,t,n,i){}cancelIndexing(e){}async getDiagnosticsForRange(e,t,n){ct(n);const{port1:i,port2:r}=En();i.start(),r.start();const s=op(i),o=pp(n);this.enqueueRequest({requestType:"getDiagnosticsForRange",data:{filePath:e,range:t,cancellationId:o},port:r});const a=await s;return r.close(),i.close(),hp(a)}async writeTypeStub(e,t,n,i){ct(i);const{port1:r,port2:s}=En(),o=op(r),a=pp(i);this.enqueueRequest({requestType:"writeTypeStub",data:{targetImportPath:e,targetIsSingleFile:t,stubPath:n,cancellationId:a},port:s}),await o,s.close(),r.close()}invalidateAndForceReanalysis(e){this.enqueueRequest({requestType:"invalidateAndForceReanalysis",data:e})}restart(){this.enqueueRequest({requestType:"restart",data:null})}enqueueRequest(e){this._worker&&this._worker.postMessage(e,e.port?[e.port]:void 0)}log(e,t){qn(this.console,e,t)}}{constructor(e,t){super(e);const n=(i={rootDirectory:__webpack_require__.g.__rootDirectory,cancellationFolderName:void 0,runner:void 0,diagnosticTextSettings:t},wn().createWorker(i));var i;this.setup(n)}}class kd extends class extends class{constructor(e,t){var n;this.parentPort=e,n=t.cancellationFolderName,at=n,__webpack_require__.g.__rootDirectory=t.rootDirectory,this._realFs=this.createRealFileSystem(),this.fs=new rt(this._realFs)}log(e,t){var n;null===(n=this.parentPort)||void 0===n||n.postMessage({requestType:"log",data:{level:e,message:t}})}getConsole(){return{log:e=>{this.log(On.Log,e)},info:e=>{this.log(On.Info,e)},warn:e=>{this.log(On.Warn,e)},error:e=>{this.log(On.Error,e)},level:On.Log}}}{constructor(e,t,n){super(e,t),this._extension=n;const i=t;this.log(On.Info,`Background analysis(${Dn()}) root directory: ${i.rootDirectory}`),this._configOptions=new Ec(i.rootDirectory),this._host=this.createHost(),this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host);const r=this.getConsole();this._logTracker=new Bn(r,`BG(${Dn()})`),this._program=new rp(this._importResolver,this._configOptions,r,this._extension,this._logTracker)}get program(){return this._program}start(){var e,t,n,i;this.log(On.Info,`Background analysis(${Dn()}) started`),null===(e=this.parentPort)||void 0===e||e.on("message",(e=>this.onMessage(e))),null===(t=this.parentPort)||void 0===t||t.on("error",(e=>E(`failed ${e}`))),null===(n=this.parentPort)||void 0===n||n.on("exit",(e=>{0!==e&&E(`worker stopped with exit code ${e}`)})),null===(i=this.parentPort)||void 0===i||i.start()}onMessage(e){switch(this.log(On.Log,`Background analysis message: ${e.requestType}`),e.requestType){case"initializeFileSystem":this._realFs.apply(e.data);break;case"createFile":{const t=we(this.fs,e.data.uri);this._realFs.apply({[t]:""});break}case"deleteFile":{const t=we(this.fs,e.data.uri);this.fs.unlinkSync(t);break}case"analyze":{const t=e.port,n=up(e.data),i=this.program.getFilesToAnalyzeCount();this._onAnalysisCompletion(t,{diagnostics:[],filesInProgram:this.program.getFileCount(),filesRequiringAnalysis:i,checkingOnlyOpenFiles:this.program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:0}),this._analyzeOneChunk(t,n,e);break}case"resumeAnalysis":{const t=e.port,n=up(e.data);this._analyzeOneChunk(t,n,e);break}case"getDiagnosticsForRange":sp((()=>{const{filePath:t,range:n,cancellationId:i}=e.data;return ct(up(i)),this.program.getDiagnosticsForRange(t,n)}),e.port);break;case"writeTypeStub":sp((()=>{const{targetImportPath:t,targetIsSingleFile:n,stubPath:i,cancellationId:r}=e.data,s=up(r);Mn(this.program,void 0,this._configOptions,Nn,this.getConsole(),s),this.program.writeTypeStub(t,n,i,s)}),e.port);break;case"setImportResolver":this._importResolver=this.createImportResolver(this.fs,this._configOptions,this.createHost()),this.program.setImportResolver(this._importResolver);break;case"setConfigOptions":this._configOptions=function(e){const t=new Ec(e.projectRoot),n=e=>({wildcardRoot:e.wildcardRoot,regExp:new RegExp(e.regExp.source)});return t.pythonPath=e.pythonPath,t.typeshedPath=e.typeshedPath,t.stubPath=e.stubPath,t.autoExcludeVenv=e.autoExcludeVenv,t.verboseOutput=e.verboseOutput,t.checkOnlyOpenFiles=e.checkOnlyOpenFiles,t.useLibraryCodeForTypes=e.useLibraryCodeForTypes,t.internalTestMode=e.internalTestMode,t.indexGenerationMode=e.indexGenerationMode,t.venvPath=e.venvPath,t.venv=e.venv,t.defaultPythonVersion=e.defaultPythonVersion,t.defaultPythonPlatform=e.defaultPythonPlatform,t.defaultExtraPaths=e.defaultExtraPaths,t.diagnosticRuleSet=e.diagnosticRuleSet,t.executionEnvironments=e.executionEnvironments,t.autoImportCompletions=e.autoImportCompletions,t.indexing=e.indexing,t.logTypeEvaluationTime=e.logTypeEvaluationTime,t.typeEvaluationTimeThreshold=e.typeEvaluationTimeThreshold,t.include=e.include.map((e=>n(e))),t.exclude=e.exclude.map((e=>n(e))),t.ignore=e.ignore.map((e=>n(e))),t.strict=e.strict.map((e=>n(e))),t}(e.data),this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host),this.program.setConfigOptions(this._configOptions),this.program.setImportResolver(this._importResolver);break;case"setTrackedFiles":{const t=this.program.setTrackedFiles(e.data);this._reportDiagnostics(t,this.program.getFilesToAnalyzeCount(),0);break}case"setAllowedThirdPartyImports":this.program.setAllowedThirdPartyImports(e.data);break;case"ensurePartialStubPackages":{const{executionRoot:t}=e.data,n=this._configOptions.getExecutionEnvironments().find((e=>e.root===t));n&&this._importResolver.ensurePartialStubPackages(n);break}case"setFileOpened":{const{filePath:t,version:n,contents:i,options:r}=e.data;this.program.setFileOpened(t,n,i,r);break}case"setFileClosed":{const t=this.program.setFileClosed(e.data);this._reportDiagnostics(t,this.program.getFilesToAnalyzeCount(),0);break}case"markAllFilesDirty":{const{evenIfContentsAreSame:t,indexingNeeded:n}=e.data;this.program.markAllFilesDirty(t,n);break}case"markFilesDirty":{const{filePaths:t,evenIfContentsAreSame:n,indexingNeeded:i}=e.data;this.program.markFilesDirty(t,n,i);break}case"invalidateAndForceReanalysis":this._importResolver.invalidateCache(),this.program.markAllFilesDirty(!0,e.data);break;case"restart":this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host),this.program.setImportResolver(this._importResolver);break;default:E(`${e.requestType} is not expected`)}}_analyzeOneChunk(e,t,n){Mn(this.program,{openFilesTimeInMs:50,noOpenFilesTimeInMs:200},this._configOptions,(t=>this._onAnalysisCompletion(e,t)),this.getConsole(),t)?this._analysisPaused(e,n.data):(this.processIndexing(e,t),this.analysisDone(e,n.data))}processIndexing(e,t){}reportIndex(e,t){e.postMessage({requestType:"indexResult",data:t})}_reportDiagnostics(e,t,n){this.parentPort&&this._onAnalysisCompletion(this.parentPort,{diagnostics:e,filesInProgram:this.program.getFileCount(),filesRequiringAnalysis:t,checkingOnlyOpenFiles:this.program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:n})}_onAnalysisCompletion(e,t){e.postMessage({requestType:"analysisResult",data:t})}_analysisPaused(e,t){e.postMessage({requestType:"analysisPaused",data:t})}analysisDone(e,t){e.postMessage({requestType:"analysisDone",data:t})}}{constructor(e){super(kn(),e)}createRealFileSystem(){return new rd(!1,{cwd:X("/")})}createHost(){return new Ip}createImportResolver(e,t,n){return new In(e,t,n)}}class Dd{constructor(e){this._parentPort=e}threadId(){return self.name}parentPort(){return this._parentPort?new Ad(this._parentPort):null}createWorker(e){const t=new globalThis.MessageChannel;return self.postMessage({type:"browser/newWorker",initialData:e,port:t.port1},[t.port1]),t.port1.start(),t.port2.start(),new Ad(t.port2)}createMessageChannel(){const e=new globalThis.MessageChannel;return{port1:new Ad(e.port1),port2:new Ad(e.port2)}}}class Ad{constructor(e){this.delegate=e}unwrap(){return this.delegate}postMessage(e,t){t?this.delegate.postMessage(Pd(e),Pd(t)):this.delegate.postMessage(e)}on(e,t){"message"===e&&this.delegate.addEventListener(e,(e=>{const n=e.data;t(An(n,(e=>e instanceof globalThis.MessagePort?new Ad(e):e)))}))}start(){this.delegate.start()}close(){this.delegate.close()}}function Pd(e){return An(e,(e=>e instanceof Ad?e.unwrap():e))}const Rd=self;Rd.addEventListener("message",(async t=>{if("browser/boot"===t.data.type){const n=t.data,{mode:i,port:r,initialData:s}=n;try{if("foreground"===i)Cn(new Dd),Rd.app=new wd((0,e.createConnection)(new e.BrowserMessageReader(Rd),new e.BrowserMessageWriter(Rd)));else{if("background"!==i)throw new Error(`Invalid "mode" boot parameter: ${i}`);if(!s)throw new Error('Missing "initialData" background boot parameter.');if(!(r instanceof MessagePort))throw new Error(`Invalid "port" parameter: ${r}`);Cn(new Dd(r)),await dl(s.diagnosticTextSettings),Rd.app=new kd(s),Rd.app.start()}}catch(t){throw Rd.close(),t}}}))})()})(); +//# sourceMappingURL=pyright-main-fead31ca35819bebaf64.worker.js.map \ No newline at end of file diff --git a/public/workers/pyright-main-c53c357c089fab5f5c10.worker.js.LICENSE.txt b/public/workers/pyright-main-fead31ca35819bebaf64.worker.js.LICENSE.txt similarity index 100% rename from public/workers/pyright-main-c53c357c089fab5f5c10.worker.js.LICENSE.txt rename to public/workers/pyright-main-fead31ca35819bebaf64.worker.js.LICENSE.txt diff --git a/public/workers/pyright-main-fead31ca35819bebaf64.worker.js.map b/public/workers/pyright-main-fead31ca35819bebaf64.worker.js.map new file mode 100644 index 000000000..7744fdc85 --- /dev/null +++ b/public/workers/pyright-main-fead31ca35819bebaf64.worker.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["pyright/node_modules/base64-js/index.js","pyright/node_modules/buffer/index.js","pyright/node_modules/ieee754/index.js","pyright/node_modules/path-browserify/index.js","pyright-internal/src/common/extensions.ts","pyright/node_modules/vscode-jsonrpc/browser.js","pyright/node_modules/vscode-jsonrpc/lib/browser/main.js","pyright/node_modules/vscode-jsonrpc/lib/browser/ril.js","pyright/node_modules/vscode-jsonrpc/lib/common/api.js","pyright/node_modules/vscode-jsonrpc/lib/common/cancellation.js","pyright/node_modules/vscode-jsonrpc/lib/common/connection.js","pyright/node_modules/vscode-jsonrpc/lib/common/disposable.js","pyright/node_modules/vscode-jsonrpc/lib/common/events.js","pyright/node_modules/vscode-jsonrpc/lib/common/is.js","pyright/node_modules/vscode-jsonrpc/lib/common/linkedMap.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageReader.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageWriter.js","pyright/node_modules/vscode-jsonrpc/lib/common/messages.js","pyright/node_modules/vscode-jsonrpc/lib/common/ral.js","pyright/node_modules/vscode-jsonrpc/lib/common/semaphore.js","pyright/node_modules/vscode-languageserver-protocol/browser.js","pyright/node_modules/vscode-languageserver-protocol/lib/browser/main.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/api.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/connection.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/messages.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolders.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js","pyright/node_modules/vscode-languageserver-types/lib/esm/main.js","pyright/node_modules/vscode-languageserver/browser.js","pyright/node_modules/vscode-languageserver/lib/browser/main.js","pyright/node_modules/vscode-languageserver/lib/common/api.js","pyright/node_modules/vscode-languageserver/lib/common/callHierarchy.js","pyright/node_modules/vscode-languageserver/lib/common/configuration.js","pyright/node_modules/vscode-languageserver/lib/common/fileOperations.js","pyright/node_modules/vscode-languageserver/lib/common/linkedEditingRange.js","pyright/node_modules/vscode-languageserver/lib/common/moniker.js","pyright/node_modules/vscode-languageserver/lib/common/progress.js","pyright/node_modules/vscode-languageserver/lib/common/semanticTokens.js","pyright/node_modules/vscode-languageserver/lib/common/server.js","pyright/node_modules/vscode-languageserver/lib/common/showDocument.js","pyright/node_modules/vscode-languageserver/lib/common/utils/is.js","pyright/node_modules/vscode-languageserver/lib/common/utils/uuid.js","pyright/node_modules/vscode-languageserver/lib/common/workspaceFolders.js","pyright-internal/node_modules/@iarna/toml/lib/create-date.js","pyright-internal/node_modules/@iarna/toml/lib/create-datetime-float.js","pyright-internal/node_modules/@iarna/toml/lib/create-datetime.js","pyright-internal/node_modules/@iarna/toml/lib/create-time.js","pyright-internal/node_modules/@iarna/toml/lib/format-num.js","pyright-internal/node_modules/@iarna/toml/lib/parser.js","pyright-internal/node_modules/@iarna/toml/lib/toml-parser.js","pyright-internal/node_modules/@iarna/toml/parse-async.js","pyright-internal/node_modules/@iarna/toml/parse-pretty-error.js","pyright-internal/node_modules/@iarna/toml/parse-stream.js","pyright-internal/node_modules/@iarna/toml/parse-string.js","pyright-internal/node_modules/@iarna/toml/parse.js","pyright-internal/node_modules/@iarna/toml/stringify.js","pyright-internal/node_modules/@iarna/toml/toml.js","pyright-internal/node_modules/leven/index.js","pyright-internal/node_modules/vscode-jsonrpc/browser.js","pyright-internal/node_modules/vscode-jsonrpc/lib/browser/main.js","pyright-internal/node_modules/vscode-jsonrpc/lib/browser/ril.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/api.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/cancellation.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/connection.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/disposable.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/events.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/is.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/linkedMap.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageReader.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageWriter.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messages.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/ral.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/semaphore.js","pyright-internal/node_modules/vscode-languageserver-protocol/browser.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/browser/main.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/api.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/connection.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/messages.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolders.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js","pyright-internal/node_modules/vscode-languageserver-types/lib/esm/main.js","pyright-internal/node_modules/vscode-languageserver/lib/browser/main.js","pyright-internal/node_modules/vscode-languageserver/lib/common/api.js","pyright-internal/node_modules/vscode-languageserver/lib/common/callHierarchy.js","pyright-internal/node_modules/vscode-languageserver/lib/common/configuration.js","pyright-internal/node_modules/vscode-languageserver/lib/common/fileOperations.js","pyright-internal/node_modules/vscode-languageserver/lib/common/linkedEditingRange.js","pyright-internal/node_modules/vscode-languageserver/lib/common/moniker.js","pyright-internal/node_modules/vscode-languageserver/lib/common/progress.js","pyright-internal/node_modules/vscode-languageserver/lib/common/semanticTokens.js","pyright-internal/node_modules/vscode-languageserver/lib/common/server.js","pyright-internal/node_modules/vscode-languageserver/lib/common/showDocument.js","pyright-internal/node_modules/vscode-languageserver/lib/common/utils/is.js","pyright-internal/node_modules/vscode-languageserver/lib/common/utils/uuid.js","pyright-internal/node_modules/vscode-languageserver/lib/common/workspaceFolders.js","webpack/bootstrap","webpack/runtime/create fake namespace object","webpack/runtime/compat get default export","webpack/runtime/define property getters","webpack/runtime/ensure chunk","webpack/runtime/get javascript chunk filename","webpack/runtime/global","webpack/runtime/hasOwnProperty shorthand","webpack/runtime/make namespace object","webpack/runtime/publicPath","webpack/runtime/importScripts chunk loading","pyright-internal/src/common/core.ts","pyright-internal/src/common/collectionUtils.ts","pyright-internal/src/common/pathConsts.ts","pyright-internal/node_modules/vscode-uri/lib/esm/index.js","pyright-internal/src/common/debug.ts","pyright-internal/src/common/crypto.ts","pyright-internal/src/common/stringUtils.ts","pyright-internal/src/common/pathUtils.ts","pyright-internal/src/common/pythonVersion.ts","pyright-internal/src/parser/characters.ts","pyright-internal/src/parser/unicode.ts","pyright-internal/src/analyzer/pyTypedUtils.ts","pyright-internal/src/common/fileSystem.ts","pyright-internal/src/pyrightFileSystem.ts","pyright-internal/src/readonlyAugmentedFileSystem.ts","pyright-internal/src/common/cancellationUtils.ts","pyright-internal/src/common/textRange.ts","pyright-internal/src/analyzer/codeFlowTypes.ts","pyright-internal/src/common/positionUtils.ts","pyright-internal/src/analyzer/analyzerNodeInfo.ts","pyright-internal/src/analyzer/symbolNameUtils.ts","pyright-internal/src/analyzer/importStatementUtils.ts","pyright-internal/src/analyzer/parentDirectoryCache.ts","pyright-internal/src/analyzer/pythonPathUtils.ts","pyright-internal/src/analyzer/importResolver.ts","pyright-internal/src/apidocsProtocol.ts","pyright-internal/src/common/workersHost.ts","pyright-internal/src/common/timing.ts","pyright-internal/src/analyzer/analysis.ts","pyright-internal/src/common/console.ts","pyright-internal/src/common/logTracker.ts","pyright-internal/src/analyzer/declaration.ts","pyright-internal/src/parser/parseNodes.ts","pyright-internal/src/analyzer/parseTreeWalker.ts","pyright-internal/src/analyzer/parseTreeUtils.ts","pyright-internal/src/analyzer/declarationUtils.ts","pyright-internal/src/analyzer/docStringUtils.ts","pyright-internal/src/analyzer/docStringConversion.ts","pyright-internal/src/analyzer/scopeUtils.ts","pyright-internal/src/analyzer/types.ts","pyright-internal/src/analyzer/symbol.ts","pyright-internal/src/analyzer/symbolUtils.ts","pyright-internal/src/analyzer/typeVarMap.ts","pyright-internal/src/analyzer/typeUtils.ts","pyright-internal/src/common/diagnosticRules.ts","pyright-internal/src/analyzer/sourceMapper.ts","pyright-internal/src/common/diagnostic.ts","pyright-internal/src/localization/localize.ts","pyright-internal/src/analyzer/typedDicts.ts","pyright-internal/src/analyzer/typeDocStringUtils.ts","pyright-internal/src/analyzer/typePrinter.ts","pyright-internal/src/languageService/documentSymbolCollector.ts","pyright-internal/src/languageService/tooltipUtils.ts","pyright-internal/src/languageService/completionProvider.ts","pyright-internal/src/languageService/autoImporter.ts","pyright-internal/src/languageService/callHierarchyProvider.ts","pyright-internal/src/languageService/referencesProvider.ts","pyright-internal/src/languageService/renameModuleProvider.ts","pyright-internal/node_modules/vscode-languageserver-textdocument/lib/esm/main.js","pyright-internal/src/common/configOptions.ts","pyright-internal/src/languageService/definitionProvider.ts","pyright-internal/src/parser/tokenizerTypes.ts","pyright-internal/src/analyzer/circularDependency.ts","pyright-internal/src/common/diagnosticSink.ts","pyright-internal/src/common/textRangeCollection.ts","pyright-internal/src/analyzer/aliasDeclarationUtils.ts","pyright-internal/src/languageService/documentSymbolProvider.ts","pyright-internal/src/languageService/importSorter.ts","pyright-internal/src/parser/stringTokenUtils.ts","pyright-internal/src/parser/characterStream.ts","pyright-internal/src/parser/tokenizer.ts","pyright-internal/src/parser/parser.ts","pyright-internal/src/analyzer/scope.ts","pyright-internal/src/analyzer/staticExpressions.ts","pyright-internal/src/analyzer/binder.ts","pyright-internal/src/analyzer/typeGuards.ts","pyright-internal/src/analyzer/patternMatching.ts","pyright-internal/src/analyzer/checker.ts","pyright-internal/src/analyzer/commentUtils.ts","pyright-internal/src/analyzer/parseTreeCleaner.ts","pyright-internal/src/analyzer/testWalker.ts","pyright-internal/src/analyzer/sourceFile.ts","pyright-internal/src/languageService/hoverProvider.ts","pyright-internal/src/languageService/documentHighlightProvider.ts","pyright-internal/src/languageService/signatureHelpProvider.ts","pyright-internal/src/languageService/quickActions.ts","pyright-internal/src/analyzer/tracePrinter.ts","pyright-internal/src/analyzer/typeCache.ts","pyright-internal/src/analyzer/namedTuples.ts","pyright-internal/src/analyzer/dataClasses.ts","pyright-internal/src/analyzer/functionTransform.ts","pyright-internal/src/analyzer/properties.ts","pyright-internal/src/analyzer/typeEvaluator.ts","pyright-internal/src/analyzer/constructorTransform.ts","pyright-internal/src/analyzer/codeFlowEngine.ts","pyright-internal/src/analyzer/typeStubWriter.ts","pyright-internal/src/analyzer/program.ts","pyright-internal/src/analyzer/typeEvaluatorWithTracker.ts","pyright-internal/src/backgroundThreadBase.ts","pyright-internal/src/common/fileBasedCancellationUtils.ts","pyright-internal/src/backgroundAnalysisBase.ts","pyright-internal/src/common/commandLineOptions.ts","pyright-internal/src/common/deferred.ts","pyright-internal/src/languageService/analyzerServiceExecutor.ts","pyright-internal/src/commands/createTypeStub.ts","pyright-internal/src/commands/quickActionCommand.ts","pyright-internal/src/common/textEditUtils.ts","pyright-internal/src/commands/restartServer.ts","pyright-internal/src/commands/commandController.ts","pyright-internal/src/common/host.ts","pyright-internal/src/analyzer/backgroundAnalysisProgram.ts","pyright-internal/node_modules/jsonc-parser/lib/esm/impl/parser.js","pyright-internal/node_modules/jsonc-parser/lib/esm/impl/scanner.js","pyright-internal/src/analyzer/service.ts","pyright-internal/src/commands/commandResult.ts","pyright-internal/src/common/progressReporter.ts","pyright-internal/src/common/uriParser.ts","pyright-internal/src/languageServerBase.ts","pyright-internal/src/tests/harness/utils.ts","pyright-internal/src/tests/harness/vfs/pathValidation.ts","pyright-internal/src/tests/harness/vfs/filesystem.ts","pyright-internal/src/workspaceMap.ts","pyright/src/browser-server.ts","pyright-internal/src/common/workspaceEditUtils.ts","pyright-internal/src/languageService/codeActionProvider.ts","pyright/src/browserWorkersHost.ts","pyright/src/worker.ts"],"names":["exports","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","i","arr","Arr","_byteLength","curByte","len","revLookup","charCodeAt","fromByteArray","uint8","length","extraBytes","parts","maxChunkLength","len2","push","encodeChunk","lookup","join","Uint8Array","Array","code","Error","indexOf","start","end","num","output","base64","ieee754","customInspectSymbol","Symbol","Buffer","SlowBuffer","alloc","INSPECT_MAX_BYTES","K_MAX_LENGTH","createBuffer","RangeError","buf","Object","setPrototypeOf","prototype","arg","encodingOrOffset","TypeError","allocUnsafe","from","value","string","encoding","isEncoding","actual","write","slice","fromString","ArrayBuffer","isView","arrayView","isInstance","copy","fromArrayBuffer","buffer","byteOffset","fromArrayLike","fromArrayView","SharedArrayBuffer","valueOf","b","obj","isBuffer","checked","undefined","numberIsNaN","type","isArray","data","fromObject","toPrimitive","assertSize","size","array","toString","mustMatch","arguments","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","this","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","m","bidirectionalIndexOf","val","dir","arrayIndexOf","call","lastIndexOf","indexSize","arrLength","valLength","String","read","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","asciiToBytes","base64Write","ucs2Write","units","c","hi","lo","utf16leToBytes","Math","min","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","apply","decodeCodePointsArray","kMaxLength","TYPED_ARRAY_SUPPORT","proto","foo","e","typedArraySupport","console","error","defineProperty","enumerable","get","poolSize","fill","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","set","swap16","swap32","swap64","toLocaleString","equals","inspect","max","replace","trim","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","ret","out","hexSliceLookupTable","bytes","checkOffset","ext","checkInt","wrtBigUInt64LE","checkIntBI","BigInt","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","first","last","boundsError","readBigUInt64BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","errors","E","sym","getMessage","Base","constructor","super","writable","configurable","name","stack","message","addNumericalSeparator","range","ERR_OUT_OF_RANGE","checkBounds","ERR_INVALID_ARG_TYPE","floor","ERR_BUFFER_OUT_OF_BOUNDS","input","msg","received","isInteger","abs","INVALID_BASE64_RE","Infinity","leadSurrogate","split","base64clean","src","dst","alphabet","table","i16","fn","BufferBigIntNotDefined","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","s","NaN","rt","isNaN","log","LN2","assertPath","path","JSON","stringify","normalizeStringPosix","allowAboveRoot","lastSegmentLength","lastSlash","dots","lastSlashIndex","posix","resolve","cwd","resolvedPath","resolvedAbsolute","normalize","isAbsolute","trailingSeparator","joined","relative","to","fromStart","fromEnd","fromLen","toStart","toLen","lastCommonSep","fromCode","_makeLong","dirname","hasRoot","matchedSlash","basename","extIdx","firstNonSlashEnd","extname","startDot","startPart","preDotState","format","pathObject","sep","root","base","_format","parse","delimiter","win32","module","Promise","ignoreErrors","catch","__createBinding","create","o","k","k2","__exportStar","p","hasOwnProperty","createMessageConnection","BrowserMessageWriter","BrowserMessageReader","default","install","api_1","AbstractMessageReader","context","_onData","Emitter","_messageListener","event","fire","addEventListener","fireError","onmessage","listen","callback","AbstractMessageWriter","errorCount","postMessage","handleError","reject","reader","writer","logger","options","NullLogger","ConnectionStrategy","is","connectionStrategy","ral_1","disposable_1","events_1","messageBuffer_1","MessageBuffer","AbstractMessageBuffer","asciiDecoder","TextDecoder","emptyBuffer","_encoding","TextEncoder","encode","decode","asNative","allocNative","ReadableStreamWrapper","socket","arrayBuffer","then","onClose","listener","Disposable","removeEventListener","onError","onEnd","onData","WritableStreamWrapper","send","close","_textEncoder","_ril","freeze","messageBuffer","applicationJson","encoder","charset","decoder","stream","asReadableStream","asWritableStream","timer","setTimeout","ms","args","clearTimeout","handle","setImmediate","clearImmediate","RIL","CancellationSenderStrategy","CancellationReceiverStrategy","ConnectionError","ConnectionErrors","LogTraceNotification","SetTraceNotification","TraceFormat","Trace","ProgressType","ConnectionOptions","WriteableStreamMessageWriter","MessageWriter","ReadableStreamMessageReader","MessageReader","CancellationToken","CancellationTokenSource","Event","ParameterStructures","NotificationType9","NotificationType8","NotificationType7","NotificationType6","NotificationType5","NotificationType4","NotificationType3","NotificationType2","NotificationType1","NotificationType0","NotificationType","ErrorCodes","ResponseError","RequestType9","RequestType8","RequestType7","RequestType6","RequestType5","RequestType4","RequestType3","RequestType2","RequestType1","RequestType0","RequestType","RAL","CancellationStrategy","messages_1","cancellation_1","messageReader_1","messageWriter_1","connection_1","Is","None","isCancellationRequested","onCancellationRequested","Cancelled","candidate","boolean","shortcutEvent","bind","dispose","MutableToken","_isCancelled","cancel","_emitter","_token","linkedMap_1","CancelNotification","ProgressNotification","StarRequestHandler","ConnectionState","func","warn","info","Off","Messages","Verbose","Text","cancelUndispatched","Message","createCancellationTokenSource","_","sendCancellation","conn","id","sendNotification","cleanup","receiver","sender","cancellationStrategy","messageReader","messageWriter","_logger","sequenceNumber","notificationSquenceNumber","unknownResponseSquenceNumber","version","starRequestHandler","requestHandlers","starNotificationHandler","notificationHandlers","progressHandlers","Map","tracer","messageQueue","LinkedMap","responsePromises","requestTokens","trace","traceFormat","state","New","errorEmitter","closeEmitter","unhandledNotificationEmitter","unhandledProgressEmitter","disposeEmitter","createRequestQueueKey","_message","isListening","Listening","isClosed","Closed","isDisposed","Disposed","closeHandler","triggerMessageQueue","shift","isRequestMessage","requestMessage","reply","resultOrError","method","startTime","jsonrpc","toJson","result","traceSendingResponse","replyError","params","logLSPMessage","traceReceivedRequest","element","requestHandler","handler","Date","now","tokenKey","cancellationSource","handlerResult","numberOfParams","InvalidParams","token","parameterStructures","byName","byPosition","promise","InternalError","replySuccess","MethodNotFound","handleRequest","isNotificationMessage","notificationHandler","source","traceReceivedNotification","handleNotification","isResponseMessage","responseMessage","key","responsePromise","timerStart","traceReceivedResponse","handleResponse","number","responseHandler","handleInvalidMessage","processMessageQueue","toCancel","strategy","response","delete","queue","addMessageToQueue","lspMessage","isLSPMessage","timestamp","throwIfClosedOrDisposed","undefinedToNull","param","nullToUndefined","isNamedParam","computeSingleParam","auto","computeMessageParams","connection","messageParams","paramStart","paramEnd","map","notificationMessage","traceSendingNotification","onNotification","onProgress","_type","has","sendProgress","onUnhandledProgress","sendRequest","throwIfNotListening","disposable","r","traceSendingRequest","MessageWriteError","onRequest","_value","_tracer","sendNotificationOrTraceOptions","_sendNotification","_traceFormat","onUnhandledNotification","onDispose","keys","forEach","AlreadyListening","throwIfListening","verbose","_disposable","CallbackList","add","bucket","_callbacks","_contexts","remove","foundCallbackWithDifferentContext","splice","invoke","callbacks","contexts","isEmpty","_options","_event","thisArgs","disposables","onFirstListenerAdd","_noop","onLastListenerRemove","stringArray","every","elem","Touch","LRUCache","First","AsOld","Last","AsNew","toStringTag","_map","_head","_tail","_size","_state","clear","_a","touch","item","next","previous","addItemLast","addItemFirst","removeItem","callbackfn","thisArg","current","iterator","done","values","entries","trimOld","newSize","currentSize","fromJSON","ratio","_limit","_ratio","checkTrim","peek","round","_chunks","_totalLength","append","chunk","toAppend","tryReadHeaders","chunkIndex","chunkBytesRead","row","_read","headers","header","index","tryReadBody","byteCount","resultOffset","chunkPart","ResolvedMessageReaderOptions","onPartialMessage","partialMessageEmitter","asError","fireClose","firePartialMessage","fromOptions","contentDecoder","contentDecoders","contentTypeDecoder","contentTypeDecoders","readable","_partialMessageTimeout","nextMessageLength","messageToken","timeout","partialMessageTimer","contentLength","body","setPartialMessageTimer","clearPartialMessageTimer","waitingTime","semaphore_1","ResolvedMessageWriterOptions","count","_b","contentTypeEncoder","contentEncoder","writeSemaphore","Semaphore","lock","async","doWrite","AbstractMessageSignature","ParseError","InvalidRequest","jsonrpcReservedErrorRangeStart","serverErrorStart","MessageReadError","ServerNotInitialized","UnknownErrorCode","jsonrpcReservedErrorRangeEnd","serverErrorEnd","kind","_parameterStructures","_ral","ral","capacity","_capacity","_active","_waiting","thunk","runNext","doRunNext","err","createProtocolConnection","browser_1","LSPErrorCodes","lspReservedErrorRangeStart","ContentModified","RequestCancelled","lspReservedErrorRangeEnd","vscode_jsonrpc_1","ProtocolNotificationType","ProtocolNotificationType0","ProtocolRequestType","ProtocolRequestType0","RegistrationType","CallHierarchyOutgoingCallsRequest","CallHierarchyIncomingCallsRequest","CallHierarchyPrepareRequest","ColorPresentationRequest","DocumentColorRequest","ConfigurationRequest","DeclarationRequest","WillDeleteFilesRequest","DidDeleteFilesNotification","DidRenameFilesNotification","WillRenameFilesRequest","DidCreateFilesNotification","WillCreateFilesRequest","FileOperationPatternKind","file","folder","FoldingRangeRequest","FoldingRangeKind","ImplementationRequest","DocumentLinkRequest","CodeLensRefreshRequest","CodeLensResolveRequest","CodeLensRequest","WorkspaceSymbolRequest","CodeActionResolveRequest","CodeActionRequest","DocumentSymbolRequest","DocumentHighlightRequest","ReferencesRequest","DefinitionRequest","SignatureHelpRequest","SignatureHelpTriggerKind","HoverRequest","CompletionResolveRequest","CompletionRequest","CompletionTriggerKind","PublishDiagnosticsNotification","WatchKind","FileChangeType","DidChangeWatchedFilesNotification","WillSaveTextDocumentWaitUntilRequest","WillSaveTextDocumentNotification","TextDocumentSaveReason","DidSaveTextDocumentNotification","DidCloseTextDocumentNotification","DidChangeTextDocumentNotification","TextDocumentContentChangeEvent","DidOpenTextDocumentNotification","TextDocumentSyncKind","TelemetryEventNotification","LogMessageNotification","ShowMessageRequest","ShowMessageNotification","MessageType","DidChangeConfigurationNotification","ExitNotification","ShutdownRequest","InitializedNotification","InitializeError","InitializeRequest","WorkDoneProgressOptions","TextDocumentRegistrationOptions","StaticRegistrationOptions","FailureHandlingKind","ResourceOperationKind","UnregistrationRequest","RegistrationRequest","DocumentSelector","DocumentFilter","MonikerRequest","MonikerKind","UniquenessLevel","LinkedEditingRangeRequest","ShowDocumentRequest","SemanticTokensRegistrationType","SemanticTokensRefreshRequest","SemanticTokensRangeRequest","SemanticTokensDeltaRequest","SemanticTokensRequest","TokenFormat","SemanticTokens","SemanticTokenModifiers","SemanticTokenTypes","WorkDoneProgressCancelNotification","WorkDoneProgressCreateRequest","WorkDoneProgress","SelectionRangeRequest","DidChangeWorkspaceFoldersNotification","WorkspaceFoldersRequest","TypeDefinitionRequest","ApplyWorkspaceEditRequest","ExecuteCommandRequest","PrepareRenameRequest","RenameRequest","PrepareSupportDefaultBehavior","DocumentOnTypeFormattingRequest","DocumentRangeFormattingRequest","DocumentFormattingRequest","DocumentLinkResolveRequest","protocol_implementation_1","protocol_typeDefinition_1","protocol_workspaceFolders_1","protocol_configuration_1","protocol_colorProvider_1","protocol_foldingRange_1","protocol_declaration_1","protocol_selectionRange_1","protocol_progress_1","protocol_callHierarchy_1","protocol_semanticTokens_1","protocol_showDocument_1","protocol_linkedEditingRange_1","protocol_fileOperations_1","protocol_moniker_1","language","scheme","pattern","Create","Rename","Delete","Abort","Transactional","TextOnlyTransactional","Undo","hasId","documentSelector","objectLiteral","workDoneProgress","hasWorkDoneProgress","unknownProtocolVersion","Warning","Info","Log","Full","Incremental","isIncremental","text","rangeLength","isFull","Manual","AfterDelay","FocusOut","Created","Changed","Deleted","Change","Invoked","TriggerCharacter","TriggerForIncompleteCompletions","ContentChange","Identifier","resultId","Relative","typedArray","check","integer","uinteger","Position","Range","Location","LocationLink","Color","ColorInformation","ColorPresentation","FoldingRange","DiagnosticRelatedInformation","DiagnosticSeverity","DiagnosticTag","CodeDescription","Diagnostic","Command","TextEdit","ChangeAnnotation","ChangeAnnotationIdentifier","AnnotatedTextEdit","TextDocumentEdit","CreateFile","RenameFile","DeleteFile","WorkspaceEdit","MIN_VALUE","MAX_VALUE","line","character","one","two","three","four","uri","defined","targetUri","targetRange","targetSelectionRange","originSelectionRange","red","green","blue","alpha","numberRange","color","label","textEdit","additionalTextEdits","startLine","endLine","startCharacter","endCharacter","location","Information","Hint","Unnecessary","Deprecated","href","severity","relatedInformation","codeDescription","title","command","_i","newText","insert","position","del","needsConfirmation","description","annotation","annotationId","textDocument","edits","OptionalVersionedTextDocumentIdentifier","overwrite","ignoreIfExists","oldUri","newUri","recursive","ignoreIfNotExists","changes","documentChanges","change","TextDocumentIdentifier","VersionedTextDocumentIdentifier","TextDocumentItem","MarkupKind","MarkupContent","CompletionItemKind","InsertTextFormat","CompletionItemTag","InsertReplaceEdit","InsertTextMode","CompletionItem","CompletionList","MarkedString","Hover","ParameterInformation","SignatureInformation","DocumentHighlightKind","DocumentHighlight","SymbolKind","SymbolTag","SymbolInformation","DocumentSymbol","CodeActionKind","CodeActionContext","CodeAction","CodeLens","FormattingOptions","DocumentLink","SelectionRange","TextEditChangeImpl","changeAnnotations","edit","assertChangeAnnotations","manage","all","ChangeAnnotations","annotations","_annotations","_counter","idOrAnnotation","nextId","WorkspaceChange","workspaceEdit","_this","_textEditChanges","_workspaceEdit","_changeAnnotations","textEditChange","initDocumentChanges","getTextEditChange","textDocumentEdit","initChanges","createFile","optionsOrAnnotation","operation","renameFile","deleteFile","languageId","PlainText","Markdown","Method","Function","Constructor","Field","Variable","Class","Interface","Module","Property","Unit","Value","Enum","Keyword","Snippet","File","Reference","Folder","EnumMember","Constant","Struct","Operator","TypeParameter","asIs","adjustIndentation","items","isIncomplete","fromPlainText","plainText","contents","documentation","parameters","Read","Write","Namespace","Package","Boolean","Key","Null","containerName","detail","selectionRange","children","deprecated","tags","Empty","QuickFix","Refactor","RefactorExtract","RefactorInline","RefactorRewrite","Source","SourceOrganizeImports","SourceFixAll","diagnostics","only","kindOrCommandOrEdit","checkKind","isPreferred","tabSize","insertSpaces","parent","TextDocument","EOL","mergeSort","left","right","leftIdx","rightIdx","content","FullTextDocument","lineCount","getText","positionAt","offsetAt","applyEdits","document","sortedEdits","diff","lastModifiedOffset","startOffset","endOffset","substring","_uri","_languageId","_version","_content","_lineOffsets","update","getLineOffsets","lineOffsets","isLineStart","ch","charAt","low","high","mid","lineOffset","nextLineOffset","createConnection","_shutdownReceived","watchDog","initialize","_params","exit","_code","arg1","arg2","arg3","arg4","factories","__brand","ProposedFeatures","SemanticTokensBuilder","semanticTokens_1","CallHierarchyFeature","vscode_languageserver_protocol_1","onPrepare","attachWorkDoneProgress","onIncomingCalls","attachPartialResultProgress","onOutgoingCalls","ConfigurationFeature","getConfiguration","_getConfiguration","section","FileOperationsFeature","onDidCreateFiles","onDidRenameFiles","onDidDeleteFiles","onWillCreateFiles","onWillRenameFiles","onWillDeleteFiles","LinkedEditingRangeFeature","onLinkedEditingRange","MonikerFeature","on","attachPartialResult","ProgressFeature","attachWorkDone","uuid_1","WorkDoneProgressReporterImpl","_connection","Instances","begin","percentage","cancellable","report","arg0","WorkDoneProgressServerReporterImpl","_source","NullProgressReporter","NullProgressServerReporter","ResultProgress","workDoneToken","_progressSupported","capabilities","window","progress","createWorkDoneProgress","generateUuid","ResultProgressReporterImpl","partialResultToken","SemanticTokensFeature","onDelta","onRange","_prevData","_id","_prevLine","_prevChar","_data","_dataLen","char","tokenType","tokenModifiers","pushLine","pushChar","previousResult","build","canBuildEdits","buildEdits","prevDataLength","dataLength","startIndex","endIndex","newData","deleteCount","combineFeatures","combineLanguagesFeatures","combineWorkspaceFeatures","combineWindowFeatures","combineClientFeatures","combineTracerFeatures","combineTelemetryFeatures","combineConsoleFeatures","_LanguagesImpl","BulkUnregistration","BulkRegistration","ErrorMessageTracker","TextDocuments","UUID","progress_1","configuration_1","workspaceFolders_1","callHierarchy_1","showDocument_1","fileOperations_1","linkedEditingRange_1","moniker_1","null2Undefined","configuration","_documents","_configuration","_onDidChangeContent","_onDidOpen","_onDidClose","_onDidSave","_onWillSave","onWillSaveWaitUntil","_willSaveWaitUntil","__textDocumentSync","onDidOpenTextDocument","td","toFire","onDidChangeTextDocument","contentChanges","onDidCloseTextDocument","onWillSaveTextDocument","reason","onWillSaveTextDocumentWaitUntil","onDidSaveTextDocument","_messages","sendErrors","showErrorMessage","RemoteConsoleImpl","rawAttach","_rawConnection","attach","fillServerCapabilities","_capabilities","RemoteWindowImpl","ShowDocumentFeature","actions","showWarningMessage","showInformationMessage","BulkRegistrationImpl","_registrations","_registered","Set","registerOptions","asRegistrationParams","registrations","BulkUnregistrationImpl","unregistrations","_unregistrations","unregistration","unregisterations","_error","disposeSingle","RemoteClientImpl","register","typeOrRegistrations","registerOptionsOrType","registerMany","registerSingle1","registerSingle2","isAttached","_result","unregisterSingle","registration","RemoteWorkspaceImpl","WorkspaceFoldersFeature","applyEdit","paramOrEdit","TracerImpl","_trace","TelemetryImpl","logEvent","LanguagesImpl","combine","telemetry","client","workspace","connectionFactory","remoteWindow","languages","allRemotes","asPromise","thenable","resolved","shutdownHandler","initializeHandler","exitHandler","protocolConnection","onInitialize","onInitialized","onShutdown","onExit","onDidChangeConfiguration","onDidChangeWatchedFiles","sendDiagnostics","onHover","onCompletion","onCompletionResolve","onSignatureHelp","onDeclaration","onDefinition","onTypeDefinition","onImplementation","onReferences","onDocumentHighlight","onDocumentSymbol","onWorkspaceSymbol","onCodeAction","onCodeActionResolve","onCodeLens","onCodeLensResolve","onDocumentFormatting","onDocumentRangeFormatting","onDocumentOnTypeFormatting","onRenameRequest","onPrepareRename","onDocumentLinks","onDocumentLinkResolve","onDocumentColor","onColorPresentation","onFoldingRanges","onSelectionRanges","onExecuteCommand","remote","textDocumentSync","shutdownReceived","showDocument","isUUID","v4","empty","ValueUUID","asHex","other","V4UUID","_randomHex","_oneOf","_timeHighBits","random","_chars","_UUIDPattern","test","workspaceCapabilities","workspaceFolders","_onDidChangeWorkspaceFolders","getWorkspaceFolders","_unregistration","f","DateTime","g","isDate","toISOString","getUTCFullYear","getUTCMonth","getUTCDate","date","FloatingDateTime","isFloating","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","Time","isTime","ParserEND","ParserError","filename","linenumber","captureStackTrace","State","parser","returned","resultTable","resultArr","Parser","col","ctx","_buf","ii","parseStart","getNext","nextChar","runOne","codePointAt","haveBuffer","finish","goto","returnWith","callNow","return","pop","returnNow","consume","END","makeParserClass","TomlError","fromTOML","wrapped","wrap","terr","createDateTime","createDateTimeFloat","createDate","createTime","CTRL_I","CTRL_J","CTRL_M","CTRL_CHAR_BOUNDARY","CHAR_SP","CHAR_QUOT","CHAR_NUM","CHAR_APOS","CHAR_PLUS","CHAR_COMMA","CHAR_HYPHEN","CHAR_PERIOD","CHAR_0","CHAR_1","CHAR_7","CHAR_9","CHAR_COLON","CHAR_EQUALS","CHAR_A","CHAR_E","CHAR_F","CHAR_T","CHAR_U","CHAR_Z","CHAR_LOWBAR","CHAR_a","CHAR_b","CHAR_e","CHAR_f","CHAR_i","CHAR_l","CHAR_n","CHAR_o","CHAR_r","CHAR_s","CHAR_t","CHAR_u","CHAR_x","CHAR_z","CHAR_LCUB","CHAR_RCUB","CHAR_LSQB","CHAR_BSOL","CHAR_RSQB","CHAR_DEL","SURROGATE_FIRST","SURROGATE_LAST","escapes","isDigit","cp","isHexit","isBit","isOctit","isAlphaNumQuoteHyphen","isAlphaNumHyphen","_declared","descriptor","hasKey","INLINE_TABLE","InlineTable","defineProperties","isInlineTable","TABLE","Table","isTable","_contentType","INLINE_LIST","InlineList","isInlineList","LIST","List","isList","_custom","utilInspect","eval","custom","_inspect","BoxedBigInt","asIntN","INTEGER","Integer","isSafeInteger","FLOAT","Float","isFloat","tomlType","atEndOfWord","atEndOfLine","parseTableOrList","parseComment","parseAssignStatement","parseWhitespaceToEOL","parseAssign","recordAssignStatement","kv","finalKey","kw","parseKeyword","recordAssignKeyword","parseAssignKeywordPreDot","parseAssignKeywordPostDot","parseAssignEqual","parseAssignPreValue","parseValue","recordAssignValue","parseTable","parseList","parseTableNext","parseTableMore","keyword","parseListNext","parseListMore","parseListEnd","parseDoubleString","parseSingleString","parseNumberSign","parseInf","parseNan","parseNumberOrDateTime","parseBoolean","parseInlineList","recordValue","parseInlineTable","parseInf2","parseNan2","parseBasicString","parseLiteralString","parseBareKey","parseLiteralMultiStringMaybe","errorControlCharInString","parseLiteralMultiString","parseLiteralMultiStringContent","parseLiteralMultiEnd","parseLiteralMultiEnd2","parseMultiStringMaybe","parseEscape","recordEscapeReplacement","replacement","parseMultiString","parseMultiStringContent","parseMultiEscape","recordMultiEscapeReplacement","parseMultiEnd","displayCode","parseMultiEnd2","parseMultiTrim","parsePreMultiTrim","parseSmallUnicode","parseUnicodeReturn","parseLargeUnicode","fromCodePoint","parseMaybeSignedInfOrNan","parseNoUnder","parseNumberIntegerStart","parseNumberIntegerExponentOrDecimal","parseNumberInteger","parseNumberFloat","parseNumberExponentSign","parseNoUnderHexOctBinLiteral","parseNumberExponent","parseNumberBaseOrDateTime","parseNumberOrDateTimeOnly","parseDateTime","parseOnlyTimeHour","parseDateTimeOnly","parseIntegerBin","parseIntegerOct","parseIntegerHex","parseDateMonth","parseDateDay","parseStartTimeHour","parseTimeHour","parseTimeMin","parseTimeSec","parseTimeZoneOrFraction","parseOnlyTimeMin","parseOnlyTimeSec","parseOnlyTimeFractionMaybe","parseOnlyTimeFraction","parseDateTimeFraction","parseTimeZoneHour","parseTimeZoneSep","parseTimeZoneMin","parseTrue_r","parseFalse_a","parseTrue_u","parseTrue_e","parseFalse_l","parseFalse_s","parseFalse_e","recordInlineListValue","listType","valueType","parseInlineListNext","recordInlineTableValue","parseInlineTableNext","opts","blocksize","TOMLParser","parseAsyncNext","prettyError","lines","lineNumWidth","linePadding","lineNum","hh","stm","setEncoding","ended","errored","once","readNext","parseReadable","Transform","objectMode","transform","cb","emit","flush","parseTransform","typeError","getInlineKeys","filter","isInline","nobj","prop","stringifyObject","prefix","indent","inlineKeys","complexKeys","getComplexKeys","inlineIndent","stringifyKey","stringifyAnyInline","complexIndent","validateArray","firstValueType","fullKey","stringifyArrayOfTables","stringifyComplexTable","stringifyComplex","keyStr","stringifyBasicString","escapeString","numpad","multilineOk","stringifyInline","escaped","stringifyMultilineString","stringifyInteger","chunks","int","dec","stringifyFloat","stringifyBoolean","stringifyDatetime","stringified","stringifyInlineArray","stringifyInlineTable","contentType","isNumber","arrayType","charCodeCache","leven","leftLength","rightLength","bCharCode","temp","temp2","__webpack_module_cache__","leafPrototypes","getProto","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","getPrototypeOf","t","mode","ns","def","getOwnPropertyNames","definition","chunkId","reduce","promises","u","globalThis","scriptUrl","importScripts","currentScript","scripts","getElementsByTagName","installedChunks","chunkLoadingGlobal","self","parentChunkLoadingFunction","chunkIds","moreModules","runtime","identity","equateValues","compareComparableValues","isString","isDebugMode","argv","isDefined","toOffset","addRange","insertAt","unshift","some","predicate","binarySearch","keySelector","keyComparer","middle","binarySearchKey","getOrAdd","newValueFactory","newValue","removeArrayElements","keyGetter","typeshedFallback","lib","libAlternate","lib64","sitePackages","stubsSuffix","LIB","h","l","URI","Utils","P","platform","navigator","userAgent","__proto__","authority","query","fragment","isUri","fsPath","with","A","exec","O","w","revive","_formatted","external","_fsPath","_sep","v","$mid","encodeURIComponent","C","decodeURIComponent","match","U","I","joinPath","resolvePath","assert","expression","verboseDebugInfo","stackCrawlMark","fail","assertNever","member","getSerializableError","nodeCrypto","randomBytes","randomBytesHex","crypto","getRandomValues","padStart","isPatternInSymbol","typedValue","symbolName","typedLower","toLocaleLowerCase","symbolLower","typedLength","symbolLength","typedPos","symbolPos","hashString","hash","compareStringsCaseInsensitive","toUpperCase","compareStringsCaseSensitive","getStringComparer","ignoreCase","equateStringsCaseInsensitive","equateStringsCaseSensitive","getCharacterCount","_fsCaseSensitivity","FileSpec","forEachAncestorDirectory","directory","parentPath","getDirectoryPath","pathString","getRootLength","p1","p2","getPathComponents","normalizedPath","normalizeSlashes","rootLength","rest","reducePathComponents","components","reduced","component","combinePathComponents","ensureTrailingDirectorySeparator","getRelativePath","dirPath","relativeTo","startsWith","pathComponents","relativePath","makeDirectories","fs","startingFromDirPath","curPath","combinePaths","existsSync","mkdirSync","wildcardRoot","regExp","invalidSeparator","separatorRegExp","resolvePaths","paths","normalizePath","containsPath","child","currentDirectory","parentComponents","childComponents","componentEqualityComparer","changeAnyExtension","extensions","pathExt","getAnyExtensionFromPath","stringEqualityComparer","tryGetExtensionFromPath","extension","getAnyExtensionFromPathWorker","stripTrailingDirectorySeparator","baseFileName","getBaseFileName","extensionIndex","getRelativePathComponentsFromDirectory","fromDirectory","getCanonicalFileNameOrIgnoreCase","getCanonicalFileName","fromComponents","toComponents","getPathComponentsRelativeTo","comparePathsCaseSensitive","comparePathsWorker","comparePathsCaseInsensitive","hasTrailingDirectorySeparator","getFileExtension","fileName","multiDotExtension","firstDotIndex","getFileName","stripFileExtension","isDirectory","tryStat","isFile","statSync","tryRealpath","realpathSync","getFileSystemEntries","getFileSystemEntriesFromDirEntries","readdirEntriesSync","files","directories","dirEntries","sort","entry","isSymbolicLink","stat","getFileSpec","rootPath","fileSpec","regExPattern","absolutePath","endsWith","escapedSeparator","getRegexEscapedSeparator","doubleAsteriskRegexFragment","reservedCharacterPattern","RegExp","firstComponent","getWildcardRegexPattern","getWildcardRoot","isDiskPathRoot","componentComparer","aRoot","bRoot","relativePathSegmentRegExp","aRest","bRest","aComponents","bComponents","sharedLength","pathExtension","convertUriToPath","uriString","getMappedFilePath","convertedPath","extractPathFromUri","getUri","getOriginalFilePath","normalizePathCase","filePath","mangledFilePath","tmpdir","writeFileSync","unlinkSync","isFileSystemCaseSensitiveInternal","isFileSystemCaseSensitive","PythonVersion","latestStablePythonVersion","V3_10","versionToString","versionFromString","verString","major","minor","versionFromMajorMinor","CharCategory","_identifierCharFastTableSize","_identifierCharFastTable","_identifierCharMap","_surrogateCharMap","_identifierCharMapInitialized","isIdentifierStartChar","StartIdentifierChar","charCategory","_buildIdentifierLookupTable","_lookUpSurrogate","isIdentifierChar","IdentifierChar","isDecimal","isHex","isOctal","isBinary","SurrogateChar","NotIdentifierChar","surrogateTable","_startIdentifierCharRanges","_startCharSurrogateRanges","_identifierCharRanges","_identifierCharSurrogateRanges","_buildIdentifierLookupTableFromUnicodeRangeTable","category","fastTableOnly","fastTable","fullTable","entryIndex","rangeStart","rangeEnd","_buildIdentifierLookupTableFromSurrogateRangeTable","surrogateChar","getPyTypedInfo","fileSystem","isPartiallyTyped","pyTypedPath","fileStats","pyTypedContents","readFileSync","ignoredWatchEventFunction","normalizedPaths","nullFileWatcher","nullFileWatcherProvider","createFileWatcher","_1","_2","onFileChange","VirtualDirent","_file","isBlockDevice","isCharacterDevice","isFIFO","isSocket","PyrightFileSystem","_realFS","_entryMap","_reverseEntryMap","_folderMap","_isMovedEntry","_getOriginalPath","chdir","maybeDirectory","movedEntries","readdirSync","getModulePath","createFileSystemWatcher","createReadStream","createWriteStream","copyFileSync","readFile","readFileText","tmpfile","realCasePath","originalPath","isMappedFilePath","filepath","mappedFilePath","originalFilepath","isInZipOrEgg","_recordMovedEntry","mappedPath","reversible","folderInfo","_clear","realFS","_rootSearched","_partialStubPackagePaths","_conflictMap","_customUriMap","hasUriMapEntry","addUriMap","closed","hasPendingRequest","removeUriMap","pendingRequest","isPartialStubPackagesScanned","execEnv","isPathScanned","processPartialStubPackages","roots","partialStubPackagePath","pyTypedInfo","partialStubs","packageName","packagePath","packagePyTyped","_getRelativePathPartialStubs","partialStub","originalPyiFile","mappedPyiFile","mappedPyFile","tmpPyFile","clearPartialStubs","getConflictedFile","partialStubPathLength","searchAllStubs","cancellationFolderName","OperationCanceledException","CancelAfter","tokens","DefaultCancellationProvider","TextRange","FlowFlags","comparePositions","doRangesIntersect","doesRangeContain","positionOrRange","positionsAreEqual","rangesAreEqual","extendRange","convertOffsetToPosition","offsetAdjustment","itemIndex","getItemContaining","lineRange","getItemAt","convertOffsetsToRange","convertRangeToTextRange","fromBounds","convertTextRangeToRange","getEnd","overlaps","extend","contains","containsRange","span","overlapsRange","ranges","combinedRange","print","_nextFlowNodeId","getUniqueFlowNodeId","isCodeFlowSupportedForReference","reference","nodeType","leftExpression","trailingComma","argumentCategory","subscriptNode","valueExpression","isIntegerIndex","isImaginary","isStringIndex","strings","baseExpression","createKeyForReference","memberName","leftKey","valExpr","createKeysForReferenceSubexpressions","getImportInfo","node","importInfo","getScope","scope","setScope","getDeclaration","declaration","setDeclaration","decl","getFlowNode","flowNode","setFlowNode","setAfterFlowNode","afterFlowNode","fileInfo","setCodeFlowExpressions","expressions","codeFlowExpressions","getDunderAllInfo","dunderAllInfo","setDunderAllInfo","names","isCodeUnreachable","curNode","flags","Unreachable","_constantRegEx","_underscoreOnlyRegEx","_camelCaseRegEx","isPrivateOrProtectedName","isDunderName","isConstantName","isTypeAliasName","getImportGroup","statement","importResult","importType","isLocalTypingsFile","isRelative","getTopLevelImports","parseTree","includeImplicitImports","localImports","orderedImports","mapByFilePath","followsNonImportStatement","foundFirstImportStatement","statements","subStatement","importAsNode","isImportFound","resolvedPaths","localImport","subnode","moduleName","_formatModuleName","_processImportNode","implicitImports","implicitImport","importFromAs","imports","find","prevEntry","_processImportFromNode","_getImportSymbolNameType","getTextEditsForAutoImportSymbolAddition","importNameInfo","importStatement","parseResults","additionEdits","isWildcardImport","importFrom","importAs","alias","nameInfo","_getTextEditsForAutoImportSymbolAddition","editsMap","textEditList","editGroup","replacementText","_compareImportNames","importName","name1","name2","priorImport","curImport","useOnePerLineFormatting","indentText","importStatementPos","tokenizerOutput","firstSymbolPos","secondSymbolPos","firstSymbolLineRange","insertionPosition","insertText","eol","predominantEndOfLineSequence","getTextEditsForAutoImportInsertion","importStatements","importGroup","invocationPosition","insertionEdits","getTextEdit","preChange","compareImports","postChange","isImport1","_convertInsertionEditsToTextEdits","appendToEdits","fromImports","importStatementGetter","importNames","importText","sortText","getImportAsText","equalityComparer","addIfUnique","invocation","insertBefore","insertionImport","prevImportGroup","curImportGroup","addNewLineBefore","stopHere","simpleStatement","_getInsertionEditForAutoImportInsertion","_getInsertionEditsForAutoImportInsertion","leadingDots","nameParts","part","getImportGroupFromModuleNameAndType","moduleNameAndType","getRelativeModuleName","sourcePath","targetPath","ignoreFolderStructure","sourceIsFile","srcPath","destPath","relativePaths","currentPaths","getDirectoryLeadingDotsPointsTo","ParentDirectoryCache","_importRootGetter","_importChecked","_cachedResults","_libPathCache","getImportResult","importPath","checkValidPath","sourceFilePath","reset","stdLibFolderName","thirdPartyFolderName","findPythonSearchPaths","configOptions","host","importFailureInfo","includeWatchPathsOnly","workspaceRoot","venvPath","venv","venvDir","foundPaths","sitePackagesPaths","libPath","sitePackagesPath","dirName","findSitePackagesPath","addPathIfUnique","getPathsFromPthFiles","pathResult","getPythonSearchPaths","pythonPath","isPythonBinary","parentDir","searchPaths","pthFile","trimmedLine","pthPath","pathList","pathToAdd","createImportedModuleDescriptor","importedSymbols","supportedNativeLibExtensions","supportedFileExtensions","ImportResolver","_configOptions","_cachedImportResults","_cachedModuleNameResults","_cachedEntriesForPath","cachedParentImportResults","invalidateCache","_invalidateFileSystemCache","resolveImport","moduleDescriptor","_resolveImport","formatImportName","_resolveImportStrict","origin","filterImplicitImports","getParentImportResolutionRoot","_shouldWalkUp","resolveAbsoluteImport","success","_tryWalkUp","notFoundResult","isPartlyResolved","isNamespacePackage","isStubPackage","isStubFile","isNativeLib","filteredImplicitImports","nonStubImportResult","ensurePartialStubPackages","relativeImport","_resolveRelativeImport","cachedResults","_lookUpResultsInCache","_isNamespacePackageResolved","bestImport","_resolveBestAbsoluteImport","addResultsToCache","getCompletionSuggestions","suggestions","_getCompletionSuggestionsStrict","_getCompletionSuggestionsAbsolute","_getCompletionSuggestionsRelative","_getCompletionSuggestionsTypeshedPath","extraPath","extraPaths","stubPath","pythonSearchPaths","searchPath","getSourceFilesFromStub","stubFilePath","_mapCompiled","sourceFilePaths","nonEmptyPath","dirExistsCached","importRootPaths","getImportRoots","relativeStubPaths","importRootPath","relativeStubPath","absoluteSourcePath","fileExistsCached","filePathWithoutExtension","getModuleNameForImport","cache","_getModuleNameForImport","stdLibTypeshedPath","_getStdlibTypeshedPath","getModuleNameFromPath","_isStdlibTypeshedStubValidForVersion","candidateModuleName","thirdPartyTypeshedPath","_getThirdPartyTypeshedPath","thirdPartyTypeshedPathEx","getTypeshedPathEx","getTypeshedStdLibPath","forLogging","stdTypeshed","thirdPartyRoot","thirdPartyPaths","_getThirdPartyTypeshedPackageRoots","typeshedPathEx","readdirEntriesCached","cachedValue","newCacheValue","splitPath","_splitPath","realPath","ignored","addPaths","allowPartial","allowNativeLib","useStubPackage","allowPyi","lookForPyTyped","_resolveAbsoluteImport","packageDirectory","importFound","fileNameWithoutExtension","pyFilePath","pyiFilePath","_findImplicitImports","isFirstPart","isLastPart","foundDirectory","foundInit","fileDirectory","nativeLibFileName","_getFilesInDirectory","_isNativeModuleFileName","nativeLibPath","_resolveNativeModuleStub","resolveImportEx","resolveNativeImportEx","libraryFilePath","getNativeModuleName","fileExtension","_isNativeModuleFileExtension","cacheForExecEnv","cachedEntry","symbol","containerPath","stripTopContainerDir","_isIdentifier","typingsImport","bestResultSoFar","_pickBestImport","thirdPartyImport","_getTypeshedRoot","extraResults","typeshedStdlibImport","_findTypeshedPath","isTypeshedFile","typeshedImport","bestImportSoFar","newImport","_cachedPythonSearchPaths","isStdLib","typeshedPaths","_getThirdPartyTypeshedPackagePaths","typeshedPath","_buildTypeshedThirdPartyPackageMap","thirdPartyDir","_cachedTypeshedThirdPartyPackagePaths","outerEntry","innerDirPath","innerEntry","strippedFileName","_cachedTypeshedThirdPartyPackageRoots","subdirectory","_getTypeshedSubdirectory","_cachedTypeshedStdLibModuleVersions","_readTypeshedStdLibVersions","namePartCount","namePartsToConsider","versionRange","pythonVersion","versionRangeMap","typeshedStdLibPath","versionsFilePath","colonSplit","versionSplit","minVersionString","maxVersion","minVersion","V3_0","includeMatchOnly","firstNamePart","flatten","getMapValues","_cachedTypeshedRoot","possibleTypeshedPath","moduleDirectory","debugTypeshedPath","_cachedTypeshedStdLibPath","_cachedTypeshedThirdPartyPath","absImport","entriesInDir","filesInDir","linkPath","strictOnly","hasTrailingDot","parentNameParts","_addFilteredSuggestionsAbsolute","currentPath","fileWithoutExtension","_isUniqueValidSuggestion","_isResolvableSuggestion","suggestionToAdd","newImportResult","assign","importingModuleName","exclusions","implicitImportMap","fileExt","exclusion","nativeStubPath","repeat","moduleFullName","compiledStubPath","withoutExtension","executionRoot","apiDocsRequestType","_host","initializeWorkersHost","createMessageChannel","parentPort","threadId","shallowReplace","mapper","shallowCopy","Duration","_startTime","getDurationInMilliseconds","getDurationInSeconds","TimingStat","totalTime","callCount","isTiming","timeOperation","duration","subtractFromTime","printTime","totalTimeInSec","timingStats","totalDuration","findFilesTime","readFileTime","tokenizeFileTime","parseFileTime","resolveImportsTime","cycleDetectionTime","bindTime","typeCheckerTime","typeEvaluationTime","printSummary","printDetails","getTotalDuration","nullCallback","analyzeProgram","program","maxTime","moreToAnalyze","analyze","filesLeftToAnalyze","getFilesToAnalyzeCount","getDiagnostics","diagnosticFileCount","elapsedTime","filesInProgram","getFileCount","filesRequiringAnalysis","checkingOnlyOpenFiles","isCheckingOnlyOpenFiles","fatalErrorOccurred","configParseErrorOccurred","LogLevel","StandardConsole","ConsoleWithLogLevel","_console","_name","_levelMap","Warn","_maxLevel","maxLevel","_log","_prefix","level","_getNumericalLevel","numericLevel","logType","LogTracker","_dummyState","_indentation","_previousTitles","minimalDuration","logParsingPerf","msDuration","isSuppressed","_printPreviousTitles","fileReadTotal","tokenizeTotal","parsingTotal","resolveImportsTotal","bindingTotal","previousTitle","_start","_startFile","_startToken","_startParse","_startImport","_startBind","addendum","_addendum","suppress","_suppress","isFunctionDeclaration","isClassDeclaration","isParameterDeclaration","isVariableDeclaration","isAliasDeclaration","_nextNodeId","newRange","ModuleNode","SuiteNode","IfNode","WhileNode","ForNode","ListComprehensionForNode","ListComprehensionIfNode","TryNode","ExceptNode","FunctionNode","ParameterNode","ClassNode","WithNode","WithItemNode","DecoratorNode","StatementListNode","ErrorNode","UnaryOperationNode","BinaryOperationNode","AssignmentExpressionNode","AssignmentNode","TypeAnnotationNode","FunctionAnnotationNode","AugmentedAssignmentNode","AwaitNode","TernaryNode","UnpackNode","TupleNode","CallNode","ListComprehensionNode","IndexNode","SliceNode","YieldNode","YieldFromNode","MemberAccessNode","LambdaNode","NameNode","ConstantNode","EllipsisNode","NumberNode","StringNode","FormatStringNode","StringListNode","DictionaryNode","DictionaryKeyEntryNode","DictionaryExpandEntryNode","SetNode","ListNode","ArgumentNode","DelNode","PassNode","ImportNode","ModuleNameNode","ImportAsNode","ImportFromNode","ImportFromAsNode","GlobalNode","NonlocalNode","AssertNode","BreakNode","ContinueNode","ReturnNode","RaiseNode","MatchNode","CaseNode","PatternSequenceNode","PatternAsNode","PatternLiteralNode","PatternClassNode","PatternClassArgumentNode","PatternCaptureNode","PatternMappingNode","PatternMappingKeyEntryNode","PatternMappingExpandEntryNode","PatternValueNode","isExpressionNode","ifOrElifToken","testExpression","ifSuite","elseSuite","whileToken","whileSuite","forToken","targetExpression","iterableExpression","forSuite","startToken","ifToken","tryToken","trySuite","exceptClauses","exceptToken","exceptSuite","isExceptGroup","defToken","suite","decorators","paramCategory","classToken","createDummyForDecorators","comments","decorator","withToken","withItems","atToken","initialRange","operatorToken","operator","maxChildDepth","rightExpression","typeAnnotation","openParenToken","isParamListEllipsis","paramTypeAnnotations","returnTypeAnnotation","destExpression","awaitToken","ifExpression","elseExpression","starToken","enclosedInParens","argList","forIfNodes","closeBracketToken","yieldToken","lambdaToken","nameToken","constType","keywordType","unescapedValue","hasUnescapeErrors","expr","keyExpression","expandExpression","argCategory","delToken","passToken","fromToken","usesParens","nameList","assertToken","matchToken","subjectExpression","cases","caseToken","isIrrefutable","guardExpression","firstToken","starEntryIndex","findIndex","orPatterns","isStar","className","isWildcard","keyPattern","valuePattern","starStarToken","walk","childrenToWalk","visitNode","walkMultiple","nodes","visitError","visitArgument","visitAssert","exceptionExpression","visitAssignment","typeAnnotationComment","visitAssignmentExpression","visitAugmentedAssignment","visitAwait","visitBinaryOperation","visitBreak","visitCall","visitClass","visitConstant","visitContinue","visitDecorator","visitDel","visitDictionary","visitDictionaryExpandEntry","visitDictionaryKeyEntry","visitEllipsis","visitIf","visitImport","visitImportAs","visitImportFrom","visitImportFromAs","visitIndex","visitExcept","typeExpression","visitFor","visitFormatString","visitFunction","functionAnnotationComment","visitGlobal","visitLambda","visitList","visitListComprehension","visitListComprehensionFor","visitListComprehensionIf","visitMemberAccess","visitModule","visitModuleName","visitName","visitNonlocal","visitNumber","visitParameter","defaultValue","visitPass","visitRaise","tracebackExpression","visitReturn","returnExpression","visitSet","visitSlice","startValue","endValue","stepValue","visitStatementList","visitStringList","visitString","visitSuite","visitTernary","visitTuple","visitTry","finallySuite","visitTypeAnnotation","visitUnaryOperation","visitUnpack","visitWhile","visitWith","visitWithItem","visitYield","visitYieldFrom","visitFunctionAnnotation","visitMatch","visitCase","visitPatternSequence","visitPatternAs","visitPatternLiteral","visitPatternClass","visitPatternCapture","visitPatternMapping","visitPatternMappingKeyEntry","visitPatternMappingExpandEntry","visitPatternValue","visitPatternClassArgument","getNodeDepth","depth","findNodeByOffset","containingChild","getClassFullName","classNode","getEnclosingClass","reverse","getTypeSourceId","printArgument","argStr","printExpression","printOperator","exprStr","parenthesized","exprString","escapedValue","listStr","isAsync","isParenthesized","paramStr","dictContents","operatorMap","getEnclosingSuite","stopAtFunction","getEnclosingFunction","prevNode","getEnclosingClassOrFunction","getEvaluationScopeNode","prevPrevNode","isParamNameNode","getTypeVarScopeNode","allowInFunctionSignature","getExecutionScopeNode","evaluationScope","isFinalAllowedForAssignmentTarget","targetNode","methodNode","isClassVarAllowedForAssignmentTarget","isNodeContainedWithin","potentialContainer","isSuiteEmpty","sawEllipsis","substatement","isMatchingExpression","referenceNumberNode","referenceStringListNode","isPartialMatchingExpression","getDocString","isDocString","statementList","NameNodeWalker","_callback","_subscriptIndex","_baseExpression","prevSubscriptIndex","prevBaseExpression","CallNodeWalker","getEnclosingParameter","getCallNodeAndActiveParameterIndex","insertionOffset","callNode","isOffsetInsideCallArgs","endPosition","tokenAtEnd","getItemAtPosition","getTokenAt","addedActive","activeIndex","activeOrFake","startTokenIndex","endTokenIndex","tok","argumentStart","isWriteAccess","getModuleNode","getFileInfoFromNode","isImportModuleName","getFirstAncestorOrSelfOfKind","isImportAlias","isFromImportModuleName","isFromImportName","isFromImportAlias","isLastNameOfModuleName","_getAncestorsIncludingSelf","getFirstAncestorOrSelf","getDottedNameWithGivenNodeAsLastName","hasTypeForDeclaration","parameterParent","paramAnnotations","typeAnnotationNode","areDeclarationsSame","decl1","decl2","treatModuleInImportAndFromImportSame","usesLocalName","isFinalVariableDeclaration","isFinal","isExplicitTypeAliasDeclaration","typeAliasAnnotation","isPossibleTypeAliasDeclaration","typeAliasName","getNameFromDeclaration","getDeclarationsWithUsesLocalNameRemoved","decls","localDecl","nonLocalDecl","createSynthesizedAliasDeclaration","loadSymbolsFromPath","isInExceptSuite","cleanAndSplitDocString","rawString","leftSpacesToRemove","trimmed","trimLeft","trimmedLines","trimRight","extractParameterDocumentation","functionDocString","paramName","docStringLines","paramOffset","convertDocStringToMarkdown","docString","DocStringConverter","convert","convertDocStringToPlainText","_isUndefinedOrWhitespace","trimEnd","LeadingSpaceCountRegExp","NonWhitespaceRegExp","TildaHeaderRegExp","PlusHeaderRegExp","EqualHeaderRegExp","DashHeaderRegExp","LeadingDashListRegExp","LeadingAsteriskListRegExp","LeadingNumberListRegExp","LeadingAsteriskRegExp","SpaceDotDotRegExp","DirectiveLikeRegExp","DoctestRegExp","DirectivesExtraNewlineRegExp","epyDocFieldTokensRegExp","epyDocCv2FixRegExp","PotentialHeaders","exp","WhitespaceRegExp","DoubleTickRegExp","TildeRegExp","PlusRegExp","MarkdownCharsRegExp","linkRegExp","HtmlEscapes","LiteralBlockEmptyRegExp","LiteralBlockReplacements","_builder","_skipAppendEmptyLine","_insideInlineCode","_appendDirectiveBlock","_stateStack","_lineNum","_blockIndent","_parseText","_lines","_currentLineOrUndefined","before","beforeLine","_parseBacktickBlock","_parseDocTest","_parseLiteralBlock","_trimOutputAndAppendLine","_eatLine","_currentLine","_currentIndent","_countLeadingSpaces","_prevIndent","_lineAt","_nextBlockIndent","_currentLineIsOutsideBlock","_currentLineWithinBlock","_pushAndSetState","_popState","_parseEmpty","_beginBacktickBlock","_beginLiteralBlock","_beginDocTest","_beginDirective","_beginList","_beginFieldList","_beginTableBlock","_formatPlainTextIndent","_appendTextLine","prev","prevIndent","currIndent","_isHeader","_convertIndent","trimStart","_match","g1","g2","_escapeHtml","escape","_preprocessTextLine","_append","expReplacement","_appendLine","_beginMinIndentCodeBlock","_parseLiteralBlockSingleLine","_parseDirective","hasOddNumColons","restDirective","_tableState","inHeader","_parseTableBlock","formattedLine","columnParts","headerStrings","colStart","columnStr","endHeaderStr","column","dashMatch","_parseList","asteriskMatch","leadingNumberList","directiveType","directive","_parseDirectiveBlock","noNewLine","search","getScopeForNode","WildcardTypeVarScopeId","EnumLiteral","itemName","itemType","maxTypeRecursionCount","TypeBase","UnboundType","UnknownType","ModuleType","ClassType","FunctionType","OverloadedFunctionType","NoneType","NeverType","AnyType","TypeCondition","UnionType","TypeVarType","isNever","isNoneInstance","isNoneTypeClass","isInstantiable","isAny","isUnknown","isAnyOrUnknown","isUnion","subtypes","subtype","isUnbound","isPossiblyUnbound","isClass","isInstantiableClass","isClassInstance","isModule","isTypeVar","isVariadicTypeVar","details","isVariadic","isUnpackedVariadicTypeVar","isVariadicUnpacked","isUnpackedClass","isUnpacked","isParamSpec","isFunction","isOverloadedFunction","getTypeAliasInfo","typeAliasInfo","recursiveTypeAliasName","boundType","isTypeSame","type1","type2","ignorePseudoGeneric","ignoreTypeFlags","recursionCount","classType2","isSameGenericClass","isSame","condition","isPseudoGenericClass","tupleTypeArguments","type1TupleTypeArgs","type2TupleTypeArgs","isUnbounded","type1TypeArgs","typeArguments","type2TypeArgs","typeArgCount","isLiteralValueSame","functionType2","params1","params2","positionalOnlyIndex1","positionalOnlyIndex2","param1","param2","isName1Relevant","getEffectiveParameterType","return1Type","declaredReturnType","specializedTypes","returnType","inferredReturnType","return2Type","overloads","unionType2","subtypes1","subtypes2","findSubtype","containsType","type2TypeVar","scopeId","recursiveTypeParameters","isSynthesized","variance","boundType1","boundType2","constraints1","constraints","constraints2","type2Module","fields","removeUnknownFromUnion","removeFromUnion","removeUnbound","removeNoneFromUnion","removeFilter","remainingTypes","newType","combineTypes","addTypeAliasSource","maxSubtypeCount","sawNoReturn","isNoReturn","createNoReturn","createNever","allSubtypesAreSame","expandedTypes","typeAliasSources","literalValue","isEmptyContainer","newUnionType","hitMaxSubtypeCount","addType","unionType","typeToAdd","isBuiltIn","literalStrMap","literalIntMap","isSameWithoutLiteralValue","cloneWithLiteral","_addTypeIfUnique","destType","srcType","cloneType","isAnnotated","isSpecialForm","setSpecialForm","isAmbiguous","cloneForTypeAlias","fullName","typeVarScopeId","typeParams","typeArgs","typeClone","typeParameters","cloneForAnnotated","cloneForCondition","cloneForAmbiguousType","_instance","symbolTable","loaderFields","getField","moduleType","isExternallyHidden","loaderSymbol","cloneAsInstantiable","objectType","classType","classArray","aliasName","class1Details","class2Details","typeSourceId","baseClasses","declaredMetaclass","createInstantiable","effectiveMetaclass","mro","cloneAsInstance","includeSubclasses","cloneForSpecialization","isTypeArgumentExplicit","newClassType","cloneForTypingAlias","cloneForNarrowedTypedDictEntries","narrowedEntries","typedDictNarrowedEntries","cloneWithNewTypeParameters","cloneForTypeGuard","typeGuardType","isStrictTypeGuard","cloneForSymbolTableUpdate","cloneForUnpacked","isUnspecialized","isSpecialBuiltIn","supportsAbstractMethods","isDataClass","isSkipSynthesizedDataClassInit","isSkipSynthesizedDataClassEq","isFrozenDataClass","isSynthesizedDataclassOrder","isDataClassKeywordOnlyParams","isGeneratedDataClassSlots","isSynthesizeDataClassUnsafeHash","isTypedDictClass","isCanOmitDictValues","isEnumClass","isPropertyClass","isClassProperty","isProtocolClass","isDefinedInStub","getDataClassEntries","dataClassEntries","isRuntimeCheckable","isTypingExtensionClass","isPartiallyConstructed","hasCustomClassGetItem","isTupleClass","isReadOnlyInstanceVariables","getTypeParameters","hasUnknownBaseClass","baseClass","isDerivedFrom","subclassType","parentClassType","inheritanceChain","functionFlags","typeFlags","parameterTypes","createInstance","clone","stripFirstParam","boundToType","boundTypeVarScopeId","newFunction","preBoundFlags","isTypeInferred","strippedFirstParamType","newInstance","specializedInferredReturnType","cloneForParamSpec","paramSpecValue","paramSpec","specEntry","hasDefault","isNameSynthesized","hasDeclaredType","isParamSpecValue","paramInfo","cloneWithNewFlags","cloneForParamSpecApplication","lastParam","cloneRemoveParamSpecVariadics","addDefaultParameters","functionType","useUnknown","addParameter","hasDefaultParameters","sawArgs","sawKwargs","isInstanceMethod","isConstructorMethod","isStaticMethod","isClassMethod","isAbstractMethod","isGenerator","isSynthesizedMethod","isSkipConstructorCheck","isOverloaded","isDefaultParameterCheckDisabled","isWrapReturnTypeInAwait","isStubDefinition","isPyTypedDefinition","hasUnannotatedParams","shouldSkipArgsKwargsCompatibilityCheck","getSpecializedReturnType","addOverload","_noneInstance","_noneType","createType","_neverInstance","_noReturnInstance","_anyInstance","isEllipsis","_ellipsisInstance","_compare","c1","c2","typeVarName","constraintIndex","conditions1","conditions2","combined","isCompatible","foundTypeVarMatch","exactMatch","typeAliasSource","sourcesToAdd","makeNameWithScope","cloneForScopeId","scopeName","scopeType","nameWithScope","isInUnion","isVariadicInUnion","cloneForPacked","cloneAsInvariant","cloneForParamSpecAccess","access","paramSpecAccess","cloneAsSpecializedSelf","specializedBoundType","isSynthesizedSelf","addConstraint","typeVarType","constraintType","getNameWithScope","getReadableName","nextSymbolId","_flags","newSymbol","_synthesizedType","isInitiallyUnbound","setIsExternallyHidden","setIsIgnoredForProtocolMatch","isIgnoredForProtocolMatch","setIsClassMember","isClassMember","setIsInstanceMember","isInstanceMember","setIsClassVar","isClassVar","setIsInitVar","isInitVar","setIsInDunderAll","isInDunderAll","setIsPrivateMember","isPrivateMember","setPrivatePyTypedImport","isPrivatePyTypedImport","addDeclaration","_declarations","declIndex","curDecl","inferredTypeSource","hasDeclarations","getDeclarations","hasTypedDeclarations","getTypedDeclarations","getSynthesizedType","getLastTypedDeclaredForSymbol","typedDecls","isTypedDictMemberAccessedThroughIndex","isFinalVariable","TypeVarMap","solveForScopes","_isLocked","_solveForScopes","_typeVarMap","_paramSpecMap","newTypeVarMap","setTypeVarType","typeVar","narrowBound","wideBound","retainLiteral","setParamSpec","_variadicTypeVarMap","setVariadicTypeVar","types","copyFromClone","getSolveForScopes","hasSolveForScope","setSolveForScopes","scopeIds","addSolveForScope","getScore","score","getTypeVarType","_getComplexityScoreForType","hasTypeVar","_getKey","useNarrowBoundOnly","getVariadicTypeVar","getTypeVar","getTypeVars","hasParamSpec","getParamSpec","typeVarCount","getWideTypeBound","getRetainLiterals","unlock","isLocked","maxScore","doForEachSubtype","subtypeScore","_getComplexityScoreForClass","typeArgScoreSum","typeArg","ParameterSource","DiagnosticRule","getParameterListDetails","firstPositionOrKeywordIndex","positionParamCount","positionOnlyParamCount","hasUnpackedVariadicTypeVar","positionOnlyIndex","sawKeywordOnlySeparator","addVirtualParameter","typeOverride","PositionOnly","KeywordOnly","PositionOrKeyword","tupleArg","argsIndex","firstKeywordOnlyIndex","typedDictEntries","isRequired","kwargsIndex","isOptionalType","mapSubtypes","newSubtypes","typeChanged","transformedType","addConditionToType","getTypeCondition","areTypesSame","stripLiteralValue","isTypeAliasPlaceholder","transformPossibleRecursiveTypeAlias","unspecializedType","convertToInstance","applySolvedTypeVars","buildTypeVarMap","getTypeVarScopeId","getSpecializedTupleType","tupleClass","mroClass","buildTypeVarMapFromSpecializedClass","isLiteralType","isLiteralTypeOrUnion","containsLiteralType","includeTypeArgs","overload","getLiteralTypeClassName","foundMismatch","subtypeLiteralTypeName","getUnionSubtypeCount","isEllipsisType","isProperty","isUnboundedTupleClass","partiallySpecializeType","contextClassType","selfClass","typeVarMap","populateTypeVarMapForSelfType","synthesizedSelfTypeVar","synthesizeTypeVarForSelfCls","unknownIfNotFound","eliminateUnsolvedInUnions","ApplySolvedTypeVarsTransformer","getProtocolSymbols","symbolMap","getProtocolSymbolsRecursive","isTypeDeclared","skippedUndeclaredType","lookUpObjectMember","lookUpClassMember","getClassMemberIterator","declaredTypesOnly","classFlags","classItr","getClassIterator","specializedMroClass","cm","memberFields","skipMroEntry","addTypeVarsToListIfUnique","list1","list2","getTypeVarArgumentsRecursive","combinedList","getTypeVarsFromClass","specializeClassType","typeParam","setTypeArgumentsRecursive","paramType","makeConcrete","typeArgType","paramSpecEntries","typeArgFunctionType","paramIndex","specializeForBaseClass","specializedType","derivesFromClassRecursive","baseClassToFind","ignoreUnknown","isClsParam","selfType","getDeclaredGeneratorReturnType","generatorTypeArgs","getGeneratorTypeArgs","isEffectivelyInstantiable","convertToInstantiable","getMembersForClass","includeInstanceVars","isClassTypedDict","existingSymbol","metaclass","containsUnknown","foundUnknown","isPartlyUnknown","allowUnknownTypeArgsForClasses","argType","explodeGenericClass","combineSameSizedTuples","tupleType","tupleEntries","isValid","specializeTupleClass","stripLiterals","isUnpackedTuple","combinedTupleType","clonedClassType","removeParamSpecVariadicsFromSignature","removeParamSpecVariadicsFromFunction","newOverloads","newTypeNeeded","newOverload","paramCount","argsParam","kwargsParam","_expandVariadicUnpackedUnion","requiresSpecialization","ignoreSelf","computeMroLinearization","isMroFound","filteredBaseClasses","innerBaseClass","innerIndex","classListsToMerge","isInTail","searchClass","classLists","classList","filterClass","classToFilter","nonEmptyList","foundValidHead","getDeclaringModulesForType","moduleList","addDeclaringModuleNamesForType","convertParamSpecValueToType","paramSpecEntry","hasParameters","onlyParam","TypeVarTransformer","_isTransformingTypeArg","recursionSet","requiresUpdate","replacementType","transformTypeVar","subtypesToCombine","transformedSubtype","transformUnion","_transformTypeVarsInClassType","_transformTypeVarsInFunctionType","transformVariadicTypeVar","transformParamSpec","newVariadicTypeArgs","newTypeArgs","specializationNeeded","wasTransformingTypeArg","oldTypeArgType","newTypeArgType","typeParamName","sourceType","specializedReturnType","typesRequiredSpecialization","specializedParameters","argsParamType","kwargsParamType","paramSpecType","variadicParamIndex","variadicTypesToUnpack","newFunctionType","insertKeywordOnlySeparator","swallowPositionOnlySeparator","sawUnboundedEntry","unpackedType","_unknownIfNotFound","_useNarrowBoundOnly","_eliminateUnsolvedInUnions","wideType","updatedUnion","ExpectedConstructorTypeTransformer","_liveTypeVarScopes","dummyScopeId","dummyTypeVarPrefix","_isTypeVarLive","_createDummyTypeVar","prevTypeVar","newTypeVar","synthesizedTypeVarIndexForExpectedType","SourceMapper","_importResolver","_execEnv","_evaluator","_fileBinder","_boundSourceGetter","_preferStubs","findModules","_getBoundSourceFilesFromStubFile","sf","getParseResults","findDeclarations","stubDecl","_findClassOrTypeAliasDeclarations","_findFunctionOrTypeAliasDeclarations","_findVariableDeclarations","_findParameterDeclarations","_findSpecialBuiltInClassDeclarations","findClassDeclarations","findClassDeclarationsByType","originatedPath","_addClassTypeDeclarations","findFunctionDeclarations","recursiveDeclCache","flatMap","sourceFile","_findClassDeclarationsByName","_getFullClassName","functionName","sourceFiles","isMethod","_findMethodDeclarationsByName","_findFunctionDeclarationsByName","variableName","_findFieldDeclarationsByName","_findVariableDeclarationsByName","functionNode","functionStubDecls","getDeclarationsForNameNode","functionStubDecl","functionDecl","_lookUpSymbolDeclarations","_findMemberDeclarationsByName","declAdder","classDecls","classDecl","classResults","getTypeOfClass","uniqueId","getFilePath","_isStubThatShouldBeMappedToImplementation","implDecl","moduleNode","_addDeclarationsFollowingWildcardImports","_addVariableDeclarations","_addClassOrFunctionDeclarations","fullClassName","parentNode","classNameParts","_findClassDeclarations","classNamePart","parentDecl","resolvedDecl","resolveAliasDeclaration","nodeToBind","getType","overloadDecl","originated","_getSourceFiles","containingScope","lookUpSymbol","fp","convertLevelToCategory","_relatedInfo","addAction","action","_actions","getActions","setRule","rule","_rule","getRule","addRelatedInfo","getRelatedInfo","DiagnosticAddendum","_childAddenda","addMessage","createAddendum","newAddendum","addAddendum","getString","maxDepth","maxLineCount","_getLinesRecursive","_getMessageCount","getChildren","getMessages","messageCount","diag","childLines","maxDepthRemaining","extraSpace","ParameterizedString","_formatString","getFormatString","diagnosticStyle","isSimpleMessageStyle","optionalAddendum","localizedStrings","defaultStrings","getRawString","keyParts","getRawStringFromMap","curObj","keyPart","initializeLocalization","locale","style","currentLocale","env","process","vscodeConfigString","VSCODE_NLS_CONFIG","localeString","LC_ALL","LC_MESSAGES","LANG","LANGUAGE","localeStringSplit","getLocaleFromEnv","override","loadStringsFromJsonFile","localeSplit","loadStringsForLocale","Localizer","synthesizeTypedDictClassMethods","evaluator","initType","getTypedDictMembersForClass","strClass","getBuiltInType","selfParam","createDefaultTypeVar","defaultTypeVar","createGetMethod","keyType","includeDefault","defaultTypeMatchesField","getOverload","getScopeIdForNode","createPopMethods","keyParam","popOverload1","popOverload2","createSetDefaultMethod","setDefaultOverload","createDelItemMethod","delItemOverload","getOverloads","popOverloads","setDefaultOverloads","nameLiteralType","strType","allowNarrowed","getTypedDictMembersForClassRecursive","keyMap","baseClassType","lastDecl","getEffectiveTypeOfSymbol","isRequiredTypedDictVariable","isNotRequired","isNotRequiredTypedDictVariable","existingEntry","typedDictFieldRedefinition","parentType","printType","childType","addDiagnostic","diagnosticRuleSet","reportGeneralTypeIssues","isProvided","canAssignTypedDict","typesAreConsistent","destEntries","srcEntries","destEntry","srcEntry","typedDictFieldRequired","typedDictFieldNotRequired","canAssignType","memberTypeMismatch","typedDictFieldMissing","getTypeFromIndexedTypedDict","baseType","usage","addError","typeArgsMismatchOne","indexTypeResult","getTypeOfExpression","indexType","allDiagsInvolveNotRequiredKeys","resultingType","entryName","treatWithAsTryBlock","keyNotRequired","setType","keyRequiredDeleted","keyUndefined","typeNotStringLiteral","setExpectedTypeDiag","typedDictDiag","typedDictSet","typedDictDelete","typedDictAccess","reportTypedDictNotRequiredAccess","isInheritedFromBuiltin","getPropertyDocStringInherited","sourceMapper","enclosingClass","declaredType","getTypeForDeclaration","fieldName","_getFunctionDocStringFromDeclaration","_getPropertyDocStringInherited","getModuleDocString","modules","_getModuleNodeDocString","getClassDocString","_getFunctionOrClassDeclsDocString","implDecls","getFunctionOrClassDeclDocString","getVariableDocString","docStrings","getVariableInStubFileDocStrings","doc","_getOverloadedFunctionDocStrings","Refactoring","annotatedParamCountMismatch","annotatedTypeArgMissing","annotationFormatString","annotationNotSupported","annotationSpansStrings","annotationStringEscape","argAssignment","argAssignmentFunction","argAssignmentParam","argAssignmentParamFunction","argMissingForParam","argMissingForParams","argMorePositionalExpectedCount","argMorePositionalExpectedOne","argPositional","argPositionalExpectedCount","argPositionalExpectedOne","argTypePartiallyUnknown","argTypeUnknown","assertAlwaysTrue","assignmentExprContext","assignmentExprComprehension","assignmentExprInSubscript","assignmentInProtocol","assignmentTargetExpr","asyncNotInAsyncFunction","awaitIllegal","awaitNotInAsync","backticksIllegal","baseClassCircular","baseClassInvalid","baseClassFinal","baseClassMethodTypeIncompatible","baseClassUnknown","bindTypeMismatch","booleanIsLowerCase","breakOutsideLoop","callableExtraArgs","callableFirstArg","callableSecondArg","casePatternIsIrrefutable","classAlreadySpecialized","classDecoratorTypeUnknown","classDefinitionCycle","classGetItemClsParam","classMethodClsParam","classNotRuntimeSubscriptable","classPatternBuiltInArgCount","classPatternBuiltInArgPositional","classPatternTypeAlias","classVarNotAllowed","classVarFirstArgMissing","classVarOverridesInstanceVar","classVarTooManyArgs","classVarWithTypeVar","clsSelfParamTypeMismatch","comparisonAlwaysFalse","comparisonAlwaysTrue","comprehensionInDict","comprehensionInSet","concatenateParamSpecMissing","concatenateTypeArgsMissing","constantRedefinition","constructorNoArgs","constructorParametersMismatch","continueInFinally","continueOutsideLoop","dataClassBaseClassNotFrozen","dataClassFieldWithDefault","dataClassPostInitParamCount","dataClassPostInitType","dataClassSlotsOverwrite","dataClassTransformExpectedBoolLiteral","dataClassTransformFieldDescriptor","dataClassTransformPositionalParam","dataClassTransformUnknownArgument","declaredReturnTypePartiallyUnknown","declaredReturnTypeUnknown","defaultValueContainsCall","defaultValueNotAllowed","defaultValueNotEllipsis","deprecatedType","dictExpandIllegalInComprehension","dictInAnnotation","dictKeyValuePairs","dictUnpackIsNotMapping","delTargetExpr","dunderAllSymbolNotPresent","duplicateArgsParam","duplicateBaseClass","duplicateCatchAll","duplicateEnumMember","duplicateImport","duplicateKwargsParam","duplicateKeywordOnly","duplicateParam","duplicateCapturePatternTarget","duplicateStarPattern","duplicateStarStarPattern","duplicatePositionOnly","duplicateUnpack","ellipsisContext","ellipsisSecondArg","enumClassOverride","exceptionGroupIncompatible","exceptionTypeIncorrect","exceptionTypeNotClass","exceptionTypeNotInstantiable","expectedAfterDecorator","expectedArrow","expectedAsAfterException","expectedAssignRightHandExpr","expectedBinaryRightHandExpr","expectedBoolLiteral","expectedCase","expectedClassName","expectedCloseBrace","expectedCloseBracket","expectedCloseParen","expectedColon","expectedComplexNumberLiteral","expectedDecoratorExpr","expectedDecoratorName","expectedDecoratorNewline","expectedDelExpr","expectedElse","expectedEqualityOperator","expectedExceptionClass","expectedExceptionObj","expectedExpr","expectedImport","expectedImportAlias","expectedImportSymbols","expectedIdentifier","expectedIndentedBlock","expectedIn","expectedInExpr","expectedFunctionAfterAsync","expectedFunctionName","expectedMemberName","expectedModuleName","expectedNameAfterAs","expectedNamedParameter","expectedNewline","expectedNewlineOrSemicolon","expectedOpenParen","expectedParamName","expectedPatternExpr","expectedPatternSubjectExpr","expectedPatternValue","expectedReturnExpr","expectedSliceIndex","expectedTypeNotString","expectedYieldExpr","finalClassIsAbstract","finalContext","finalMethodOverride","finalReassigned","finalRedeclaration","finalRedeclarationBySubclass","finalTooManyArgs","finalUnassigned","formatStringBrace","formatStringBytes","formatStringEscape","formatStringInPattern","formatStringIllegal","formatStringUnicode","formatStringUnterminated","functionDecoratorTypeUnknown","generatorAsyncReturnType","generatorNotParenthesized","generatorSyncReturnType","genericClassAssigned","genericClassDeleted","genericNotAllowed","genericTypeAliasBoundTypeVar","genericTypeArgMissing","genericTypeArgTypeVar","genericTypeArgUnique","globalReassignment","globalRedefinition","implicitStringConcat","importCycleDetected","importDepthExceeded","importResolveFailure","importSourceResolveFailure","importSymbolUnknown","incompatibleMethodOverride","inconsistentIndent","inconsistentTabs","initMustReturnNone","initSubclassClsParam","instanceMethodSelfParam","instanceVarOverridesClassVar","instantiateAbstract","instantiateProtocol","internalBindError","internalParseError","internalTypeCheckingError","invalidIdentifierChar","invalidStubStatement","invalidTokenChars","isInstanceInvalidType","isSubclassInvalidType","keyValueInSet","keywordArgInTypeArgument","keywordOnlyAfterArgs","keywordSubscriptIllegal","lambdaReturnTypeUnknown","lambdaReturnTypePartiallyUnknown","listAssignmentMismatch","listInAnnotation","literalUnsupportedType","literalEmptyArgs","literalNotCallable","matchIncompatible","matchIsNotExhaustive","maxParseDepthExceeded","memberAccess","memberDelete","memberSet","metaclassConflict","metaclassDuplicate","metaclassIsGeneric","methodNotDefined","methodNotDefinedOnType","methodOrdering","methodOverridden","methodReturnsNonObject","microbitVersionApiUnsupported","missingProtocolMembers","missingSuperCall","moduleAsType","moduleNotCallable","moduleUnknownMember","namedExceptAfterCatchAll","namedParamAfterParamSpecArgs","namedTupleEmptyName","namedTupleFirstArg","namedTupleMultipleInheritance","namedTupleNameType","namedTupleNameUnique","namedTupleNoTypes","namedTupleSecondArg","newClsParam","newTypeLiteral","newTypeNotAClass","newTypeProtocolClass","nonDefaultAfterDefault","noneNotCallable","noneNotIterable","noneNotSubscriptable","noneNotUsableWith","noneOperator","noneUnknownMember","nonLocalNoBinding","nonLocalReassignment","nonLocalRedefinition","nonLocalInModule","noOverload","noReturnContainsReturn","noReturnContainsYield","noReturnReturnsNone","notRequiredArgCount","notRequiredNotInTypedDict","objectNotCallable","obscuredClassDeclaration","obscuredFunctionDeclaration","obscuredMethodDeclaration","obscuredParameterDeclaration","obscuredVariableDeclaration","operatorLessOrGreaterDeprecated","optionalExtraArgs","orPatternIrrefutable","orPatternMissingName","overlappingOverload","overloadAbstractMismatch","overloadImplementationMismatch","overloadReturnTypeMismatch","overloadWithImplementation","overloadWithoutImplementation","paramAfterKwargsParam","paramAlreadyAssigned","paramAnnotationMissing","paramNameMissing","paramSpecArgsKwargsUsage","paramSpecArgsUsage","paramSpecAssignedName","paramSpecContext","paramSpecFirstArg","paramSpecKwargsUsage","paramSpecNotBound","paramSpecNotUsedByOuterScope","paramSpecUnknownArg","paramSpecUnknownMember","paramSpecUnknownParam","paramTypeCovariant","paramTypeUnknown","paramAssignmentMismatch","paramTypePartiallyUnknown","parenthesizedContextManagerIllegal","positionArgAfterNamedArg","privateImportFromPyTypedModule","positionOnlyAfterArgs","positionOnlyAfterKeywordOnly","positionOnlyIncompatible","positionOnlyFirstParam","privateUsedOutsideOfClass","privateUsedOutsideOfModule","propertyOverridden","propertyStaticMethod","protectedUsedOutsideOfClass","protocolBaseClass","protocolIllegal","protocolMemberNotClassVar","protocolNotAllowedInTypeArgument","protocolUsedInCall","protocolVarianceContravariant","protocolVarianceCovariant","protocolVarianceInvariant","recursiveDefinition","relativeImportNotAllowed","requiredArgCount","requiredNotInTypedDict","returnMissing","returnOutsideFunction","returnTypeContravariant","returnTypeMismatch","returnTypeUnknown","returnTypePartiallyUnknown","revealLocalsArgs","revealLocalsNone","revealTypeArgs","revealTypeExpectedTextArg","revealTypeExpectedTextMismatch","revealTypeExpectedTypeMismatch","selfTypeContext","selfTypeWithTypedSelfOrCls","setterGetterTypeMismatch","starPatternInAsPattern","starPatternInOrPattern","singleOverload","slotsAttributeError","slotsClassVarConflict","starStarWildcardNotAllowed","staticClsSelfParam","strictTypeGuardReturnType","stringNonAsciiBytes","stringNotSubscriptable","stringUnsupportedEscape","stringUnterminated","stubFileMissing","stubUsesGetAttr","sublistParamsIncompatible","superCallArgCount","superCallFirstArg","superCallSecondArg","superCallZeroArgForm","symbolIsUnbound","symbolIsUndefined","symbolIsPossiblyUnbound","symbolOverridden","totalOrderingMissingMethod","trailingCommaInFromImport","tryWithoutExcept","tupleAssignmentMismatch","tupleInAnnotation","tupleIndexOutOfRange","typeAliasIsRecursiveDirect","typeAliasIsRecursiveIndirect","typeAliasNotInModuleOrClass","typeAliasRedeclared","typeAnnotationCall","typeAnnotationVariable","typeArgListExpected","typeArgListNotAllowed","typeArgsExpectingNone","typeArgsMissingForAlias","typeArgsMissingForClass","typeArgsTooFew","typeArgsTooMany","typeAssignmentMismatch","typeCallNotAllowed","typedDictBadVar","typedDictBaseClass","typedDictEmptyName","typedDictEntryName","typedDictEntryUnique","typedDictExtraArgs","typedDictFirstArg","typedDictSecondArgDict","typedDictSecondArgDictEntry","typedDictTotalParam","typeExpectedClass","typeGuardArgCount","typeNotAwaitable","typeNotCallable","typeNotIntantiable","typeNotIterable","typeNotSpecializable","typeNotSubscriptable","typeNotUsableWith","typeNotSupportBinaryOperator","typeNotSupportBinaryOperatorBidirectional","typeNotSupportUnaryOperator","typeNotSupportUnaryOperatorBidirectional","typePartiallyUnknown","typeUnknown","typeVarAssignedName","typeVarAssignmentMismatch","typeVarBoundAndConstrained","typeVarFirstArg","typeVarGeneric","typeVarNoMember","typeVarNotSubscriptable","typeVarNotUsedByOuterScope","typeVarSingleConstraint","typeVarsNotInGeneric","typeVarTupleMustBeUnpacked","typeVarTupleContext","typeVarUnknownParam","typeVarUsedByOuterScope","typeVarUsedOnlyOnce","typeVarVariance","unaccessedClass","unaccessedFunction","unaccessedImport","unaccessedSymbol","unaccessedVariable","unexpectedAsyncToken","unexpectedExprToken","unexpectedIndent","unexpectedUnindent","unionSyntaxIllegal","unionTypeArgCount","uninitializedInstanceVariable","unnecessaryCast","unnecessaryIsInstanceAlways","unnecessaryIsSubclassAlways","unnecessaryTypeIgnore","unpackArgCount","unpackedArgInTypeArgument","unpackedArgWithVariadicParam","unpackedDictArgumentNotMapping","unpackedSubscriptIllegal","unpackedTypedDictArgument","unpackedTypeVarTupleExpected","unpackExpectedTypedDict","unpackExpectedTypeVarTuple","unpackIllegalInComprehension","unpackInAnnotation","unpackInDict","unpackInSet","unpackNotAllowed","unpackOperatorNotAllowed","unpackTuplesIllegal","unreachableCode","unreachableExcept","unsupportedDunderAllOperation","unusedCallResult","unusedCoroutine","varAnnotationIllegal","variadicTypeArgsTooMany","variadicTypeParamTooManyAlias","variadicTypeParamTooManyClass","walrusIllegal","walrusNotAllowed","wildcardInFunction","wildcardLibraryImport","yieldFromIllegal","yieldFromOutsideAsync","yieldOutsideFunction","yieldTypeMismatch","yieldWithinListCompr","zeroCaseStatementsFound","zeroLengthTupleNotAllowed","argParam","argParamFunction","argsParamMissing","argsPositionOnly","argumentType","argumentTypes","assignToNone","asyncHelp","baseClassProvidesType","dataClassFrozen","dataClassFieldLocation","finalMethod","functionParamDefaultMissing","functionParamName","functionReturnTypeMismatch","functionTooFewParams","incompatibleGetter","incompatibleSetter","incompatibleDeleter","initMethodLocation","initMethodSignature","functionTooManyParams","kwargsParamMissing","literalAssignmentMismatch","matchIsNotExhaustiveType","matchIsNotExhaustiveHint","memberAssignment","memberIsAbstract","memberIsAbstractMore","memberIsFinalInProtocol","memberIsInitVar","memberIsNotFinalInProtocol","memberSetClassVar","memberUnknown","missingProtocolMember","missingGetter","missingSetter","missingDeleter","namedParamMissingInDest","namedParamMissingInSource","namedParamTypeMismatch","newMethodLocation","newMethodSignature","noOverloadAssignable","overloadMethod","overloadNotAssignable","overriddenMethod","overriddenSymbol","overrideParamCount","overrideParamName","overrideParamNamePositionOnly","overrideParamType","overrideReturnType","overrideType","paramAssignment","paramSpecOverload","privateImportFromPyTypedSource","propertyAccessFromProtocolClass","propertyMethodIncompatible","propertyMethodMissing","propertyMissingDeleter","propertyMissingSetter","protocolMemberClassVar","protocolIncompatible","protocolMemberMissing","protocolSourceIsNotConcrete","readOnlyAttribute","seeDeclaration","seeClassDeclaration","seeFunctionDeclaration","seeMethodDeclaration","seeParameterDeclaration","seeVariableDeclaration","tupleEntryTypeMismatch","tupleSizeMismatch","tupleSizeMismatchIndeterminate","typeBound","typeConstrainedTypeVar","typedDictFieldTypeMismatch","typedDictFieldUndefined","typedDictFinalMismatch","typeIncompatible","typeNotClass","typeParamSpec","typeOfSymbol","typeUnsupported","typeVarIsContravariant","typeVarIsCovariant","typeVarIsInvariant","typeVarTupleRequiresKnownLength","typeVarNotAllowed","typeVarsMissing","useDictInstead","useListInstead","useTupleInstead","useTypeInstead","addOptionalToAnnotation","createTypeStub","createTypeStubFor","executingCommand","filesToAnalyzeOne","filesToAnalyzeCount","findingReferences","organizeImports","moveFile","moveFileLabel","moveFileDescription","singleTickRegEx","escapedDoubleQuoteRegEx","printTypeFlags","returnTypeCallback","recursionTypes","parenthesizeUnion","parenthesizeCallable","expandTypeAlias","argumentStrings","tupleTypeArg","includeConditionalIndicator","getConditionalIndicator","printLiteralValue","paramSignature","fullSignature","subtypeHandledSet","subtypeStrings","updatedPrintTypeFlags","matchedAllSubtypes","allSubtypesPreviouslyHandled","indicesCoveredByTypeAlias","sourceSubtype","unionSubtypeIndex","foundMatch","unionSubtype","noneIndex","typeWithoutNone","optionalType","literalObjectStrings","literalClassStrings","dedupedSubtypeStrings","literalStrings","unionString","boundTypeString","quotation","literalStr","objName","lastTypeParam","typeArgStrings","isAllAny","typeArgText","typeArgTypeText","paramTypeStrings","sawDefinedName","specializedParamType","paramString","defaultValueAssignment","isParamSpecArgsKwargsParam","paramTypeString","defaultValueExpression","returnTypeString","DocumentSymbolCollector","_symbolName","_cancellationToken","_startingNode","_treatModuleInImportAndFromImportSame","_results","_dunderAllNameNodes","_setDunderAllNodes","cancellationToken","startingNode","declarations","getDeclarationsForNode","collect","resolveLocalName","_getDeclarationsForNode","resolvedDeclarations","_addIfUnique","_resultsContainsDeclaration","_addResult","quoteMarkLength","hasEnding","getStringValueRange","getStringNodeValueRange","resolvedDeclNonlocal","_getResolveAliasDeclaration","isAliasDeclFromImportAsWithAlias","moduleScope","stringNodes","stringNode","symbolInScope","lookUpSymbolRecursive","itemToAdd","aliasDecl","isImportAsWithAlias","symbolWithScope","getOverloadedFunctionTooltip","columnThreshold","getFunctionDocStringFromType","_getFunctionDocString","memberIterator","classMember","inheritedDecl","getFunctionDocStringInherited","getOverloadedFunctionDocStringsFromType","resolvedDecls","declType","getOverloadedFunctionDocStringsInherited","getDocumentationPartsForTypeAndDecl","Keywords","SortCategory","python3_5","python3_10","forVersion","V3_5","dictionaryKeyDetail","CompletionProvider","_workspacePath","_parseResults","_fileContents","_position","_filePath","_importLookup","_sourceMapper","_autoImportMaps","_insideStringLiteral","findExecEnvironment","getCompletionsForPosition","initialNode","initialDepth","curOffset","sawComma","curChar","lineTextRange","textOnLine","priorText","postText","priorWordIndex","priorWord","_isWithinComment","errorNode","_getLiteralCompletions","_getImportModuleCompletions","_getExpressionErrorCompletions","_getMemberAccessCompletions","completionMap","CompletionMap","_addTypedDictKeys","dictionaryEntry","dictionaryNode","trailingCommaToken","_tryGetNameCompletions","_getImportFromCompletions","_getExpressionCompletions","_getStatementCompletions","resolveCompletionItem","completionItem","completionItemData","autoImportText","curIndex","_mostRecentCompletions","symbolLabel","_itemToResolve","completionResults","_addAutoImportCompletions","_isOverload","_getMethodOverloadsCompletions","tokenIndex","prevToken","getTokenAfter","_createSingleKeywordCompletion","_getMethodOverrideCompletions","_checkDecorator","_makeSortText","LikelyKeyword","partialName","getSymbolTable","funcParensDisabled","enclosingFunc","_createReplaceEdits","_addSymbol","staticmethod","classmethod","isDeclaredStaticMethod","isDeclaredClassMethod","methodSignature","_printMethodSignature","_printOverriddenMethodBody","snippet","replaceOrInsertEndChar","ellipsisForDefault","printFlags","paramList","paramTypeAnnotation","getTypeAnnotationForParameter","isSimpleDefault","sb","results","keywordOnly","parameter","getParameters","leftExprNode","memberAccessInfo","leftType","makeTopLevelTypeVarsConcrete","getMembersForModule","functionClass","objectClass","_addSymbolsForSymbolTable","_getLastKnownModule","curType","unknownMemberName","moduleNamesForType","lastKnownModule","lastKnownMemberName","parseNode","isIndexArgument","_isIndexArgument","_addCallArgumentCompletions","_addSymbols","_findMatchingKeywords","lazyEdit","_tryAddTypedDictStringLiteral","declaredTypeOfTarget","getExpectedType","_addLiteralValuesForTargetType","indexNode","_getIndexerKeys","_addNameToCompletions","LiteralValue","itemDetail","currentNode","atArgument","callInfo","signatureInfo","getCallSignatureInfo","callNameEnd","_addNamedParameters","_addLiteralValuesForArgument","signatures","signature","activeParam","quoteValue","_getQuoteValueFromPriorText","_getSubTypesWithLiteralValues","quoteCharacter","stringValue","_addStringLiteralToCompletions","_getDictExpressionStringKeys","excludeIds","getDictionaryLikeNode","_getIndexerKeyType","getItemType","invocationNode","predominantSingleQuoteCharacter","scopeRoot","collectFromNode","dictionary","quote","indexArgument","expectedTypeResult","stringParent","dictOrSet","stringLiteral","keyWithoutQuote","typedDicts","_tryNarrowTypedDicts","excludes","typedDict","newTypes","lastSingleQuote","lastDoubleQuote","priorString","valueWithQuotes","rangeStartCol","rangeEndCol","similarityLimit","autoImportCompletions","autoImport","moduleSymbolMap","getModuleSymbolsMap","autoImporter","AutoImporter","libraryMap","nameMap","getAutoImportCandidatesForAbbr","getAutoImportCandidates","perfInfo","getPerfInfo","additionDuration","autoImportSource","autoImportAlias","insertionText","_getAutoImportText","autoImportInfo","indexUsed","totalTimeInMS","totalInMs","moduleTimeInMS","indexTimeInMS","importAliasTimeInMS","itemCount","symbolCount","indexCount","importAliasCount","additionTimeInMS","importFromNode","lookupResults","imp","implImport","keywordList","partialMatch","argNameMap","_addNamedParametersToMap","argName","workspacePath","NamedParameter","paramMap","includeSymbolCallback","isInImport","boundObjectOrClass","isDefinedInFile","primaryDecl","itemKind","_convertDeclarationTypeToItemKind","typeDetail","altDetail","bindFunctionToClassOrObject","propertyType","getGetterTypeFromProperty","printSimplifiedFunctionSignature","markdownString","plainTextString","importAlias","getAutoImportText","matchKindAndImportText","AutoImport","DunderSymbol","PrivateSymbol","NormalSymbol","insertTextFormat","te","_getRecentListIndex","sortCategory","recentListIndex","RecentAutoImport","ImportModuleName","RecentImportModuleName","RecentKeywordOrSymbol","_formatInteger","digits","charCodeZero","digit","resolvedDeclaration","intrinsicType","isConstant","_isPossiblePropertyDeclaration","getTypeOfFunction","decoratedType","completions","missingImportKeyword","completionName","_completions","existing","autImportText","toArray","_kind","_autoImportText","_execEnvironment","_invocationPosition","_excludes","_moduleSymbolMap","_stopWatch","_perfInfo","_importStatements","abbr","abbrInfo","_getCandidates","word","abbrFromUsers","resultMap","importAliasMap","_addImportsFromModuleMap","_addImportsFromLibraryMap","_addImportsFromImportAliasMap","aliasMap","indexResults","privateOrProtected","isStubFileOrHasInit","_isStubFileOrHasInit","_processModuleSymbolTable","createModuleSymbolTableFromIndexResult","topLevelSymbols","initPathPy","initPathPyi","isStub","hasInit","isStubOrHasInit","importSource","_getImportPartsForSymbols","dotCount","autoImportSymbol","library","_perfIndexCount","_shouldIncludeVariable","_isSimilar","_containsName","_addToImportAliasMap","importParts","autoImportTextEdits","_getTextEditsForAutoImportByFilePath","convertSymbolKindToCompletionItemKind","_getImportParts","modulePath","originalName","allowVariableInAll","mapPerSymbolName","importAliasData","imported","existingData","_compareImportAliasData","groupComparison","dotComparison","_getModuleNameAndTypeFromFilePath","importNamePart","createImportParts","patternMatcher","_shouldExclude","labelOnlyIgnoringAutoImports","importNode","symbols","externallyVisible","CallHierarchyProvider","getSymbolKind","incomingCalls","FindIncomingCallTreeWalker","findCalls","parseRoot","initMethodMember","initMethodType","getTypeOfMember","initDecls","primaryInitDecl","outgoingCalls","FindOutgoingCallTreeWalker","targetDecl","_parseRoot","_outgoingCalls","nameNode","_addOutgoingCallForDeclaration","leftHandType","memberInfo","memberType","propertyDecls","callDest","outgoingCall","outgoing","fromRanges","fromRange","_declaration","_incomingCalls","_addIncomingCallForDeclaration","executionNode","callSource","moduleRange","lambdaRange","functionRange","incomingCall","incoming","symbolKind","ReferencesResult","requiresGlobalSearch","nodeAtOffset","_reporter","_locations","addLocations","locs","FindReferencesTreeWalker","_referencesResult","_includeDeclaration","findReferences","rootNode","collector","ReferencesProvider","reporter","evalScope","getDeclarationForNode","referencesResult","includeDeclaration","refTreeWalker","UpdateType","PythonPlatform","DefinitionFilter","Comment","Token","IndentToken","DedentToken","NewLineToken","KeywordToken","StringToken","NumberToken","OperatorToken","IdentifierToken","RenameModuleProvider","_fs","_moduleFilePath","newModuleFilePath","_moduleNameAndType","_newModuleNameAndType","_aliasIntroduced","_newModuleFilePath","_moduleNames","_moduleName","_newModuleNames","_newModuleName","_onlyNameChanged","importResolver","newPath","_create","oldDirectory","newDirectory","getDirectoryChangeKind","fileNameForPackage","filteredDecls","moduleFilePath","tokenOrDeclarations","newModuleName","renameReferences","_renameFolderReferences","_renameModuleReferences","_updateSymbolReferences","nameRemoved","importUsed","nodeFound","fromNode","_getNewModuleName","_addResultWithTextRange","_addFromImportNameDeletion","_addResultEdits","_getTextEditsForNewOrExistingFromImport","dottedName","moduleDecl","referenceModuleName","_canReplaceImportName","_getReferenceModuleName","_addImportNameDeletion","_newLastModuleName","fromImportAs","symbolReferences","nameToBind","lastModuleName","_updateModuleReferences","_updateRelativeModuleNamePath","_getNewRelativeModuleNamesForFileMoved","ModuleNameCollector","itemsToMove","moduleNameNode","exportedSymbols","subModules","_isExportedSymbol","nextNameDecl","moduleNames","originalInit","originalDirectory","newNames","_getNewModuleNameInfoForFileMoved","dest","submoduleFallback","currentFilePath","isRelativePath","isLastPartImportName","dotPrefix","getEdits","importToDelete","_addImportNameDeletionInternal","importKind","nameNodes","nameNodeIndex","editSpan","getTextRangeForImportNameDeletion","lastImportIndexNotDeleted","_addResultWithRange","statementNode","tokenPosition","currentIndex","tokenRange","_getEndPositionIfMultipleStatementsAreOnSameLine","getFullStatementRange","newName","_getDeletionsForSpan","filePathOrEdit","_removeEdits","deletions","currentFromImport","CircularDependency","_paths","appendPath","getPaths","normalizeOrder","firstIndex","isEqual","circDependency","getWellformedRange","addedLineOffsets","computeLineOffsets","isAtLineStart","textOffset","getWellformedEdit","spans","ExecutionEnvironment","defaultPythonVersion","defaultPythonPlatform","defaultExtraPaths","pythonPlatform","getBooleanDiagnosticRules","includeNonOverridable","boolRules","strictListInference","strictSetInference","strictDictionaryInference","strictParameterNoneValue","enableTypeIgnoreComments","getDiagLevelDiagnosticRules","reportPropertyTypeMismatch","reportFunctionMemberAccess","reportMissingImports","reportMissingModuleSource","reportMissingTypeStubs","reportImportCycles","reportUnusedImport","reportUnusedClass","reportUnusedFunction","reportUnusedVariable","reportDuplicateImport","reportWildcardImportFromLibrary","reportOptionalSubscript","reportOptionalMemberAccess","reportOptionalCall","reportOptionalIterable","reportOptionalContextManager","reportOptionalOperand","reportUntypedFunctionDecorator","reportUntypedClassDecorator","reportUntypedBaseClass","reportUntypedNamedTuple","reportPrivateUsage","reportPrivateImportUsage","reportConstantRedefinition","reportIncompatibleMethodOverride","reportIncompatibleVariableOverride","reportInconsistentConstructor","reportOverlappingOverload","reportMissingSuperCall","reportUninitializedInstanceVariable","reportInvalidStringEscapeSequence","reportUnknownParameterType","reportUnknownArgumentType","reportUnknownLambdaType","reportUnknownVariableType","reportUnknownMemberType","reportMissingParameterType","reportMissingTypeArgument","reportInvalidTypeVarUse","reportCallInDefaultInitializer","reportUnnecessaryIsInstance","reportUnnecessaryCast","reportUnnecessaryComparison","reportAssertAlwaysTrue","reportSelfClsParameterName","reportImplicitStringConcatenation","reportUndefinedVariable","reportUnboundVariable","reportInvalidStubStatement","reportIncompleteStub","reportUnsupportedDunderAll","reportUnusedCallResult","reportUnusedCoroutine","reportUnnecessaryTypeIgnoreComment","reportMatchNotExhaustive","reportMicrobitVersionApiUnsupported","ConfigOptions","projectRoot","typeCheckingMode","include","exclude","ignore","strict","indexing","logTypeEvaluationTime","typeEvaluationTimeThreshold","initializedFromJson","analyzeUnannotatedFunctions","executionEnvironments","getDiagnosticRuleSet","printUnknownAsAny","omitTypeArgsIfAny","omitUnannotatedParamType","omitConditionalConstraint","pep604Printing","getDefaultExecEnvironment","envRoot","getExecutionEnvironments","initializeFromJson","configObj","diagnosticOverrides","skipIncludeSection","configTypeCheckingMode","useLibraryCodeForTypes","defaultSettings","applyDiagnosticOverrides","ruleName","_convertBoolean","_convertDiagnosticLevel","pathIndex","ensureDefaultPythonVersion","ensureDefaultPythonPlatform","typingsPath","verboseOutput","_initExecutionEnvironmentFromJson","getPythonPlatform","getPythonVersion","ensureDefaultExtraPaths","autoSearchPaths","diagnosticSeverityOverrides","envObj","newExecEnv","DiagnosticSink","_diagnosticList","_diagnosticMap","fetchAndClear","prevDiagnostics","addWarning","addInformation","addUnusedCode","addDeprecated","addDiagnostics","diagsToAdd","getErrors","getWarnings","getInformation","getUnusedCode","getDeprecated","TextRangeDiagnosticSink","addDiagnosticWithTextRange","positionRange","addUnusedCodeWithTextRange","addDeprecatedWithTextRange","TextRangeCollection","_items","lastItem","DefinitionProvider","definitions","_resolveDeclarations","All","preferStubs","PreferStubs","wantedFile","isUnresolved","_createModuleEntry","importLookup","resolveLocalNames","allowExternallyHiddenAccess","curDeclaration","alreadyVisited","privatePyTypedImported","privatePyTypedImporter","isPrivate","lookupResult","unvisitedDecls","DocumentSymbolProvider","symbolList","appendWorkspaceSymbolsRecursive","indexSymbols","indexingForAutoImportMode","appendDocumentSymbolsRecursive","indexSymbolData","collectSymbolIndexData","container","symbolData","symbolInfo","getContainerName","isInPyTypedPackage","aliasData","resolvedInfo","nameValue","getIndexAliasData","collectSymbolIndexDataForName","appendToFlatSymbolsRecursive","flatSymbols","documentUri","flatSymbol","ImportSorter","sortedStatements","aImportGroup","bImportGroup","compareImportStatements","primaryRange","_getPrimaryReplacementRange","_generateSortedImportText","_addSecondaryReplacementRanges","statementLimit","lastStatement","secondaryBlockStart","secondaryBlockLimit","curImportType","importLine","_formatImportNode","_formatImportFromNode","_compareSymbols","symbolText","cumulativeText","predominantTabSequence","getUnescapedString","stringToken","escapedString","isRaw","isFormat","unescapeErrors","nonAsciiInBytes","formatStringSegments","charCodes","isBytes","formatExpressionNestCount","formatSegment","valueParts","isExpression","hasFormatSpecifier","strOffset","addInvalidEscapeOffset","errorType","getEscapedCharacter","scanHexEscape","digitCount","foundIllegalHexDigit","hexValue","localValue","charCode","_isHexCharCode","_getHexDigitValue","appendOutputChar","incomplete","segment","foundIllegalChar","charCount","lookaheadChar","_isAlphaNumericChar","_isOctalCharCode","octalCode","quoteChar","isTriplicate","strChar","CharacterStream","_text","_currentChar","_isEndOfStream","_checkBounds","getCurrentChar","isEndOfStream","lookAhead","advance","moveNext","isAtWhiteSpace","currentChar","isAtLineBreak","skipLineBreak","skipWhitespace","skipToEol","skipToWhitespace","indentAmount","isIndentAmbiguous","matchesIndent","isDedentAmbiguous","newLineType","prefixLength","operatorType","_keywords","_operatorInfo","Tokenizer","_cs","_tokens","_prevLineStart","_parenDepth","_lineRanges","_indentAmounts","_typeIgnoreLines","_crCount","_crLfCount","_lfCount","_indentCount","_indentTabCount","_indentSpacesTotal","_singleQuoteCount","_doubleQuoteCount","_ipythonMode","tokenize","initialParenDepth","ipythonMode","_readIndentationAfterNewLine","_addNextToken","_getComments","_setIndent","_addLineRange","averageSpacePerIndent","typeIgnoreLines","typeIgnoreAll","_typeIgnoreAll","_handleCharacter","stringPrefixLength","_getStringPrefixLength","stringPrefix","quoteTypeFlags","_getQuoteTypeFlags","_handleString","_handleComment","_isIPythonMagics","_handleIPythonMagics","_handleInvalid","_handleNewLine","_isPossibleNumber","_tryNumber","_tryIdentifier","_tryOperator","lineLength","tab1Spaces","tab8Spaces","isTabPresent","isSpacePresent","prevTabInfo","dedentPoints","dedentAmount","actualDedentAmount","swallowRemainingChars","radix","leadingChars","simpleIntText","intValue","bigIntValue","isDecimalInteger","mightBeFloatingPoint","_skipFloatingPointCandidate","parseFloat","prevComments","_comments","comment","_addComments","regexMatch","textRange","stringLiteralInfo","_skipToEndOfStringLiteral","escapedValueParts","_skipFractionalNumber","_skipDecimalNumber","allowSign","ParseOptions","skipFunctionAndClassBody","maxChildNodeDepth","_tokenIndex","_areErrorsSuppressed","_parseOptions","_diagSink","_isInLoop","_isInFunction","_isInFinally","_isParsingTypeAnnotation","_isParsingIndexTrailer","_futureImportMap","_importedModules","_containsWildcardImport","_assignmentExpressionsAllowed","_typingImportAliases","_typingSymbolAliases","parseSourceFile","fileContents","parseOptions","diagSink","_startNewParse","_atEof","_consumeTokenIfType","nextToken","_peekToken","_getNextToken","indentToken","_addError","_parseStatement","_consumeTokensUntilType","_tokenizerOutput","importedModules","futureImports","containsWildcardImport","typingSymbolAliases","parseTextExpression","textLength","parseTextMode","_parseTypeAnnotation","_parseFunctionTypeAnnotation","exprListResult","_parseTestOrStarExpressionList","parseError","_makeExpressionOrTuple","_peekTokenType","tokenizer","_peekKeywordType","_parseIfStatement","_parseWhileStatement","_parseForStatement","_parseTryStatement","_parseWithStatement","_parseFunctionDef","_parseClassDef","_parseAsyncStatement","peekToken","isInvalidMatchToken","matchStatement","_parseMatchStatement","_peekOperatorType","_parseDecorated","_parseSimpleStatement","asyncToken","_getKeywordToken","smellsLikeMatchStatement","_suppressErrors","curTokenIndex","_parseTestOrStarListAsExpression","matchNode","possibleIndent","caseStatement","_parseCaseStatement","dedentToken","_getLanguageVersion","caseNode","_consumeTokenIfKeyword","patternList","_parsePatternSequence","casePattern","_parseTestExpression","_parseSuite","_isPatternIrrefutable","_getPatternTargetNames","subpattern","mapEntry","_parseExpressionListGeneric","_parsePatternAs","starEntries","captureTargetMap","asPattern","patternAtom","_parsePatternAtom","_consumeTokenIfOperator","_getTokenIfIdentifier","orPattern","fullNameMap","localNameMap","missingNames","patternLiteral","_parsePatternLiteral","patternCaptureOrValue","_parsePatternCaptureOrValue","_parseClassPatternArgList","classNameExpr","classPattern","identifierToken","endToken","mappingPattern","_parsePatternMapping","lastToken","_handleExpressionParseError","sawKeywordArg","nextTokenType","_parseClassPatternArgument","secondToken","keywordName","nextOperator","_parsePatternLiteralNumber","stringList","_parseAtom","stringAtom","keywordToken","_parseArithmeticExpression","realValue","imagValue","itemList","_parsePatternMappingItem","starStarEntries","doubleStar","nameOrMember","ifNode","_parseLoopSuite","wasInLoop","wasInFinally","skipBody","postColonCallback","wasFunction","targetExpr","_parseExpressionListAsPossibleTuple","seqExpr","V3_9","sawStar","forNode","_tryParseListComprehension","compFor","_tryParseCompForStatement","listCompNode","forIfList","compIter","_tryParseCompIfStatement","comp","startTokenKeywordType","_disallowAssignmentExpression","_parseOrTest","compForNode","ifExpr","_tryParseLambdaExpression","_parseAssignmentExpression","whileNode","tryNode","sawCatchAllExcept","possibleStarToken","typeExpr","V3_11","exceptNode","_parseVarArgsList","functionTypeAnnotationToken","_getTypeAnnotationCommentText","_parseFunctionTypeAnnotationComment","terminator","allowAnnotations","sawDefaultParam","reportedNonDefaultParamErr","sawPositionOnlySeparator","sawKwArgs","_parseParameter","foundComma","_parseVariableTypeAnnotationComment","starCount","slashCount","V3_8","sublistStart","paramNode","withItemList","possibleParen","isParenthesizedWithItemList","openParenTokenIndex","_parseWithItem","withSuite","withNode","withItem","itemNode","_parseExpression","decoratorList","_parseDecorator","atOperator","isSupportedExpressionForm","_isNameOrMemberAccessExpression","decoratorNode","_parseArgList","_parsePassStatement","_parseBreakStatement","breakToken","_parseContinueStatement","continueToken","_parseReturnStatement","returnToken","returnNode","_isNextTokenNeverExpression","returnExpr","_reportConditionalErrorForStarTupleElement","_parseFromStatement","modName","_parseDottedModuleName","isFutureImport","possibleInputToken","wildcardToken","inParen","importFromAsNode","isTypingImport","firstNamePartValue","typingSymbolsOfInterest","_parseImportStatement","importToken","aliasToken","allowJustDots","_getTokenIfType","identifier","namePart","_parseGlobalStatement","globalToken","globalNode","_parseNameList","_parseNonlocalStatement","nonlocalToken","nonlocalNode","_parseRaiseStatement","raiseToken","raiseNode","_parseAssertStatement","assertNode","exceptionExpr","_parseDelStatement","_parseExpressionList","delNode","_parseYieldExpression","V3_3","exprList","_tryParseYieldExpression","invalidToken","firstCharCode","smallStatement","_parseSmallStatement","_parseExpressionStatement","tupleStartRange","tupleNode","errorCategory","errorString","errorToken","_parseTestListAsExpression","_parseTestExpressionList","allowAssignmentExpression","allowMultipleUnpack","allowStar","_parseTestOrStarExpression","allowUnpack","_parseBitwiseOrExpression","_parseLambdaExpression","testExpr","elseExpr","disallowAssignmentExpression","leftExpr","walrusToken","rightExpr","_parseAndTest","_createBinaryOperationNode","_parseNotTest","notToken","notExpr","_createUnaryOperationNode","_parseComparison","comparisonOperator","isOperatorComparison","tokenAfterNot","_parseBitwiseXorExpression","_parseBitwiseAndExpression","_parseShiftExpression","_parseArithmeticTerm","_parseArithmeticFactor","_parseAtomExpression","_isTypingAnnotation","baseName","atomExpression","startOfTrailerToken","wasParsingTypeAnnotation","argListResult","isArgListTerminated","wasParsingIndexTrailer","subscriptList","_parseSubscriptList","closingToken","startOfSubscriptIndex","nameIdentifier","valueExpr","_parsePossibleSlice","nameExpr","argNode","unpackAllowed","sliceExpressions","sliceIndex","sawColon","sliceNode","_parseArgument","listComp","_parseStringList","expressionNode","possibleTupleNode","_parseTupleAtom","listNode","_parseListAtom","dictNode","_parseDictionaryOrSetAtom","keywordAsIdentifier","errorMsg","targetToken","childNode","additionalStopTokens","stopTokens","allowConditional","lambdaNode","startParen","yieldExpr","_parseTestListWithComprehension","tupleOrExpression","startBracket","closeBracket","_createList","listAtom","sawComprehension","startBrace","dictionaryEntries","setEntries","isDictionary","isSet","sawListComprehension","isFirstEntry","doubleStarExpression","keyEntryNode","dictEntry","listEntryNode","expandEntryNode","missingValueErrorNode","closeCurlyBrace","setAtom","dictionaryAtom","terminalCheck","finalEntryCheck","annotationExpr","V3_6","isTypeAliasDeclaration","_parseChainAssignments","isOperatorAssignment","destExpr","assignmentNode","paramAnnotation","isUnpack","_reportStringTokenErrors","unescapedResult","_makeStringNode","curToken","typeString","tokenOffset","stringListNode","functionAnnotation","_parseFormatStringSegment","segmentOffset","segmentLength","textRangeStart","_parseFormatString","formatExpressions","segmentExprLength","_getFormatStringExpressionLength","formatDirective","braceDepth","startOfExprOffset","formatSegmentLength","segmentValue","quoteStack","indexOfDebugEqual","braceCount","parenCount","bracketCount","ignoreSeparator","inString","quoteSequence","unescapedString","possibleTupleExpr","wasAllowed","keywordText","terminators","term","errorsWereSuppressed","Scope","notLocalBindings","getGlobalScope","curScope","isIndependentlyExecutable","isOutsideCallerModule","isBeyondExecutionScope","isDefinedByMemberAccess","parentScope","addSymbol","getBindingType","setBindingType","bindingType","setSlotsNames","slotsNames","getSlotsNames","evaluateStaticBoolExpression","typingImportAliases","sysImportAliases","evaluateStaticBoolLikeExpression","leftValue","rightValue","_isSysVersionInfoExpression","comparisonVersion","majorVersion","minorVersion","_convertTupleToVersion","_evaluateNumericBinaryOperation","_isSysPlatformInfoExpression","comparisonPlatform","expectedPlatformName","Darwin","Windows","Linux","_getExpectedPlatformNameFromPlatform","_evaluateStringBinaryOperation","_isOsNameInfoExpression","comparisonOsName","expectedOsName","_getExpectedOsNameFromPlatform","Binder","_moduleSymbolOnly","_deferredBindingTasks","_currentExceptTargets","_finallyTargets","_sysImportAliases","_dataclassesImportAliases","_dataclassesSymbolAliases","_dunderAllStringNodes","_usesUnsupportedDunderAllForm","_isInExceptSuite","_potentialHiddenSymbols","_potentialPrivateSymbols","_functionCodeFlowComplexity","_fileInfo","bindModule","isBuiltInModule","builtinsScope","_createNewScope","_currentScope","_currentFlowNode","_addImplicitSymbolToCurrentScope","_createStartFlowNode","_walkStatementsAndReportUnreachable","_currentScopeCodeFlowExpressions","_bindDeferred","_dunderAllNames","usesUnsupportedDunderAllForm","_addDiagnostic","diagnostic","createTypeStubAction","classDeclaration","_bindNameToScope","_createAssignmentTargetFlowNodes","containingClassNode","functionDeclaration","_getNonClassParentScope","_deferBinding","paramDeclaration","_createFlowAssignment","_targetFunctionDeclaration","_currentReturnTarget","_createBranchLabel","_addAntecedent","returnFlowNode","_finishFlowLabel","complexity","codeFlowComplexity","_disableTrueFalseTargets","_createCallFlowNode","emitDunderAllWarning","argExpr","namesToAdd","_getDunderAllNamesFromImport","_handleTypingStubAssignmentOrAnnotation","_bindPossibleTupleNamedTarget","_addTypeDeclarationForVariable","isPossibleTypeAlias","isTypingStubFile","_addInferredTypeAssignmentForVariable","tupleEntryNode","dunderSlotsNames","isExpressionUnderstood","_addSlotsToCurrentScope","evaluationNode","containerScope","_createVariableAnnotationFlowNode","expressionList","_isNarrowingExpression","referenceKey","preForLabel","_createLoopLabel","preElseLabel","postForLabel","_bindLoopStatement","enclosingFunction","_currentContinueTarget","_unreachableFlowNode","_currentBreakTarget","returnStatements","_isInListComprehension","_bindYield","preIfFlowNode","thenLabel","elseLabel","postIfLabel","affectedExpressions","_trackCodeFlowExpressions","constExprValue","executionEnvironment","_bindConditional","_bindNeverCondition","postWhileLabel","preLoopLabel","assertTrueLabel","assertFalseLabel","wasInExceptSuite","raiseStatements","preTryFlowNode","curExceptTargets","preFinallyLabel","isAfterElseAndExceptsReachable","preFinallyReturnOrRaiseLabel","preFinallyGate","PreFinallyGate","antecedent","isGateClosed","except","exceptLabel","_useExceptTargets","_isCodeUnreachable","postFinallyNode","PostFinally","finallyNode","isIPythonMode","globalScope","valueWithScope","_createAliasDeclarationForMultipartImportName","dataclassesSymbolsOfInterest","isModuleInitFile","isDataclassesImport","lookupInfo","wildcardNames","_getWildcardImportNames","_addImplicitFromImport","localSymbol","_createFlowWildcardImport","importSymbolNode","importedName","contextManagerSwallowExceptionTarget","_createContextManagerLabel","contextManagerForwardExceptionTarget","exceptionTarget","preWithSuiteNode","postContextManagerLabel","_addExceptTargets","preTernaryFlowNode","trueLabel","falseLabel","postExpressionLabel","_currentFalseTarget","_currentTrueTarget","postRightLabel","trueTarget","falseTarget","preRightLabel","compr","addedSymbols","isSubjectNarrowable","postMatchLabel","foundIrrefutableCase","postCaseLabel","preGuardLabel","preSuiteLabel","_createFlowNarrowForPattern","_createFlowExhaustedMatch","postOrLabel","_addPatternCaptureTarget","slotNameNodes","slotsContainsDict","slotNameNode","slotName","honorPrivateNaming","isDefinedBySlots","ignoreOutermostIterable","outermostCompr","targets","prevExceptTargets","varName","varSymbol","dunderAllNames","existingDecl","newDecl","_addImplicitImportsToLoaderActions","curLoaderActions","namePartValue","loaderActions","namesToImport","foundUnreachableStatement","YieldFinder","checkContainsYield","Start","preBranchAntecedent","BranchLabel","antecedents","NarrowForPattern","blockIfSwallowsExceptions","PostContextManager","LoopLabel","isPositiveTest","_createFlowConditional","TrueNeverCondition","FalseNeverCondition","savedCurrentFlowNode","initialCurrentFlowNode","afterLabel","prevCurrentNode","_setTrueFalseTargets","_isLogicalExpression","TrueCondition","FalseCondition","savedTrueTarget","savedFalseTarget","staticValue","filteredExprList","conditionalFlowNode","filterForNeverNarrowing","isComplexExpression","isOrIsNotOperator","equalsOrNotEqualsOperator","isLeftNarrowing","isRightNarrowing","walkTargets","unbound","Call","VariableAnnotation","targetSymbolId","prevFlowNode","Assignment","Unbind","WildcardImport","ExhaustedMatch","savedExpressions","scopedExpressions","postLoopLabel","savedContinueTarget","savedBreakTarget","savedCodeFlowComplexity","_addSymbolToCurrentScope","symbolFlags","prevScope","newScope","isExecutionScope","prevExpressions","isInferenceAllowedInPyTyped","_isInferenceAllowedInPyTyped","_getVariableDocString","_getMemberAccessInfo","classScope","declarationHandled","finalInfo","_isAnnotationFinal","isExplicitTypeAlias","_isAnnotationTypeAlias","innerTypeAnnotationNode","finalTypeNode","classVarInfo","_isAnnotationClassVar","classVarTypeNode","containingClass","_isRequiredAnnotation","_isNotRequiredAnnotation","_isDataclassesAnnotation","item0Expr","_isKnownAnnotation","importAliases","symbolAliases","annotationNode","suiteOrModule","assignmentIndex","nextStatement","isValidContext","leftSymbolName","firstParamName","decoratorName","existingLoaderAction","assignedNameNode","specialTypes","assignedName","nextItem","yieldStatements","diagLevel","_addWarning","_addInformation","diagnosticSink","_containsYield","getTypeNarrowingCallback","adjIsPositiveTest","expandedType","mapSubtypesExpandTypeVars","unexpandedSubtype","adjustedSubtype","narrowTypeForIsNone","indexValue","tupleLength","typeOfEntry","narrowTupleTypeForIsNone","callType","matches","narrowTypeForTypeIs","rightType","narrowTypeForLiteralComparison","referenceType","indexLiteralType","literalType","canNarrow","narrowedType","tdEntry","narrowTypeForDiscriminatedDictEntryComparison","tupleEntryType","narrowTypeForDiscriminatedTupleComparison","lengthValue","concreteSubtype","narrowTypeForTupleLength","narrowTypeForDiscriminatedFieldComparison","containerType","builtInName","elementType","elementTypeWithoutLiteral","referenceSubtype","elementSubtype","narrowTypeForContains","literalKey","oldNarrowedEntriesMap","newNarrowedEntriesMap","narrowTypeForTypedDictKey","isInstanceCheck","arg0Expr","arg1Expr","classTypeList","foundNonClassType","addClassTypesToList","getIsInstanceClassTypes","narrowTypeForIsInstance","narrowTypeForCallable","narrowTypeForTruthiness","functionReturnType","typeGuardSubtype","isSubType","isSuperType","narrowTypeForUserDefinedTypeGuard","testExprDecl","getDeclsForLocalVar","referenceDecls","modifyingDecls","isNodeReachable","initNode","reachableFrom","prevDeclScope","declScopeNode","reachableDecls","canBeTruthy","removeFalsinessFromType","canBeFalsy","removeTruthinessFromType","allowIntersections","filterClassType","varType","unexpandedType","negativeFallbackType","filteredTypes","foundSuperclass","isClassRelationshipIndeterminate","filterType","concreteFilterType","filterIsSuperclass","filterIsSubclass","specializedFilterType","unspecializedFilterType","populateTypeVarMapBasedOnExpectedType","isConstrainedTypeVar","isCallable","anyOrUnknownSubstitutions","anyOrUnknown","filteredType","negativeFallback","isSubtypeTypeObject","containsNoneType","concreteClassType","filterFunctionType","includesTypeType","getBuiltInObject","isIsOperator","literalValueMatches","allLiteralTypes","enumerateLiteralsForType","enumList","symbolType","callMethod","classPatternSpecialCases","narrowTypeBasedOnPattern","sequenceInfo","getSequencePatternInfo","isPlausibleMatch","narrowedEntryTypes","canNarrowTuple","isTuple","sequenceEntry","entryType","getTypeForPatternSequenceEntry","narrowedEntryType","tupleClassType","isObject","sequenceType","getTypingType","narrowTypeBasedOnSequencePattern","narrowTypeBasedOnLiteralPattern","exprType","classInstance","subjectSubtypeExpanded","subjectSubtypeUnexpanded","positionalArgNames","getPositionalMatchArgNames","narrowTypeOfClassPatternArgument","expandedSubtype","resultType","unspecializedMatchType","matchTypeInstance","isMatchValid","narrowTypeBasedOnClassPattern","remainingType","narrowedSubtype","narrowTypeBasedOnAsPattern","mappingInfo","getMappingPatternInfo","mappingSubtypeInfo","mappingEntry","narrowedKeyType","keySubtype","valueEntry","narrowedValueType","dictTypeArgs","narrowTypeBasedOnMappingPattern","subjectType","narrowedSubtypes","valueSubtypeExpanded","valueSubtypeUnexpanded","allEnumTypes","enumType","useSpeculativeMode","getTypeFromMagicMethodReturn","narrowTypeBasedOnValuePattern","matchArgsMemberInfo","matchArgsType","tupleArgs","argIndex","matchType","getTypeFromObjectMember","mroClassToSpecialize","specializedMapping","entryCount","minEntryCount","entryTypes","isIndeterminateLength","specializedSequence","unpackStarEntry","isSubjectObject","wrapTypeInList","assignTypeToPatternTargets","isTypeIncomplete","assignTypeToExpression","keyTypes","valueTypes","valueInfo","dictClass","dictType","argTypes","subjectSubtype","narrowedArgType","listObjectType","deprecatedAliases","deprecatedSpecialForms","Checker","_isUnboundCheckSuppressed","_scopedNodes","_microbitV2OnlyNames","_moduleNode","markNamesAccessed","_reportUnusedDunderAllSymbols","_validateSymbolTables","_reportDuplicateImports","suppressDiagnostics","classTypeResult","_validateProtocolTypeParamVariance","_validateBaseClassOverrides","_validateSlotsClassVarConflict","_validateMultipleInheritanceCompatibility","_validateConstructorConsistency","_validateFinalMemberOverrides","_validateInstanceVariableInitialization","_validateFinalClassNotAbstract","_validateDataClassPostInit","_validateProtocolCompatibility","_reportDuplicateEnumMembers","_validateTypedDictClassSuite","_validateEnumClassOverride","functionTypeResult","sawParamSpecArgs","functionTypeParam","diagAddendum","hasAnnotation","defaultValueType","paramSpecParams","_validateMethod","_validateFunctionReturn","_validateDunderSignatures","_validateStrictTypeGuardFunction","_validateFunctionTypeVarUsage","maxOverloadConsistencyCheckLength","_validateOverloadConsistency","_validateIsInstanceCall","_validateIllegalDefaultParamInitializer","isRevealTypeCall","_isTypeValidForUnusedValueTest","evaluateTypesForStatement","enclosingFunctionNode","getFunctionDeclaredReturnType","returnTypeMatches","uniqueTypeVars","narrowConstrainedTypeVar","adjustedReturnType","yieldType","_validateYieldType","yieldFromType","getTypeFromIterable","getTypeFromIterator","verifyRaiseExceptionType","baseExceptionType","exceptionType","_validateExceptionType","addDiagnosticForTextRange","subscriptType","_validateComparisonTypes","formatExpr","_suppressUnboundCheck","_conditionallyReportPrivateUsage","_reportMicrobitVersionApiUnsupported","_reportUnboundName","verifyDeleteExpression","_validateExhaustiveMatch","validateClassPattern","_reportUnusedExceptStatements","narrowedTypeResult","evaluateTypeForSubnode","evaluateTypesForMatchNode","wasSuppressed","isPossiblyTrue","leftSubtype","isComparable","rightSubtype","_isTypeComparable","leftTypeText","rightTypeText","genericLeftType","genericRightType","localTypeVarUsage","exemptBoundTypeVar","nameWalker","subscriptIndex","nameType","isExempt","prevOverloads","prevOverload","_isOverlappingOverload","obscured","obscuredBy","prevReturnType","altNode","_findNodeForOverload","newIndex","prevIndex","overloadType","_isLegalOverloadImplementation","implementation","isLegal","overloadReturnType","getFunctionInferredReturnType","implementationReturnType","returnDiag","prevStatement","reportedUnreachable","_validateStubStatement","derivesFromBaseException","resultingExceptionType","scopedNode","_conditionallyReportUnusedSymbol","_reportIncompatibleDeclarations","_reportMultipleFinalDeclarations","_reportMultipleTypeAliasDeclarations","_reportInvalidOverload","overloadedFunctions","implementationFunction","isProtocolMethod","sawFinal","sawAssignment","firstDecl","isImplicitlyAssigned","typeAliasDecl","primaryDeclInfo","otherDecls","primaryDeclTypeInfo","funcTypeInfo","addPrimaryDeclInfo","primaryDeclNode","otherDecl","primaryType","duplicateIsOk","otherType","isInSameStatementList","accessedSymbolMap","_conditionallyReportUnusedDeclaration","_isSymbolPrivate","diagnosticLevel","multipartName","np","isReexport","isFuture","callName","arg0Type","arg1Type","isValidType","arg1Subtype","_isTypeSupportedTypeForIsInstance","nonstandardClassTypes","arg1IncludesSubclasses","derivesFromAnyOrUnknown","finalizeFilteredTypeList","foundAnyType","getTestType","testType","isSupported","_reportDeprecatedUse","deprecatedForm","isPrivateName","isProtectedName","primaryDeclaration","resolvedAliasInfo","resolveAliasDeclarationWithInfo","isProtectedAccess","declClassTypeInfo","enclosingClassNode","enclosingClassTypeInfo","baseEnumDefinesValue","suiteNode","emitBadStatementError","returnAnnotation","functionNeverReturns","isAfterNodeReachable","implicitlyReturnsNone","parentSymbol","isSymbolImplemented","postInitMember","initOnlySymbolMap","postInitType","paramListDetails","nonDefaultParams","expectedParamCount","expected","fieldType","getDeclaredTypeOfSymbol","canAssignDiag","fieldDecls","abstractMethods","getAbstractMethods","abstractMethod","origTypeParams","updatedTypeParams","updatedClassType","objectObject","dummyTypeObject","srcTypeArgs","destTypeArgs","expectedVariance","canAssignProtocolClassToSelf","variable","class","localSlotsNames","initMember","newMember","newMemberType","initMemberType","displayOnInit","initDecl","mainDecl","mainDeclNode","initSignature","newSignature","secondaryDecl","symbolMaps","specializedBaseClass","memberMap","getClassFieldsRecursive","symbolMapBaseIndex","baseSymbolMap","baseClassAndSymbol","symbolMapOverrideIndex","overrideClassAndSymbol","overrideFunction","canOverrideMethod","overrideDecl","baseDecl","mroBaseClass","baseClassSymbolType","exemptMethods","enforceParamNameMatch","exempt","origDecl","basePropFields","subclassPropFields","methodName","baseClassPropMethod","subclassPropMethod","baseClassMethodType","subclassMethodType","isBaseClassVar","unformattedMessage","classTypeInfo","_validateSuperCallForMethod","_validateClsSelfParameterType","firstParamIsSimple","isLegalMetaclassName","typeType","methodType","effectiveFlags","foundCallOfMember","memberBaseExpr","isCls","expectedType","declaredYieldType","isLegalGeneratorType","classes","getGeneratorYieldType","sawUnknownOrAny","exceptionTypesSoFar","typesForThisExcept","overriddenExceptionCount","thisExceptType","previousExceptType","importModuleMap","_reportMicrobitVersionApiUnsupportedCheck","nameForError","_reportMicrobitVersionApiUnsupportedDiagnostic","device","_applyStrictRules","ruleSet","_overrideRules","overrideRuleSet","skipRuleNames","boolRuleNames","diagRuleNames","overrideValue","prevValue","_parsePyrightComment","commentValue","operandList","_applyBasicRules","operand","_parsePyrightOperand","operandSplit","diagLevelValue","_parseDiagLevel","boolValue","ParseTreeCleanerWalker","_parseTree","clean","analyzerNode","TestWalker","_verifyParentChildLinks","_verifyChildRanges","skipCheck","SourceFile","isThirdPartyImport","isThirdPartyPyTypedPresent","logTracker","_isFileDeleted","_diagnosticVersion","_fileContentsVersion","_lastFileContentLength","_lastFileContentHash","_analyzedFileContentsVersion","_parseTreeNeedsCleaning","_isBindingInProgress","_parseDiagnostics","_bindDiagnostics","_checkerDiagnostics","_diagnosticRuleSet","_circularDependencies","_isBindingNeeded","_isCheckingNeeded","_indexingNeeded","_isStubFile","_isThirdPartyImport","_isThirdPartyPyTypedPresent","_isTypingStubFile","_isTypingExtensionsStubFile","_isBuiltInStubFile","_logTracker","getDiagnosticVersion","prevDiagnosticVersion","includeWarningsAndErrors","diagList","prefilteredDiagList","typeIgnoreLinesClone","unnecessaryTypeIgnoreDiags","diagCategory","cirDep","_hitMaxImportDepth","ignoreFileSpec","getImports","_imports","getBuiltinsImport","_builtinsImport","getIPythonDisplayImport","_ipythonDisplayImport","getModuleSymbolTable","_moduleSymbolTable","didContentsChangeOnDisk","_clientDocument","dropParseAndBindInfo","markDirty","indexingNeeded","_cachedIndexResults","markReanalysisRequired","forceRebinding","getClientVersion","getOpenFileContents","getFileContent","openFileContent","fileStat","setClientVersion","contentsHash","prepareForClose","isFileDeleted","isParseRequired","isBindingRequired","isIndexingRequired","isCheckingRequired","getCachedIndexResults","cacheIndexResults","addCircularDependency","updatedDependencyList","dep","setHitMaxImportDepth","maxImportDepth","_getPathForLogging","logState","execEnvironment","indexGenerationMode","_resolveImports","builtinsImportResult","ipythonDisplayImportResult","useStrict","strictFileSpec","defaultRuleSet","diagSettings","ls","getDefinitionsForPosition","getTypeDefinitionsForPosition","getDeclarationForPosition","addReferences","addHierarchicalSymbolsForDocument","getSymbolsForDocument","getHoverForPosition","_addResultsForDeclaration","typeText","_addResultsPart","_addDocumentationPart","_getTypeText","typeNode","_addInitMethodInsteadIfCallNode","callLeftNode","instanceType","functionParts","printFunctionParts","classText","_addDocumentationPartForType","addedDoc","_addDocumentationResultsPart","markDown","python","getDocumentHighlight","getSignatureHelpForPosition","callSignatureInfo","sig","_makeSignature","callHasParameters","_getDocStringFromCallNode","activeParameter","sigInfo","resolveDecl","moduleSymbolsCallback","completionData","performQuickAction","editActions","startPos","endPos","additionalEditActions","_addMissingOptionalToParam","_cleanParseTreeIfRequired","_buildFileInfo","binder","internalTestMode","test_enableIPythonMode","enable","analysisDiagnostics","isTypingExtensionsStubFile","isBuiltInStubFile","moduleImports","resolveAndAddIfNotSelf","skipMissingImport","moduleImport","createTracePrinter","localeCompare","printFileOrModuleName","filePathOrModule","printDeclaration","printNode","printPath","getFileInfo","isNode","isDeclaration","isType","isIncompleteType","cachedType","SpeculativeTypeTracker","_speculativeContextStack","_speculativeTypeCache","enterSpeculativeContext","speculativeRootNode","allowCacheRetention","entriesToUndo","leaveSpeculativeContext","isSpeculative","trackEntry","stackSize","disableSpeculativeMode","enableSpeculativeMode","addSpeculativeType","cacheEntries","getSpeculativeType","IncompleteTypeTracker","_trackerStack","_isUndoTrackingEnabled","enterTrackingScope","exitTrackingScope","enableUndoTracking","isUndoTrackingEnabled","createNamedTupleType","includesTypes","nameArg","defaultsArg","defaultArgCount","defaultsArgType","namedTupleType","classFields","classTypeVar","constructorType","namedTupleAssignedName","moduleOrSuite","statementIndex","assignNode","defaultTarget","matchArgsNames","selfParameter","addGenericGetAttribute","entriesArg","firstParamWithDefaultIndex","isRuntimeTypeExpression","entryList","entryMap","entryExpressions","entryTypeNode","entryNameNode","getTypeForExpressionExpectingType","setTypeForNode","keysItemType","itemsItemType","lenType","getAttribType","literalTypes","updateNamedTupleBaseClass","namedTupleIndex","namedTupleClass","typedTupleClass","tupleTypeArgs","updatedTupleClass","clonedNamedTupleClass","validateDataClassTransformDecorator","behaviors","keywordOnlyParams","generateEq","generateOrder","transformDescriptorTypes","fieldDescriptorNames","getDataclassDecoratorBehaviors","decoratorDataClassBehaviors","applyDataClassClassBehaviorOverrides","argValue","hasUnfrozenBaseClass","hasFrozenBaseClass","classDataClassTransform","applyDataClassBehaviorOverride","applyDataClassDefaultBehaviors","defaultBehaviors","dataClassBehaviors","applyDataClassDecorator","applyFunctionTransform","orderingMethods","missingMethods","boolType","objParam","methodToAdd","applyTotalOrderingTransform","validatePropertyMethod","createProperty","decoratorType","fget","typeMetaclass","propertyClass","propertyObject","isAsymmetricDescriptor","fgetSymbol","getFunction1","defaultType","getFunction2","objType","getFunctionOverload","getSymbol","accessorName","accessorFunction","accessorSymbol","canAssignProperty","destPropertyType","srcPropertyType","srcClass","objectToBind","isAssignable","missingDiagMsg","incompatibleDiagMsg","accessorInfo","destAccessSymbol","destAccessType","srcAccessSymbol","srcAccessType","boundDestAccessType","boundSrcAccessType","binaryOperatorMap","booleanOperatorMap","nonSubscriptableBuiltinTypes","typePromotions","createTypeEvaluator","evaluatorOptions","symbolResolutionStack","functionRecursionMap","codeFlowAnalyzerCache","typeCache","typeCacheFlags","asymmetricDescriptorAssignmentCache","expectedTypeCache","speculativeTypeTracker","effectiveTypeCache","suppressedNodeStack","incompleteTypeTracker","protocolAssignmentStack","noneType","typeClassType","functionObj","boolClassType","strClassType","dictClassType","typedDictClassType","incompleteTypeCache","isBasicTypesInitialized","returnTypeInferenceContextStack","returnTypeInferenceTypeCache","checkForCancellation","isTypeCached","isNodeInReturnTypeInferenceContext","readTypeCache","verifyTypeCacheEvaluatorFlags","expectedFlags","writeTypeCache","allowSpeculativeCaching","typeCacheToUse","deleteTypeCacheEntry","contextNode","getIndexOfSymbolResolution","symbolId","pushSymbolResolution","isResultValid","popSymbolResolution","poppedEntry","setSymbolResolutionPartialType","partialType","getSymbolResolutionPartialType","evaluateTypesForExpressionInContext","initializedBasicTypes","getTypeFromModule","getTypeshedType","speculativeCachedType","expectedTypeAlt","typeResult","reportExpectingTypeErrors","allowForwardReferences","containingFunction","useCodeFlowAnalysis","effectiveTypeInfo","getEffectiveTypeOfSymbolForUsage","effectiveType","isRecursiveDefinition","typeAtStart","codeFlowTypeResult","getFlowTypeOfReference","outerScopeTypeResult","scopeHierarchy","stopScope","innerScopeNode","foundScope","innerScopeCodeFlowNode","declCodeFlowNode","codeFlowEngine","isFlowNodeReachable","getCodeFlowTypeForCapturedVariable","reportMissingTypeArguments","setSymbolAccessed","includesVariableDecl","nameSplit","booleanName","validateTypeVarUsage","getTypeFromName","baseTypeFlags","baseTypeResult","memberTypeResult","getTypeFromMemberAccessWithBaseType","initialType","isInitialTypeIncomplete","classMemberInfo","getTypeFromMemberAccess","skipSubscriptCheck","scopeNode","minPythonVersion","getTypeFromIndexWithBaseType","baseTypeSupportsIndexNarrowing","getTypeFromIndex","getTypeFromCall","makeTupleObject","isEmptyTupleShorthand","effectiveExpectedType","expectedTypeContainsAny","matchingSubtype","subtypeResult","getTypeFromTupleExpected","entryTypeResults","buildTupleTypesList","getTypeFromTupleInferred","getTypeFromTuple","getTypeFromConstant","isAnnotationLiteralValue","cloneBuiltinObjectWithLiteral","updatedFlags","textValue","valueOffset","parseStringAsTypeAnnotation","exprTypeResult","unaryOperatorMap","literalClassName","classSubtype","getTypeFromUnaryOperation","getTypeFromBinaryOperation","getTypeFromAugmentedAssignment","getTypeFromListOrSetExpected","hasExpectedType","builtInClassName","entryTypeResult","getElementTypeFromListComprehension","inferredEntryType","listOrSetClass","getTypeFromListOrSetInferred","getTypeFromListOrSet","getTypeFromSlice","createAwaitableReturnType","getTypeFromAwaitable","typesToCombine","ifType","elseType","getTypeFromTernary","elementTypeResult","builtInIteratorType","getTypeFromListComprehension","expectedTypeDiagAddendum","getTypeFromDictionaryExpected","getTypeFromDictionaryInferred","getTypeFromDictionary","expectedFunctionTypes","callMember","boundMethod","minLambdaParamCount","maxLambdaParamCount","functionParamCount","expectedFunctionType","transformVariadicParamType","functionParam","expectedReturnType","getFunctionEffectiveReturnType","getTypeFromLambda","expectedYieldType","sentType","functionTypeInfo","getTypeFromYield","returnedType","getTypeFromYieldFrom","iterExpectedType","iterableType","iterTypeResult","iterType","addExpectedClassDiagnostic","illegalRecursionDetected","isAnnotationEvaluationPostponed","getTypeOfParameterAnnotation","paramTypeNode","getTypeOfAnnotation","associateTypeVarsWithScope","allowTypeVarTuple","disallowRecursiveTypeAlias","allowUnpackedTypedDict","allowUnpackedTuple","specialType","aliasMapEntry","createSpecialBuiltInClass","handleTypingStubTypeAnnotation","evaluatorFlags","isVariableAnnotation","allowFinal","allowClassVar","allowParamSpec","notParsedByInterpreter","annotationType","getTypeFromDecorator","functionOrClassType","decoratorTypeResult","validateCallArguments","boolMethod","boolMethodType","memberAccessFlags","bindToType","getTypeFromClassMemberName","getTypeFromClassMember","getBoundMethod","treatConstructorAsClassMember","unboundMethodType","firstCommentAnnotationIndex","adjIndex","isDeclaredTypeAlias","getDeclaredTypeForExpression","classOrObjectBase","memberAccessClass","bindFunction","setItemMember","setItemType","boundFunction","typeFromTypedDict","evaluatorInterface","setterInfo","setter","awaitReturnType","generatorReturnType","getReturnTypeFromGenerator","iterMethodName","nextMethodName","isValidIterator","iterReturnType","iterReturnTypeDiag","nextReturnType","getItemReturnType","isValidIterable","importingFilePath","sourceNode","sourceFlowNode","getTypeFromCodeFlow","getCodeFlowAnalyzerForNode","isFlowNodeReachableUsingNeverNarrowing","isFlowPathBetweenNodes","sinkNode","allowSelf","sinkFlowNode","addDiagnosticWithSuppressionCheck","isDiagnosticSuppressedForNode","suppressedNode","assignTypeToNameNode","srcExpression","allowAssignmentToFinalVar","narrowTypeBasedOnAssignment","varDecl","assignTypeToMemberVariable","srcExprNode","classDef","memberClass","isThisClass","inheritedSlotsNames","reportPossibleUnknownAssignment","conditionFilter","applicableConstraint","isExemptFromBoundCheck","expandSubtype","typeCondition","srcExpr","ignoreEmptyContainers","classTypeResults","memberSymbol","setErrorNode","assignTypeToMemberAccessNode","targetExpressions","targetTypes","targetUnpackIndex","unpackIndex","sourceEntryTypes","unboundedIndex","typeToReplicate","combinedTypes","targetIndex","expectedEntryCount","subDiag","simple","typeList","assignTypeToTupleOrListNode","bindToClass","scopedTypeVarInfo","nestedClassCount","typeVarsForScope","foundInterveningClass","recursiveTypeAliasScopeId","findScopedTypeVar","enclosingScope","outerFunctionScope","createSpecializedClassType","getTypeVarScopesForNode","getTypeFromNoneBase","isSuperCall","getAttrSymbol","V3_7","getAttrTypeResult","evaluateUnknownImportsAsAny","isFunctionRule","diagMessage","skipPartialUnknownCheck","classLookupFlags","containingClassType","inferReturnTypeIfNecessary","getTypeOfMemberInternal","descriptorResult","baseTypeClass","isAccessedThroughObject","isTypeValid","lookupClass","isAccessedThroughMetaclass","accessMethodName","accessMethod","accessMethodType","boundMethodType","callResult","argumentErrors","setterType","isAsymmetric","getterSymbolResult","setterSymbolResult","getterType","isAsymmetricDescriptorClass","finalTypeDecl","enforceTargetType","applyDescriptorAccessMethod","printObjectTypeForClass","generalAttrType","getAttrType","getBestOverloadForArguments","applyAttributeAccessOverride","adjustTypeArgumentsForVariadicTypeVar","variadicIndex","variadicTypeResults","validateVariadicTypeVarIsUnpacked","validateTypeArg","allowEmptyTuple","allowVariadicTypeVar","allowUnpackedTuples","variadicTypes","tupleObject","typeAliasResult","getTypeArgs","canAssignTypeToTypeVar","aliasTypeArgs","createSpecializedTypeAlias","typeArgTypes","getIndexAccessMagicMethodName","getTypeFromIndexedObjectOrClass","itemExpr","cloneBuiltinClassWithLiteral","createLiteralType","isAnnotatedClass","isGenericClass","isFinalAnnotation","isClassVarAnnotation","isUnspecifiedLength","magicMethodName","itemMethodType","index0Expr","getSliceParameter","valType","positionalArgs","unpackedListArgs","keywordArgs","unpackedDictArgs","positionalIndexType","altArgList","intType","adjFlags","getTypeArgTypeResult","adjustedFlags","getTypeArg","expectedTypes","tupleTypeVarMap","specializedTuple","homogenousType","expectedTypesContainLiterals","possibleUnpackedTuple","firstUnboundedEntryIndex","removedEntries","returnResult","targetClassType","concreteTargetClassType","secondArgType","reportError","enclosingMethod","implicitBindToType","methodTypeInfo","resultIsInstance","mroBase","getTypeFromSuperCall","getTypeFromRevealType","infoMessages","getTypeFromRevealLocals","typeErrors","arg0Value","expectedRevealTypeNode","expectedRevealType","expectedTextNode","expectedText","expectedTextType","getTypeForArgumentExpectingType","expectedRevealTypeText","validateOverloadsWithExpandedTypes","expandedArgTypes","argParamMatches","skipUnknownArgCheck","returnTypes","matchedOverloads","expandedTypesIndex","matchedOverload","argTypeOverride","hasArgTypeOverride","overloadIndex","matchResults","argParams","argParamCopy","effectiveTypeVarMap","validateFunctionArgumentTypesWithExpectedType","finalCallResult","specializedInitSelfType","winningOverloadIndex","matchFunctionArgumentsToParameters","sortOverloadsByBestMatch","matchIndex","validateFunctionArgumentTypes","relevance","expandArgumentUnionTypes","contextFreeArgTypes","unionToExpand","indexToExpand","newExpandedArgTypes","preExpandedTypes","validateConstructorArguments","validatedTypes","reportedErrors","usedMetaclassCallMethod","skipConstructorCheck","expectedSubType","applyExpectedSubtypeForConstructor","adjustedClassType","applyExpectedTypeForConstructor","constructorMethodInfo","newReturnType","applyExpectedTypeForTupleConstructor","transformed","callMemberResult","callMemberType","origFunctionType","getTypeForArgument","reportedPositionalError","argTypeResult","matchingParam","specializedFunctionType","updatedParamList","specializedParam","newParamList","newCallMemberType","newPartialClass","applyPartialTransform","applyConstructorTransform","expectedSubtype","specializedExpectedType","liveTypeVarScopes","expectedTypeArgs","sameClassTypeVarMap","expectedTypeScopeId","synthExpectedTypeArgs","genericExpectedType","synthesizedIndex","syntheticTypeVarMap","synthTypeVar","targetTypeVar","expectedTypeArgValue","transformExpectedTypeForConstructor","exprNode","functionResult","validateFunctionArguments","createNewType","castToType","castFromType","filteredMatchResults","valueExpressionNode","evaluateUsingLastMatchingOverload","lastMatch","validateOverloadedFunctionArguments","firstConstraintArg","firstArg","paramNameNode","paramNameMap","getBooleanValue","createTypeVarType","createTypeVarTupleType","paramSpecName","createParamSpecType","enumClass","createEnumType","typedDictClass","usingDictSyntax","entryDict","annotatedType","createTypedDictType","errorsToDisplay","constructorResult","newClassName","firstArgType","paramDetails","matchedUnpackedListOfUnknownLength","reportedArgError","isVariadicTypeVarFullyMatched","argsNeeded","argsReceived","isPositionalOnly","positionalOnlyLimitIndex","positionParamLimitIndex","varArgListParamIndex","varArgDictParamIndex","paramSpecArgList","paramSpecTarget","hasParamSpecArgsKwargs","varArgListParam","varArgDictParam","keywordParamIndex","positionalArgCount","validateArgTypeParams","trySetActive","active","foundUnpackedListArg","unpackedArgIndex","isParamVariadic","isArgCompatibleWithVariadic","listElementType","advanceToNextArg","funcArg","requiresTypeVarMatching","argument","effectiveParamType","remainingArgCount","remainingParamCount","mapsToVarArgList","firstParamWithDefault","argsRemainingCount","unpackedDictionaryArgType","paramEntry","paramInfoIndex","mappingType","strObjType","mappingTypeVarMap","isValidMappingType","paramNameValue","unassignedParams","missingParamNames","variadicArgs","combinedArg","expectingType","effectiveReturnType","speculativeResults","typeVarMapCopy","tempTypeVarMap","genericReturnType","typeVarMatchingCount","passCount","argResult","validateArgType","skippedOverloadArg","positionalIndex","positionalIndexLimit","validateFunctionArgumentsForParamSpec","typeVarScopeNode","skipUnknownCheck","skipOverloadArg","expectedTypeDiag","concreteParamType","createFunctionFromConstructor","argTypeText","paramTypeText","simplifiedType","getDiagAddendum","suppressPartialUnknown","operatorSupportsComparisonChaining","op","expectedLeftOperandType","expectedOperandType","leftTypeResult","rightTypeResult","customMetaclassSupportsMethod","adjustedRightType","isUnionableType","newUnion","isLeftOptionalType","isLiteralMathAllowed","validateBinaryOperation","leftSubtypeExpanded","leftSubtypeUnexpanded","rightSubtypeExpanded","rightSubtypeUnexpanded","binaryOperator","concreteLeftType","iteratorType","leftLiteralClassName","maxLiteralMathSubtypeCount","leftClassSubtype","rightClassSubtype","isValidResult","leftLiteralValue","rightLiteralValue","convertFunctionToObject","altMagicMethodName","magicMethodSupported","handleSubtype","magicMethodType","functionArgs","expectedDiagAddendum","getKeyAndValueTypesFromDictionary","resultTypedDict","isMatch","keyValue","symbolEntry","assignToTypedDict","builtInDict","dictTypeVarMap","specializedDict","expectedKeyType","expectedValueType","isValueTypeInvariant","specializedKeyType","inferTypeArgFromExpectedType","specializedValueType","fallbackType","forceStrictInference","expectedTypedDictEntries","entryNode","addUnknown","keyTypeResult","valueTypeResult","adjExpectedKeyType","unexpandedTypeResult","dictEntryTypeResult","dictEntryType","builtInListOrSet","specializedListOrSet","expectedEntryType","isExpectedTypeListOrSet","specializedEntryType","isNarrowable","evaluateListComprehensionForIf","iterableTypeResult","expectedValueOrElementType","forIfNode","allowTypeArgList","createSpecialType","paramLimit","isTupleTypeParam","sawUnpacked","noteSawUnpacked","reportedUnpackedError","tupleTypeArgTypes","transformTypeForPossibleEnumClass","getValueType","enumClassInfo","isMemberOfEnumeration","transformTypeForTypeAlias","variadics","typeAliasScopeId","boundTypeVars","specialClassType","baseClassName","evaluateTypesForAssignmentStatement","rightHandType","handleTypingStubAssignment","typeAliasNameNode","typeAliasTypeVar","isSpeculativeTypeAlias","srcTypeResult","typeAliasPlaceholder","evaluateTypesForAugmentedAssignment","destTypeResult","cachedClassType","classSymbol","genericTypeParameters","initSubclassArgs","metaclassNode","exprFlags","constArgValue","prevBaseClass","typeVars","genericTypeVars","missingFromGeneric","genericTypeVar","verifyGenericTypeParameters","innerScope","initMethod","initDeclNode","initParams","genericParams","metaclassType","reportedMetaclassConflict","baseClassMeta","newDecoratedType","applyClassDecorator","baseClassDataTransform","skipSynthesizedInit","hasExistingInitMethod","initSymbol","initSymbolType","skipSynthesizeHash","hashSymbol","hashSymbolType","skipSynthesizeInit","localDataClassEntries","fullDataClassEntries","allAncestorsKnown","allAncestorsAreKnown","existingIndex","updatedEntry","addInheritedDataClassEntries","localEntryTypeEvaluator","variableNameNode","variableTypeEvaluator","hasDefaultValue","isKeywordOnly","includeInInit","isDataclassFieldConstructor","initArg","callTarget","initCall","initParam","kwOnlyArg","defaultArg","aliasArg","variableSymbol","dataClassEntry","insertIndex","oldEntry","firstDefaultValueIndex","entryEvaluator","setMethodInfo","setMethodType","boundSetMethod","transformDescriptorType","synthesizeComparisonMethod","operatorMethod","synthesizeHashFunction","synthesizeHashNone","hashMethod","synthesizeDataClassMethods","isLimitedToSlots","extendedSlotsNames","initSubclassMethodInfo","initSubclassMethodType","newMethodMember","newMethodType","validateInitSubclassArgs","inputClassType","originalClassType","decoratorCallType","dataclassBehaviors","cachedFunctionType","classInfo","getFunctionFlagsFromDecorators","getFunctionFullName","functionSymbol","addGenericParamTypes","paramTypes","typeParamIndex","markParamAccessed","paramsArePositionOnly","isNoneWithoutOptional","adjustedIndex","adjustedAnnotatedType","adjustParameterAnnotatedType","addOptionalAction","offsetOfTypeNode","isPositionOnlyParam","isPositionOnlySeparator","inferParameterType","variadicParamType","paramType1","paramType2","awaitableFunctionType","createAsyncFunction","applyFunctionDecorator","overloadedTypes","prevDecl","prevDeclDeclTypeInfo","addOverloadsToFunctionType","defaultArgType","baseClassMemberInfo","memberDecls","baseClassMethodNode","overrideParam","baseClassParam","baseClassParamAnnotation","inferredParamType","paramValueExpr","isInClass","inputFunctionType","undecoratedType","fset","flagsToClone","fgetType","fsetType","fsetSymbol","setFunction","setParamType","setSymbol","clonePropertyWithSetter","fdel","fdelSymbol","delFunction","delSymbol","clonePropertyWithDeleter","requiredFlag","awaitableReturnType","asyncGeneratorType","coroutineType","inferFunctionReturnType","isAbstract","raiseStatement","raiseType","methodAlwaysRaisesNotImplemented","inferredReturnTypes","inferredYieldTypes","useAwaitableGenerator","yieldNode","inferredYieldType","generatorType","evaluateTypesForForStatement","iteratorTypeResult","iteratedType","evaluateTypesForExceptStatement","getExceptionType","targetType","subType","evaluateTypesForWithStatement","enterMethodName","scopedType","additionalHelp","enterType","memberReturnType","exitMethodName","evaluateTypesForImportAs","symbolNameNode","getAliasedSymbolTypeForName","cachedModuleType","evaluateTypesForImportFromAs","aliasNode","importLookupInfo","evaluateTypesForCaseNode","subjectTypeResult","subjectIsObject","evaluateTypesForImportFrom","getInferredTypeOfDeclaration","lastContextualExpression","isContextual","isNodeContextual","evaluateTypeAnnotationExpression","annotationParent","evaluateTypeOfParameter","nodeToEvaluate","adjType","listComprehension","subnodeType","oldIncompleteCache","nodeId","analyzer","createCodeFlowAnalyzer","startNode","codeFlowAnalyzer","getCodeFlowAnalyzerForReturnTypeInferenceContext","codeFlowResult","aliasedName","concatTypeArgs","typeArg1Type","createCallableType","typeArg0Type","createOptionalType","createClassVarType","createUnionType","createGenericType","createFinalType","createAnnotatedType","createConcatenateType","convertedTypeArgs","createTypeGuardType","createUnpackType","isUsageLegal","createRequiredType","enclosingClassTypeResult","firstParamTypeAnnotation","createSelfType","typeClass","variadicTypeParamIndex","fullTypeParams","paramSpecTypeArg","listTypeArg","adjustedTypeArgType","effectiveSrcType","sourceConstraint","destConstraint","bestConstraintSoFar","constraint","applyTypeArgToTypeVar","allowRequired","interpreterParsesStringLiteral","currentScope","builtInScope","honorCodeFlow","preferGlobalScope","usageScope","declNode","curSymbolWithScope","speculativeNode","getDeclarationFromFunctionNamedParameter","functionScope","paramSymbol","typeAliasNode","applyLoaderActionsToModuleType","importedModuleSymbol","isUnambiguousType","typeSource","inferredType","enumMemberType","nonSlotsDecls","assignedType","isUnambiguousInference","usageNode","useLastDecl","usageNodeId","isFinalVar","declIndexToConsider","includesSpeculativeResult","considerDecl","isDeclInEnumClass","synthesizedType","filteredTypedDecls","inferTypeIfNeeded","contextualReturnType","prevTypeCache","allArgTypesAreUnknown","getFunctionInferredReturnTypeUsingArguments","canAssignClassToProtocol","treatSourceAsInstantiable","destClassFields","genericDestType","genericDestTypeVarMap","selfTypeVarMap","srcClassTypeVarMap","canAssignFlags","srcMemberInfo","isMemberFromMetaclass","destMemberType","srcMemberType","boundSrcFunction","boundDeclaredType","isDestFinal","specializedDestProtocol","verifyTypeArgumentsAssignable","canAssignClassToProtocolInternal","canAssignModuleToProtocol","specializedSrcProtocol","canAssignClass","reportErrorsUsingObjType","promotionList","srcName","curSrcType","curTypeVarMap","ancestorIndex","ancestorType","canAssignTupleTypeArgs","canAssignClassWithTypeArgs","destErrorType","srcErrorType","destErrorTypeText","srcErrorTypeText","destVariadicIndex","destUnboundedIndex","srcUnboundedIndex","requiredSrcArgCount","srcArgsToCapture","removedArgs","variadicTuple","entryDiag","destTypeParams","srcArgIndex","srcTypeArg","destArgIndex","destTypeArg","destTypeParam","assignmentDiag","childDiag","isTypeVarInScope","isContravariant","functionSrcType","existingParam","newParam","canAssignTypeToParamSpec","curEntry","curNarrowTypeBound","curWideTypeBound","constrainedType","concreteSrcType","unconditionalConstraintIndex","srcSubtype","constrainedSubtype","constraintIndexUsed","adjustedConstraint","newNarrowTypeBound","newWideTypeBound","retainLiterals","adjSrcType","updatedType","originalFlags","destTypeVarName","applicableConditions","canAssignConditionalTypeToTypeVar","destSubtype","typeVarSubstitution","canAssignFromUnionType","clonedTypeVarMap","canAssignToUnionType","expandedSrcType","destCallbackType","getCallbackProtocolType","callbackType","srcFunction","typeVarMapClone","canAssign","checkReturnType","destParamDetails","srcParamDetails","srcDetails","destDetails","srcLastToPackIndex","suffixLength","srcPositionalsToPack","srcTupleTypes","srcPositionalsType","adjustSourceParamDetailsForDestVariadic","destTypeVarMap","srcTypeVarMap","targetIncludesParamSpec","destPositionalCount","srcPositionalCount","positionalsToMatch","destParam","srcParam","srcParamType","destParamType","destParamName","srcParamName","destName","canAssignFunctionParameter","nonDefaultSrcParamCount","destArgsType","srcArgsType","destParamMap","srcStartOfNamed","srcParamInfo","destParamInfo","paramDiag","specializedDestParamType","srcParamCount","destParamCount","effectiveSrcTypeVarMap","typeVarEntry","effectiveDestType","requiredMatchParamCount","matchedParamCount","remainingParams","destReturnType","srcReturnType","isReturnTypeCompatible","canAssignFunction","overloadDiag","destOverload","nonAnySubtypes","remainingDestSubtypes","remainingSrcSubtypes","isIncompatible","srcTypeIndex","destTypeIndex","skipSubtype","otherSubtype","otherIndex","bestTypeVarMap","bestTypeVarMapScore","typeVarMapScore","initInfo","convertInitToConstructor","initSubtype","constructorFunction","initOverloads","converted","newInfo","convertNewToConstructor","newSubtype","field","fieldIsPartOfFunction","specializedSrcType","specializedDestType","reverseMatchingFailed","replaceTypeArgsWithAny","replacedTypeArg","expectedTypeArgType","assignedSubtype","declaredSubtype","methodList","firstParamType","baseObj","partiallySpecializeFunctionForBoundClassOrObject","effectiveFirstParamType","newOverloadType","memberTypeFirstParam","memberTypeFirstParamType","nonLiteralFirstParamType","specializedFunction","runWithCancellationToken","isAsymmetricDescriptorAssignment","declsForThisImport","namePartIndex","paramDecl","isWithinTypeAnnotation","requireQuotedAnnotation","isQuoted","previousCategory","addFakeArg","addOneFunctionToSignature","addFunctionToSignature","isObjectInit","isSkipConstructor","baseMethod","overrideMethod","enforceParamNames","baseParamDetails","overrideParamDetails","canOverride","foundParamCountMismatch","baseCount","overrideCount","baseParam","overrideName","baseParamType","baseIsSynthesizedTypeVar","overrideIsSynthesizedTypeVar","baseReturnType","getTypeCacheSize","isReachableRecursionMap","callIsNoReturnCache","isExceptionContextManagerCache","codeFlowInvocations","flowIncompleteGeneration","visitedFlowNodeMap","isFlowNodeReachableRecursive","curFlowNode","contextMgrNode","isExceptionContextManager","labelNode","postFinallyFlowNode","wasGateClosed","callFlowNode","isCallNoReturn","isCompatibleWithConstrainedTypeVar","noReturnTypeCount","subtypeCount","getDeclaredCallBaseType","callSubtype","constructorMember","boundConstructorType","boundCallType","overloadedFunction","functionStatements","foundRaiseNotImplemented","isNotImplementedName","callIsNoReturn","cmType","cmSwallowsExceptions","firstOverload","exitType","getTypeFromWildcardImport","wildcardDecl","declaredTypeOfSymbol","flowNodeTypeCacheSet","subexpressionReferenceKeys","referenceKeyWithSymbolId","flowNodeTypeCache","setCacheEntry","prevIncompleteType","incompleteSubtypes","generationCount","setIncompleteSubtype","isPending","incompleteEntries","getCacheEntry","incrementFlowNodeVisitCount","recursiveVisitCount","incrementFlowNodeConvergenceCount","recursiveConvergenceCount","deleteCacheEntry","evaluateAssignmentFlowNode","nodeForCacheLookup","getTypeFromFlowNode","codeFlowInvocationsAtStart","assignmentFlowNode","flowTypeResult","branchFlowNode","sawIncomplete","loopNode","cacheEntry","isRecursive","visitCount","subtypeEntry","typeNarrowingCallback","flowType","refTypeInfo","exhaustedMatchFlowNode","patternFlowNode","preFinallyFlowNode","wildcardImportFlowNode","startingConstraints","narrowedConstrainedType","narrowConstrainedTypeVarRecursive","newConstraints","constraintsToAdd","conditionFlowNode","priorRemainingConstraints","getCodeFlowEngine","TrackedImport","isAccessed","TrackedImportAs","TrackedImportFrom","ImportSymbolWalker","_accessedImportedSymbols","_treatStringsAsSymbols","_getRecursiveModuleAccessExpression","TypeStubWriter","_stubPath","_sourceFile","_indentAmount","_includeAllImports","_typeStubText","_lineEnd","_tab","_classNestCount","_functionNestCount","_ifNestCount","_emittedSuite","_emitDocString","_trackedImportAs","_trackedImportFrom","_writeFile","_emitDecorators","argString","_printExpression","_emitLine","_emitSuite","_printParameter","isTypeAlias","callBaseType","_printModuleName","trackedImportAs","trackedImportFrom","_increaseIndent","prevEmittedSuite","_printHeaderDocString","treatStringsAsSymbols","_printTrackedImports","importStr","lineEmitted","sortedSymbols","symStr","finalText","Program","initialImportResolver","initialConfigOptions","_extension","_disableChecker","_sourceFileList","_sourceFileMap","_parsedFileCount","_lookUpImport","sourceFileInfo","_getSourceFileInfoFromPath","addTrackedFile","_bindFile","_createNewEvaluator","setConfigOptions","setImportResolver","setTrackedFiles","filePaths","newFileMap","oldFile","isTracked","addTrackedFiles","_removeUnneededFiles","setPreCheckCallback","preCheckCallback","_preCheckCallback","setAllowedThirdPartyImports","_allowedThirdPartyImports","_getImportNameForFile","isOpenByClient","diagnosticsVersion","importedBy","shadows","shadowedBy","_addToSourceFileListAndMap","setFileOpened","chainedFilePath","chainedSourceFile","setFileClosed","_markFileDirtyRecursive","markAllFilesDirty","evenIfContentsAreSame","markDirtyMap","markFilesDirty","getTracked","getOpened","sourceFileCount","_shouldCheckFile","checkOnlyOpenFiles","getSourceFile","getBoundSourceFile","_runEvaluatorWithCancellationToken","openFiles","effectiveMaxTime","openFilesTimeInMs","_checkTypes","noOpenFilesTimeInMs","_isUserCode","indexWorkspace","initiallyParsedSet","dropParseAndBindInfoCreatedForIndexing","_handleMemoryHighUsage","printDependencies","projectRootDir","sortedFiles","zeroImportFiles","sfInfo","relPath","importFile","writeTypeStub","targetImportPath","targetIsSingleFile","typeStubPath","typeStubDir","getTypeForSymbol","_addShadowedFile","stubFile","shadowImplPath","shadowFileInfo","printer","logCalls","run","minimumLoggingThreshold","typeEvaluator","createTypeEvaluatorWithTracker","_getPrintTypeFlags","_parseFile","fileToParse","_isFileNeeded","_updateSourceFileImports","fileToAnalyze","getScopeIfAvailable","builtinsImport","ipythonDisplayImport","_buildModuleSymbolsMap","sourceFileToExclude","userFileOnly","includeIndexUserSymbols","variableKind","buildModuleSymbolsMap","fileToCheck","closureMap","_getImportsRecursive","_detectAndReportImportCycles","importedFileInfo","dependencyChain","dependencyMap","_logImportCycle","circDep","firstFilePath","firstSourceFile","markMap","getTextOnRange","getAutoImports","writtenWord","symbolSubstrLength","smallestEditDistance","editDistance","computeCompletionSimilarity","fileDiagnostics","getDiagnosticsForRange","unfilteredDiagnostics","_createSourceMapper","reportReferencesForPosition","invokedFromUserFile","curSourceFileInfo","locations","declFileInfo","tempResult","loc","getFileIndex","addSymbolsForDocument","reportSymbolsForWorkspace","completionResult","completionResultsList","completionList","extensionInfo","completionListExtension","updateCompletionResults","renameModule","renameModuleProvider","createForModule","_processModuleReferences","moveSymbolAtPosition","newFilePath","createForSymbol","fileOperations","renameSymbolAtPosition","isDefaultWorkspace","getCallForPosition","getTargetDeclaration","getCallForDeclaration","getIncomingCallsForPosition","itemsToAdd","getIncomingCallsForDeclaration","getOutgoingCallsForPosition","getOutgoingCallsForDeclaration","getApiDocs","documentationFormat","internalDocStringConversion","markupKind","docStringConversion","moduleResult","recurseSymbolTables","parents","isDeclarationType","apiDocsParamsInfo","suffix","test_createSourceMapper","filteringText","currentFileInfo","parseResult","memoryUsage","heapUsed","rss","heapSizeInMb","heapUsageInMb","_discardCachedParseResults","_removeSourceFileFromListAndMap","importedFile","indexToRemove","fi","shadowedFile","_isImportNeededRecursive","recursionMap","importerInfo","mapCompiled","implFilePath","stubFileInfo","_isImportAllowed","importer","isImportStubFile","thirdPartyImportAllowed","filesAdded","getThirdPartyImportInfo","isPyTypedPresent","newImportPathMap","thirdPartyTypeInfo","updatedImportMap","oldFilePath","normalizedImportPath","resolvedBuiltinsPath","resolvedIPythonDisplayPath","port","getBackgroundWaiter","CancellationThrottle","curTimestamp","_lastCheckTimestamp","FileBasedToken","cancellationFilePath","isCancelled","_disposeEmitter","shouldCheck","_pipeExists","getCancellationTokenFromId","cancellationId","getCancellationTokenId","convertAnalysisResults","convertDiagnostics","CommandLineOptions","fromVsCodeExtension","fileSpecs","enableAmbientAnalysis","DeferredImpl","_scope","_resolved","_rejected","_promise","rej","_resolve","_reject","_reason","createDeferred","AnalyzerServiceExecutor","languageServiceRootPath","serverSettings","typeStubTargetImportName","trackFiles","commandLineOptions","workspaceRootPath","openFilesOnly","watchForSourceChanges","watchForLibraryChanges","watchForConfigChanges","logLevel","getEffectiveCommandLineOptions","serviceInstance","setOptions","backgroundAnalysis","tempWorkspace","workspaceName","rootUri","disableLanguageServices","disableOrganizeImports","isInitialized","getSettings","runWithOptions","CreateTypeStubCommand","_ls","cmdParams","callingFile","service","cloneService","getWorkspaceForFile","createBackgroundAnalysis","writeTypeStubInBackground","infoMessage","reanalyze","errMessage","QuickActionCommand","docUri","otherArgs","decodeTextDocumentUri","editAction","convertTextEdits","RestartServerCommand","restart","CommandController","_createStub","_restartServer","_quickAction","execute","isLongRunningCommand","NoAccessHost","logInfo","BackgroundAnalysisProgram","_backgroundAnalysis","_maxAnalysisTime","_program","_ensurePartialStubPackages","_reportDiagnosticsForRemovedFiles","initializeFileSystem","updateOpenFileContents","setCompletionCallback","_onAnalysisCompletion","startAnalysis","_indices","test_setIndexing","workspaceIndices","libraryIndices","indices","_getIndices","setWorkspaceIndex","execEnvRoot","libraryPath","setIndex","startIndexing","indexOptions","refreshIndexing","cancelIndexing","getIndexing","getIndex","invalidateAndForceReanalysis","rebuildUserFileIndexing","rebuildLibraryIndexing","indicesMap","fileDiags","visit","visitor","DEFAULT","_scanner","ignoreTrivia","lineNumber","lineStartOffset","tokenLineStartOffset","prevTokenLineStartOffset","scanError","scanHexDigits","exact","scanNext","ch3","scanString","safeLength","commentClosed","scanNumber","isUnknownContentCharacter","setPosition","newPosition","getPosition","scan","getToken","getTokenValue","getTokenOffset","getTokenLength","getTokenStartLine","getTokenStartCharacter","getTokenError","createScanner","toNoArgVisit","toOneArgVisit","onObjectBegin","onObjectProperty","onObjectEnd","onArrayBegin","onArrayEnd","onLiteralValue","onSeparator","onComment","disallowComments","allowTrailingComma","skipUntilAfter","skipUntil","parseString","isValue","allowEmptyContent","needsComma","parseArray","parseObject","tokenValue","parseLiteral","configFileNames","_gitDirectory","_includeFileRegex","AnalyzerService","instanceName","hostFactory","importResolverFactory","maxAnalysisTime","backgroundAnalysisProgramFactory","cancellationProvider","_typeStubTargetIsSingleFile","_requireTrackedFileUpdate","_lastUserInteractionTime","_disposed","_instanceName","_executionRootPath","_importResolverFactory","createImportResolver","_maxAnalysisTimeInForeground","_backgroundAnalysisProgramFactory","_cancellationProvider","_hostFactory","_backgroundAnalysisProgram","backgroundAnalysisProgram","_removeSourceFileWatchers","_removeConfigFileWatcher","_removeLibraryFileWatcher","_clearReloadConfigTimer","_clearReanalysisTimer","_clearLibraryReanalysisTimer","_onCompletionCallback","_commandLineOptions","_getConfigOptions","_applyConfigOptions","includeSpec","_matchIncludeFileSpec","_scheduleReanalysis","getParseResult","getDefinitionForPosition","getTypeDefinitionForPosition","getEvaluator","printStats","fileCount","getConfigOptions","getImportResolver","recordUserInteractionTime","_analyzeTimer","test_getConfigOptions","test_getFileNamesFromFileSpecs","_getFileNamesFromFileSpecs","configFilePath","pyprojectFilePath","_findConfigFile","_findConfigFileHereOrUp","_findPyprojectTomlFile","_findPyprojectTomlFileHereOrUp","_typeCheckingMode","defaultExcludes","configJsonObj","_configFilePath","_parseJsonConfigFile","_parsePyprojectTomlFile","configFileDir","autoExcludeVenv","reportDuplicateSetting","settingName","configValue","settingSource","fullVenvPath","typingsSubdirPath","_getTypeStubFolder","_typeStubTargetPath","updateTrackedFileList","_updateTrackedFileList","_typeStubTargetImportName","errMsg","typeStubInputTargetParts","typingsSubdirHierarchy","ancestor","configPath","_attemptParseFile","currentProperty","currentParent","previousParents","onValue","object","pyprojectPath","attemptCount","tool","pyright","parseCallback","parseAttemptCount","_reportConfigParseError","parseFailed","fileMap","matchedFiles","_matchFiles","markFilesDirtyUnconditionally","filesToImport","finalResolvedPath","isFinalPathFile","isFinalPathInitFile","rootPackagePath","fileList","envMarkers","loggedLongOperationError","visitDirectoryUnchecked","includeRegExp","_isInExcludePath","visitDirectory","seenDirs","realDirPath","foundFileSpec","_shouldIncludeFile","_sourceFileWatcher","_updateSourceFileWatchers","_watchForSourceChanges","spec","_verboseOutput","isIgnored","stats","fileNameSplit","isTemporaryFile","_libraryFileWatcher","_updateLibraryFileWatcher","_watchForLibraryChanges","watchList","_scheduleLibraryAnalysis","_libraryReanalysisTimer","_configFileWatcher","_updateConfigFileWatcher","_watchForConfigChanges","_scheduleReloadConfigFile","_reloadConfigTimer","_reloadConfigFile","requireTrackedFileUpdate","_backgroundAnalysisCancellationSource","timeSinceLastUserInteractionInMs","timeUntilNextAnalysisInMs","excludePaths","excl","CommandResult","ProgressReportTracker","_isDisplayingProgress","isEnabled","UriParser","decodeTextDocumentPosition","nullProgressReporter","SortedMap","comparer","iterable","_keys","_values","_copyOnWrite","_comparer","_order","getIterator","nextResult","closeIterator","_writePreamble","_writePostScript","_orderedRemoveItemAt","_getIterationOrder","order","Metadata","_parent","_parentVersion","_escapeKey","_undefinedValue","escapedKey","_unescapeKey","IO_ERROR_MESSAGE","EACCES","EIO","ENOENT","EEXIST","ELOOP","ENOTDIR","EISDIR","EBADF","EINVAL","ENOTEMPTY","EPERM","EROFS","createIOError","invalidRootComponentRegExp","getInvalidRootComponentRegExp","invalidNavigableComponentRegExp","invalidNavigableComponentWithWildcardsRegExp","invalidNonNavigableComponentRegExp","invalidNonNavigableComponentWithWildcardsRegExp","extRegExp","validate","trailing","hasTrailingSeparator","hasDirname","hasBasename","hasExtname","invalidComponentRegExp","validateComponents","MODULE_PATH","devCount","inoCount","TestFileSystem","_lazy","_tmpfileCounter","time","meta","stringComparer","_time","_applyFiles","links","mkdirpSync","_cwd","_shadowRoot","isFrozen","makeReadonly","snapshot","isReadonly","_dirStack","shadow","getTime","filemeta","_walk","_filemeta","parentMeta","shadowRoot","pushd","popd","scanSync","axis","traversal","_scan","_stat","lscanSync","postfix","noFollow","accept","traverse","childpath","mountSync","resolver","existingNode","_mknod","dev","S_IFDIR","_addLink","rimrafSync","lstatSync","rmdirSync","_mkdir","getFileListing","printLinks","marker","_getLinks","isSymlink","symlink","_getRootLinks","debugPrint","utimesSync","atime","mtime","atimeMs","mtimeMs","ctimeMs","realpath","Stats","ino","nlink","_getSize","birthtimeMs","makeDirEnt","_removeLink","linkSync","oldpath","newpath","renameSync","oldParent","oldParentLinks","oldBasename","newParent","newParentLinks","newBasename","_replaceLink","symlinkSync","linkpath","S_IFLNK","_getBuffer","S_IFREG","Int8Array","bufferFrom","differences","_rootDiff","_trackCreatedInodes","changed","changedLinks","baseLinks","_trackDeletedInodes","hasChanges","Rmdir","Unlink","changedNode","baseNode","_directoryDiff","_fileDiff","_symlinkDiff","_trackCreatedInode","_diffWorker","isEmptyNonShadowedDirectory","Directory","isEmptyNonShadowedFile","changedBuffer","baseBuffer","includeChangedFileWithSameContent","SameFileContentFile","Symlink","S_IFMT","oldLinks","oldName","newLinks","_copyShadowLinks","_getShadow","step","retry","lastStep","trapError","deferred","_applyFilesWorker","_applyFileExtendedOptions","Link","normalizeFileSetEntry","metaAndEncoding","rdev","blksize","blocks","uid","gid","ctime","birthtime","WorkspaceMap","_defaultWorkspacePath","getNonDefaultWorkspaces","workspaces","bestRootPath","bestInstance","defaultWorkspace","workspaceNames","createAnalyzerService","updateSettingsForWorkspace","maxAnalysisTimeInForeground","PyrightServer","_serverOptions","_lastTriggerKind","hasConfigurationCapability","hasVisualStudioExtensionsCapability","hasWorkspaceFoldersCapability","hasWatchFileCapability","hasActiveParameterCapability","hasSignatureLabelOffsetCapability","hasHierarchicalDocumentSymbolCapability","hasWindowProgressCapability","hasGoToDeclarationCapability","hasDocumentChangeCapability","hasDocumentAnnotationCapability","hoverContentFormat","completionDocFormat","completionSupportsSnippet","signatureDocFormat","supportsDeprecatedDiagnosticTag","supportsUnnecessaryDiagnosticTag","completionItemResolveSupportsAdditionalTextEdits","diagnosticTextSettings","__rootDirectory","rootDirectory","productName","_workspaceMap","workspaceMap","_fileWatcherProvider","fileWatcherProvider","_uriParser","setupConnection","supportedCommands","supportedCodeActions","_progressReporter","createProgressReporter","scopeUri","_defaultClientConfig","isOpenFilesOnly","diagnosticMode","getSeverityOverrides","enumValue","getDiagnosticRuleName","createBackgroundAnalysisProgram","setExtension","createHost","onAnalysisCompletedHandler","executeCodeAction","workDoneReporter","resultReporter","callHierarchy","initializationOptions","didChangeWatchedFiles","dynamicRegistration","supportsVisualStudioExtensions","signatureHelp","signatureInformation","activeParameterSupport","parameterInformation","labelOffsetSupport","documentSymbol","hierarchicalDocumentSymbolSupport","resourceOperations","changeAnnotationSupport","_getCompatibleMarkupKind","hover","contentFormat","completion","snippetSupport","supportedDiagnosticTags","publishDiagnostics","tagSupport","valueSet","tag","resolveSupport","properties","createWorkspaceServiceInstance","updateSettingsForAllWorkspaces","definitionProvider","declarationProvider","typeDefinitionProvider","referencesProvider","documentSymbolProvider","workspaceSymbolProvider","hoverProvider","documentHighlightProvider","renameProvider","completionProvider","triggerCharacters","resolveProvider","signatureHelpProvider","codeActionProvider","codeActionKinds","executeCommandProvider","commands","callHierarchyProvider","onDidChangeWorkspaceFolders","removed","added","newWorkspace","watchers","globPattern","settings","getDefinitions","PreferSource","getDefinitionsFunc","_pendingFindAllRefsCancellationSource","_getProgressReporter","convertToFlatSymbols","disableWorkspaceSymbol","hoverResults","markupString","convertHoverResults","signatureHelpResults","isActive","activeSignature","isRetrigger","triggerKind","prevActiveSignature","activeSignatureHelp","completionIncomplete","getWorkspaceCompletionsForPosition","getCompletionOptions","resolveWorkspaceCompletionItem","workspaceEdits","convertWorkspaceEdits","callItem","callItems","eventType","_pendingCommandCancellationSource","executeCommand","_convertDiagnostics","fileDiag","_sendDiagnostics","progressMessage","updateOptionsAndRestartService","convertLogLevel","logLevelValue","clientSupportedFormats","serverSupportedFormats","serverInitiatedReporter","diags","convertedDiags","convertCategoryToSeverity","vsDiag","ruleDocUrl","getDocumentationUrlForDiagnosticRule","relatedInfo","expandPathVariables","trimmedName","HOME","USERNAME","VIRTUAL_ENV","_controller","_initialFiles","pythonSection","pythonAnalysisSection","pyrightSection","BrowserBackgroundAnalysis","codeActions","typeStubDiag","addOptionalDiag","addMissingOptionalAction","getCodeActionsForPosition","setup","worker","_worker","onMessage","requestType","logData","enqueueRequest","_startOrResumeAnalysis","port1","port2","disposeCancellationToken","waiter","request","initialData","runner","createWorker","BrowserBackgroundAnalysisRunner","folderName","_realFs","createRealFileSystem","getConsole","initializationData","_analyzeOneChunk","jsonObject","createConfigOptionsFrom","_reportDiagnostics","_analysisPaused","processIndexing","analysisDone","reportIndex","BrowserWorkersHost","_parentPort","BrowserMessagePort","channel","MessageChannel","delegate","unwrap","transferList","unwrapForSend","MessagePort","app"],"mappings":"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B9wB,KAAU2wB,GAAaiB,cAC1C,OAAOjB,GAAakB,kBAGxB,MAAMC,EAAiBf,GAAkB/wB,GACzC,OAAK8xB,EAIEA,EAAexkB,GAHXqjB,GAAakB,kBAQ5B,MAUME,GAA6B,CAV6B,C,GAE5D,KACA,KACA,KACA,KACA,MACA,OC1IwC,CACxC,CAAC,GAAI,IACL,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,SA+C+B,CACxC,CAAC,GAAI,KACL,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,IAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,SA4C+B,CACxC,IACA,IACA,IACA,IACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,MAGwC,CACxC,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,OACA,OACA,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,OACA,OACA,OACA,OACA,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ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,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,MACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR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,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,SA+H+B,CACxC,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,SA0E+B,CACxC,CAAC,GAAI,IACL,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,SAuC+B,CAAC,GAAI,CAAC,KAAM,MAAO,KAAM,CAAC,MAAO,OAAQ,CAAC,MAAO,OAAQ,QDxqF/FC,GAAiC,CCouEuB,CAC1D,MAAO,CAAC,MAAO,MAAO,CAAC,MAAO,QAC9B,MAAO,CAAC,CAAC,MAAO,OAAQ,CAAC,MAAO,OAAQ,CAAC,MAAO,OAAQ,CAAC,MAAO,OAAQ,MAAO,CAAC,MAAO,QACvF,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,MAAO,CAAC,MAAO,OAAQ,OAC/B,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,OAAQ,CAAC,MAAO,OAAQ,MAAO,MAAO,CAAC,MAAO,OAAQ,CAAC,MAAO,QAC9E,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,SAsK0C,CAC1D,MAAO,CACH,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,OAEJ,MAAO,CACH,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,OAEJ,MAAO,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,CAAC,MAAO,OAAQ,CAAC,MAAO,OAAQ,MAAO,CAAC,MAAO,QAC1F,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,SA8D8C,CAC1D,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,OAAQ,OACxB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,UD/pFpB,SAASC,GACLzwD,EACA0wD,EACAC,EACAC,EACAC,GAEA,IAAK,IAAIC,EAAa,EAAGA,EAAa9wD,EAAM5S,OAAQ0jE,IAAc,CAC9D,MAAMjF,EAAQ7rD,EAAM8wD,GACpB,IAAIC,EACAC,EAEAljE,MAAMuD,QAAQw6D,IACdkF,EAAalF,EAAM,GACnBmF,EAAWnF,EAAM,IAEjBkF,EAAaC,EAAWnF,EAG5B,IAAK,IAAIn/D,EAAIqkE,EAAYrkE,GAAKskE,EAAUtkE,IAChCA,EAAIwiE,GACJ0B,EAAUlkE,GAAKgkE,EAEfG,EAAUnkE,GAAKgkE,EAIvB,GAAIC,GAAiBI,GAAc7B,GAC/B,OAKZ,SAAS+B,GACLb,EACAM,GAEA,IAAK,MAAMQ,KAAiBd,EACnBf,GAAkB6B,KACnB7B,GAAkB6B,GAAiB,GACnC9B,GAAmB8B,GAAiBjC,GAAaiB,eAGrDO,GACIL,EAAec,GACfR,GACoB,EACpBrB,GAAkB6B,GAClB7B,GAAkB6B,IAM9B,SAASxB,GAA4BiB,GAyBjC,GAxBAxB,GAAyBt4D,KAAKo4D,GAAakB,mBAE3CI,GAAsB74C,SAAS1X,IAC3BywD,GACIzwD,EACAivD,GAAaY,eACbc,EACAxB,GACAC,OAIRiB,GAA2B34C,SAAS1X,IAChCywD,GACIzwD,EACAivD,GAAaO,oBACbmB,EACAxB,GACAC,QAMHuB,EAAe,CAChB,IAAK,MAAMP,KAAkBI,GACzBS,GAAmDb,EAAgBnB,GAAaY,gBAGpF,IAAK,MAAMO,KAAkBE,GACzBW,GAAmDb,EAAgBnB,GAAaO,sBEpQrF,SAAS2B,GAAeC,EAAwB1J,GACnD,IAAK0J,EAAWhJ,WAAWV,KAAasD,GAAYoG,EAAY1J,GAC5D,OAGJ,IAAI2J,GAAmB,EACvB,MAAMC,EAAcnJ,GAAaT,EARZ,YAUrB,IAAK0J,EAAWhJ,WAAWV,KAAawD,GAAOkG,EAAYE,GACvD,OAIJ,MAAMC,EAAYH,EAAWjG,SAASmG,GAItC,GAAIC,EAAU7/D,KAAO,GAAK6/D,EAAU7/D,KAAO,MAAW,CAClD,MAAM8/D,EAAkBJ,EAAWK,aAAaH,EAAa,SAKzDE,EAAgB3N,MAAM,cAAgB2N,EAAgB3N,MAAM,kBAC5DwN,GAAmB,GAI3B,MAAO,CACHC,cACAD,oBC6CD,SAASK,GAA0B/I,GACtC,MAAMgJ,EAAkBhJ,EAAMzyC,KAAKtR,GAAMA,EAAE1S,gBAC3C,OAAQiP,IACJ,IAAKA,GAAQA,EAAKlT,QAAQ,gBAAkB,EACxC,OAAO,EAEX,MAAM84D,EAAiB5lD,EAAKjP,cAC5B,OAAOy/D,EAAgBx4C,OAAOvU,GAAMmiD,EAAe94D,QAAQ2W,GAAK,KHuLxE8qD,IAA4B,GGnL5B,MAAMkC,GAA+B,CACjCnpD,WAKSopD,GAA+C,CACxDC,kBAAiB,CAACC,EAAcC,IACrBJ,GAEXK,aAAaF,EAA0BC,MAKpC,MAAME,GACT7zD,YAAmBI,EAAsB0zD,GAAtB,KAAA1zD,OAAsB,KAAA0zD,QAEzCjH,SACI,OAAO94D,KAAK+/D,MAGhBnH,cACI,OAAQ54D,KAAK+/D,MAGjBC,gBACI,OAAO,EAGXC,oBACI,OAAO,EAGXvG,iBACI,OAAO,EAGXwG,SACI,OAAO,EAGXC,WACI,OAAO,GC1HR,MAAMC,WCHN,MAUHn0D,YAAsBo0D,GAAA,KAAAA,UARL,KAAAC,UAAY,IAAIxiD,IAGhB,KAAAyiD,iBAAmB,IAAIziD,IAGvB,KAAA0iD,WAAa,IAAI1iD,IAIlCk4C,WAAWjnD,GACP,OAAI/O,KAAKygE,cAAc1xD,IAKhB/O,KAAKqgE,QAAQrK,WAAWh2D,KAAK0gE,iBAAiB3xD,IAGzDknD,UAAUlnD,EAAcqF,GACpB,MAAM,IAAIxY,MAAM,6BAGpB+kE,MAAM5xD,GACF,MAAM,IAAInT,MAAM,6BAGpBw9D,mBAAmBrqD,GACf,MAAM6xD,EAAiBxL,GAAiCrmD,GAElD6Z,EAAuB,GACvBi4C,EAAe7gE,KAAKwgE,WAAWj8D,IAAIq8D,GAUzC,OATKC,IAAgB7gE,KAAKqgE,QAAQrK,WAAWjnD,IACzC6Z,EAAQvtB,QACD2E,KAAKqgE,QAAQjH,mBAAmBrqD,GAAM85C,QAAQ7gC,IAErChoB,KAAKygE,cAAc1K,GAAahnD,EAAMiZ,EAAK3b,UAK1Dw0D,EAIEj4C,EAAQ5jB,OAAO67D,EAAa/8C,KAAK7f,GAAM,IAAI67D,GAAc77D,EAAEoI,KAAMpI,EAAE60D,WAH/DlwC,EAMfk4C,YAAY/xD,GACR,OAAO/O,KAAKo5D,mBAAmBrqD,GAAM+U,KAAKtR,GAAMA,EAAEnG,OAKtDgzD,aAAatwD,EAAcvR,GACvB,OAAOwC,KAAKqgE,QAAQhB,aAAar/D,KAAK0gE,iBAAiB3xD,GAAOvR,GAGlEw+D,cAAcjtD,EAAc7P,EAAuB1B,GAC/C,MAAM,IAAI5B,MAAM,6BAGpBm9D,SAAShqD,GACL,OAAO/O,KAAKqgE,QAAQtH,SAAS/4D,KAAK0gE,iBAAiB3xD,IAGvDktD,WAAWltD,GACP,MAAM,IAAInT,MAAM,6BAGpBq9D,aAAalqD,GACT,OAAI/O,KAAKsgE,UAAUl8C,IAAIrV,GACZA,EAGJ/O,KAAKqgE,QAAQpH,aAAalqD,GAGrCgyD,gBACI,OAAO/gE,KAAKqgE,QAAQU,gBAGxBC,wBAAwBzK,EAAiB1gD,GACrC,OAAO7V,KAAKqgE,QAAQW,wBAAwBzK,EAAO1gD,GAGvDorD,iBAAiBlyD,GACb,OAAO/O,KAAKqgE,QAAQY,iBAAiBjhE,KAAK0gE,iBAAiB3xD,IAG/DmyD,kBAAkBnyD,GACd,MAAM,IAAInT,MAAM,6BAGpBulE,aAAa1zD,EAAaC,GACtB,MAAM,IAAI9R,MAAM,6BAIpBwlE,SAASryD,GACL,OAAO/O,KAAKqgE,QAAQe,SAASphE,KAAK0gE,iBAAiB3xD,IAGvDsyD,aAAatyD,EAAcvR,GACvB,OAAOwC,KAAKqgE,QAAQgB,aAAarhE,KAAK0gE,iBAAiB3xD,GAAOvR,GAIlEu+D,SACI,OAAO/7D,KAAKqgE,QAAQtE,SAGxBuF,QAAQltD,GACJ,OAAOpU,KAAKqgE,QAAQiB,QAAQltD,GAGhCmtD,aAAaxyD,GACT,OAAO/O,KAAKqgE,QAAQkB,aAAaxyD,GAGrC2sD,OAAO8F,GACH,OAAOxhE,KAAKqgE,QAAQ3E,OAAO8F,GAI/BC,iBAAiBC,GACb,OAAO1hE,KAAKsgE,UAAUl8C,IAAIs9C,IAAa1hE,KAAKqgE,QAAQoB,iBAAiBC,GAIzE/F,oBAAoBgG,GAChB,OAAO3hE,KAAKqgE,QAAQ1E,oBAAoB37D,KAAK0gE,iBAAiBiB,IAIlEpG,kBAAkBqG,G,MACd,MAAMD,EAAiB3hE,KAAKqgE,QAAQ9E,kBAAkBqG,GACtD,OAAgD,QAAzC,EAAA5hE,KAAKugE,iBAAiBh8D,IAAIo9D,UAAe,QAAIA,EAGxDE,aAAa9yD,GACT,OAAO/O,KAAKqgE,QAAQwB,aAAa9yD,GAG3B+yD,kBAAkBC,EAAoBP,EAAsBQ,GAAa,EAAMlJ,GAAS,GAC9F94D,KAAKsgE,UAAUn7D,IAAI48D,EAAYP,GAE3BQ,GACAhiE,KAAKugE,iBAAiBp7D,IAAIq8D,EAAcO,GAG5C,MAAM5N,EAAYiB,GAAiCf,EAAiB0N,IAC9DE,EAAajT,EAAShvD,KAAKwgE,WAAYrM,GAAW,IAAM,KAExD9nD,EAAOqsD,GAAYqJ,GACpBE,EAAWxT,MAAMgL,GAAUA,EAAMptD,OAASA,KAC3C41D,EAAW5mE,KAAK,CAAEgR,OAAMysD,WAItB4H,iBAAiBiB,G,MACvB,OAAyC,QAAlC,EAAA3hE,KAAKsgE,UAAU/7D,IAAIo9D,UAAe,QAAIA,EAGvClB,cAAc1xD,GACpB,OAAO/O,KAAKugE,iBAAiBn8C,IAAIrV,GAG3BmzD,SACNliE,KAAKsgE,UAAUz4C,QACf7nB,KAAKugE,iBAAiB14C,QACtB7nB,KAAKwgE,WAAW34C,UD7JpB5b,YAAYk2D,GACRj2D,MAAMi2D,GAZO,KAAAC,cAAgB,IAAItxB,IAGpB,KAAAuxB,yBAA2B,IAAIvxB,IAI/B,KAAAwxB,aAAe,IAAIxkD,IAEnB,KAAAykD,cAAgB,IAAIzkD,IAM5Bm4C,UAAUlnD,EAAcqF,GAC7BpU,KAAKqgE,QAAQpK,UAAUlnD,EAAMqF,GAGxBusD,MAAM5xD,GACX/O,KAAKqgE,QAAQM,MAAM5xD,GAGditD,cAAcjtD,EAAc7P,EAAuB1B,GACxDwC,KAAKqgE,QAAQrE,cAAch8D,KAAK0gE,iBAAiB3xD,GAAO7P,EAAM1B,GAGzDy+D,WAAWltD,GAChB/O,KAAKqgE,QAAQpE,WAAWj8D,KAAK0gE,iBAAiB3xD,IAGzCmyD,kBAAkBnyD,GACvB,OAAO/O,KAAKqgE,QAAQa,kBAAkBlhE,KAAK0gE,iBAAiB3xD,IAGvDoyD,aAAa1zD,EAAaC,GAC/B1N,KAAKqgE,QAAQc,aAAanhE,KAAK0gE,iBAAiBjzD,GAAMzN,KAAK0gE,iBAAiBhzD,IAGvEguD,OAAO8F,GACZ,MAAM/H,EAAQz5D,KAAKuiE,cAAch+D,IAAIvE,KAAKu7D,kBAAkBiG,IAC5D,OAAI/H,EACOA,EAAMj/B,IAGVx6B,KAAKqgE,QAAQ3E,OAAO8F,GAG/BgB,eAAelH,EAAmByG,GAC9B,MAAMtI,EAAQz5D,KAAKuiE,cAAch+D,IAAIw9D,GACrC,SAAKtI,GAASA,EAAMj/B,MAAQ8gC,GAQhCmH,UAAUnH,EAAmByG,GACzB,MAAMtI,EAAQz5D,KAAKuiE,cAAch+D,IAAIw9D,GACrC,OAAKtI,EAKDA,EAAMj/B,MAAQ8gC,IAKlB7B,EAAMiJ,QAAS,GACR,IAVH1iE,KAAKuiE,cAAcp9D,IAAI48D,EAAY,CAAEvnC,IAAK8gC,EAAWoH,QAAQ,EAAOC,mBAAmB,KAChF,GAYfC,aAAatH,EAAmByG,GAC5B,MAAMtI,EAAQz5D,KAAKuiE,cAAch+D,IAAIw9D,GACrC,SAAKtI,GAASA,EAAMj/B,MAAQ8gC,IAIxB7B,EAAMkJ,mBACNlJ,EAAMiJ,QAAS,EACR,IAGX1iE,KAAKuiE,cAAc3/C,OAAOm/C,GACnB,KAGXc,eAAed,EAAoBY,GAC/B,MAAMlJ,EAAQz5D,KAAKuiE,cAAch+D,IAAIw9D,GAChCtI,IAIAkJ,IAAqBlJ,EAAMiJ,OAKhCjJ,EAAMkJ,kBAAoBA,EAJtB3iE,KAAKuiE,cAAc3/C,OAAOm/C,IAOlCe,6BAA6BC,G,MACzB,OAAO/iE,KAAKgjE,cAA0B,QAAZ,EAAAD,EAAQvxD,YAAI,QAAI,IAG9CwxD,cAAcj0D,GACV,OAAO/O,KAAKoiE,cAAch+C,IAAIrV,GAGlCk0D,2BAA2B1M,EAAiB2M,G,MACxC,IAAK,MAAMn0D,KAAQwnD,EAGf,GAFAv2D,KAAKoiE,cAAcx8C,IAAI7W,GAElB/O,KAAKqgE,QAAQrK,WAAWjnD,IAAU6pD,GAAY54D,KAAKqgE,QAAStxD,GAIjE,IAAK,MAAM0qD,KAASz5D,KAAKqgE,QAAQjH,mBAAmBrqD,GAAO,CACvD,MAAMo0D,EAAyBpN,GAAahnD,EAAM0qD,EAAMptD,MAKxD,KAJqBotD,EAAMC,iBAE0B,QAA7C,EAAAb,GAAQ74D,KAAKqgE,QAAS8C,UAAuB,eAAEvK,cADjDa,EAAMb,iBAGSa,EAAMptD,KAAK4tD,SAASvK,GACrC,SAGJ,MAAM0T,EAAcrE,GAAe/+D,KAAKqgE,QAAS8C,GACjD,IAAKC,IAAgBA,EAAYnE,iBAE7B,SAOJ,IAAIoE,EAHJrjE,KAAKqiE,yBAAyBz8C,IAAIu9C,GAIlC,MAAMG,EAAc7J,EAAMptD,KAAKrK,OAAO,EAAGy3D,EAAMptD,KAAKrR,OAAS00D,EAAY10D,QACzE,IAAK,MAAMwW,KAAQ0xD,EAAO,CACtB,MAAMK,EAAcxN,GAAavkD,EAAM8xD,GACvC,IACI,MAAM3J,EAAOd,GAAQ74D,KAAKqgE,QAASkD,GACnC,KAAK5J,aAAI,EAAJA,EAAMf,eACP,SAIJ,MAAM4K,EAAiBzE,GAAe/+D,KAAKqgE,QAASkD,GACpD,GAAIC,IAAmBA,EAAevE,iBAElC,SAIJoE,EAAeA,UAAgBrjE,KAAKyjE,6BAA6BN,GACjE,IAAK,MAAMO,KAAeL,EAAc,CACpC,MAAMM,EAAkB5N,GAAaoN,EAAwBO,GACvDE,EAAgB7N,GAAawN,EAAaG,GAEhD,GAAI1jE,KAAKg2D,WAAW4N,GAApB,CAII,MAAMC,EAAe9M,GAAmB6M,EAAe,MACjDE,EAAY/M,GACdhB,GAAa/1D,KAAK+7D,SAAU,gBAAiBuH,EAAaI,GAC1D,MAMC1jE,KAAKsiE,aAAal+C,IAAIw/C,IACtB5jE,KAAKg2D,WAAW6N,IAChB7jE,KAAKg2D,WAAW8N,KAMjB9jE,KAAK8hE,kBAAkBgC,EAAWH,GAAkC,GAIpE3jE,KAAKsiE,aAAan9D,IAAIy+D,EAAeE,SAK7C9jE,KAAK8hE,kBAAkB8B,EAAeD,IAE5C,UAQlBI,oBACI73D,MAAMg2D,SAENliE,KAAKoiE,cAAcv6C,QACnB7nB,KAAKqiE,yBAAyBx6C,QAE9B7nB,KAAKsiE,aAAaz6C,QAKtBm8C,kBAAkBtC,GACd,OAAO1hE,KAAKsiE,aAAa/9D,IAAIm9D,GAGzB+B,6BAA6B10D,GACjC,MAAMwnD,EAAkB,GAElB0N,EAAwB7O,GAAiCrmD,GAAM/T,OAC/DkpE,EAAkBn1D,IACpB,IAAK,MAAM0qD,KAASz5D,KAAKqgE,QAAQjH,mBAAmBrqD,GAAO,CACvD,MAAM8sD,EAAW9F,GAAahnD,EAAM0qD,EAAMptD,MAE1C,IAAIusD,EAAca,EAAMb,cACpBE,EAASW,EAAMX,SACnB,GAAIW,EAAMC,iBAAkB,CACxB,MAAMC,EAAOd,GAAQ74D,KAAKqgE,QAASxE,GAC/BlC,IACAf,EAAce,EAAKf,cACnBE,EAASa,EAAKb,UAQtB,GAJIF,GACAsL,EAAerI,GAGf/C,GAAUW,EAAMptD,KAAK4tD,SAAS,QAAS,CACvC,MAAMhqD,EAAW4rD,EAASr1B,UAAUy9B,GAChCh0D,GACAsmD,EAAMl7D,KAAK4U,MAO3B,OADAi0D,EAAen1D,GACRwnD,EAGQkK,cAAc1xD,GAC7B,OAAO/O,KAAKqiE,yBAAyBj+C,IAAIrV,IAAS7C,MAAMu0D,cAAc1xD,I,8DExQ9E,IAAIo1D,GAUG,MAAMC,WAAmC,GAAA5qD,cAC5CvN,cACIC,MAAM,GAAA+hB,cAAA,iBAAgC,qBAG1C,UAAUhqB,GACN,OAAOA,EAAEtI,OAAS,GAAAsyB,cAAA,kBAInB,SAAS,GAA6BjN,GAGzC,IAAKktC,KAAiBltC,EAAMnG,wBACxB,MAAM,IAAIupD,GAIX,SAASC,MAAeC,GAC3B,MAAM3iD,EAAS,IAAI,GAAAlJ,wBACbiO,EAA4B,GAElC,IAAK,MAAM1F,KAASsjD,EAChB59C,EAAYrrB,KACR2lB,EAAMlG,yBAAyB2B,IAC3BkF,EAAOpG,aAWnB,OANAmL,EAAYrrB,KACRsmB,EAAOX,MAAMlG,yBAAyB2B,IAClCiK,EAAYpB,SAAS/W,GAAMA,EAAE6M,gBAI9BuG,EAGJ,MAAM4iD,GACT/nD,gCACI,OAAO,IAAI,GAAA/D,yBCtDZ,IAAU+rD,GA+EA/rC,GAgBAC,GC7EL+rC,GD8FL,SAASC,GAAiB7/D,EAAanG,GAC1C,OAAImG,EAAEq1B,KAAOx7B,EAAEw7B,MACH,EACDr1B,EAAEq1B,KAAOx7B,EAAEw7B,KACX,EACAr1B,EAAEs1B,UAAYz7B,EAAEy7B,WACf,EACDt1B,EAAEs1B,UAAYz7B,EAAEy7B,UAChB,EAEJ,EAmBJ,SAASwqC,GAAkB9/D,EAAUnG,GACxC,QAAIgmE,GAAiBhmE,EAAE5C,MAAO+I,EAAE9I,KAAO,GAE5B2oE,GAAiB7/D,EAAE/I,MAAO4C,EAAE3C,KAAO,GAM3C,SAAS6oE,GAAiBn4D,EAAco4D,GAC3C,OAAIpsC,GAASlkB,GAAGswD,GACLH,GAAiBj4D,EAAM3Q,MAAO+oE,IAAoB,GAAKH,GAAiBj4D,EAAM1Q,IAAK8oE,IAAoB,EAG3GD,GAAiBn4D,EAAOo4D,EAAgB/oE,QAAU8oE,GAAiBn4D,EAAOo4D,EAAgB9oE,KAG9F,SAAS+oE,GAAkBjgE,EAAanG,GAC3C,OAAkC,IAA3BgmE,GAAiB7/D,EAAGnG,GAGxB,SAASqmE,GAAelgE,EAAUnG,GACrC,OAAOomE,GAAkBjgE,EAAE/I,MAAO4C,EAAE5C,QAAUgpE,GAAkBjgE,EAAE9I,IAAK2C,EAAE3C,KAkBtE,SAASipE,GAAYv4D,EAAc4qD,GAClCA,IACI37D,MAAMuD,QAAQo4D,GACdA,EAAU/xC,SAASZ,IACfsgD,GAAYv4D,EAAOiY,OAGnBggD,GAAiBrN,EAAUv7D,MAAO2Q,EAAM3Q,OAAS,IACjD2Q,EAAM3Q,MAAQu7D,EAAUv7D,OAGxB4oE,GAAiBrN,EAAUt7D,IAAK0Q,EAAM1Q,KAAO,IAC7C0Q,EAAM1Q,IAAMs7D,EAAUt7D,OEhM/B,SAASkpE,GAAwBvjE,EAAgB8lD,GAEpD,GAAkB,IAAdA,EAAMzrD,IACN,MAAO,CACHm+B,KAAM,EACNC,UAAW,GAKnB,IAAI+qC,EAAmB,EACnBxjE,GAAU8lD,EAAMzrD,MAChB2F,EAAS8lD,EAAMzrD,IAAM,EACrBmpE,EAAmB,GAGvB,MAAMC,EAAY3d,EAAM4d,kBAAkB1jE,GAC1CowD,EAAOqT,GAAa,GAAKA,GAAa3d,EAAMxsD,QAC5C,MAAMqqE,EAAY7d,EAAM8d,UAAUH,GAElC,OADArT,OAAqBhzD,IAAdumE,GACA,CACHnrC,KAAMirC,EACNhrC,UAAWz4B,EAAS2jE,EAAUvpE,MAAQopE,GAKvC,SAASK,GACZj/B,EACAC,EACAihB,GAIA,MAAO,CAAE1rD,MAFKmpE,GAAwB3+B,EAAakhB,GAEnCzrD,IADJkpE,GAAwB1+B,EAAWihB,IAK5C,SAAS,GAAwB/qB,EAAoB+qB,GACxD,KAAI/qB,EAASvC,MAAQstB,EAAMx7B,OAI3B,OAAOw7B,EAAM8d,UAAU7oC,EAASvC,MAAMp+B,MAAQ2gC,EAAStC,UAGpD,SAASqrC,GAAwB/4D,EAAc+6C,GAClD,MAAM1rD,EAAQ,GAAwB2Q,EAAM3Q,MAAO0rD,GACnD,QAAc1oD,IAAVhD,EACA,OAGJ,MAAMC,EAAM,GAAwB0Q,EAAM1Q,IAAKyrD,GAC/C,YAAY1oD,IAAR/C,EAIGyoE,GAAUiB,WAAW3pE,EAAOC,QAJnC,EAOG,SAAS2pE,GAAwBj5D,EAAkB+6C,GACtD,OAAO+d,GAAsB94D,EAAM3Q,MAAO0oE,GAAUmB,OAAOl5D,GAAQ+6C,IF9DvE,SAAiBgd,GACb,SAAgBryD,EAAOrW,EAAed,GAClC,GAAIc,EAAQ,EACR,MAAM,IAAIF,MAAM,8BAEpB,GAAIZ,EAAS,EACT,MAAM,IAAIY,MAAM,+BAEpB,MAAO,CAAEE,QAAOd,UAapB,SAAgB2qE,EAAOl5D,GACnB,OAAOA,EAAM3Q,MAAQ2Q,EAAMzR,OAW/B,SAAgB4qE,EAASn5D,EAAkBgwB,GACvC,OAAOA,GAAYhwB,EAAM3Q,OAAS2gC,GAAYkpC,EAAOl5D,GAOzD,SAAgBo5D,EAAOp5D,EAAkB4qD,GACjCA,IACI37D,MAAMuD,QAAQo4D,GACdA,EAAU/xC,SAASZ,IACfmhD,EAAOp5D,EAAOiY,OAGd2yC,EAAUv7D,MAAQ2Q,EAAM3Q,QACxB2Q,EAAMzR,QAAUyR,EAAM3Q,MAAQu7D,EAAUv7D,MACxC2Q,EAAM3Q,MAAQu7D,EAAUv7D,OAGxB6pE,EAAOtO,GAAasO,EAAOl5D,KAC3BA,EAAMzR,QAAU2qE,EAAOtO,GAAasO,EAAOl5D,MArD3C,EAAA0F,OAAM,EAUN,EAAAszD,WAAhB,SAA2B3pE,EAAeC,GACtC,GAAID,EAAQ,EACR,MAAM,IAAIF,MAAM,8BAEpB,GAAIE,EAAQC,EACR,MAAM,IAAIH,MAAM,8CAEpB,OAAOuW,EAAOrW,EAAOC,EAAMD,IAGf,EAAA6pE,OAAM,EAIN,EAAAG,SAAhB,SAAyBr5D,EAAkBgwB,GACvC,OAAOA,GAAYhwB,EAAM3Q,OAAS2gC,EAAWkpC,EAAOl5D,IAGxC,EAAAs5D,cAAhB,SAA8Bt5D,EAAkBu5D,GAC5C,OAAOA,EAAKlqE,OAAS2Q,EAAM3Q,OAAS6pE,EAAOK,IAASL,EAAOl5D,IAG/C,EAAAm5D,SAAQ,EAIR,EAAAK,cAAhB,SAA8Bx5D,EAAkB+pC,GAC5C,OAAOovB,EAASn5D,EAAO+pC,EAAM16C,QAAU8pE,EAASpvB,EAAO/pC,EAAM3Q,QAGjD,EAAA+pE,OAAM,EAmBN,EAAAhzB,QAAhB,SAAwBqzB,GACpB,GAAsB,IAAlBA,EAAOlrE,OACP,OAGJ,MAAMmrE,EAAgBD,EAAO,GAC7B,IAAK,IAAI5rE,EAAI,EAAGA,EAAI4rE,EAAOlrE,OAAQV,IAC/BurE,EAAOM,EAAeD,EAAO5rE,IAEjC,OAAO6rE,GArEf,CAAiB3B,QAAS,KA+E1B,SAAiB/rC,GACG,EAAAlkB,GAAhB,SAAmBjX,GACf,MAAM0d,EAAY1d,EAClB,OAAO0d,QAAgC,IAAnBA,EAAUkf,WAA2C,IAAxBlf,EAAUmf,WAG/C,EAAAisC,MAAhB,SAAsB9oE,GAClB,MAAO,IAAIA,EAAM48B,QAAQ58B,EAAM68B,cAPvC,CAAiB1B,QAAQ,KAgBzB,SAAiBC,GACG,EAAAnkB,GAAhB,SAAmBjX,GACf,MAAM0d,EAAY1d,EAClB,OAAO0d,QAAiC,IAApBA,EAAUlf,YAAsC,IAAlBkf,EAAUjf,KAGhD,EAAAqqE,MAAhB,SAAsB9oE,GAClB,MAAO,GAAGm7B,GAAS2tC,MAAM9oE,EAAMxB,UAAU28B,GAAS2tC,MAAM9oE,EAAMvB,QAPtE,CAAiB28B,QAAK,KC7EtB,SAAY+rC,GACR,iCACA,qBACA,iCACA,6BACA,gCACA,wBACA,wCACA,uCACA,yCACA,sBACA,0CACA,oCACA,mDACA,mDACA,mDACA,sDACA,gDACA,4CAlBJ,CAAYA,QAAS,KAqBrB,IAAI4B,GAAkB,EAIf,SAASC,KACZ,OAAOD,KA4GJ,SAASE,GAAgCC,GAC5C,GAA2B,KAAvBA,EAAUC,SACV,OAAO,EAGX,GAA2B,KAAvBD,EAAUC,SACV,OAAOF,GAAgCC,EAAUE,gBAGrD,GAA2B,KAAvBF,EAAUC,SAAkC,CAG5C,GAC+B,IAA3BD,EAAUzjC,MAAM/nC,QAChBwrE,EAAUG,oBACkB7nE,IAA5B0nE,EAAUzjC,MAAM,GAAG12B,MACqB,IAAxCm6D,EAAUzjC,MAAM,GAAG6jC,iBAEnB,OAAO,EAGX,MAAMC,EAAgBL,EAAUzjC,MAAM,GAAG+jC,gBACnCC,EACyB,KAA3BF,EAAcJ,WAAsCI,EAAcG,aAAeH,EAAc35D,UAC7F+5D,EACyB,KAA3BJ,EAAcJ,UACmB,IAAjCI,EAAcK,QAAQlsE,QACgB,KAAtC6rE,EAAcK,QAAQ,GAAGT,SAE7B,SAAKM,IAAmBE,IAIjBV,GAAgCC,EAAUW,gBAGrD,OAAO,EAGJ,SAASC,GAAsBZ,GAClC,IAAIxkD,EACJ,GAA2B,KAAvBwkD,EAAUC,SACVzkD,EAAMwkD,EAAUlpE,WACb,GAA2B,KAAvBkpE,EAAUC,SAEjBzkD,EAAM,GADUolD,GAAsBZ,EAAUE,mBAC5BF,EAAUa,WAAW/pE,aACtC,GAA2B,KAAvBkpE,EAAUC,SAAkC,CACnD,MAAMa,EAAUF,GAAsBZ,EAAUW,gBAEhD,GADArV,EAAkC,IAA3B0U,EAAUzjC,MAAM/nC,QAC6B,KAAhDwrE,EAAUzjC,MAAM,GAAG+jC,gBAAgBL,SACnCzkD,EAAM,GAAGslD,KAAYd,EAAUzjC,MAAM,GAAG+jC,gBAA+BxpE,MAAMkC,mBAC1E,GAAoD,KAAhDgnE,EAAUzjC,MAAM,GAAG+jC,gBAAgBL,SAAuC,CACjF,MAAMc,EAAUf,EAAUzjC,MAAM,GAAG+jC,gBACnChV,EAAkC,IAA3ByV,EAAQL,QAAQlsE,QAAgD,KAAhCusE,EAAQL,QAAQ,GAAGT,UAC1DzkD,EAAM,GAAGslD,MAAaC,EAAQL,QAAQ,GAAkB5pE,eAExD40D,EAAK,6DAGTA,EAAK,6DAGT,OAAOlwC,EAGJ,SAASwlD,GAAqChB,GACjD,OAA2B,KAAvBA,EAAUC,SACH,CAACW,GAAsBZ,IAGP,KAAvBA,EAAUC,SACH,IACAe,GAAqChB,EAAUE,gBAClDU,GAAsBZ,IAIH,KAAvBA,EAAUC,SACH,IACAe,GAAqChB,EAAUW,gBAClDC,GAAsBZ,SAI9BtU,EAAK,6DEhKF,SAASuV,GAAcC,GAE1B,OADqBA,EACDC,WAQjB,SAASC,GAASF,GAErB,OADqBA,EACDG,MAGjB,SAASC,GAASJ,EAAiBG,GACjBH,EACRG,MAAQA,EAGlB,SAASE,GAAeL,GAE3B,OADqBA,EACDM,YAGjB,SAASC,GAAeP,EAAiBQ,GACvBR,EACRM,YAAcE,EAGxB,SAASC,GAAYT,GAExB,OADqBA,EACDU,SAGjB,SAASC,GAAYX,EAAiBU,GACpBV,EACRU,SAAWA,EAQrB,SAASE,GAAiBZ,EAAiBU,GACzBV,EACRa,cAAgBH,EAG1B,SAAS,GAAYV,GACxB,KAAyB,KAAlBA,EAAKjB,UACRiB,EAAOA,EAAKviC,OAGhB,OADqBuiC,EACDc,SAajB,SAASC,GAAuBf,EAA0BgB,GACxChB,EACRiB,oBAAsBD,EAahC,SAASE,GAAiBlB,GAE7B,OADqBA,EACDmB,cAGjB,SAASC,GAAiBpB,EAAkBqB,GAC1BrB,EACRmB,cAAgBE,EAG1B,SAASC,GAAkBtB,GAC9B,IAAIuB,EAAiCvB,EAIrC,KAAOuB,GAAS,CACZ,MAAMb,EAAWD,GAAYc,GAC7B,GAAIb,EACA,SAAUA,EAASc,MAAQzE,GAAU0E,aAEzCF,EAAUA,EAAQ9jC,OAGtB,OAAO,EC3LX,MAAMikC,GAAiB,eACjBC,GAAuB,SACvBC,GAAkB,6BAGjB,SAAS,GAAcj9D,GAC1B,OAAOA,EAAKrR,OAAS,GAAKqR,EAAKmpD,WAAW,QAAUnpD,EAAK4tD,SAAS,MAI/D,SAAS,GAAgB5tD,GAC5B,OAAOA,EAAKrR,OAAS,GAAKqR,EAAKmpD,WAAW,OAASnpD,EAAKmpD,WAAW,MAGhE,SAAS+T,GAAyBl9D,GACrC,OAAO,GAAcA,IAAS,GAAgBA,GAI3C,SAASm9D,GAAan9D,GACzB,OAAOA,EAAKrR,OAAS,GAAKqR,EAAKmpD,WAAW,OAASnpD,EAAK4tD,SAAS,MAS9D,SAASwP,GAAep9D,GAC3B,QAASA,EAAKolD,MAAM2X,MAAoB/8D,EAAKolD,MAAM4X,IAIhD,SAASK,GAAgBr9D,GAC5B,QAASA,EAAKolD,MAAM6X,ICgCjB,SAASK,GAAeC,GAC3B,OAAIA,EAAUC,aACgC,IAAtCD,EAAUC,aAAaC,WAChB,EAE+B,IAAtCF,EAAUC,aAAaC,YACvBF,EAAUC,aAAaE,mBAEhB,EAGPH,EAAUC,aAAaG,WAChB,EAGJ,EAEA,EAoBR,SAASC,GAAmBC,EAAuBC,GAAyB,GAC/E,MAAMC,EAAiC,CACnCC,eAAgB,GAChBC,cAAe,IAAIxsD,KAGvB,IAAIysD,GAA4B,EAC5BC,GAA4B,EA2BhC,OAzBAN,EAAUO,WAAWnlD,SAASskD,IACC,KAAvBA,EAAUnD,SACVmD,EAAUa,WAAWnlD,SAASolD,IACI,KAA1BA,EAAajE,UACb+D,GAA4B,EAsehD,SAA4B9C,EAAkB0C,EAAgCG,GAC1E7C,EAAKziE,KAAKqgB,SAASqlD,IACf,MAAMd,EAAe,GAA+Bc,EAAa74D,QACjE,IAAInC,EAEAk6D,GAAgBA,EAAae,gBAC7Bj7D,EAAek6D,EAAagB,cAAchB,EAAagB,cAAc7vE,OAAS,IAGlF,MAAM8vE,EAA+B,CACjCpD,OACAqD,QAASJ,EACTd,eACAl6D,eACAq7D,WAAYC,GAAkBN,EAAa74D,QAC3Cy4D,6BAGJH,EAAaC,eAAehvE,KAAKyvE,GAG7Bn7D,IAIKy6D,EAAaE,cAAclmD,IAAIzU,IAChCy6D,EAAaE,cAAcnlE,IAAIwK,EAAcm7D,OA/fzCI,CAAmBR,EAAcN,EAAcG,GAC/CA,GAA4B,GACK,KAA1BG,EAAajE,UACpB+D,GAA4B,EAkgBhD,SACI9C,EACA0C,EACAG,EACAJ,G,MAEA,MAAMN,EAAe,GAA+BnC,EAAK51D,QACzD,IAAInC,EAMJ,GAJIk6D,GAAgBA,EAAae,gBAC7Bj7D,EAAek6D,EAAagB,cAAchB,EAAagB,cAAc7vE,OAAS,IAG9EmvE,GAA0BN,EAAc,CACxCO,EAAae,gBAA8C,QAA5B,EAAAf,EAAae,uBAAe,QAAI,IAAIrtD,IAEnE,IAAK,MAAMstD,KAAkBvB,EAAasB,gBAAiB,CACvD,MAAME,EAAe3D,EAAK4D,QAAQC,MAAMjxE,GAAMA,EAAE+R,KAAK/O,QAAU8tE,EAAe/+D,OAC1Eg/D,GACAjB,EAAae,gBAAgBhmE,IAAIimE,EAAer8D,KAAMs8D,IAKlE,MAAMP,EAA+B,CACjCpD,OACAmC,eACAl6D,eACAq7D,WAAYC,GAAkBvD,EAAK51D,QACnCy4D,6BAMJ,GAHAH,EAAaC,eAAehvE,KAAKyvE,GAG7Bn7D,EAAc,CACd,MAAM67D,EAAYpB,EAAaE,cAAc/lE,IAAIoL,KAK5C67D,GAC2B,KAA5BA,EAAU9D,KAAKjB,UACf+E,EAAUR,WAAWhwE,OAAS8vE,EAAYE,WAAWhwE,SAErDovE,EAAaE,cAAcnlE,IAAIwK,EAAcm7D,IA9iBrCW,CACIf,EACAN,EACAG,EACAJ,GAEJI,GAA4B,GAE5BA,EAA4BC,KAIpCD,EAA4BC,KAI7BJ,EAKX,SAASsB,GAAyB5Y,GAC9B,OAAI,GAA+BA,GACxB,EAEP,GAAgCA,GACzB,EAEJ,EAGJ,SAAS6Y,GACZC,EACAC,EACAC,GAEA,MAAMC,EAAgC,GACtC,IACKF,EAAgBnE,MACiB,KAAlCmE,EAAgBnE,KAAKjB,UACrBoF,EAAgBnE,KAAKsE,iBAErB,OAAOD,EAKX,MAAME,EAAaJ,EAAgBnE,KAOnC,GAA8B,KAN9BkE,GAAkBlwE,MAAMuD,QAAQ2sE,GAAkBA,EAAiB,CAACA,IAAiB/iB,QAChF5sC,KACKA,EAAK5P,OACN4/D,EAAWX,QAAQ7c,MAAMyd,GAAaA,EAAS7/D,KAAK/O,QAAU2e,EAAK5P,MAAQ6/D,EAASC,QAAUlwD,EAAKkwD,WAGzFnxE,OACf,OAAO+wE,EAGX,IAAK,MAAMK,KAAYR,EACnBG,EAAc1wE,KACVgxE,GAAyCD,EAAS//D,KAAO+/D,EAASD,MAAON,EAAgBnE,KAAMoE,IAKvG,MAAMQ,EAAW,EAAmBP,GAAgB9nE,GAAMy0B,GAAM0tC,MAAMniE,EAAEwI,SAClE8/D,EAAiC,GACvC,IAAK,MAAMC,KAAaF,EAAS3jD,SACJ,IAArB6jD,EAAUxxE,OACVuxE,EAAalxE,KAAKmxE,EAAU,IAE5BD,EAAalxE,KAAK,CACdoR,MAAO+/D,EAAU,GAAG//D,MACpBggE,gBAAiBD,EACZhT,MAAK,CAAC30D,EAAGnG,IAAMguE,GAAoB7nE,EAAE8nE,WAAYjuE,EAAEiuE,cACnD7oD,KAAK7f,GAAMA,EAAEwoE,kBACbjxE,KAAK,MAKtB,OAAO+wE,EAGX,SAASG,GAAoBE,EAAeC,GAGxC,MAEMjoE,EAFY8mE,GAAyBkB,GACzBlB,GAAyBmB,GAE3C,OAAgB,IAAZjoE,EACOA,EASJ8uD,EAFgBkZ,EAAMjnE,QAAQ,KAAM,KACpBknE,EAAMlnE,QAAQ,KAAM,MAQ/C,SAAS0mE,GACLM,EACAR,EACAzE,EACAoE,GAIA,IAAIgB,EACJ,IAAK,MAAMC,KAAarF,EAAK4D,QAAS,CAClC,GAAIoB,GAAoBK,EAAU1gE,KAAK/O,MAAOqvE,GAAc,EACxD,MAGJG,EAAcC,EAWlB,IAAIC,GAA0B,EAC1BC,EAAa,GACjB,GAAIvF,EAAK4D,QAAQtwE,OAAS,EAAG,CACzB,MAAMkyE,EAAqBjI,GAAwByC,EAAK5rE,MAAOgwE,EAAaqB,gBAAgB3lB,OACtF4lB,EAAiBnI,GAAwByC,EAAK4D,QAAQ,GAAGxvE,MAAOgwE,EAAaqB,gBAAgB3lB,OAC7F6lB,EACF3F,EAAK4D,QAAQtwE,OAAS,EAChBiqE,GAAwByC,EAAK4D,QAAQ,GAAGxvE,MAAOgwE,EAAaqB,gBAAgB3lB,YAC5E1oD,EAEV,GACIsuE,EAAelzC,KAAOgzC,EAAmBhzC,YACpBp7B,IAApBuuE,GAAiCA,EAAgBnzC,KAAOkzC,EAAelzC,MAC1E,CACE,MAAMozC,EAAuBxB,EAAaqB,gBAAgB3lB,MAAM8d,UAAU8H,EAAelzC,MAIzF+yC,EAAanB,EAAa10C,KAAKp1B,OAAOsrE,EAAqBxxE,MAAOsxE,EAAejzC,WAG7E,QAAQ6c,KAAKi2B,KACbD,GAA0B,IAKtC,MAKMO,EAAoBtI,GALF6H,EAClBtI,GAAUmB,OAAOmH,GACjBpF,EAAK4D,QAAQtwE,OAAS,EACtB0sE,EAAK4D,QAAQ,GAAGxvE,MAChB4rE,EAAK5rE,MAAQ4rE,EAAK1sE,OAC2C8wE,EAAaqB,gBAAgB3lB,OAE1FgmB,EAAarB,EAAQ,GAAGQ,QAAiBR,IAAU,GAAGQ,IAC5D,IAAIF,EAEJ,GAAIO,EAAyB,CACzB,MAAMS,EAAM3B,EAAaqB,gBAAgBO,6BACzCjB,EAAkBK,EAAc,IAAIW,IAAMR,IAAaO,IAAe,GAAGA,KAAcC,IAAMR,SAE7FR,EAAkBK,EAAc,KAAKU,IAAe,GAAGA,MAG3D,MAAO,CACH/gE,MAAO,CAAE3Q,MAAOyxE,EAAmBxxE,IAAKwxE,GACxCZ,aACAF,mBA0CD,SAASkB,GACZ/B,EACAgC,EACA5C,EACA6C,EACA/B,EACAgC,GAWA,OAGJ,SAA2ChC,EAA4BiC,GACnE,GAAIA,EAAe/yE,OAAS,EACxB,OAAO+yE,EAAejqD,KAAK7f,GAAM+pE,EAAY/pE,KAIjD,MAAMqoE,EAAW,IAAI,EAAmByB,GAAiB9pE,GAAM,GAAGA,EAAE4pE,eAAen1C,GAAM0tC,MAAMniE,EAAEwI,YAC5F+sD,MAAK,CAAC30D,EAAGnG,IAAMg1D,EAA4B7uD,EAAE,GAAInG,EAAE,MACnDolB,KAAKstC,GAAMA,EAAE,KAEZmb,EAAiC,GACvC,IAAK,MAAMC,KAAaF,EACK,IAArBE,EAAUxxE,OACVuxE,EAAalxE,KAAK2yE,EAAYxB,EAAU,KAExCD,EAAalxE,KAAK,CACdoR,MAAO+/D,EAAU,GAAG//D,MACpBggE,gBACID,EAAU,GAAGyB,UACbzB,EACK1oD,KAAK7f,GAAMA,EAAE4nE,kBACbrS,MAAK,CAAC30D,EAAGnG,IAAMwvE,EAAerpE,EAAGnG,KACjClD,KAAKswE,EAAaqB,gBAAgBO,8BACvClB,EAAU,GAAG2B,aAK7B,OAAO5B,EAEP,SAASyB,EAAYtuC,GACjB,MAAO,CAAEjzB,MAAOizB,EAAKjzB,MAAOggE,gBAAiB/sC,EAAKuuC,UAAYvuC,EAAKmsC,gBAAkBnsC,EAAKyuC,YAG9F,SAASD,EAAerpE,EAAWnG,GAC/B,MAAM0vE,EAAYvpE,EAAE2wD,WAAW,UAG/B,OAAI4Y,IAFc1vE,EAAE82D,WAAW,UAGpB3wD,EAAInG,GAAK,EAAI,EAGjB0vE,GAAa,EAAI,GA7CrBC,CAAkCvC,EAiD7C,SACIF,EACAgC,EACA5C,EACA6C,EACA/B,EACAgC,GAEA,MAAMC,EAAkC,GAGV,KAD9BnC,EAAiBlwE,MAAMuD,QAAQ2sE,GAAkBA,EAAiB,CAACA,IAChD5wE,QAEf4wE,EAAevwE,KAAK,IAIxB,MAAMyoB,EAAM,EAAmB8nD,GAAiBtxE,GAAOA,EAAE+R,KAAO,OAAS,WAGnEi/D,EAAUxnD,EAAIvf,IAAI,UACpB+mE,GACAgD,EAAchD,GAAUvC,GAAU,UAAUA,EAAMvtE,KAAK,UAI3D,MAAM+yE,EAAczqD,EAAIvf,IAAI,QAK5B,OAJIgqE,GACAD,EAAcC,GAAcxF,GAAU,QAAQiC,YAAqBjC,EAAMvtE,KAAK,UAG3EuyE,EAUP,SAASO,EAAc1C,EAAkC4C,GACrD,MAAMC,EAAc7C,EACf9nD,KAAKxpB,GAVd,SAAyB8xE,EAA0BpB,GAC/C,MAAM0D,EAAatC,EAAS//D,KAAO+/D,EAAS//D,KAAO2+D,EACnD,MAAO,CACH2D,SAAUD,EACVt3C,KAAMg1C,EAASD,MAAQ,GAAGuC,QAAiBtC,EAASD,QAAUuC,GAMlDE,CAAgBt0E,EAAG0wE,KAC9BxR,MAAK,CAAC30D,EAAGnG,IAAMguE,GAAoB7nE,EAAE8pE,SAAUjwE,EAAEiwE,YACjD7hB,QAAO,CAAC3nD,EAAKisD,IpBvHnB,SAAwB72D,EAAUgyD,EAAMsiB,EAAwC9gB,GACnF,OA5UG,SACHxuD,EACAjC,EACAuxE,EAAwC9gB,GAExC,GAAIxuD,EACA,IAAK,MAAM6xD,KAAK7xD,EACZ,GAAIsvE,EAAiBzd,EAAG9zD,GACpB,OAAO,EAInB,OAAO,EAgUHwoE,CAASvrE,EAAKgyD,EAAGsiB,IAIrBt0E,EAAIc,KAAKkxD,GAHEhyD,EoBqHiBu0E,CAAY3pE,EAAKisD,EAAEh6B,OAAO,IAElD22C,EAAe1yE,KAavB,SACIwwE,EACA+B,EACA5C,EACA6C,EACA/B,EACAgC,GAEA,IAGIP,EAHAU,EAAY,GACZE,EAAa,GAGjB,MAAMY,EAAa,GAAwBjB,EAAoBhC,EAAaqB,gBAAgB3lB,OAC5F,GAAIomB,EAAiBvD,eAAervE,OAAS,GAAK+zE,EAAanB,EAAiBvD,eAAe,GAAG3C,KAAK5rE,MAAO,CAC1G,IAAIkzE,GAAe,EACfC,EAAkBrB,EAAiBvD,eAAe,GAKlD6E,EAAkB,EACtB,IAAK,MAAMnC,KAAaa,EAAiBvD,eAAgB,CAIrD,MAAM8E,EAA8BpC,EAAUlD,aAAeF,GAAeoD,GAAamC,EAEzF,GAAIrB,EAAcsB,EAAgB,EACzBH,GAAgBE,EAAkBrB,IAEnCI,EAAYnC,EAAaqB,gBAAgBO,6BAA+BO,GAE5E,MAGJ,GAAIJ,IAAgBsB,GAAkBpC,EAAU/B,WAAaA,EACzD,MAKJ,GAAI+B,EAAUxC,0BAA2B,CACjCsD,EAAcqB,IAEdjB,EAAYnC,EAAaqB,gBAAgBO,6BAA+BO,GAE5E,MAIAlB,IAAca,EAAiBvD,eAAeuD,EAAiBvD,eAAervE,OAAS,IACnF6yE,EAAcsB,IAEdlB,EAAYnC,EAAaqB,gBAAgBO,6BAA+BO,GAM5Ee,GADCA,GAAgBnB,EAAcqB,GAAmBrB,IAAgBsB,EAMtED,EAAkBC,EAClBF,EAAkBlC,EAGlBkC,GACID,EACAb,GAA0BrC,EAAaqB,gBAAgBO,6BAEvDO,EAAYnC,EAAaqB,gBAAgBO,6BAA+BO,EAG5EV,EAAoBtI,GAChB+J,EAAeC,EAAgBvH,KAAK5rE,MAAQ0oE,GAAUmB,OAAOsJ,EAAgBvH,MAC7EoE,EAAaqB,gBAAgB3lB,QAGjC+lB,EAAoB,CAAErzC,KAAM,EAAGC,UAAW,OAE3C,CAGHozC,EAAoB,CAAErzC,KAAM,EAAGC,UAAW,GAC1C,IAAIi1C,GAAmB,EAEvB,IAAK,MAAMxF,KAAakC,EAAa5B,UAAUO,WAAY,CACvD,IAAI4E,GAAW,EACf,GAA2B,KAAvBzF,EAAUnD,UAA4E,IAAhCmD,EAAUa,WAAWzvE,OAAc,CACzF,MAAMs0E,EAAkB1F,EAAUa,WAAW,IAEZ,KAA7B6E,EAAgB7I,UAGoB,IAA7B6I,EAAgB7I,UACyB,KAA5C6I,EAAgB5I,eAAeD,UAC3B,GAA6B6I,EAAgB5I,eAAeppE,UAHpE+xE,GAAW,GAWnB,GAAIA,EAAU,CACV9B,EAAoBtI,GAAwB2E,EAAU9tE,MAAOgwE,EAAaqB,gBAAgB3lB,OAC1F4nB,GAAmB,EACnB,MAEA7B,EAAoBtI,GAChB2E,EAAU9tE,MAAQ8tE,EAAU5uE,OAC5B8wE,EAAaqB,gBAAgB3lB,OAEjC4nB,GAAmB,EAI3BjB,EACIA,EACArC,EAAaqB,gBAAgBO,6BAC7B5B,EAAaqB,gBAAgBO,6BAC7B0B,EACAnB,EAAYnC,EAAaqB,gBAAgBO,6BAA+BO,EAExEE,GAA0BrC,EAAaqB,gBAAgBO,6BAK/D,MAAO,CAAEjhE,MADK,CAAE3Q,MAAOyxE,EAAmBxxE,IAAKwxE,GAC/BU,YAAWpC,kBAAiBsC,aAAYN,eA/IhD0B,CACIf,EAAsBC,GACtBb,EACA5C,EACA6C,EACA/B,EACAgC,KAhHW0B,CACnB5D,EACAgC,EACA5C,EACA6C,EACA/B,EACAgC,IAwUR,SAAS7C,GAAkBvD,GACvB,IAAIsD,EAAa,GACjB,IAAK,IAAI1wE,EAAI,EAAGA,EAAIotE,EAAK+H,YAAan1E,IAClC0wE,GAA0B,IAK9B,OAFAA,GAActD,EAAKgI,UAAU5rD,KAAK6rD,GAASA,EAAKryE,QAAO9B,KAAK,KAErDwvE,EA2BJ,SAAS4E,GAAoCC,GAChD,IAAIhC,EAAc,EAOlB,OANIgC,EAAkB9F,oBAAuD,IAAjC8F,EAAkB/F,WAC1D+D,EAAc,EAC0B,IAAjCgC,EAAkB/F,aACzB+D,EAAc,GAGXA,EA0BJ,SAASiC,GACZla,EACAma,EACAC,EACAC,GAAwB,EACxBC,GAEA,IAMIpd,EANAqd,EAAUJ,GACdG,OAAgCpxE,IAAjBoxE,EAA6BA,EAAepX,GAAOlD,EAAIma,MAElEI,EAAU9b,EAAiB0b,IAI/B,IAAIK,EAAWJ,EACf,GAAIE,EAAc,CACdE,EAAW/b,EAAiB2b,GAE5B,MAAMzX,EAAWI,GAAmBD,GAAYsX,IAC/B,aAAbzX,EAEAzF,EAAayF,EACN0X,IAKPnd,EAAa4F,GAAY0X,GACzBA,EAAW/b,EAAiB+b,IAIpC,MAAMC,EAAgB1Y,GAAuCwY,EAASC,GAAW94B,GAAMse,EAAG2L,aAAajqB,KAKvG,IAAIg5B,EAAe,IACnB,IAAK,IAAIh2E,EAAI,EAAGA,EAAI+1E,EAAcr1E,OAAQV,IAAK,CAC3C,MAAMo7D,EAAe2a,EAAc/1E,GAE/Bg2E,GADiB,OAAjB5a,EACgB,IAEAA,EAGC,OAAjBA,GAAyBp7D,IAAM+1E,EAAcr1E,OAAS,IACtDs1E,GAAgB,KASxB,OALIxd,IACAwd,EAC8C,MAA1CA,EAAaA,EAAat1E,OAAS,GAAas1E,EAAexd,EAAawd,EAAe,IAAMxd,GAGlGwd,EAGJ,SAASC,GAAgC3Y,EAAuB6X,GACnE,IAAI9Y,EAAmBiB,EACvB,IAAK,IAAIt9D,EAAI,EAAGA,EAAIm1E,EAAan1E,IAAK,CAClC,GAAyB,KAArBq8D,EACA,OAGJA,EAAmBtC,EAAiBsC,GAGxC,OAAOA,EC9yBJ,MAAM6Z,GAMTvkE,YAAoBwkE,GAAA,KAAAA,oBALH,KAAAC,eAAiB,IAAI5yD,IACrB,KAAA6yD,eAAiB,IAAI7yD,IAE9B,KAAA8yD,mBAAsC9xE,EAM9C+xE,gBAAgB9hE,EAAc49D,EAAoB9C,G,YAC9C,MAAM7pD,EAA4C,QAAnC,EAAAhgB,KAAK2wE,eAAepsE,IAAIooE,UAAW,eAAEpoE,IAAIwK,GACxD,GAAIiR,EAGA,OAAOA,UAAU6pD,EAGrB,MAAMhrE,EAA6C,QAAnC,EAAAmB,KAAK0wE,eAAensE,IAAIooE,UAAW,eAAEpoE,IAAIwK,GACzD,OAAIlQ,EAEKA,EAAQiyE,YAIsD,QAA5D,EAAmC,QAAnC,EAAA9wE,KAAK2wE,eAAepsE,IAAIooE,UAAW,eAAEpoE,IAAI1F,EAAQiyE,mBAAW,QAHxDjH,OAHf,EAYJkH,eAAenb,EAAgBob,EAAwBx/D,G,MACnD,QAAKw/D,EAAexb,WAAWhkD,KAK/BxR,KAAK4wE,cACiB,QAAlB,EAAA5wE,KAAK4wE,qBAAa,QAClB5wE,KAAKywE,oBACA3sD,KAAKY,GAAM0wC,GAAiCwG,GAAkBhG,EAAIY,GAAc9xC,OAChFmkC,QAAQnkC,GAAMA,IAAMlT,IACpBq3C,QAAQnkC,GAAMA,EAAE8wC,WAAWhkD,MAEhCxR,KAAK4wE,cAAcniB,MAAMj8C,GAAMw+D,EAAexb,WAAWhjD,MASjE3T,QAAQkQ,EAAc49D,EAAoBmE,GACtC9hB,EAAShvD,KAAK0wE,eAAgB/D,GAAY,IAAM,IAAI7uD,MAA2B3Y,IAAI4J,EAAM+hE,GAG7FlrD,IAAI5F,GACAgvC,EAAShvD,KAAK2wE,eAAgB3wD,EAAO2sD,YAAY,IAAM,IAAI7uD,MAA6B3Y,IACpF6a,EAAOjR,KACPiR,EAAO6pD,cAIfoH,QACIjxE,KAAK0wE,eAAe7oD,QACpB7nB,KAAK2wE,eAAe9oD,QACpB7nB,KAAK4wE,mBAAgB9xE,GCvDtB,MAAMoyE,GAAmB,SACnBC,GAAuB,QA6B7B,SAASC,GACZxb,EACAyb,EACAC,EACAC,EACAC,EACAC,GAIA,GAFAF,EAAkBl2E,KAAK,oCAEQyD,IAA3BuyE,EAAcK,UAA0BL,EAAcM,KAAM,CAC5D,MAAMC,EAAUP,EAAcM,KACxBD,EAAW3b,GAAasb,EAAcK,SAAUE,GAEhDC,EAAuB,GACvBC,EAA8B,GAkBpC,GAhBA,CAAC,EAAgB,EAAkB,GAAyBxsD,SAASysD,IACjE,MAAMC,EA8ClB,SAA8Bpc,EAAgBmc,EAAiBR,GAC3D,IAAI3b,EAAGI,WAAW+b,GAId,YADAR,EAAkBl2E,KAAK,iBAAiB02E,MAFxCR,EAAkBl2E,KAAK,eAAe02E,iCAM1C,MAAMC,EAAmBjc,GAAagc,EAAS,GAC/C,GAAInc,EAAGI,WAAWgc,GAEd,OADAT,EAAkBl2E,KAAK,eAAe22E,MAC/BA,EAEPT,EAAkBl2E,KAAK,iBAAiB22E,0CAK5C,MAAMppD,EAAUswC,GAAqBtD,EAAImc,GACzC,IAAK,IAAIz3E,EAAI,EAAGA,EAAIsuB,EAAQ0wC,YAAYt+D,OAAQV,IAAK,CACjD,MAAM23E,EAAUrpD,EAAQ0wC,YAAYh/D,GACpC,GAAI23E,EAAQzc,WAAW,UAAW,CAC9B,MAAMF,EAAUS,GAAagc,EAASE,EAAS,GAC/C,GAAIrc,EAAGI,WAAWV,GAEd,OADAic,EAAkBl2E,KAAK,eAAei6D,MAC/BA,EAEPic,EAAkBl2E,KAAK,SAASi6D,iCAzEX4c,CAAqBtc,EAAIG,GAAa2b,EAAUK,GAAUR,GAC/ES,IACAG,GAAgBN,EAAYG,GAC5BF,EAAkBz2E,KAAK22E,OAK/BF,EAAkBxsD,SAAS0sD,IACNI,GAAqBxc,EAAIoc,GACjC1sD,SAASvW,IACdojE,GAAgBN,EAAY9iE,SAIhC8iE,EAAW72E,OAAS,EAKpB,OAJAu2E,EAAkBl2E,KAAK,4CACvBw2E,EAAWvsD,SAASvW,IAChBwiE,EAAkBl2E,KAAK,KAAK0T,QAEzB8iE,EAGXN,EAAkBl2E,KACd,8EAKR,MAAMg3E,EAAaf,EAAKgB,qBAAqBjB,EAAckB,WAAYhB,GACvE,OAAIC,GAAyBC,EACXY,EAAW9b,MAAM1N,QAC1Br2C,IAAOikD,GAAagb,EAAej/D,GAAG,IAASikD,GAAa4b,EAAWnpB,OAAQ12C,GAAG,KAMpF6/D,EAAW9b,MAGf,SAASic,GAAehgE,GAE3B,MAAa,YADbA,EAAIA,EAAE5M,SACyB,YAAN4M,EAsCtB,SAAS4/D,GAAqBxc,EAAgB6c,GACjD,MAAMC,EAAwB,GA4B9B,OAzBiB9c,EACZwD,mBAAmBqZ,GACnB5pB,QAAQ4Q,IAAWA,EAAMX,UAAYW,EAAMC,mBAAqBD,EAAMptD,KAAK4tD,SAAS,UACpFT,MAAK,CAAC30D,EAAGnG,IAAMsvD,EAAwBnpD,EAAEwH,KAAM3N,EAAE2N,QAE7CiZ,SAASqtD,IACd,MAAM9W,EAAW9F,GAAa0c,EAAWE,EAAQtmE,MAC3C8yD,EAAYtG,GAAQjD,EAAIiG,IAG1BsD,aAAS,EAATA,EAAWrG,WAAYqG,EAAU7/D,KAAO,GAAK6/D,EAAU7/D,KAAO,OACjDs2D,EAAGyJ,aAAaxD,EAAU,QACpBtuD,MAAM,SACnB+X,SAAS4U,IACX,MAAM04C,EAAc14C,EAAKt0B,OACzB,GAAIgtE,EAAY53E,OAAS,IAAM43E,EAAYpd,WAAW,OAASod,EAAYnhB,MAAM,aAAc,CAC3F,MAAMohB,EAAU9c,GAAa0c,EAAWG,GACpChd,EAAGI,WAAW6c,IAAYja,GAAYhD,EAAIid,IAC1CH,EAAYr3E,KAAKw3E,UAO9BH,EAGX,SAASP,GAAgBW,EAAoBC,GACzC,OAAKD,EAASrkB,MAAM1/C,GAASA,IAASgkE,MAClCD,EAASz3E,KAAK03E,IACP,GCjIR,SAASC,GAA+BhI,GAC3C,MAAO,CACHyE,YAAa,EACbC,UAAW1E,EAAWz9D,MAAM,KAC5B0lE,gBAAiB,IAUzB,MAAMC,GAA+B,CAAC,OAAQ,MAAO,UACxCC,GAA0B,CAAC,MAAO,UAAWD,IASnD,MAAME,GAcTnnE,YACoB+yD,EACNqU,EACM/B,GAFA,KAAAtS,aACN,KAAAqU,iBACM,KAAA/B,OAfZ,KAAAgC,qBAAuB,IAAIx1D,IAC3B,KAAAy1D,yBAA2B,IAAIz1D,IAO/B,KAAA01D,sBAAwB,IAAI11D,IAShC9d,KAAKyzE,0BAA4B,IAAIjD,IAAqB,IAAMxwE,KAAKsyE,qBAAqB,MAG9FoB,kBACI1zE,KAAKszE,qBAAuB,IAAIx1D,IAChC9d,KAAKuzE,yBAA2B,IAAIz1D,IACpC9d,KAAKyzE,0BAA0BxC,QAE/BjxE,KAAK2zE,6BAED3zE,KAAKg/D,sBAAsBoB,IAC3BpgE,KAAKg/D,WAAW+E,oBAMxB6P,cACI5C,EACAjO,EACA8Q,GAIA,OAAO7zE,KAAK8zE,eAAe9C,EAAgBjO,EAAS8Q,GAK9CC,eACN9C,EACAjO,EACA8Q,GAEA,MAAMlH,EAAa3sE,KAAK+zE,iBAAiBF,GAEnChK,EAAe7pE,KAAKg0E,qBACtBrH,EACAqE,EACAjO,EACA8Q,EALgC,IASpC,GAAIhK,EAAae,eAAiBiJ,EAAiBpE,YAAc,EAC7D,OAAO5F,EAOX,MAAMoK,EAAS7e,GAAiCf,EADhD2c,EAAiBpV,GAAkB57D,KAAKg/D,WAAYxI,GAAcwa,MAG5DhxD,EAAShgB,KAAKyzE,0BAA0B5C,gBAAgBoD,EAAQtH,EAAY9C,GAClF,GAAI7pD,EAEA,OAAOhgB,KAAKk0E,sBAAsBl0D,EAAQ6zD,EAAiBZ,iBAI/D,MAAMzhE,EAAOxR,KAAKm0E,8BAA8BnD,EAAgBjO,EAAQvxD,MACxE,IAAKxR,KAAKyzE,0BAA0B1C,eAAe/wE,KAAKg/D,WAAYgS,EAAgBx/D,GAChF,OAAOq4D,EAGX,MAAMiH,EAAyB,CAAEA,gBAAYhyE,GAG7C,IAAI0pB,EAAUyrD,EACd,KAAOj0E,KAAKo0E,cAAc5rD,EAAShX,EAAMuxD,IAAU,CAC/C,MAAM/iD,EAAShgB,KAAKq0E,sBAChB7rD,EACAu6C,EACA8Q,EACAlH,EACA,QACmB7tE,OACEA,GACA,GACN,GAKnB,GAFAkB,KAAKyzE,0BAA0B50E,QAAQ2pB,EAASmkD,EAAYmE,GAExD9wD,EAAO4qD,cAUP,OARAkG,EAAWA,WAAatoD,EAExBxoB,KAAKyzE,0BAA0B7tD,IAAI,CAC/BikD,aAAc7pD,EACdjR,KAAMyZ,EACNmkD,eAGG3sE,KAAKk0E,sBAAsBl0D,EAAQ6zD,EAAiBZ,iBAG/D,IAAIqB,EAEJ,IADCA,EAAS9rD,GAAWxoB,KAAKu0E,WAAW/rD,IAChC8rD,EACD,MAKR,OADAt0E,KAAKyzE,0BAA0B50E,QAAQ2pB,EAASmkD,EAAYmE,GACrDjH,EAGHmK,qBACJrH,EACAqE,EACAjO,EACA8Q,EACAtC,GAEA,MAAMiD,EAA+B,CACjC7H,aACA3C,YAAY,EACZY,eAAe,EACf6J,kBAAkB,EAClBC,oBAAoB,EACpBC,eAAe,EACfpD,oBACA1G,cAAe,GACff,WAAY,EACZ8K,YAAY,EACZC,aAAa,EACb1J,gBAAiB,GACjB2J,wBAAyB,GACzBC,yBAAqBj2E,GAMzB,GAHAkB,KAAKg1E,0BAA0BjS,GAG3B8Q,EAAiBpE,YAAc,EAAG,CAClC,MAAMwF,EAAiBj1E,KAAKk1E,uBACxBlE,EACAjO,EACA8Q,EACAlH,EACA4E,GAGJ,GAAI0D,EAEA,OADAA,EAAejL,YAAa,EACrBiL,MAER,CAEH,MAAME,EAAgBn1E,KAAKo1E,sBAAsBrS,EAAS4J,EAAYkH,EAAiBZ,iBACvF,GAAIkC,KAOIA,EAAcvK,gBACduK,EAAcT,oBACb10E,KAAKq1E,4BAA4BxB,EAAkBsB,EAAchK,kBAGlE,OAAOgK,EAIf,MAAMG,EAAat1E,KAAKu1E,2BAA2BvE,EAAgBjO,EAAS8Q,GAAkB,GAC9F,GAAIyB,EAMA,OALIA,EAAWV,aACXU,EAAWP,oBACP/0E,KAAKu1E,2BAA2BvE,EAAgBjO,EAAS8Q,GAAkB,IAC3EW,GAEDx0E,KAAKw1E,kBAAkBzS,EAAS4J,EAAY2I,EAAYzB,EAAiBZ,iBAIxF,OAAOjzE,KAAKw1E,kBAAkBzS,EAAS4J,EAAY6H,OAAgB11E,GAGvE22E,yBACIzE,EACAjO,EACA8Q,GAEA,MAAM6B,EAAc11E,KAAK21E,gCAAgC3E,EAAgBjO,EAAS8Q,GAGlF,GAAIA,EAAiBpE,YAAc,EAC/B,OAAOiG,EAGX,MAAMlkE,EAAOxR,KAAKm0E,8BAA8BnD,EAAgBjO,EAAQvxD,MAKxE,IAAIgX,EAJW4sC,GACXf,EAAiBuH,GAAkB57D,KAAKg/D,WAAYxI,GAAcwa,MAItE,KAAOhxE,KAAKo0E,cAAc5rD,EAAShX,EAAMuxD,IAAU,CAU/C,IAAIuR,EAEJ,GAXAt0E,KAAK41E,kCACD5E,EACAjO,EACAv6C,EACAqrD,EACA6B,GACe,IAIlBpB,EAAS9rD,GAAWxoB,KAAKu0E,WAAW/rD,IAChC8rD,EACD,MAIR,OAAOoB,EAGHC,gCACJ3E,EACAjO,EACA8Q,GAEA,MAAMtC,EAA8B,GAC9BmE,EAAc,IAAI5kC,IAGxB,GAAI+iC,EAAiBpE,YAAc,EAC/BzvE,KAAK61E,kCAAkC7E,EAAgBjO,EAAS8Q,EAAkB6B,OAC/E,CAEC7B,EAAiBnE,UAAU10E,OAAS,GACpCgF,KAAK81E,sCACD9E,EACAjO,EACA8Q,GACA,EACA6B,GAKJ3S,EAAQvxD,MACRxR,KAAK41E,kCACD5E,EACAjO,EACAA,EAAQvxD,KACRqiE,EACA6B,GAIR,IAAK,MAAMK,KAAahT,EAAQiT,WAC5Bh2E,KAAK41E,kCACD5E,EACAjO,EACAgT,EACAlC,EACA6B,GAKJ11E,KAAKqzE,eAAe4C,UACpBj2E,KAAK41E,kCACD5E,EACAjO,EACA/iE,KAAKqzE,eAAe4C,SACpBpC,EACA6B,GAKR11E,KAAK81E,sCAAsC9E,EAAgBjO,EAAS8Q,GAAkB,EAAO6B,GAG7F,MAAMQ,EAAoBl2E,KAAKsyE,qBAAqBf,GACpD,IAAK,MAAM4E,KAAcD,EACrBl2E,KAAK41E,kCACD5E,EACAjO,EACAoT,EACAtC,EACA6B,GAKZ,OAAOA,EAIXU,uBAAuBC,EAAsBtT,EAA+BuT,GACxE,MAAMC,EAA4B,GA4BlC,GAvBAv2E,KAAKszE,qBAAqBhuD,SAASxB,IAC/BA,EAAIwB,SAAStF,IACT,GAAIA,EAAO40D,YAAc50D,EAAO4qD,eAAiB5qD,EAAO+0D,qBAChD/0D,EAAO6qD,cAAc7qD,EAAO6qD,cAAc7vE,OAAS,KAAOq7E,GACtDr2D,EAAO+0D,oBAAoBnK,cAAe,CAC1C,MAAM4L,EACFx2D,EAAO+0D,oBAAoBlK,cACvB7qD,EAAO+0D,oBAAoBlK,cAAc7vE,OAAS,IAGtDw7E,EAAavc,SAAS,QAAUuc,EAAavc,SAAS,UAGtDsc,EAAgBl7E,KAAKm7E,UAUd,IAA3BD,EAAgBv7E,OAAc,CAE9B,MAAMg2E,EAAiBja,GAAmBsf,EAAc,OACpDr2E,KAAKy2E,gBAAgBzF,IACrBuF,EAAgBl7E,KAAK21E,GAI7B,GAA+B,IAA3BuF,EAAgBv7E,OAAc,CAS9B,MAAM07E,EAAkB12E,KAAK22E,eAAe5T,GAEtC6T,EAA8B,GACpC,IAAK,MAAMC,KAAkBH,EACzB,GAAIjgB,GAAaogB,EAAgBR,GAAc,GAAO,CAClD,MAAMn7E,EAAQy8D,GAAuCkf,EAAgBR,GAAc,GAGnF,GAAIn7E,EAAMF,OAAS,EAAG,CAIdE,EAAM,GAAG++D,SAASvK,KAClBx0D,EAAM,GAAKA,EAAM,GAAG8G,OAAO,EAAG9G,EAAM,GAAGF,OAAS00D,EAAY10D,SAGhE,MAAM87E,EAAmB3hB,EAAsBj6D,GAC3C47E,GACAF,EAAkBv7E,KAAKy7E,IAMvC,IAAK,MAAMA,KAAoBF,EAC3B,IAAK,MAAMC,KAAkBH,EAAiB,CAE1C,IAAIK,EAAqBhgB,GADAT,GAAaugB,EAAgBC,GACQ,OAC9D,GAAI92E,KAAKg3E,iBAAiBD,GACtBR,EAAgBl7E,KAAK07E,OAClB,CACH,MAAME,EAA2Bte,GAAmBoe,GAEhDE,EAAyBhd,SAAS,aAGlC8c,EACIE,EAAyBj1E,OAAO,EAAGi1E,EAAyBj8E,OAAS,GAAK,MAC1EgF,KAAKg3E,iBAAiBD,IACtBR,EAAgBl7E,KAAK07E,KAKzBA,EAAqBhhB,GAAakhB,EAA0B,eACxDj3E,KAAKg3E,iBAAiBD,IACtBR,EAAgBl7E,KAAK07E,MAQ7C,OAAOR,EAMXW,uBAAuBrb,EAAkBkH,GAErC,MAAMoU,EAAQnoB,EAAShvD,KAAKuzE,yBAA0BxQ,EAAQvxD,MAAM,IAAM,IAAIsM,MAC9E,OAAOkxC,EAASmoB,EAAOtb,GAAU,IAAM77D,KAAKo3E,wBAAwBvb,EAAUkH,KAG1EqU,wBAAwBvb,EAAkBkH,GAC9C,IAAIiI,EACAlB,EAAa,EACbC,GAAqB,EAEzB,MAAMwH,EAA8B,GAG9B8F,EAAqBr3E,KAAKs3E,uBAAuBvU,EAASwO,GAChE,GAAI8F,IACArM,EAAahrE,KAAKu3E,sBAAsBF,EAAoBxb,GACxDmP,GAAY,CACZ,MAAM6I,EAA6C,CAC/CpE,YAAa,EACbC,UAAW1E,EAAWz9D,MAAM,KAC5B0lE,qBAAiBn0E,GAGrB,GAAIkB,KAAKw3E,qCAAqC3D,EAAkB9Q,EAAS,IACrE,MAAO,CAAEiI,aAAYlB,aAAYC,sBAMzChH,EAAQvxD,OACRw5D,EAAahrE,KAAKu3E,sBAAsBxU,EAAQvxD,KAAMqqD,GACtDiO,EAAa,GAGjB,IAAK,MAAMiM,KAAahT,EAAQiT,WAAY,CACxC,MAAMyB,EAAsBz3E,KAAKu3E,sBAAsBxB,EAAWla,KAI7DmP,GAAeyM,GAAuBA,EAAoBz8E,OAASgwE,EAAWhwE,UAC/EgwE,EAAayM,EACb3N,EAAa,GAKrB,GAAI9pE,KAAKqzE,eAAe4C,SAAU,CAC9B,MAAMwB,EAAsBz3E,KAAKu3E,sBAAsBv3E,KAAKqzE,eAAe4C,SAAUpa,KAIhFmP,GAAeyM,GAAuBA,EAAoBz8E,OAASgwE,EAAWhwE,UAC/EgwE,EAAayM,EAGb3N,EAAa,EACbC,GAAqB,GAK7B,MAAM2N,EAAyB13E,KAAK23E,2BAA2B5U,EAASwO,GACxE,GAAImG,EAAwB,CACxB,MAAMD,EAAsBz3E,KAAKu3E,sBAC7BG,EACA7b,GAC2B,KAK1BmP,GAAeyM,GAAuBA,EAAoBz8E,OAASgwE,EAAWhwE,UAC/EgwE,EAAayM,EACb3N,EAAa,GAIrB,MAAM8N,EAA2B53E,KAAK63E,kBAAkB9U,EAASwO,GACjE,GAAIqG,EAA0B,CAC1B,MAAMH,EAAsBz3E,KAAKu3E,sBAAsBK,EAA0B/b,KAI5EmP,GAAeyM,GAAuBA,EAAoBz8E,OAASgwE,EAAWhwE,UAC/EgwE,EAAayM,EACb3N,EAAa,GAKrB,MAAMoM,EAAoBl2E,KAAKsyE,qBAAqBf,GACpD,IAAK,MAAM4E,KAAcD,EAAmB,CACxC,MAAMuB,EAAsBz3E,KAAKu3E,sBAAsBpB,EAAYta,KAI9DmP,GAAeyM,GAAuBA,EAAoBz8E,OAASgwE,EAAWhwE,UAC/EgwE,EAAayM,EACb3N,EAAa,GAIrB,OAAIkB,EACO,CAAEA,aAAYlB,aAAYC,sBAI9B,CAAEiB,WAAY,GAAIlB,WAAY,EAAkBC,sBAG3D+N,sBAAsB/U,GAElB,OAAO/iE,KAAKs3E,uBAAuBvU,EADV,IAI7B4T,eAAe5T,EAA+BgV,GAAa,GACvD,MAAMxG,EAA8B,GAC9BrO,EAAQ,GAER8U,EAAch4E,KAAKs3E,uBAAuBvU,EAASwO,GAgBzD,GAfIyG,GACA9U,EAAM7nE,KAAK28E,GAIXjV,EAAQvxD,MACR0xD,EAAM7nE,KAAK0nE,EAAQvxD,MAGvB0xD,EAAM7nE,QAAQ0nE,EAAQiT,YAElBh2E,KAAKqzE,eAAe4C,UACpB/S,EAAM7nE,KAAK2E,KAAKqzE,eAAe4C,UAG/B8B,EAAY,CAIZ,MAAME,EAAiBj4E,KAAK23E,2BAA2B5U,EAASwO,GAC5D0G,GACA/U,EAAM7nE,KAAK06D,GAAakiB,EAAgB,YAEzC,CACH,MAAMC,EAAkBl4E,KAAKm4E,mCAAmCpV,EAASwO,GACzErO,EAAM7nE,QAAQ68E,GAGlB,MAAME,EAAiBp4E,KAAK63E,kBAAkB9U,EAASwO,GACnD6G,GACAlV,EAAM7nE,KAAK+8E,GAGf,MAAMlC,EAAoBl2E,KAAKsyE,qBAAqBf,GAKpD,OAJI2E,EAAkBl7E,OAAS,GAC3BkoE,EAAM7nE,QAAQ66E,GAGXhT,EAGDmV,qBAAqBtpE,GAC3B,MAAMupE,EAAct4E,KAAKwzE,sBAAsBjvE,IAAIwK,GACnD,GAAIupE,EACA,OAAOA,EAGX,IAAIC,EACJ,IACIA,EAAgBv4E,KAAKg/D,WAAW5F,mBAAmBrqD,GACrD,MACEwpE,EAAgB,GAKpB,OADAv4E,KAAKwzE,sBAAsBruE,IAAI4J,EAAMwpE,GAC9BA,EAGDvB,iBAAiBjoE,G,QACvB,MAAMypE,EAAYx4E,KAAKy4E,WAAW1pE,GAElC,IAAKypE,EAAU,KAAOA,EAAU,GAC5B,QAAKx4E,KAAKg/D,WAAWhJ,WAAWjnD,IAGe,QAAxC,EAA8B,QAA9B,EAAA8pD,GAAQ74D,KAAKg/D,WAAYjwD,UAAK,eAAE+pD,gBAAQ,SAGnD,MACMW,EADUz5D,KAAKq4E,qBAAqBG,EAAU,IAC9BjN,MAAM9R,GAAUA,EAAMptD,OAASmsE,EAAU,KAC/D,GAAI/e,aAAK,EAALA,EAAOX,SACP,OAAO,EAGX,GAAIW,aAAK,EAALA,EAAOC,iBAAkB,CACzB,MAAMgf,EAAW1f,GAAYh5D,KAAKg/D,WAAYjwD,GAC9C,GAAI2pE,GAAY14E,KAAKg/D,WAAWhJ,WAAW0iB,IAAa5f,GAAO94D,KAAKg/D,WAAY0Z,GAC5E,OAAO,EAIf,OAAO,EAGDjC,gBAAgB1nE,G,QACtB,MAAMypE,EAAYx4E,KAAKy4E,WAAW1pE,GAElC,IAAKypE,EAAU,KAAOA,EAAU,GAC5B,QAAKx4E,KAAKg/D,WAAWhJ,WAAWjnD,IAGoB,QAA7C,EAA8B,QAA9B,EAAA8pD,GAAQ74D,KAAKg/D,WAAYjwD,UAAK,eAAE6pD,qBAAa,SAGxD,MACMa,EADUz5D,KAAKq4E,qBAAqBG,EAAU,IAC9BjN,MAAM9R,GAAUA,EAAMptD,OAASmsE,EAAU,KAC/D,GAAI/e,aAAK,EAALA,EAAOb,cACP,OAAO,EAGX,GAAIa,aAAK,EAALA,EAAOC,iBAAkB,CACzB,MAAMgf,EAAW1f,GAAYh5D,KAAKg/D,WAAYjwD,GAC9C,GAAI2pE,GAAY14E,KAAKg/D,WAAWhJ,WAAW0iB,IAAa9f,GAAY54D,KAAKg/D,WAAY0Z,GACjF,OAAO,EAIf,OAAO,EAGX1D,0BAA0BjS,GACtB,KAAM/iE,KAAKg/D,sBAAsBoB,IAC7B,OAAO,EAGX,GAAIpgE,KAAKg/D,WAAW8D,6BAA6BC,GAC7C,OAAO,EAGX,MAAMnN,EAAK51D,KAAKg/D,WACV2Z,EAAoB,GACpBpiB,EAAkB,GAWxB,OARAqiB,EAAS54E,KAAKqzE,eAAe4C,UAC7B2C,EAAS7V,EAAQvxD,MACjBuxD,EAAQiT,WAAW1wD,SAAS9S,GAAMomE,EAASpmE,KAC3ComE,EAAS54E,KAAK63E,kBAAkB9U,EAAS4V,IACzC34E,KAAKsyE,qBAAqBqG,GAASrzD,SAAS9S,GAAMomE,EAASpmE,KAE3DxS,KAAKg/D,WAAWiE,2BAA2B1M,EAAOv2D,KAAK22E,eAAe5T,IACtE/iE,KAAK2zE,8BACE,EAEP,SAASiF,EAAS7pE,GACTA,IAAQ6mD,EAAGoN,cAAcj0D,IAI9BwnD,EAAMl7D,KAAK0T,IAITymE,kBACNzS,EACA4J,EACA9C,EACAoJ,GAOA,OALAjkB,EAAShvD,KAAKszE,qBAAsBvQ,EAAQvxD,MAAM,IAAM,IAAIsM,MAA6B3Y,IACrFwnE,EACA9C,GAGG7pE,KAAKk0E,sBAAsBrK,EAAcoJ,GAK1CoB,sBACNxa,EACAkJ,EACA8Q,EACAlH,EACA4E,EACAsH,GAAe,EACfC,GAAiB,EACjBC,GAAiB,EACjBC,GAAW,EACXC,GAAiB,GAEjB,GAAID,GAAYD,EAAgB,CAI5B,MAAMlP,EAAe7pE,KAAKk5E,uBACtBrf,EACAkJ,EACA8Q,EACAlH,EACA4E,EACAsH,GACqB,GACA,GACN,GACM,GAIzB,GAAIhP,EAAasP,oBAGRtP,EAAa6K,oBAAsB7K,EAAae,eACjD,OAAOf,EAKnB,OAAO7pE,KAAKk5E,uBACRrf,EACAkJ,EACA8Q,EACAlH,EACA4E,EACAsH,EACAC,GACqB,EACrBE,EACAC,GAIAtF,6BACJ3zE,KAAKwzE,sBAAsB3rD,QAKvB4wD,WAAW1pE,GACf,MAAM0mD,EAAiBf,EAAkB3lD,GACzC,OAAI0mD,EAAez6D,QAAU,EAClB,CAAC+T,EAAM,IAMX,CAHgBomD,EAAsBM,EAAe73D,MAAM,GAAI,IAChD63D,EAAeA,EAAez6D,OAAS,IAKzDk+E,uBACJrf,EACAkJ,EACA8Q,EACAlH,EACA4E,EACAsH,EACAC,EACAC,EACAC,EACAC,GAEIF,EACAxH,EAAkBl2E,KAAK,uDAAuDw+D,MAE9E0X,EAAkBl2E,KAAK,0CAA0Cw+D,MAKrE,MAAMgR,EAA0B,GAChC,IAMIsO,EACA/V,EA0IAgW,EAjJA9jB,EAAUuE,EACV6a,GAAqB,EACrBC,GAAgB,EAChBC,GAAa,EACbC,GAAc,EACd1J,EAAoC,GAKxC,GAA0C,IAAtC0I,EAAiBnE,UAAU10E,OAAc,CACzC,MAAMq+E,EAA2B,WAC3BC,EAAavjB,GAAaT,EAAS+jB,EAA2B,OAC9DE,EAAcxjB,GAAaT,EAAS+jB,EAA2B,QAEjEL,GAAYh5E,KAAKg3E,iBAAiBuC,IAClChI,EAAkBl2E,KAAK,8BAA8Bk+E,MACrD1O,EAAcxvE,KAAKk+E,GACnB3E,GAAa,GACN50E,KAAKg3E,iBAAiBsC,IAC7B/H,EAAkBl2E,KAAK,8BAA8Bi+E,MACrDzO,EAAcxvE,KAAKi+E,KAEnB/H,EAAkBl2E,KAAK,6CAA6Ci6D,MACpEuV,EAAcxvE,KAAK,IACnBq5E,GAAqB,GAGzBvJ,EAAkBnrE,KAAKw5E,qBAAqB7M,EAAYrX,EAAS,CAACgkB,EAAYC,SAE9E,IAAK,IAAIj/E,EAAI,EAAGA,EAAIu5E,EAAiBnE,UAAU10E,OAAQV,IAAK,CACxD,MAAMm/E,EAAoB,IAANn/E,EACdo/E,EAAap/E,IAAMu5E,EAAiBnE,UAAU10E,OAAS,EAC7Ds6D,EAAUS,GAAaT,EAASue,EAAiBnE,UAAUp1E,IAEvDy+E,GAAkBU,IAClBnkB,GAAW5F,EACXilB,GAAgB,GAGpB,MAAMgF,EAAiB35E,KAAKy2E,gBAAgBnhB,GAE5C,GAAIqkB,EAAgB,CACZF,IACAN,EAAmB7jB,GAIvB,MAAM+jB,EAA2B,WAC3BC,EAAavjB,GAAaT,EAAS+jB,EAA2B,OAC9DE,EAAcxjB,GAAaT,EAAS+jB,EAA2B,QACrE,IAAIO,GAAY,EAqBhB,GAnBIZ,GAAYh5E,KAAKg3E,iBAAiBuC,IAClChI,EAAkBl2E,KAAK,8BAA8Bk+E,MACrD1O,EAAcxvE,KAAKk+E,GACfG,IACA9E,GAAa,GAEjBgF,GAAY,GACL55E,KAAKg3E,iBAAiBsC,KAC7B/H,EAAkBl2E,KAAK,8BAA8Bi+E,MACrDzO,EAAcxvE,KAAKi+E,GACnBM,GAAY,GAGZA,IAAcxW,GAAe6V,GACzBj5E,KAAKg3E,iBAAiBjhB,GAAaT,EAAS,eAC5C8N,EAAcrE,GAAe/+D,KAAKg/D,WAAY1J,KAIjDokB,EAAY,CAGRE,IACD/O,EAAcxvE,KAAK,IACnBq5E,GAAqB,EACrBtR,OAActkE,GAElB,SAGJ,GAAI86E,EAAW,CACXzO,EAAkBnrE,KAAKw5E,qBAAqB3F,EAAiBnE,UAAUl0E,KAAK,KAAM85D,EAAS,CACvFgkB,EACAC,IAEJ,OAOR,IAAIM,EAAgBtiB,GAAgCjC,GACpD,MAAM+jB,EAA2B3gB,GAAYmhB,GAC7CA,EAAgBxlB,EAAiBwlB,GACjC,MAAMP,EAAavjB,GAAa8jB,EAAeR,EAA2B,OACpEE,EAAcxjB,GAAa8jB,EAAeR,EAA2B,QAE3E,GAAIL,GAAYh5E,KAAKg3E,iBAAiBuC,GAClChI,EAAkBl2E,KAAK,8BAA8Bk+E,MACrD1O,EAAcxvE,KAAKk+E,GACfG,IACA9E,GAAa,QAEd,GAAI50E,KAAKg3E,iBAAiBsC,GAC7B/H,EAAkBl2E,KAAK,8BAA8Bi+E,MACrDzO,EAAcxvE,KAAKi+E,OAChB,CACH,GAAIR,GAAkB94E,KAAKy2E,gBAAgBoD,GAAgB,CACvD,MACMC,EADa95E,KAAK+5E,qBAAqBF,GACRtO,MAAMj0B,GACvCt3C,KAAKg6E,wBAAwBX,EAA0B/hC,KAE3D,GAAIwiC,EAAmB,CACnB,MAAMG,EAAgBlkB,GAAa8jB,EAAeC,GAElDjF,EAAc70E,KAAKk6E,yBACfD,EACAlX,EACA4J,EACAkH,EACAtC,EACA1G,KAKPgK,GAAe8E,GAChBpI,EAAkBl2E,KAAK,6CAA6Ci6D,MACpEuV,EAAcxvE,KAAK,IACfq+E,IACAvO,EAAkBnrE,KAAKw5E,qBAAqB7M,EAAYrX,EAAS,CAACgkB,EAAYC,IAC9E7E,GAAqB,IAElBG,GACPtD,EAAkBl2E,KAAK,sBAAsBk+E,UAAoBD,MAGzE,MAKR,MAAM7E,EAAmB5J,EAAc7vE,OAAS,GAAK6vE,EAAc7vE,OAAS64E,EAAiBnE,UAAU10E,OAOvG,OALIo+E,EADAP,EACchO,EAAc7vE,OAAS,EAEvB6vE,EAAc7vE,QAAU64E,EAAiBnE,UAAU10E,OAG9D,CACH2xE,aACA3C,YAAY,EACZ0K,qBACAC,gBACA/J,cAAewO,EACf3E,mBACAlD,oBACAzH,WAAY,EACZe,gBACAsL,WAAYtc,EACZ+a,aACAC,cACA1J,kBACA/H,cACA0R,wBAAyB3J,EACzBgO,oBAMEtB,kBAAkB9U,EAA+BwO,IAOjD4I,gBACNnJ,EACAjO,EACA8Q,EACAlH,EACA4E,EAA8B,GAC9ByH,GAAW,IAQLoB,sBACNC,EACA1N,EACA4E,EAA8B,KAKxB+I,oBAAoB/hB,GAC1B,MAAMgiB,EAAgBjiB,GAAiBC,GAAkC,GAAOz4D,cAChF,GAAIE,KAAKw6E,6BAA6BD,GAClC,OAAO5hB,GAAmBA,GAAmBJ,IAK7C6c,sBACJrS,EACA4J,EACAsG,GAEA,MAAMwH,EAAkBz6E,KAAKszE,qBAAqB/uE,IAAIw+D,EAAQvxD,MAC9D,IAAKipE,EACD,OAGJ,MAAMC,EAAcD,EAAgBl2E,IAAIooE,GACxC,OAAK+N,EAIE16E,KAAKk0E,sBAAsBwG,EAAazH,QAJ/C,EAYIoC,4BAA4BxB,EAA4C1I,GAC5E,GAAI0I,EAAiBZ,iBACjB,IACKY,EAAiBZ,gBAAgBxkB,MAAMksB,GAC7BxP,EAAgB1c,MAAM2c,GAClBA,EAAe/+D,OAASsuE,MAIvC,OAAO,OAER,GAA+B,IAA3BxP,EAAgBnwE,OACvB,OAAO,EAEX,OAAO,EAGDu8E,sBACNqD,EACA/e,EACAgf,GAAuB,GAEvBD,EAAgBxlB,GAAiCwlB,GACjD,IAAI3D,EAA2Bte,GAAmBkD,GAOlD,GAJI77D,KAAKw6E,6BAA6BliB,GAAiBuD,MACnDob,EAA2Bte,GAAmBse,KAG7CA,EAAyBzhB,WAAWolB,GACrC,OAIA3D,EAAyBhd,SAAS,cAClCgd,EAA2BA,EAAyBj1E,OAAO,EAAGi1E,EAAyBj8E,OAAS,IAGpG,MACME,EAAQw5D,EADWuiB,EAAyBj1E,OAAO44E,EAAc5/E,SAGvE,GADAE,EAAMqkB,QACFs7D,EAAsB,CACtB,GAAqB,IAAjB3/E,EAAMF,OACN,OAEJE,EAAMqkB,QAGV,OAAqB,IAAjBrkB,EAAMF,SAONE,EAAM,GAAG++D,SAASvK,KAClBx0D,EAAM,GAAKA,EAAM,GAAG8G,OAAO,EAAG9G,EAAM,GAAGF,OAAS00D,EAAY10D,SAI5DE,EAAMuzD,MAAMj8C,IAAOxS,KAAK86E,cAActoE,WAZ1C,EAgBOtX,EAAMM,KAAK,KAGd+5E,2BACJvE,EACAjO,EACA8Q,EACAmF,GAEA,MAAMrM,EAAa3sE,KAAK+zE,iBAAiBF,GACnCtC,EAA8B,GAGpC,GAAIyH,GAAYh5E,KAAKqzE,eAAe4C,SAAU,CAC1C1E,EAAkBl2E,KAAK,wBAAwB2E,KAAKqzE,eAAe4C,aACnE,MAAM8E,EAAgB/6E,KAAKq0E,sBACvBr0E,KAAKqzE,eAAe4C,SACpBlT,EACA8Q,EACAlH,EACA4E,OACmBzyE,GACE,GACA,EACrBk6E,GACqB,GAGzB,GAAI+B,EAAcnQ,cAId,OAFAmQ,EAAcjR,WAAa,EAC3BiR,EAAchR,oBAAqB,EAC5BgR,EAIf,IAAIC,EACAlQ,EAGA/H,EAAQvxD,OACR+/D,EAAkBl2E,KAA6D,uDAAI0nE,EAAQvxD,SAE3Fs5D,EAAc9qE,KAAKq0E,sBACftR,EAAQvxD,KACRuxD,EACA8Q,EACAlH,EACA4E,OACmBzyE,GACE,GACA,EACrBk6E,GACqB,GAEzBgC,EAAkBlQ,GAGtB,IAAK,MAAMiL,KAAahT,EAAQiT,WAC5BzE,EAAkBl2E,KAAK,yBAAyB06E,MAChDjL,EAAc9qE,KAAKq0E,sBACf0B,EACAhT,EACA8Q,EACAlH,EACA4E,OACmBzyE,GACE,GACA,EACrBk6E,GACqB,GAEzBgC,EAAkBh7E,KAAKi7E,gBAAgBD,EAAiBlQ,EAAa+I,GAIzE,MAAMqC,EAAoBl2E,KAAKsyE,qBAAqBf,GACpD,GAAI2E,EAAkBl7E,OAAS,EAC3B,IAAK,MAAMm7E,KAAcD,EAAmB,CACxC3E,EAAkBl2E,KAAK,kCAAkC86E,MAEzD,MAAM+E,EAAmBl7E,KAAKq0E,sBAC1B8B,EACApT,EACA8Q,EACAlH,EACA4E,GA9pCgC,GAgqCX,GACA,EACrByH,GACqB,GAGzB,GAAIkC,EAAkB,CAGlB,GAFAA,EAAiBpR,WAAa,EAE1BoR,EAAiBtQ,eAAiBsQ,EAAiBtG,WACnD,OAAOsG,EAGXF,EAAkBh7E,KAAKi7E,gBAAgBD,EAAiBE,EAAkBrH,SAIlFtC,EAAkBl2E,KAAK,qCAM3B,GAAI0nE,EAAQvxD,OAASxR,KAAKm7E,iBAAiBpY,EAASwO,KAC5CyJ,aAAe,EAAfA,EAAiB5X,eAAgB4X,EAAgBvG,iBACjD,OAAOuG,EAKf,MAAMI,EAAep7E,KAAKm6E,gBACtBnJ,EACAjO,EACA8Q,EACAlH,EACA4E,EACAyH,GAGJ,GAAIoC,EACA,OAAOA,EAGX,GAAIpC,GAAYnF,EAAiBnE,UAAU10E,OAAS,EAAG,CAEnDu2E,EAAkBl2E,KAAK,oCACvB,MAAMggF,EAAuBr7E,KAAKs7E,kBAC9BvY,EACA8Q,EACAlH,GACe,EACf4E,GAGJ,GAAI8J,EAEA,OADAA,EAAqBE,gBAAiB,EAC/BF,EAIX9J,EAAkBl2E,KAAK,yCACvB,MAAMmgF,EAAiBx7E,KAAKs7E,kBACxBvY,EACA8Q,EACAlH,GACe,EACf4E,GAGAiK,IACAA,EAAeD,gBAAiB,EAChCP,EAAkBh7E,KAAKi7E,gBAAgBD,EAAiBQ,EAAgB3H,IAMhF,OAAOmH,EAGHC,gBACJQ,EACAC,EACA7H,GAEA,IAAK4H,EACD,OAAOC,EAGX,IAAKA,EACD,OAAOD,EAGX,GAAIC,EAAU9Q,cAAe,CAEzB,IAAK6Q,EAAgB7Q,cACjB,OAAO8Q,EAIX,GAAID,EAAgB/G,qBAAuBgH,EAAUhH,mBACjD,OAAOgH,EAIX,GAAmC,IAA/BD,EAAgB3R,aAAoC2R,EAAgB/G,mBACpE,OAAO+G,EAIX,GACIA,EAAgB/G,oBAChBgH,EAAUhH,oBACVb,EAAiBZ,kBAGZjzE,KAAKq1E,4BAA4BxB,EAAkB4H,EAAgBtQ,kBACpEnrE,KAAKq1E,4BAA4BxB,EAAkB6H,EAAUvQ,iBAE7D,OAAOuQ,EAKf,GAAID,EAAgBrY,cAAgBsY,EAAUtY,YAC1C,OAAOqY,EACJ,IAAKA,EAAgBrY,aAAesY,EAAUtY,YACjD,OAAOsY,EAIX,GAAID,EAAgB7G,aAAe8G,EAAU9G,WACzC,OAAO6G,EACJ,IAAKA,EAAgB7G,YAAc8G,EAAU9G,WAChD,OAAO8G,EAIX,GAAID,EAAgB5Q,cAAc7vE,OAAS0gF,EAAU7Q,cAAc7vE,OAC/D,OAAO0gF,OAER,GAAIA,EAAUjH,kBAAoBgH,EAAgB/G,qBAAuBgH,EAAUhH,mBAGtF,OAAOgH,EAGX,OAAOD,EAGHX,cAAcx9E,GAClB,IAAK,IAAIhD,EAAI,EAAGA,EAAIgD,EAAMtC,OAAQV,IAC9B,GAAU,IAANA,GAAW6iE,GAAsB7/D,EAAMzC,WAAWP,KAAOkjE,GAAiBlgE,EAAMzC,WAAWP,IAC3F,OAAO,EAIf,OAAO,EAGDg4E,qBAAqBf,GAE3B,IAAKvxE,KAAK27E,yBAA0B,CAChC,MAAMplB,GACF,GACIv2D,KAAKg/D,WACLh/D,KAAKqzE,eACLrzE,KAAKsxE,KACLC,IACC,IACPztD,KAAKtR,GAAMxS,KAAKg/D,WAAWuC,aAAa/uD,KAG1CxS,KAAK27E,yBAA2B,IAAI,IAAI7qC,IAAIylB,IAGhD,OAAOv2D,KAAK27E,yBAGRL,kBACJvY,EACA8Q,EACAlH,EACAiP,EACArK,GAQA,IAAIsK,EACJ,GAPAtK,EAAkBl2E,KACd,wBACIugF,EAAW,GAAmC,WAKlDA,EAAU,CACV,MAAM7sE,EAAO/O,KAAKs3E,uBAAuBvU,EAASwO,EAAmBsC,GACjE9kE,IACA8sE,EAAgB,CAAC9sE,SAGrB8sE,EAAgB77E,KAAK87E,mCAAmCjI,EAAkB9Q,EAASwO,GAGvF,GAAIsK,EACA,IAAK,MAAME,KAAgBF,EACvB,GAAI77E,KAAKy2E,gBAAgBsF,GAAe,CACpC,MAAMpU,EAAa3nE,KAAKq0E,sBACpB0H,EACAhZ,EACA8Q,EACAlH,EACA4E,GAEJ,GAAI5J,EAAWiD,cAEX,OADAjD,EAAWmC,WAAa8R,EAAW,EAAqB,EACjDjU,EAMvB4J,EAAkBl2E,KAAK,2BASnB2gF,mCAAmCC,GACvCj8E,KAAKk8E,sCAAwC,IAAIp+D,IAE7Cm+D,GACAj8E,KAAKq4E,qBAAqB4D,GAAe32D,SAAS62D,IAC9C,GAAIA,EAAWvjB,cAAe,CAC1B,MAAMwjB,EAAermB,GAAakmB,EAAeE,EAAW9vE,MAE5DrM,KAAKq4E,qBAAqB+D,GAAc92D,SAAS+2D,IAC7C,GAAwB,aAApBA,EAAWhwE,KAIf,GAAIgwE,EAAWzjB,cAAe,CAC1B,MAAMka,EAAW9yE,KAAKk8E,sCAAuC33E,IAAI83E,EAAWhwE,MACxEymE,EACAA,EAASz3E,KAAK+gF,GAEdp8E,KAAKk8E,sCAAuC/2E,IAAIk3E,EAAWhwE,KAAM,CAAC+vE,SAEnE,GAAIC,EAAWvjB,UACdujB,EAAWhwE,KAAK4tD,SAAS,QAAS,CAClC,MAAMqiB,EAAmB3jB,GAAmB0jB,EAAWhwE,MACjDymE,EAAW9yE,KAAKk8E,sCAAuC33E,IAAI+3E,GAC7DxJ,EACAA,EAASz3E,KAAK+gF,GAEdp8E,KAAKk8E,sCAAuC/2E,IAAIm3E,EAAkB,CAACF,YAS/Fp8E,KAAKu8E,sCAAwC,IACtC,IAAIzrC,OAAO9wC,KAAKk8E,sCAAsCvzD,WAC3D6wC,OAGEsc,sCACJ9E,EACAjO,EACA8Q,EACA+H,EACAlG,GAEA,MAAMnE,EAA8B,GAEpC,IAAIsK,EACJ,GAAID,EAAU,CACV,MAAM7sE,EAAO/O,KAAKs3E,uBAAuBvU,EAASwO,EAAmBsC,GACjE9kE,IACA8sE,EAAgB,CAAC9sE,QAElB,CACH8sE,EAAgB77E,KAAK87E,mCACjBjI,EACA9Q,EACAwO,GACqB,GAGzB,MAAM6G,EAAiBp4E,KAAK63E,kBAAkB9U,EAASwO,GACnD6G,IACAyD,EAAgBA,UAAiB,GACjCA,EAAcxgF,KAAK+8E,IAItByD,GAILA,EAAcv2D,SAASy2D,IACf/7E,KAAKy2E,gBAAgBsF,IACrB/7E,KAAK41E,kCACD5E,EACAjO,EACAgZ,EACAlI,EACA6B,MASR4B,uBACJvU,EACAwO,EACAsC,GAEA,MAAM2I,EAAex8E,KAAKy8E,0BAAwC,EAAM1Z,EAASwO,GACjF,IACIiL,IACA3I,GACC7zE,KAAKw3E,qCAAqC3D,EAAkB9Q,EAASwO,GAK1E,OAAOiL,EAGH7E,2BAA2B5U,EAA+BwO,GAC9D,OAAOvxE,KAAKy8E,0BAAwC,EAAO1Z,EAASwO,GAGhEiG,qCACJ3D,EACA9Q,EACAwO,GAEKvxE,KAAK08E,sCACN18E,KAAK08E,oCAAsC18E,KAAK28E,4BAA4B5Z,EAASwO,IAKzF,IAAK,IAAIqL,EAAgB,EAAGA,GAAiB/I,EAAiBnE,UAAU10E,OAAQ4hF,IAAiB,CAC7F,MAAMC,EAAsBhJ,EAAiBnE,UAAU9xE,MAAM,EAAGg/E,GAC1DE,EAAe98E,KAAK08E,oCAAoCn4E,IAAIs4E,EAAoBrhF,KAAK,MAC3F,GAAIshF,EAAc,CACd,GAAI/Z,EAAQga,cAAgBD,EAAa/5E,IACrC,OAAO,EAGX,QAAyBjE,IAArBg+E,EAAap3E,KAAqBq9D,EAAQga,cAAgBD,EAAap3E,IACvE,OAAO,GAKnB,OAAO,EAGHi3E,4BACJ5Z,EACAwO,GAEA,MAAMyL,EAAkB,IAAIl/D,IAGtBm/D,EAAqBj9E,KAAKy8E,0BAAwC,EAAM1Z,EAASwO,GAEvF,GAAI0L,EAAoB,CACpB,MAAMC,EAAmBnnB,GAAaknB,EAAoB,YAC1D,IACI,MAAM9d,EAAYn/D,KAAKg/D,WAAWjG,SAASmkB,GACvC/d,EAAU7/D,KAAO,GAAK6/D,EAAU7/D,KAAO,OAClBU,KAAKg/D,WAAWK,aAAa6d,EAAkB,QACvD3vE,MAAM,SAAS+X,SAAS4U,IACjC,MACMijD,EADejjD,EAAK3sB,MAAM,KACA,GAAGA,MAAM,KACzC,GAA0B,IAAtB4vE,EAAWniF,OACX,OAGJ,MAAMoiF,EAAeD,EAAW,GAAG5vE,MAAM,KACzC,GAAI6vE,EAAapiF,OAAS,EACtB,OAGJ,MAAMgwE,EAAamS,EAAW,GAAGv3E,OACjC,IAAKolE,EACD,OAGJ,IAAIqS,EAAmBD,EAAa,GAAGx3E,OACnCy3E,EAAiBpjB,SAAS,OAE1BojB,EAAmBA,EAAiBr7E,OAAO,EAAGq7E,EAAiBriF,OAAS,IAE5E,IAKIsiF,EALAC,EAAa/gB,GAAkB6gB,GAC9BE,IACDA,EAAanhB,GAAcohB,MAI3BJ,EAAapiF,OAAS,IACtBsiF,EAAa9gB,GAAkB4gB,EAAa,GAAGx3E,SAGnDo3E,EAAgB73E,IAAI6lE,EAAY,CAAEjoE,IAAKw6E,EAAY73E,IAAK43E,OAG5D/L,EAAkBl2E,KAAK,uDAE7B,MAAO4I,GACLstE,EAAkBl2E,KAAK,kDAAkD2T,KAAKC,UAAUhL,QAIhG,OAAO+4E,EAGHlB,mCACJjI,EACA9Q,EACAwO,EACAkM,GAAmB,GAEnB,MAAM1B,EAAe/7E,KAAK23E,2BAA2B5U,EAASwO,GAEzDvxE,KAAKk8E,uCACNl8E,KAAKg8E,mCAAmCD,GAG5C,MAAM2B,EAAgB7J,EAAiBnE,UAAU10E,OAAS,EAAI64E,EAAiBnE,UAAU,GAAK,GAC9F,OAAI+N,EACOz9E,KAAKk8E,sCAAuC33E,IAAIm5E,GAGvDA,EvBh6CL,SAAoBn+E,GACvB,MAAMygB,EAAS,GACf,IAAK,MAAMoxC,KAAK7xD,EACR6xD,ID5MY9zD,EC6MA8zD,GD5Mb11D,MAAMuD,QAAUvD,MAAMuD,QAAQ3B,GAASA,aAAiB5B,OC6MnD4yD,EAAStuC,EAAQoxC,GAEjBpxC,EAAO3kB,KAAK+1D,IDhNrB,IAAiB9zD,ECoNpB,OAAO0iB,EuBs5CQ29D,CvBr1CZ,SAA4Bl9E,EAAciuD,GAC7C,MAAM/lC,EAAc,GAOpB,OANAloB,EAAE6kB,SAAQ,CAAC8rC,EAAG/+C,KuBo1CwD,CAACA,GAAMA,EAAEmjD,WAAWkoB,GvBn1ClFhvB,CAAUr8C,IACVsW,EAAOttB,KAAK+1D,MAIbzoC,EuB80CKi1D,CAAa59E,KAAKk8E,wCAInB,GAGH/D,mCAAmCpV,EAA+BwO,GACtE,MAAMwK,EAAe/7E,KAAK23E,2BAA2B5U,EAASwO,GAM9D,OAJKvxE,KAAKk8E,uCACNl8E,KAAKg8E,mCAAmCD,GAGrC/7E,KAAKu8E,sCAGRpB,iBAAiBpY,EAA+BwO,GACpD,QAAiCzyE,IAA7BkB,KAAK69E,oBACL,OAAO79E,KAAK69E,oBAGhB,IAAI9B,EAAe,GAInB,GAAI/7E,KAAKqzE,eAAe0I,aAAc,CAClC,MAAM+B,EAAuB99E,KAAKqzE,eAAe0I,aAC7C/7E,KAAKy2E,gBAAgBqH,KACrB/B,EAAe+B,OAEhB,CACH,MAAM5H,EAAoBl2E,KAAKsyE,qBAAqBf,GACpD,IAAK,MAAM4E,KAAcD,EAAmB,CACxC,MAAM4H,EAAuB/nB,GAAaogB,EAAY,YACtD,GAAIn2E,KAAKy2E,gBAAgBqH,GAAuB,CAC5C/B,EAAe+B,EACf,QAWZ,OALK/B,IACDA,EDlsDL,SAAiCnmB,GACpC,IAAImoB,EAAkBnoB,EAAGmL,gBACzB,IAAKgd,EACD,OAGJA,EAAkB1pB,EAAiBe,GAAiCoB,GAAcunB,KAElF,MAAMhC,EAAehmB,GAAagoB,EAAiB,GACnD,GAAInoB,EAAGI,WAAW+lB,GACd,OAAOA,EAKX,MAAMiC,EAAoBjoB,GAAa1B,EAAiB0pB,GAAkB,GAC1E,OAAInoB,EAAGI,WAAWgoB,GACPA,OADX,ECkrDuB,CAAwCh+E,KAAKg/D,aAAe,IAG/Eh/D,KAAK69E,oBAAsB9B,EACpBA,EAGHU,yBAAyBb,EAAmB7Y,EAA+BwO,GAE/E,GAAIqK,GACA,QAAuC98E,IAAnCkB,KAAKi+E,0BACL,OAAOj+E,KAAKi+E,+BAGhB,QAA2Cn/E,IAAvCkB,KAAKk+E,8BACL,OAAOl+E,KAAKk+E,8BAIpB,IAAInC,EAAe/7E,KAAKm7E,iBAAiBpY,EAASwO,GAGlD,GAFAwK,ED/rDD,SAAiCA,EAAsBH,GAC1D,OAAO7lB,GAAagmB,EAAcH,EAAW1K,GAAmBC,IC8rD7C,CAAwC4K,EAAcH,GAEhE57E,KAAKy2E,gBAAgBsF,GAW1B,OANIH,EACA57E,KAAKi+E,0BAA4BlC,EAEjC/7E,KAAKk+E,8BAAgCnC,EAGlCA,EAGH7G,uBACJlE,EACAjO,EACA8Q,EACAlH,EACA4E,GAEAA,EAAkBl2E,KAAK,yCAGvB,MAAM84D,EAAYoc,GACdlc,EAAiB2c,GACjB6C,EAAiBpE,aAErB,IAAKtb,EAED,YADAod,EAAkBl2E,KAAK,0BAA0BsxE,MAKrD,MAAMwR,EAAYn+E,KAAKq0E,sBACnBlgB,EACA4O,EACA8Q,EACAlH,EACA4E,GACmB,GACE,GAEzB,OAAOvxE,KAAKk0E,sBAAsBiK,EAAWtK,EAAiBZ,iBAG1D4C,kCACJ7E,EACAjO,EACA8Q,EACA6B,GAGA,MAAMvhB,EAAYoc,GACdlc,EAAiB2c,GACjB6C,EAAiBpE,aAEhBtb,GAKLn0D,KAAK41E,kCAAkC5E,EAAgBjO,EAAS5O,EAAW0f,EAAkB6B,GAGzFqE,qBAAqBzkB,GACzB,MAAM8oB,EAAep+E,KAAKq4E,qBAAqB/iB,GACzC+oB,EAAaD,EAAav1B,QAAQvR,GAAMA,EAAEwhB,WAAUh1C,KAAKwzB,GAAMA,EAAEjrC,OAUvE,OAPA+xE,EAAa94D,SAASgyB,I,MAClB,MAAMgnC,EAAWvoB,GAAaT,EAAShe,EAAEjrC,MACrCirC,EAAEoiB,mBAAsD,QAAlC,EAAAb,GAAQ74D,KAAKg/D,WAAYsf,UAAS,eAAExlB,WAC1DulB,EAAWhjF,KAAKi8C,EAAEjrC,SAInBgyE,EAGHzI,kCACJ5E,EACAjO,EACAlJ,EACAga,EACA6B,EACA6I,GAAa,GAIb,IAAIjpB,EAAUuE,EAId,MAAM6V,EAAYmE,EAAiBnE,UAAU5rD,KAAKzX,GAASA,IACvDwnE,EAAiB2K,gBACjB9O,EAAUr0E,KAAK,IAKnB,MAAMo0E,EAAcoE,EAAiBpE,YAC/BgP,EAAkB/O,EAAU9xE,MAAM,GAAI,GAI5C,GAAyB,IAArB8xE,EAAU10E,OACVgF,KAAK0+E,gCACD1N,EACAjO,EACAzN,EACA,GACAogB,EACAjG,EACAgP,EACAF,QAGJ,IAAK,IAAIjkF,EAAI,EAAGA,EAAIo1E,EAAU10E,SAGtBV,IAAMo1E,EAAU10E,OAAS,GACzBgF,KAAK0+E,gCACD1N,EACAjO,EACAzN,EACAoa,EAAUp1E,GACVo7E,EACAjG,EACAgP,EACAF,GAIRjpB,EAAUS,GAAaT,EAASoa,EAAUp1E,IACrC0F,KAAKy2E,gBAAgBnhB,IAjBQh7D,MAwBtCokF,gCACJ1N,EACAjO,EACA4b,EACA91B,EACA6sB,EACAjG,EACAgP,EACAF,GAGA,MAAM31D,EAAUuwC,GACZn5D,KAAKq4E,qBAAqBsG,GAC1B3+E,KAAKg/D,WACL2f,GAGJ/1D,EAAQywC,MAAM/zC,SAASoK,IAGnB,MAAM6qD,EAAgBjiB,GAAiB5oC,GAA8B,GAAO5vB,cACtE8+E,EAAuBjmB,GAAmBjpC,GAA8B,GAE9E,GAAIyjD,GAAwB1kB,MAAM9nD,GAAQA,IAAQ4zE,IAAgB,CAC9D,GAA6B,aAAzBqE,EACA,OAGJ,GAAI/1B,IAAW,EAA8BA,EAAQ+1B,GACjD,OAGJ,IACK5+E,KAAK6+E,yBAAyBD,EAAsBlJ,KACpD11E,KAAK8+E,wBACFF,EACAnP,EACAgP,EACAzN,EACAjO,EACAwb,GAGJ,OAGJ7I,EAAY9vD,IAAIg5D,OAIxBh2D,EAAQ0wC,YAAYh0C,SAAS1kB,IACrBioD,IAAWjoD,EAAI40D,WAAW3M,IAKzB7oD,KAAK6+E,yBAAyBj+E,EAAK80E,IACnC11E,KAAK8+E,wBAAwBl+E,EAAK6uE,EAAagP,EAAiBzN,EAAgBjO,EAASwb,IAK9F7I,EAAY9vD,IAAIhlB,MAMhBk+E,wBACJzyE,EACAojE,EACAgP,EACAzN,EACAjO,EACAwb,GAGA,MAAM1K,EAAmB,CACrBpE,YAAaA,EACbC,UAAW,IAAI+O,EAAiBpyE,GAChC4mE,gBAAiB,IAIrB,GAAIsL,EAAY,CACZ,MAAM5R,EAAa3sE,KAAK+zE,iBAAiBF,GACnCtC,EAA8B,GAEpC,OAAOvxE,KAAKg0E,qBAAqBrH,EAAYqE,EAAgBjO,EAAS8Q,EAAkBtC,GACnF3G,cAGT,OAAO5qE,KAAK8zE,eAAe9C,EAAgBjO,EAAS8Q,GAAkBjJ,cAGlEiU,yBAAyBE,EAAyBrJ,GACtD,QAAIA,EAAYtxD,IAAI26D,IAKhB,OAAO/nC,KAAK+nC,IAKZvV,GAAauV,IAAwC,eAApBA,GAS/B7K,sBAAsBrK,EAA4BoJ,GACxD,QAAwBn0E,IAApBm0E,EAA+B,CAC/B,MAAM+L,EAAkBliF,OAAOmiF,OAAO,GAAIpV,GAE1C,OADAmV,EAAgBlK,wBAA0B,GACnCkK,EAGX,GAA+B,IAA3B/L,EAAgBj4E,OAChB,OAAO6uE,EAGX,GAA4C,IAAxCA,EAAasB,gBAAgBnwE,OAC7B,OAAO6uE,EAGX,MAAMiL,EAA0BjL,EAAasB,gBAAgBtiB,QAAQuiB,GAC1D6H,EAAgBxkB,MAAM3iD,GAAQA,IAAQs/D,EAAe/+D,SAGhE,GAAIyoE,EAAwB95E,SAAW6uE,EAAasB,gBAAgBnwE,OAChE,OAAO6uE,EAGX,MAAMmV,EAAkBliF,OAAOmiF,OAAO,GAAIpV,GAE1C,OADAmV,EAAgBlK,wBAA0BA,EACnCkK,EAGHxF,qBAAqB0F,EAA6B5pB,EAAiB6pB,GACvE,MAAMC,EAAoB,IAAIthE,IAGxB8K,EAAUuwC,GACZn5D,KAAKq4E,qBAAqB/iB,GAC1Bt1D,KAAKg/D,WACL1J,GAIJ,IAAK,MAAMiD,KAAY3vC,EAAQywC,MAAO,CAClC,MAAMgmB,EAAU/mB,GAAiBC,GACjC,IAAI+jB,EACAzH,GAAc,EAElB,GAAgB,QAAZwK,GAAiC,SAAZA,EACrB/C,EAAmB3jB,GAAmBJ,OACnC,KACHv4D,KAAKw6E,6BAA6B6E,IACjCr/E,KAAKg3E,iBAAiB,GAAGze,SACzBv4D,KAAKg3E,iBAAiB,GAAGze,SAM1B,SAHA+jB,EAAmB/jB,EAASv2D,OAAO,EAAGu2D,EAAS18D,QAAQ,MACvDg5E,GAAc,EAKlB,MAAMhZ,EAAW9F,GAAaT,EAASiD,GACvC,IAAK4mB,EAAW5T,MAAM+T,GAAcA,IAAczjB,IAAW,CACzD,MAAMuP,EAAiC,CACnCwJ,WAAYrc,EAAS0B,SAAS,QAC9B4a,cACAxoE,KAAMiwE,EACNvtE,KAAM8sD,GAIJpC,EAAQ2lB,EAAkB76E,IAAI6mE,EAAe/+D,MACnD,IAAKotD,IAAUA,EAAMmb,WAAY,CAE7B,GAAIC,EAAa,CACb,MAAMoF,EAAgBlkB,GAAaT,EAASiD,GACtCgnB,EAAiBv/E,KAAKo6E,sBACxBH,EACA,GAAGiF,KAAuB5C,IAC1B,IAEAiD,IACAnU,EAAer8D,KAAOwwE,EACtBnU,EAAeyJ,aAAc,GAGrCuK,EAAkBj6E,IAAIimE,EAAe/+D,KAAM++D,KAMvD,IAAK,MAAM6G,KAAWrpD,EAAQ0wC,YAAa,CACvC,MAAMggB,EAAavjB,GAAaT,EAAS2c,EAAS,eAC5CsH,EAAcD,EAAa,IACjC,IAAI1E,GAAa,EACb7lE,EAAO,GASX,GAPI/O,KAAKg3E,iBAAiBuC,IACtB3E,GAAa,EACb7lE,EAAOwqE,GACAv5E,KAAKg3E,iBAAiBsC,KAC7BvqE,EAAOuqE,GAGPvqE,IACKowE,EAAW5T,MAAM+T,GAAcA,IAAcvwE,IAAO,CACrD,MAAMq8D,EAAiC,CACnCwJ,aACAC,aAAa,EACbxoE,KAAM4lE,EACNljE,QAGJqwE,EAAkBj6E,IAAIimE,EAAe/+D,KAAM++D,IAKvD,MAAO,IAAIgU,EAAkBz2D,UAGvBorD,iBAAiBF,GACvB,MAAO,IAAI2L,OAAO3L,EAAiBpE,aAAeoE,EAAiBnE,UAAUl0E,KAAK,KAG9E0+E,yBACJD,EACAlX,EACA4J,EACAkH,EACAtC,EACA1G,GAEA,IAAI4U,EAAiB9S,EAErB,GAAIkH,EAAiBpE,YAAc,EAAG,CAElC,MAAMxzD,EAAOjc,KAAKk3E,uBAAuB+C,EAAelX,GACxD0c,EAAiBxjE,EAAK+uD,WAAWhwE,OAAS,EAAIihB,EAAK+uD,WAAayU,EAGpE,MAAMC,EAAmB1/E,KAAKo6E,sBAAsBH,EAAewF,EAAgBlO,GACnF,OAAImO,GACAnO,EAAkBl2E,KAAK,0BAA0BsxE,gBAAyB+S,MAC1E7U,EAAcxvE,KAAKqkF,IACZ,IAGXnO,EAAkBl2E,KAAK,8BAA8B4+E,MACrDpP,EAAcxvE,KAAK4+E,IACZ,GAGHD,wBAAwBhP,EAAoBzS,GAIhD,MAAMgiB,EAAgBjiB,GAAiBC,GAAkC,GAAOz4D,cAC1E6/E,EAAmBhnB,GAAmBJ,GAAkC,GAC9E,OACIv4D,KAAKw6E,6BAA6BD,IAClC1mB,EAA6BmX,EAAY2U,GAIzCnF,6BAA6BD,GACjC,OAAOrH,GAA6BzkB,MAAM9nD,GAAQA,IAAQ4zE,IAGtDhG,WAAW/rD,GACf,OAAIkyC,GAAelyC,GACR,EAAC,EAAO,IAGZ,EACH,EACA4sC,GACIwG,GAAkB57D,KAAKg/D,WAAYxI,GAAcT,GAAavtC,EAAS,UAK3E4rD,cAAc5rD,EAAiBhX,EAAcuxD,GACjD,OAAOv6C,EAAQxtB,OAASwW,EAAKxW,QAAWwtB,IAAYhX,IAASuxD,EAAQvxD,KAG/D2iE,8BAA8BnD,EAAwB4O,GAC5D,OACWxqB,GADPwqB,EACwChkB,GAAkB57D,KAAKg/D,WAAYxI,GAAcopB,IAGrDvrB,EAAiB2c,KCnpE1D,MAAM6O,GAAqB,I,0BAAIpxD,qBAClC,mBCLJ,IAAIqxD,GAGG,SAASC,GAAsBzO,GAClCwO,GAAQxO,EAGZ,SAASA,KACL,IAAKwO,GACD,MAAM,IAAIlkF,MAAM,4BAEpB,OAAOkkF,GAGJ,SAASE,KACZ,OAAO1O,KAAO0O,uBAOX,SAASC,KACZ,OAAO3O,KAAO2O,aAGX,SAASC,KACZ,OAAO5O,KAAO4O,WAQX,SAASC,GAAe7iF,EAAY8iF,GACvC,GAAI1kF,MAAMuD,QAAQ3B,GACd,OAAOA,EAAMwmB,IAAIs8D,GAErB,GAUmBhvB,EAVD9zD,EAW2B,oBAAtCR,OAAOE,UAAUwC,SAASsB,KAAKswD,GAXZ,CACtB,MAAMivB,EAAcvjF,OAAOqV,OAAO,MAIlC,OAHArV,OAAO8rB,QAAQtrB,GAAOgoB,SAAQ,EAAEjT,EAAG++C,MAC/BivB,EAAYhuE,GAAK+tE,EAAOhvB,MAErBivB,EAKf,IAAuBjvB,EAHnB,OAAOgvB,EAAO9iF,GClEX,MAAMgjF,GAGTr0E,cACIjM,KAAKugF,WAAa9/D,KAAKC,MAG3B8/D,4BAEI,OADgB//D,KAAKC,MACJ1gB,KAAKugF,WAG1BE,uBACI,OAAOzgF,KAAKwgF,4BAA8B,KAI3C,MAAME,GAAb,cACI,KAAAC,UAAY,EACZ,KAAAC,UAAY,EACZ,KAAAC,UAAW,EAEXC,cAAiBntE,GAIb,GAHA3T,KAAK4gF,YAGD5gF,KAAK6gF,SACL,OAAOltE,IACJ,CACH3T,KAAK6gF,UAAW,EAChB,MAAME,EAAW,IAAIT,GACftgE,EAASrM,IAIf,OAHA3T,KAAK2gF,WAAaI,EAASP,4BAC3BxgF,KAAK6gF,UAAW,EAET7gE,GAIfghE,iBAAiBrtE,GACb,GAAI3T,KAAK6gF,SAAU,CACf7gF,KAAK6gF,UAAW,EAChB,MAAME,EAAW,IAAIT,GACrB3sE,IACA3T,KAAK2gF,WAAaI,EAASP,4BAC3BxgF,KAAK6gF,UAAW,OAEhBltE,IAIRstE,YACI,MAAMC,EAAiBlhF,KAAK2gF,UAAY,IAExC,OADoB79E,KAAKwmB,MAAuB,IAAjB43D,GAAwB,KACpC1hF,WAAa,OAsCjC,MAAM2hF,GAAc,IAlCpB,MAAP,cACI,KAAAC,cAAgB,IAAId,GACpB,KAAAe,cAAgB,IAAIX,GACpB,KAAAY,aAAe,IAAIZ,GACnB,KAAAa,iBAAmB,IAAIb,GACvB,KAAAc,cAAgB,IAAId,GACpB,KAAAe,mBAAqB,IAAIf,GACzB,KAAAgB,mBAAqB,IAAIhB,GACzB,KAAAiB,SAAW,IAAIjB,GACf,KAAAkB,gBAAkB,IAAIlB,GACtB,KAAAmB,mBAAqB,IAAInB,GAEzBoB,aAAa39E,GACTA,EAAQ8X,KAAK,gBAAgBjc,KAAKohF,cAAcX,6BAGpDsB,aAAa59E,GACTA,EAAQ8X,KAAK,IACb9X,EAAQ8X,KAAK,gBACb9X,EAAQ8X,KAAK,yBAA2Bjc,KAAKqhF,cAAcJ,aAC3D98E,EAAQ8X,KAAK,yBAA2Bjc,KAAKshF,aAAaL,aAC1D98E,EAAQ8X,KAAK,yBAA2Bjc,KAAKuhF,iBAAiBN,aAC9D98E,EAAQ8X,KAAK,yBAA2Bjc,KAAKwhF,cAAcP,aAC3D98E,EAAQ8X,KAAK,yBAA2Bjc,KAAKyhF,mBAAmBR,aAChE98E,EAAQ8X,KAAK,yBAA2Bjc,KAAK2hF,SAASV,aACtD98E,EAAQ8X,KAAK,yBAA2Bjc,KAAK4hF,gBAAgBX,aAC7D98E,EAAQ8X,KAAK,yBAA2Bjc,KAAK0hF,mBAAmBT,aAGpEe,mBACI,OAAOhiF,KAAKohF,cAAcX,yBClFrBwB,GAA0CxlE,MAiBhD,SAASylE,GACZC,EACAC,EACA/Q,EACA19D,EACAxP,EACA6c,GAEA,IAAIqhE,GAAgB,EAEpB1uE,EAAWA,UAAYsuE,GAEvB,IACI,GAA6BjhE,GAE7B,MAAM+/D,EAAW,IAAIT,GACrB+B,EAAgBF,EAAQG,QAAQF,EAASphE,GAEzC,MAAMuhE,EAAqBJ,EAAQK,yBAC7B59C,EAAcu9C,EAAQM,eAAepR,GACrCqR,EAAsB99C,EAAY5pC,OAClC2nF,EAAc5B,EAASN,wBAGzBiC,EAAsB,IAAML,IAC5B1uE,EAAS,CACLixB,cACAg+C,eAAgBT,EAAQU,eACxBC,uBAAwBP,EACxBQ,sBAAuBZ,EAAQa,0BAC/BC,oBAAoB,EACpBC,0BAA0B,EAC1BP,gBAGV,MAAO1+E,GACL,GAAImgE,GAA2B7vD,GAAGtQ,GAC9B,OAAO,EAGX,MAAMsI,IxB+BiBnI,EwB/BcH,GxBiC9BqI,MAAQlI,EAAMkI,MAAM9M,gBAAaV,KACd,iBAAlBsF,EAAMmI,QAAuBnI,EAAMmI,aAAUzN,IACrDkQ,KAAKC,UAAU7K,GwBlCfD,EAAQC,MAAM,8BAAgCmI,GAE9CoH,EAAS,CACLixB,YAAa,GACbg+C,eAAgB,EAChBE,uBAAwB,EACxBC,uBAAuB,EACvBE,oBAAoB,EACpBC,0BAA0B,EAC1BP,YAAa,EACbv+E,MAAO,EAA2BH,KxBoBvC,IAAwBG,EwBhB3B,OAAOi+E,E,IC9ECc,G,8BAAZ,SAAYA,GACR,gBACA,cACA,cACA,YAJJ,CAAYA,QAAQ,KAwCb,MAAMC,GACTx0E,IAAIrC,GACApI,QAAQ8X,KAAK1P,GAGjB0P,KAAK1P,GACDpI,QAAQ8X,KAAK1P,GAGjByP,KAAKzP,GACDpI,QAAQ6X,KAAKzP,GAGjBnI,MAAMmI,GACFpI,QAAQC,MAAMmI,IA0Cf,MAAM82E,GAUTp3E,YAAoBq3E,EAAoCC,EAAQ,IAA5C,KAAAD,WAAoC,KAAAC,QAThD,KAAAC,UAAiC,IAAI1lE,IAAI,CAC7C,CAACqlE,GAASvnF,MAAO,GACjB,CAACunF,GAASM,KAAM,GAChB,CAACN,GAASpsD,KAAM,GAChB,CAACosD,GAASnsD,IAAK,KAGX,KAAA0sD,UAAY,EAIpB,YACI,OAAQ1jF,KAAK0jF,WACT,KAAK,EACD,OAAOP,GAASvnF,MAEpB,KAAK,EACD,OAAOunF,GAASM,KAEpB,KAAK,EACD,OAAON,GAASpsD,KAGxB,OAAOosD,GAASnsD,IAGpB,UAAU15B,GACN,IAAIqmF,EAAW3jF,KAAKwjF,UAAUj/E,IAAIjH,QACjBwB,IAAb6kF,IACAA,EAAW3jF,KAAKwjF,UAAUj/E,IAAI4+E,GAASpsD,OAG3C/2B,KAAK0jF,UAAYC,EAGrBv/E,MAAMmI,GACFvM,KAAK4jF,KAAKT,GAASvnF,MAAO,GAAGoE,KAAK6jF,UAAUt3E,KAGhDyP,KAAKzP,GACDvM,KAAK4jF,KAAKT,GAASM,KAAM,GAAGzjF,KAAK6jF,UAAUt3E,KAG/C0P,KAAK1P,GACDvM,KAAK4jF,KAAKT,GAASpsD,KAAM,GAAG/2B,KAAK6jF,UAAUt3E,KAG/CqC,IAAIrC,GACAvM,KAAK4jF,KAAKT,GAASnsD,IAAK,GAAGh3B,KAAK6jF,UAAUt3E,KAG9C,cACI,OAAOvM,KAAKujF,MAAQ,IAAIvjF,KAAKujF,UAAY,GAGrCK,KAAKE,EAAiBv3E,GACtBvM,KAAK+jF,mBAAmBD,GAAS9jF,KAAK0jF,WAI1C90E,GAAI5O,KAAKsjF,SAAUQ,EAAOv3E,GAGtBw3E,mBAAmBD,GACvB,MAAME,EAAehkF,KAAKwjF,UAAUj/E,IAAIu/E,GAExC,OADA,OAA8BhlF,IAAjBklF,EAA4B,mCACjBllF,IAAjBklF,EAA6BA,EAAe,GAIpD,SAASp1E,GAAIzK,EAA2B8/E,EAAmBj3E,GAC9D,OAAQi3E,GACJ,KAAKd,GAASnsD,IACV7yB,EAAQyK,IAAI5B,GACZ,MAEJ,KAAKm2E,GAASpsD,KACV5yB,EAAQ8X,KAAKjP,GACb,MAEJ,KAAKm2E,GAASM,KACVt/E,EAAQ6X,KAAKhP,GACb,MAEJ,KAAKm2E,GAASvnF,MACVuI,EAAQC,MAAM4I,GACd,MAEJ,QACI,EAAW,GAAGi3E,sBCxLnB,MAAMC,GAKTj4E,YAAoBq3E,EAAgDO,GAAhD,KAAAP,WAAgD,KAAAO,UAJ5D,KAAAM,YAAc,IAAIvrC,GAClB,KAAAwrC,aAAe,GACf,KAAAC,gBAA4B,GAIpCz1E,IAAOwtB,EAAezoB,EAAkC2wE,GAAkB,EAAIC,GAAiB,GAE3F,QAAsBzlF,IAAlBkB,KAAKsjF,SACL,OAAO3vE,EAAS3T,KAAKmkF,aAIzB,MAAML,EAAS9jF,KAAKsjF,SAAiBQ,MACrC,QAAchlF,IAAVglF,GAAwBA,IAAUX,GAASnsD,KAAO8sD,IAAUX,GAASpsD,KACrE,OAAOpjB,EAAS3T,KAAKmkF,aAKzB,MAAM37D,EAAUxoB,KAAKokF,aACrBpkF,KAAKqkF,gBAAgBhpF,KAAK,GAAGmtB,IAAU4T,SAEvCp8B,KAAKokF,cAAgB,KACrB,MAAM9lE,EAAQ,IAAIs6B,GAElB,IACI,OAAOjlC,EAAS2K,G,QAEhB,MAAMkmE,EAAalmE,EAAMyiE,SAIzB,GAHA/gF,KAAKokF,aAAe57D,EAGhBxoB,KAAKqkF,gBAAgBrpF,OAAS,IAAMsjB,EAAMmmE,gBAAkBD,GAAcF,GAE1EtkF,KAAKqkF,gBAAgBpqC,UAClB,CACHj6C,KAAK0kF,uBAEL,IAAIzoF,EAAS,IAAI+D,KAAK6jF,YAAY7jF,KAAKokF,eAAehoD,IAAQ9d,EAAM/Z,UAAUigF,OAI1ED,GACAjmE,EAAMqmE,cACFrmE,EAAMsmE,cACNtmE,EAAMumE,aACNvmE,EAAMwmE,oBACNxmE,EAAMymE,aACN,IAEJ9oF,GAAU,OAAOqiB,EAAMqmE,oBAAoBrmE,EAAMsmE,oBAAoBtmE,EAAMumE,mBAAmBvmE,EAAMwmE,0BAA0BxmE,EAAMymE,iBAGxI/kF,KAAKsjF,SAAS10E,IAAI3S,GAGduoF,GA5DiB,KA6DjBxkF,KAAKsjF,SAASrnE,KAAK,IAAIjc,KAAK6jF,4BAA4BznD,MAAUooD,UAM1EE,uBAIJ,GAFA1kF,KAAKqkF,gBAAgBpqC,QAEjBj6C,KAAKqkF,gBAAgBrpF,QAAU,GAAnC,CAIA,IAAK,MAAMgqF,KAAiBhlF,KAAKqkF,gBAC7BrkF,KAAKsjF,SAAU10E,IAAI,IAAI5O,KAAK6jF,YAAYmB,KAG5ChlF,KAAKqkF,gBAAgBrpF,OAAS,IAStC,MAAM49C,GAAN,cAIY,KAAAqsC,OAAS,IAAI3E,GACb,KAAA4E,WAAa/D,GAAYG,aAAaX,UACtC,KAAAwE,YAAchE,GAAYI,iBAAiBZ,UAC3C,KAAAyE,YAAcjE,GAAYK,cAAcb,UACxC,KAAA0E,aAAelE,GAAYM,mBAAmBd,UAC9C,KAAA2E,WAAanE,GAAYQ,SAAShB,UAE1C,eACI,OAAO3gF,KAAKilF,OAAOzE,4BAGvB,oBACI,OAAOW,GAAYG,aAAaX,UAAY3gF,KAAKklF,WAGrD,oBACI,OAAO/D,GAAYI,iBAAiBZ,UAAY3gF,KAAKmlF,YAGzD,mBACI,OAAOhE,GAAYK,cAAcb,UAAY3gF,KAAKolF,YAGtD,0BACI,OAAOjE,GAAYM,mBAAmBd,UAAY3gF,KAAKqlF,aAG3D,mBACI,OAAOlE,GAAYQ,SAAShB,UAAY3gF,KAAKslF,WAGjD1/D,IAAI2/D,GACIA,IACAvlF,KAAKwlF,UAAYD,GAIzBhhF,MACI,OAAIvE,KAAKwlF,UACE,KAAKxlF,KAAKwlF,aAGd,GAGXC,WACIzlF,KAAK0lF,WAAY,EAGrBjB,eACI,QAASzkF,KAAK0lF,WCoEf,SAASC,GAAsBzd,GAClC,OAAqB,IAAdA,EAAKlpE,KAGT,SAAS4mF,GAAmB1d,GAC/B,OAAqB,IAAdA,EAAKlpE,KAGT,SAAS6mF,GAAuB3d,GACnC,OAAqB,IAAdA,EAAKlpE,KAGT,SAAS8mF,GAAsB5d,GAClC,OAAqB,IAAdA,EAAKlpE,KAGT,SAAS+mF,GAAmB7d,GAC/B,OAAqB,IAAdA,EAAKlpE,KClGhB,IAAIgnF,GAAc,EAKX,SAAS,GAAYte,EAAqBue,GACzCA,EAASnqF,MAAQ4rE,EAAK5rE,QACtB4rE,EAAK1sE,QAAU0sE,EAAK5rE,MAAQmqF,EAASnqF,MACrC4rE,EAAK5rE,MAAQmqF,EAASnqF,OAGtB0oE,GAAUmB,OAAOsgB,GAAYzhB,GAAUmB,OAAO+B,KAC9CA,EAAK1sE,OAASwpE,GAAUmB,OAAOsgB,GAAYve,EAAK5rE,OAWjD,IAAUoqF,GAmBAC,GAqBAC,GAsCAC,GA8BAC,GAqCAC,GA0BAC,GA0BAC,GA2BAC,GA8BAC,GAqCAC,GAsBAC,GA2EAC,GAyBAC,GAqBAC,GAuBAC,GAiHAC,GA2CAC,GA8BAC,GAmCAC,GA2BAC,GA0BAC,GA2BAC,GAwCAC,GAiCAC,GAyBAC,GA+BAC,GAwBAC,GAsBAC,GAkCAC,GAwBAC,GAqCAC,GAkBAC,GAwBAC,GAwBAC,GA4BAC,GAyBAC,GAoBAC,GAkBAC,GAoBAC,GAuBAC,GAwBAC,GAuCAC,GA2BAC,GAoBAC,GAyBAC,GAuBAC,GAmBAC,GA2BAC,GA4BAC,GAkBAC,GAkBAC,GAuBAC,GAqBAC,GA0BAC,GA2BAC,GAqBAC,GAmBAC,GAoBAC,GAsBAC,GAiBAC,GAkBAC,GAoBAC,GAmBAC,GA2BAC,GAsCAC,GAoCAC,GAiCAC,GAsBAC,GA8BAC,GA6BAC,GA2BAC,GA8BAC,GA4BAC,GAuBAC,GA1gDV,SAASC,GAAiBnjB,GAC7B,OAAQA,EAAKjB,UACT,KAAK,EACL,KAAK,GACL,KAAK,EACL,KAAK,EACL,KAAK,GACL,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACD,OAAO,EAEX,QACI,OAAO,IA/iBnB,SAAiByf,GACG,EAAA/zE,OAAhB,SAAuB1F,GASnB,MARyB,CACrB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJvb,WAAY,KAPxB,CAAiByb,QAAU,KAmB3B,SAAiBC,GACG,EAAAh0E,OAAhB,SAAuB1F,GASnB,MARwB,CACpB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJvb,WAAY,KAPxB,CAAiB0b,QAAS,KAqB1B,SAAiBC,GACG,EAAAj0E,OAAhB,SACI24E,EACAC,EACAC,EACAC,GAEA,MAAMvjB,EAAe,CACjB5rE,MAAOgvF,EAAchvF,MACrBd,OAAQ8vF,EAAc9vF,OACtByrE,SAAU,GACV7pD,GAAIopE,KACJ+E,iBACAC,UACAC,aAaJ,OAVAF,EAAe5lD,OAASuiC,EACxBsjB,EAAQ7lD,OAASuiC,EAEjB,GAAYA,EAAMqjB,GAClB,GAAYrjB,EAAMsjB,GACdC,IACA,GAAYvjB,EAAMujB,GAClBA,EAAU9lD,OAASuiC,GAGhBA,GA3Bf,CAAiB0e,QAAM,KAsCvB,SAAiBC,GACG,EAAAl0E,OAAhB,SAAuB+4E,EAAmBH,EAAgCI,GACtE,MAAMzjB,EAAkB,CACpB5rE,MAAOovF,EAAWpvF,MAClBd,OAAQkwF,EAAWlwF,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJ+E,iBACAI,cAQJ,OALAJ,EAAe5lD,OAASuiC,EACxByjB,EAAWhmD,OAASuiC,EAEpB,GAAYA,EAAMyjB,GAEXzjB,GAhBf,CAAiB2e,QAAS,KA8B1B,SAAiBC,GACG,EAAAn0E,OAAhB,SACIi5E,EACAC,EACAC,EACAC,GAEA,MAAM7jB,EAAgB,CAClB5rE,MAAOsvF,EAAStvF,MAChBd,OAAQowF,EAASpwF,OACjByrE,SAAU,GACV7pD,GAAIopE,KACJqF,mBACAC,qBACAC,YASJ,OANAF,EAAiBlmD,OAASuiC,EAC1B4jB,EAAmBnmD,OAASuiC,EAC5B6jB,EAASpmD,OAASuiC,EAElB,GAAYA,EAAM6jB,GAEX7jB,GAvBf,CAAiB4e,QAAO,KAqCxB,SAAiBC,GACG,EAAAp0E,OAAhB,SAAuBq5E,EAAmBH,EAAkCC,GACxE,MAAM5jB,EAAiC,CACnC5rE,MAAO0vF,EAAW1vF,MAClBd,OAAQwwF,EAAWxwF,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJqF,mBACAC,sBASJ,OANAD,EAAiBlmD,OAASuiC,EAC1B4jB,EAAmBnmD,OAASuiC,EAE5B,GAAYA,EAAM2jB,GAClB,GAAY3jB,EAAM4jB,GAEX5jB,GAjBf,CAAiB6e,QAAwB,KA0BzC,SAAiBC,GACG,EAAAr0E,OAAhB,SAAuBs5E,EAAgBV,GACnC,MAAMrjB,EAAgC,CAClC5rE,MAAO2vF,EAAQ3vF,MACfd,OAAQywF,EAAQzwF,OAChByrE,SAAU,GACV7pD,GAAIopE,KACJ+E,kBAOJ,OAJAA,EAAe5lD,OAASuiC,EAExB,GAAYA,EAAMqjB,GAEXrjB,GAdf,CAAiB8e,QAAuB,KA0BxC,SAAiBC,GACG,EAAAt0E,OAAhB,SAAuBu5E,EAAiBC,GACpC,MAAMjkB,EAAgB,CAClB5rE,MAAO4vF,EAAS5vF,MAChBd,OAAQ0wF,EAAS1wF,OACjByrE,SAAU,GACV7pD,GAAIopE,KACJ2F,WACAC,cAAe,IAOnB,OAJAD,EAASxmD,OAASuiC,EAElB,GAAYA,EAAMikB,GAEXjkB,GAff,CAAiB+e,QAAO,KA2BxB,SAAiBC,GACG,EAAAv0E,OAAhB,SAAuB05E,EAAoBC,EAAwBC,GAC/D,MAAMrkB,EAAmB,CACrB5rE,MAAO+vF,EAAY/vF,MACnBd,OAAQ6wF,EAAY7wF,OACpByrE,SAAU,GACV7pD,GAAIopE,KACJ8F,cACAC,iBAOJ,OAJAD,EAAY3mD,OAASuiC,EAErB,GAAYA,EAAMokB,GAEXpkB,GAff,CAAiBgf,QAAU,KA8B3B,SAAiBC,GACG,EAAAx0E,OAAhB,SAAuB65E,EAAiB3/E,EAAgB4/E,GACpD,MAAMvkB,EAAqB,CACvB5rE,MAAOkwF,EAASlwF,MAChBd,OAAQgxF,EAAShxF,OACjByrE,SAAU,GACV7pD,GAAIopE,KACJkG,WAAY,GACZ7/E,OACAg3B,WAAY,GACZ4oD,SAQJ,OALA5/E,EAAK84B,OAASuiC,EACdukB,EAAM9mD,OAASuiC,EAEf,GAAYA,EAAMukB,GAEXvkB,GAlBf,CAAiBif,QAAY,KAqC7B,SAAiBC,GACG,EAAAz0E,OAAhB,SAAuBq5E,EAAmBW,GAStC,MAR4B,CACxBrwF,MAAO0vF,EAAW1vF,MAClBd,OAAQwwF,EAAWxwF,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJ1nB,SAAU6tB,IAPtB,CAAiBvF,QAAa,KAsB9B,SAAiBC,GACG,EAAA10E,OAAhB,SAAuBi6E,EAAmB//E,EAAgB4/E,GACtD,MAAMvkB,EAAkB,CACpB5rE,MAAOswF,EAAWtwF,MAClBd,OAAQoxF,EAAWpxF,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJkG,WAAY,GACZ7/E,OACA3M,UAAW,GACXusF,SAQJ,OALA5/E,EAAK84B,OAASuiC,EACdukB,EAAM9mD,OAASuiC,EAEf,GAAYA,EAAMukB,GAEXvkB,GAMK,EAAA2kB,yBAAhB,SAAyCH,GACrC,MAAMxkB,EAAkB,CACpB5rE,MAAOowF,EAAW,GAAGpwF,MACrBd,OAAQ,EACRyrE,SAAU,GACV7pD,GAAIopE,KACJkG,aACA7/E,KAAM,CACFvQ,MAAOowF,EAAW,GAAGpwF,MACrBd,OAAQ,EACR4hB,GAAI,EACJ6pD,SAAU,GACVzlD,MAAO,CACHhiB,KAAM,EACNlD,MAAO,EACPd,OAAQ,EACRsxF,SAAU,GACVhvF,MAAO,IAEXA,MAAO,IAEXoC,UAAW,GACXusF,MAAO,CACHnwF,MAAOowF,EAAW,GAAGpwF,MACrBd,OAAQ,EACR4hB,GAAI,EACJ6pD,SAAU,GACVgE,WAAY,KAYpB,OARAyhB,EAAW5mE,SAASinE,IAChBA,EAAUpnD,OAASuiC,EACnB,GAAYA,EAAM6kB,MAGtB7kB,EAAKr7D,KAAK84B,OAASuiC,EACnBA,EAAKukB,MAAM9mD,OAASuiC,EAEbA,GA/Df,CAAiBmf,QAAS,KA2E1B,SAAiBC,GACG,EAAA30E,OAAhB,SAAuBq6E,EAAkBP,GACrC,MAAMvkB,EAAiB,CACnB5rE,MAAO0wF,EAAU1wF,MACjBd,OAAQwxF,EAAUxxF,OAClByrE,SAAU,GACV7pD,GAAIopE,KACJyG,UAAW,GACXR,SAOJ,OAJAA,EAAM9mD,OAASuiC,EAEf,GAAYA,EAAMukB,GAEXvkB,GAff,CAAiBof,QAAQ,KAyBzB,SAAiBC,GACG,EAAA50E,OAAhB,SAAuB4/C,GACnB,MAAM2V,EAAqB,CACvB5rE,MAAOi2D,EAAWj2D,MAClBd,OAAQ+2D,EAAW/2D,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJj0B,cAKJ,OAFAA,EAAW5sB,OAASuiC,EAEbA,GAZf,CAAiBqf,QAAY,KAqB7B,SAAiBC,GACG,EAAA70E,OAAhB,SAAuBu6E,EAAgB36B,GACnC,MAAM2V,EAAsB,CACxB5rE,MAAO4wF,EAAQ5wF,MACfd,OAAQ0xF,EAAQ1xF,OAChByrE,SAAU,GACV7pD,GAAIopE,KACJj0B,cAOJ,OAJAA,EAAW5sB,OAASuiC,EAEpB,GAAYA,EAAM3V,GAEX2V,GAdf,CAAiBsf,QAAa,KAuB9B,SAAiBC,GACG,EAAA90E,OAAhB,SAAuBu6E,GASnB,MARgC,CAC5B5wF,MAAO4wF,EAAQ5wF,MACfd,OAAQ0xF,EAAQ1xF,OAChByrE,SAAU,GACV7pD,GAAIopE,KACJvb,WAAY,KAPxB,CAAiBwc,QAAiB,KAiHlC,SAAiBC,GACG,EAAA/0E,OAAhB,SACIw6E,EACAruB,EACA5H,EACAw1B,GAEA,MAAMxkB,EAAkB,CACpB5rE,MAAO6wF,EAAa7wF,MACpBd,OAAQ2xF,EAAa3xF,OACrByrE,SAAU,EACV7pD,GAAIopE,KACJ1nB,WACA5H,QACAw1B,cAkBJ,OAfIx1B,IACAA,EAAMvxB,OAASuiC,EACf,GAAYA,EAAMhR,IAGlBw1B,IACAA,EAAW5mE,SAASinE,IAChBA,EAAUpnD,OAASuiC,KAGnBwkB,EAAWlxF,OAAS,GACpB,GAAY0sE,EAAMwkB,EAAW,KAI9BxkB,GAhCf,CAAiBwf,QAAS,KA2C1B,SAAiBC,GACG,EAAAh1E,OAAhB,SAAuBy6E,EAAsB76B,EAA4B86B,G,MACrE,MAAMnlB,EAA2B,CAC7B5rE,MAAO8wF,EAAc9wF,MACrBd,OAAQ4xF,EAAc5xF,OACtByrE,SAAU,GACV7pD,GAAIopE,KACJ6G,WACAD,gBACA76B,cAQJ,OALAA,EAAW5sB,OAASuiC,EACpBA,EAAKolB,cAAgB,GAA6B,QAAxB,EAAA/6B,EAAW+6B,qBAAa,QAAI,GAEtD,GAAYplB,EAAM3V,GAEX2V,GAjBf,CAAiByf,QAAkB,KA8BnC,SAAiBC,GACG,EAAAj1E,OAAhB,SACIu0D,EACAqmB,EACAH,EACAC,G,QAEA,MAAMnlB,EAA4B,CAC9B5rE,MAAO4qE,EAAe5qE,MACtBd,OAAQ0rE,EAAe1rE,OACvByrE,SAAU,EACV7pD,GAAIopE,KACJtf,iBACAkmB,gBACAC,WACAE,mBAUJ,OAPArmB,EAAevhC,OAASuiC,EACxBqlB,EAAgB5nD,OAASuiC,EAEzBA,EAAKolB,cAAgB,EAAIhqF,KAAK4C,IAAgC,QAA5B,EAAAghE,EAAeomB,qBAAa,QAAI,EAAgC,QAA7B,EAAAC,EAAgBD,qBAAa,QAAI,GAEtG,GAAYplB,EAAMqlB,GAEXrlB,GAzBf,CAAiB0f,QAAmB,KAmCpC,SAAiBC,GACG,EAAAl1E,OAAhB,SAAuB9F,EAAgB0gF,GACnC,MAAMrlB,EAAiC,CACnC5rE,MAAOuQ,EAAKvQ,MACZd,OAAQqR,EAAKrR,OACbyrE,SAAU,EACV7pD,GAAIopE,KACJ35E,OACA0gF,mBAQJ,OALA1gF,EAAK84B,OAASuiC,EACdqlB,EAAgB5nD,OAASuiC,EAEzB,GAAYA,EAAMqlB,GAEXrlB,GAhBf,CAAiB2f,QAAwB,KA2BzC,SAAiBC,GACG,EAAAn1E,OAAhB,SAAuBu0D,EAAgCqmB,GACnD,MAAMrlB,EAAuB,CACzB5rE,MAAO4qE,EAAe5qE,MACtBd,OAAQ0rE,EAAe1rE,OACvByrE,SAAU,EACV7pD,GAAIopE,KACJtf,iBACAqmB,mBAQJ,OALArmB,EAAevhC,OAASuiC,EACxBqlB,EAAgB5nD,OAASuiC,EAEzB,GAAYA,EAAMqlB,GAEXrlB,GAhBf,CAAiB4f,QAAc,KA0B/B,SAAiBC,GACG,EAAAp1E,OAAhB,SAAuB20D,EAAiCkmB,GACpD,MAAMtlB,EAA2B,CAC7B5rE,MAAOgrE,EAAgBhrE,MACvBd,OAAQ8rE,EAAgB9rE,OACxByrE,SAAU,GACV7pD,GAAIopE,KACJlf,kBACAkmB,kBAQJ,OALAlmB,EAAgB3hC,OAASuiC,EACzBslB,EAAe7nD,OAASuiC,EAExB,GAAYA,EAAMslB,GAEXtlB,GAhBf,CAAiB6f,QAAkB,KA2BnC,SAAiBC,GACG,EAAAr1E,OAAhB,SACI86E,EACAC,EACAC,EACAC,GAEA,MAAM1lB,EAA+B,CACjC5rE,MAAOmxF,EAAenxF,MACtBd,OAAQiyF,EAAejyF,OACvByrE,SAAU,GACV7pD,GAAIopE,KACJkH,sBACAC,uBACAC,wBAUJ,OAPAD,EAAqB7nE,SAAS9S,IAC1BA,EAAE2yB,OAASuiC,KAEf0lB,EAAqBjoD,OAASuiC,EAE9B,GAAYA,EAAM0lB,GAEX1lB,GAxBf,CAAiB8f,QAAsB,KAwCvC,SAAiBC,GACG,EAAAt1E,OAAhB,SACIu0D,EACAqmB,EACAF,EACAQ,GAEA,MAAM3lB,EAAgC,CAClC5rE,MAAO4qE,EAAe5qE,MACtBd,OAAQ0rE,EAAe1rE,OACvByrE,SAAU,EACV7pD,GAAIopE,KACJtf,iBACAmmB,WACAE,kBACAM,kBASJ,OANA3mB,EAAevhC,OAASuiC,EACxBqlB,EAAgB5nD,OAASuiC,EACzB2lB,EAAeloD,OAASuiC,EAExB,GAAYA,EAAMqlB,GAEXrlB,GAxBf,CAAiB+f,QAAuB,KAiCxC,SAAiBC,GACG,EAAAv1E,OAAhB,SAAuBm7E,EAAmBv7B,GACtC,MAAM2V,EAAkB,CACpB5rE,MAAOwxF,EAAWxxF,MAClBd,OAAQsyF,EAAWtyF,OACnByrE,SAAU,EACV7pD,GAAIopE,KACJj0B,cAOJ,OAJAA,EAAW5sB,OAASuiC,EAEpB,GAAYA,EAAM3V,GAEX2V,GAdf,CAAiBggB,QAAS,KAyB1B,SAAiBC,GACG,EAAAx1E,OAAhB,SACIo7E,EACAxC,EACAyC,GAEA,MAAM9lB,EAAoB,CACtB5rE,MAAOyxF,EAAazxF,MACpBd,OAAQuyF,EAAavyF,OACrByrE,SAAU,GACV7pD,GAAIopE,KACJuH,eACAxC,iBACAyC,kBASJ,OANAD,EAAapoD,OAASuiC,EACtBqjB,EAAe5lD,OAASuiC,EACxB8lB,EAAeroD,OAASuiC,EAExB,GAAYA,EAAM8lB,GAEX9lB,GAtBf,CAAiBigB,QAAW,KA+B5B,SAAiBC,GACG,EAAAz1E,OAAhB,SAAuBs7E,EAAkB17B,GACrC,MAAM2V,EAAmB,CACrB5rE,MAAO2xF,EAAU3xF,MACjBd,OAAQyyF,EAAUzyF,OAClByrE,SAAU,GACV7pD,GAAIopE,KACJj0B,cAOJ,OAJAA,EAAW5sB,OAASuiC,EAEpB,GAAYA,EAAM3V,GAEX2V,GAdf,CAAiBkgB,QAAU,KAwB3B,SAAiBC,GACG,EAAA11E,OAAhB,SAAuB1F,EAAkBihF,GAUrC,MATwB,CACpB5xF,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJtd,YAAa,GACbglB,qBARZ,CAAiB7F,QAAS,KAsB1B,SAAiBC,GACG,EAAA31E,OAAhB,SAAuBu0D,EAAgCinB,EAAyBhnB,G,MAC5E,MAAMe,EAAiB,CACnB5rE,MAAO4qE,EAAe5qE,MACtBd,OAAQ0rE,EAAe1rE,OACvByrE,SAAU,EACV7pD,GAAIopE,KACJtf,iBACAhnE,UAAWiuF,EACXhnB,iBAcJ,OAXAD,EAAevhC,OAASuiC,EAExBA,EAAKolB,cAAgB,GAAiC,QAA5B,EAAApmB,EAAeomB,qBAAa,QAAI,GAEtDa,EAAQ3yF,OAAS,IACjB2yF,EAAQroE,SAASroB,IACbA,EAAIkoC,OAASuiC,KAEjB,GAAYA,EAAMimB,EAAQA,EAAQ3yF,OAAS,KAGxC0sE,GAvBf,CAAiBogB,QAAQ,KAkCzB,SAAiBC,GACG,EAAA51E,OAAhB,SAAuB4/C,GACnB,MAAM2V,EAA8B,CAChC5rE,MAAOi2D,EAAWj2D,MAClBd,OAAQ+2D,EAAW/2D,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJj0B,aACA67B,WAAY,IAKhB,OAFA77B,EAAW5sB,OAASuiC,EAEbA,GAbf,CAAiBqgB,QAAqB,KAwBtC,SAAiBC,GACG,EAAA71E,OAAhB,SACIg1D,EACApkC,EACA4jC,EACAknB,G,MAEA,MAAMnmB,EAAkB,CACpB5rE,MAAOqrE,EAAerrE,MACtBd,OAAQmsE,EAAensE,OACvByrE,SAAU,GACV7pD,GAAIopE,KACJ7e,iBACApkC,QACA4jC,iBAYJ,OATAQ,EAAehiC,OAASuiC,EACxB3kC,EAAMzd,SAAS0C,IACXA,EAAKmd,OAASuiC,KAGlB,GAAYA,EAAMmmB,GAElBnmB,EAAKolB,cAAgB,GAAiC,QAA5B,EAAA3lB,EAAe2lB,qBAAa,QAAI,GAEnDplB,GA1Bf,CAAiBsgB,QAAS,KAqC1B,SAAiBC,GACG,EAAA91E,OAAhB,SAAuB1F,GAQnB,MAPwB,CACpB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,OANhB,CAAiBiC,QAAS,KAkB1B,SAAiBC,GACG,EAAA/1E,OAAhB,SAAuB27E,EAAmB/7B,GACtC,MAAM2V,EAAkB,CACpB5rE,MAAOgyF,EAAWhyF,MAClBd,OAAQ8yF,EAAW9yF,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJj0B,cAQJ,OALIA,IACAA,EAAW5sB,OAASuiC,EACpB,GAAYA,EAAM3V,IAGf2V,GAff,CAAiBwgB,QAAS,KAwB1B,SAAiBC,GACG,EAAAh2E,OAAhB,SAAuB27E,EAAmB/7B,GACtC,MAAM2V,EAAsB,CACxB5rE,MAAOgyF,EAAWhyF,MAClBd,OAAQ8yF,EAAW9yF,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJj0B,cAOJ,OAJAA,EAAW5sB,OAASuiC,EAEpB,GAAYA,EAAM3V,GAEX2V,GAdf,CAAiBygB,QAAa,KAwB9B,SAAiBC,GACG,EAAAj2E,OAAhB,SAAuBu0D,EAAgCW,G,MACnD,MAAMK,EAAyB,CAC3B5rE,MAAO4qE,EAAe5qE,MACtBd,OAAQ0rE,EAAe1rE,OACvByrE,SAAU,GACV7pD,GAAIopE,KACJtf,iBACAW,cAUJ,OAPAX,EAAevhC,OAASuiC,EACxBL,EAAWliC,OAASuiC,EAEpB,GAAYA,EAAML,GAElBK,EAAKolB,cAAgB,GAAiC,QAA5B,EAAApmB,EAAeomB,qBAAa,QAAI,GAEnDplB,GAlBf,CAAiB0gB,QAAgB,KA4BjC,SAAiBC,GACG,EAAAl2E,OAAhB,SAAuB47E,EAAoBh8B,GACvC,MAAM2V,EAAmB,CACrB5rE,MAAOiyF,EAAYjyF,MACnBd,OAAQ+yF,EAAY/yF,OACpByrE,SAAU,GACV7pD,GAAIopE,KACJ3iD,WAAY,GACZ0uB,cAOJ,OAJAA,EAAW5sB,OAASuiC,EAEpB,GAAYA,EAAM3V,GAEX2V,GAff,CAAiB2gB,QAAU,KAyB3B,SAAiBC,GACG,EAAAn2E,OAAhB,SAAuB67E,GAUnB,MATuB,CACnBlyF,MAAOkyF,EAAUlyF,MACjBd,OAAQgzF,EAAUhzF,OAClByrE,SAAU,GACV7pD,GAAIopE,KACJhlE,MAAOgtE,EACP1wF,MAAO0wF,EAAU1wF,QAR7B,CAAiBgrF,QAAQ,KAoBzB,SAAiBC,GACG,EAAAp2E,OAAhB,SAAuB6O,GASnB,MAR2B,CACvBllB,MAAOklB,EAAMllB,MACbd,OAAQgmB,EAAMhmB,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJiI,UAAWjtE,EAAMktE,cAP7B,CAAiB3F,QAAY,KAkB7B,SAAiBC,GACG,EAAAr2E,OAAhB,SAAuB1F,GAQnB,MAP2B,CACvB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,OANhB,CAAiBwC,QAAY,KAoB7B,SAAiBC,GACG,EAAAt2E,OAAhB,SAAuB6O,GAWnB,MAVyB,CACrBllB,MAAOklB,EAAMllB,MACbd,OAAQgmB,EAAMhmB,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJ1oF,MAAO0jB,EAAM1jB,MACb4P,UAAW8T,EAAM9T,UACjB85D,YAAahmD,EAAMgmD,cAT/B,CAAiByhB,QAAU,KAuB3B,SAAiBC,GACG,EAAAv2E,OAAhB,SAAuB6O,EAAoBmtE,EAAwBC,GAW/D,MAVyB,CACrBtyF,MAAOklB,EAAMllB,MACbd,OAAQgmB,EAAMhmB,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJhlE,QACA1jB,MAAO6wF,EACPC,sBATZ,CAAiB1F,QAAU,KAwB3B,SAAiBC,GACG,EAAAx2E,OAAhB,SACI6O,EACAmtE,EACAC,EACA1lB,GAEA,MAAMhB,EAAyB,CAC3B5rE,MAAOklB,EAAMllB,MACbd,OAAQgmB,EAAMhmB,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJhlE,QACA1jB,MAAO6wF,EACPC,oBACA1lB,eAOJ,OAJAA,EAAYpjD,SAAS+oE,IACjBA,EAAKlpD,OAASuiC,KAGXA,GAtBf,CAAiBihB,QAAgB,KAuCjC,SAAiBC,GACG,EAAAz2E,OAAhB,SAAuB+0D,GACnB,MAAMQ,EAAuB,CACzB5rE,MAAOorE,EAAQ,GAAGprE,MAClBd,OAAQksE,EAAQ,GAAGlsE,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJ9e,WAUJ,OAPIA,EAAQlsE,OAAS,IACjBksE,EAAQ5hD,SAASljB,IACbA,EAAI+iC,OAASuiC,KAEjB,GAAYA,EAAMR,EAAQA,EAAQlsE,OAAS,KAGxC0sE,GAjBf,CAAiBkhB,QAAc,KA2B/B,SAAiBC,GACG,EAAA12E,OAAhB,SAAuB1F,GASnB,MAR6B,CACzB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJp9D,QAAS,KAPrB,CAAiBigE,QAAc,KAoB/B,SAAiBC,GACG,EAAA32E,OAAhB,SAAuBm8E,EAA+BxnB,GAClD,MAAMY,EAA+B,CACjC5rE,MAAOwyF,EAAcxyF,MACrBd,OAAQszF,EAActzF,OACtByrE,SAAU,GACV7pD,GAAIopE,KACJsI,gBACAxnB,mBAQJ,OALAwnB,EAAcnpD,OAASuiC,EACvBZ,EAAgB3hC,OAASuiC,EAEzB,GAAYA,EAAMZ,GAEXY,GAhBf,CAAiBohB,QAAsB,KAyBvC,SAAiBC,GACG,EAAA52E,OAAhB,SAAuBo8E,GACnB,MAAM7mB,EAAkC,CACpC5rE,MAAOyyF,EAAiBzyF,MACxBd,OAAQuzF,EAAiBvzF,OACzByrE,SAAU,GACV7pD,GAAIopE,KACJuI,oBAKJ,OAFAA,EAAiBppD,OAASuiC,EAEnBA,GAZf,CAAiBqhB,QAAyB,KAuB1C,SAAiBC,GACG,EAAA72E,OAAhB,SAAuB1F,GASnB,MARsB,CAClB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJp9D,QAAS,KAPrB,CAAiBogE,QAAO,KAmBxB,SAAiBC,GACG,EAAA92E,OAAhB,SAAuB1F,GASnB,MARuB,CACnB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJp9D,QAAS,KAPrB,CAAiBqgE,QAAQ,KA2BzB,SAAiBC,GACG,EAAA/2E,OAAhB,SACIq5E,EACA1kB,EACA0nB,GAEA,MAAM9mB,EAAqB,CACvB5rE,MAAO0vF,EAAaA,EAAW1vF,MAAQgrE,EAAgBhrE,MACvDd,OAAQwwF,EAAaA,EAAWxwF,OAAS8rE,EAAgB9rE,OACzDyrE,SAAU,EACV7pD,GAAIopE,KACJlf,kBACAF,iBAAkB4nB,GAOtB,OAJA1nB,EAAgB3hC,OAASuiC,EAEzB,GAAYA,EAAMZ,GAEXY,GAnBf,CAAiBwhB,QAAY,KA4B7B,SAAiBC,GACG,EAAAh3E,OAAhB,SAAuBs8E,GASnB,MARsB,CAClB3yF,MAAO2yF,EAAS3yF,MAChBd,OAAQyzF,EAASzzF,OACjByrE,SAAU,GACV7pD,GAAIopE,KACJtd,YAAa,KAPzB,CAAiBygB,QAAO,KAkBxB,SAAiBC,GACG,EAAAj3E,OAAhB,SAAuBu8E,GAQnB,MAPuB,CACnB5yF,MAAO4yF,EAAU5yF,MACjBd,OAAQ0zF,EAAU1zF,OAClByrE,SAAU,GACV7pD,GAAIopE,OANhB,CAAiBoD,QAAQ,KAkBzB,SAAiBC,GACG,EAAAl3E,OAAhB,SAAuBu8E,GASnB,MARyB,CACrB5yF,MAAO4yF,EAAU5yF,MACjBd,OAAQ0zF,EAAU1zF,OAClByrE,SAAU,GACV7pD,GAAIopE,KACJ/gF,KAAM,KAPlB,CAAiBokF,QAAU,KAuB3B,SAAiBC,GACG,EAAAn3E,OAAhB,SAAuB1F,GAUnB,MAT6B,CACzB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJvW,YAAa,EACbC,UAAW,KARvB,CAAiB4Z,QAAc,KAqB/B,SAAiBC,GACG,EAAAp3E,OAAhB,SAAuBL,GACnB,MAAM41D,EAAqB,CACvB5rE,MAAOgW,EAAOhW,MACdd,OAAQ8W,EAAO9W,OACfyrE,SAAU,GACV7pD,GAAIopE,KACJl0E,UAKJ,OAFAA,EAAOqzB,OAASuiC,EAETA,GAZf,CAAiB6hB,QAAY,KA0B7B,SAAiBC,GACG,EAAAr3E,OAAhB,SAAuBw8E,EAAkB78E,GACrC,MAAM41D,EAAuB,CACzB5rE,MAAO6yF,EAAU7yF,MACjBd,OAAQ2zF,EAAU3zF,OAClByrE,SAAU,GACV7pD,GAAIopE,KACJl0E,SACAw5D,QAAS,GACTU,kBAAkB,EAClB4iB,YAAY,GAOhB,OAJA98E,EAAOqzB,OAASuiC,EAEhB,GAAYA,EAAM51D,GAEX41D,GAjBf,CAAiB8hB,QAAc,KA2B/B,SAAiBC,GACG,EAAAt3E,OAAhB,SAAuB9F,GACnB,MAAMq7D,EAAyB,CAC3B5rE,MAAOuQ,EAAKvQ,MACZd,OAAQqR,EAAKrR,OACbyrE,SAAU,GACV7pD,GAAIopE,KACJ35E,QAKJ,OAFAA,EAAK84B,OAASuiC,EAEPA,GAZf,CAAiB+hB,QAAgB,KAqBjC,SAAiBC,GACG,EAAAv3E,OAAhB,SAAuB1F,GASnB,MARyB,CACrB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJ6I,SAAU,KAPtB,CAAiBnF,QAAU,KAmB3B,SAAiBC,GACG,EAAAx3E,OAAhB,SAAuB1F,GASnB,MAR2B,CACvB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,KACJ6I,SAAU,KAPtB,CAAiBlF,QAAY,KAoB7B,SAAiBC,GACG,EAAAz3E,OAAhB,SAAuB28E,EAAoB/D,GACvC,MAAMrjB,EAAmB,CACrB5rE,MAAOgzF,EAAYhzF,MACnBd,OAAQ8zF,EAAY9zF,OACpByrE,SAAU,EACV7pD,GAAIopE,KACJ+E,kBAOJ,OAJAA,EAAe5lD,OAASuiC,EAExB,GAAYA,EAAMqjB,GAEXrjB,GAdf,CAAiBkiB,QAAU,KAsB3B,SAAiBC,GACG,EAAA13E,OAAhB,SAAuB1F,GAQnB,MAPwB,CACpB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,EACV7pD,GAAIopE,OANhB,CAAiB6D,QAAS,KAiB1B,SAAiBC,GACG,EAAA33E,OAAhB,SAAuB1F,GAQnB,MAP2B,CACvB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,OANhB,CAAiB8D,QAAY,KAkB7B,SAAiBC,GACG,EAAA53E,OAAhB,SAAuB1F,GAQnB,MAPyB,CACrB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,OANhB,CAAiB+D,QAAU,KAoB3B,SAAiBC,GACG,EAAA73E,OAAhB,SAAuB1F,GAQnB,MAPwB,CACpB3Q,MAAO2Q,EAAM3Q,MACbd,OAAQyR,EAAMzR,OACdyrE,SAAU,GACV7pD,GAAIopE,OANhB,CAAiBgE,QAAS,KAmB1B,SAAiBC,GACG,EAAA93E,OAAhB,SAAuB48E,EAAuBC,GAC1C,MAAMtnB,EAAkB,CACpB5rE,MAAOizF,EAAWjzF,MAClBd,OAAQ+zF,EAAW/zF,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJgJ,oBACAC,MAAO,IAOX,OAJAD,EAAkB7pD,OAASuiC,EAE3B,GAAYA,EAAMsnB,GAEXtnB,GAff,CAAiBuiB,QAAS,KA2B1B,SAAiBC,GACG,EAAA/3E,OAAhB,SACI+8E,EACAl5D,EACAm5D,EACAC,EACAnD,GAEA,MAAMvkB,EAAiB,CACnB5rE,MAAOozF,EAAUpzF,MACjBd,OAAQk0F,EAAUl0F,OAClByrE,SAAU,GACV7pD,GAAIopE,KACJhwD,UACAm5D,gBACAC,kBACAnD,SAYJ,OATA,GAAYvkB,EAAMukB,GAElBj2D,EAAQmP,OAASuiC,EACjBukB,EAAM9mD,OAASuiC,EAEX0nB,IACAA,EAAgBjqD,OAASuiC,GAGtBA,GA5Bf,CAAiBwiB,QAAQ,KAsCzB,SAAiBC,GACG,EAAAh4E,OAAhB,SAAuBk9E,EAAuBzmE,GAC1C,MAAM0mE,EAAiB1mE,EAAQ2mE,WAC1B91B,GAC+B,IAA5BA,EAAM+1B,WAAWx0F,QACgB,KAAjCy+D,EAAM+1B,WAAW,GAAG/oB,UACpBhN,EAAM+1B,WAAW,GAAGC,SAGtB/nB,EAA4B,CAC9B5rE,MAAOuzF,EAAWvzF,MAClBd,OAAQq0F,EAAWr0F,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJp9D,UACA0mE,eAAgBA,GAAkB,EAAIA,OAAiBxwF,GAW3D,OARI8pB,EAAQ5tB,OAAS,GACjB,GAAY0sE,EAAM9+C,EAAQA,EAAQ5tB,OAAS,IAG/C4tB,EAAQtD,SAASm0C,IACbA,EAAMt0B,OAASuiC,KAGZA,GA1Bf,CAAiByiB,QAAmB,KAoCpC,SAAiBC,GACG,EAAAj4E,OAAhB,SAAuBq9E,EAA+B3pF,GAClD,MAAM6hE,EAAsB,CACxB5rE,MAAO0zF,EAAW,GAAG1zF,MACrBd,OAAQw0F,EAAW,GAAGx0F,OACtByrE,SAAU,GACV7pD,GAAIopE,KACJwJ,aACA3pF,UAgBJ,OAbI2pF,EAAWx0F,OAAS,GACpB,GAAY0sE,EAAM8nB,EAAWA,EAAWx0F,OAAS,IAGrDw0F,EAAWlqE,SAAS0Q,IAChBA,EAAQmP,OAASuiC,KAGjB7hE,IACA,GAAY6hE,EAAM7hE,GAClBA,EAAOs/B,OAASuiC,GAGbA,GAxBf,CAAiB0iB,QAAa,KAiC9B,SAAiBC,GACG,EAAAl4E,OAAhB,SAAuB4/C,GACnB,MAAM2V,EAA2B,CAC7B5rE,MAAOi2D,EAAWj2D,MAClBd,OAAQ+2D,EAAW/2D,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJj0B,cAKJ,OAFAA,EAAW5sB,OAASuiC,EAEbA,GAZf,CAAiB2iB,QAAkB,KAsBnC,SAAiBC,GACG,EAAAn4E,OAAhB,SAAuBu9E,EAAwCt4E,GAC3D,MAAMswD,EAAyB,CAC3B5rE,MAAO4zF,EAAU5zF,MACjBd,OAAQ00F,EAAU10F,OAClByrE,SAAU,GACV7pD,GAAIopE,KACJ0J,YACAhwF,UAAW0X,GAYf,OATAs4E,EAAUvqD,OAASuiC,EACnBtwD,EAAKkO,SAASroB,IACVA,EAAIkoC,OAASuiC,KAGbtwD,EAAKpc,OAAS,GACd,GAAY0sE,EAAMtwD,EAAKA,EAAKpc,OAAS,IAGlC0sE,GApBf,CAAiB4iB,QAAgB,KA8BjC,SAAiBC,GACG,EAAAp4E,OAAhB,SAAuB6jB,EAAwB3pB,GAC3C,MAAMq7D,EAAiC,CACnC5rE,MAAOk6B,EAAQl6B,MACfd,OAAQg7B,EAAQh7B,OAChByrE,SAAU,GACV7pD,GAAIopE,KACJhwD,UACA3pB,QAUJ,OAPA2pB,EAAQmP,OAASuiC,EAEbr7D,IACA,GAAYq7D,EAAMr7D,GAClBA,EAAK84B,OAASuiC,GAGXA,GAlBf,CAAiB6iB,QAAwB,KA6BzC,SAAiBC,GACG,EAAAr4E,OAAhB,SAAuBtM,EAAkB4nF,GACrC,MAAM/lB,EAA2B,CAC7B5rE,MAAO+J,EAAO/J,MACdd,OAAQ6K,EAAO7K,OACfyrE,SAAU,GACV7pD,GAAIopE,KACJngF,SACA4pF,YAAsB3wF,IAAd2uF,EACRkC,WAA6B,MAAjB9pF,EAAOvI,OASvB,OANAuI,EAAOs/B,OAASuiC,EAEZ+lB,GACA,GAAY/lB,EAAM+lB,GAGf/lB,GAlBf,CAAiB8iB,QAAkB,KA2BnC,SAAiBC,GACG,EAAAt4E,OAAhB,SAAuBq5E,EAAuB5iE,GAC1C,MAAM8+C,EAA2B,CAC7B5rE,MAAO0vF,EAAW1vF,MAClBd,OAAQwwF,EAAWxwF,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJp9D,WAWJ,OARIA,EAAQ5tB,OAAS,GACjB,GAAY0sE,EAAM9+C,EAAQA,EAAQ5tB,OAAS,IAG/C4tB,EAAQtD,SAASm0C,IACbA,EAAMt0B,OAASuiC,KAGZA,GAlBf,CAAiB+iB,QAAkB,KA8BnC,SAAiBC,GACG,EAAAv4E,OAAhB,SACIy9E,EACAC,GAEA,MAAMnoB,EAAmC,CACrC5rE,MAAO8zF,EAAW9zF,MAClBd,OAAQ40F,EAAW50F,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJ4J,aACAC,gBAQJ,OALAD,EAAWzqD,OAASuiC,EACpBmoB,EAAa1qD,OAASuiC,EAEtB,GAAYA,EAAMmoB,GAEXnoB,GAnBf,CAAiBgjB,QAA0B,KA4B3C,SAAiBC,GACG,EAAAx4E,OAAhB,SAAuB29E,EAA0BjqF,GAC7C,MAAM6hE,EAAsC,CACxC5rE,MAAOg0F,EAAch0F,MACrBd,OAAQ80F,EAAc90F,OACtByrE,SAAU,GACV7pD,GAAIopE,KACJngF,UAOJ,OAJAA,EAAOs/B,OAASuiC,EAEhB,GAAYA,EAAM7hE,GAEX6hE,GAdf,CAAiBijB,QAA6B,KAuB9C,SAAiBC,GACG,EAAAz4E,OAAhB,SAAuB4/C,GACnB,MAAM2V,EAAyB,CAC3B5rE,MAAOi2D,EAAWj2D,MAClBd,OAAQ+2D,EAAW/2D,OACnByrE,SAAU,GACV7pD,GAAIopE,KACJj0B,cAKJ,OAFAA,EAAW5sB,OAASuiC,EAEbA,GAZf,CAAiBkjB,QAAgB,KC/lE1B,MAAM,GACTmF,KAAKroB,GACD,MAAMsoB,EAAiBhwF,KAAKiwF,UAAUvoB,GAClCsoB,EAAeh1F,OAAS,GACxBgF,KAAKkwF,aAAaF,GAI1BE,aAAaC,GACTA,EAAM7qE,SAASoiD,IACPA,GACA1nE,KAAK+vF,KAAKroB,MAUtBuoB,UAAUvoB,G,MACN,OAAQA,EAAKjB,UACT,KAAK,EACD,GAAIzmE,KAAKowF,WAAW1oB,GAChB,MAAO,CAACA,EAAKhR,SAA0B,QAAf,EAAAgR,EAAKwkB,kBAAU,QAAI,IAE/C,MAEJ,KAAK,EACD,GAAIlsF,KAAKqwF,cAAc3oB,GACnB,MAAO,CAACA,EAAKr7D,KAAMq7D,EAAKZ,iBAE5B,MAEJ,KAAK,EACD,GAAI9mE,KAAKswF,YAAY5oB,GACjB,MAAO,CAACA,EAAKqjB,eAAgBrjB,EAAK6oB,qBAEtC,MAEJ,KAAK,EACD,GAAIvwF,KAAKwwF,gBAAgB9oB,GACrB,MAAO,CAACA,EAAKhB,eAAgBgB,EAAKqlB,gBAAiBrlB,EAAK+oB,uBAE5D,MAEJ,KAAK,EACD,GAAIzwF,KAAK0wF,0BAA0BhpB,GAC/B,MAAO,CAACA,EAAKr7D,KAAMq7D,EAAKqlB,iBAE5B,MAEJ,KAAK,EACD,GAAI/sF,KAAK2wF,yBAAyBjpB,GAC9B,MAAO,CAACA,EAAKhB,eAAgBgB,EAAKqlB,iBAEtC,MAEJ,KAAK,EACD,GAAI/sF,KAAK4wF,WAAWlpB,GAChB,MAAO,CAACA,EAAK3V,YAEjB,MAEJ,KAAK,EACD,GAAI/xD,KAAK6wF,qBAAqBnpB,GAC1B,MAAO,CAACA,EAAKhB,eAAgBgB,EAAKqlB,iBAEtC,MAEJ,KAAK,EACD,GAAI/sF,KAAK8wF,WAAWppB,GAChB,MAAO,GAEX,MAEJ,KAAK,EACD,GAAI1nE,KAAK+wF,UAAUrpB,GACf,MAAO,CAACA,EAAKhB,kBAAmBgB,EAAKhoE,WAEzC,MAEJ,KAAK,GACD,GAAIM,KAAKgxF,WAAWtpB,GAChB,MAAO,IAAIA,EAAKwkB,WAAYxkB,EAAKr7D,QAASq7D,EAAKhoE,UAAWgoE,EAAKukB,OAEnE,MAEJ,KAAK,GACD,GAAIjsF,KAAKixF,cAAcvpB,GACnB,MAAO,GAEX,MAEJ,KAAK,GACD,GAAI1nE,KAAKkxF,cAAcxpB,GACnB,MAAO,GAEX,MAEJ,KAAK,GACD,GAAI1nE,KAAKmxF,eAAezpB,GACpB,MAAO,CAACA,EAAK3V,YAEjB,MAEJ,KAAK,GACD,GAAI/xD,KAAKoxF,SAAS1pB,GACd,OAAOA,EAAKgB,YAEhB,MAEJ,KAAK,GACD,GAAI1oE,KAAKqxF,gBAAgB3pB,GACrB,OAAOA,EAAK9+C,QAEhB,MAEJ,KAAK,GACD,GAAI5oB,KAAKsxF,2BAA2B5pB,GAChC,MAAO,CAACA,EAAK6mB,kBAEjB,MAEJ,KAAK,GACD,GAAIvuF,KAAKuxF,wBAAwB7pB,GAC7B,MAAO,CAACA,EAAK4mB,cAAe5mB,EAAKZ,iBAErC,MAEJ,KAAK,GACD,GAAI9mE,KAAKwxF,cAAc9pB,GACnB,MAAO,GAEX,MAEJ,KAAK,GACD,GAAI1nE,KAAKyxF,QAAQ/pB,GACb,MAAO,CAACA,EAAKqjB,eAAgBrjB,EAAKsjB,QAAStjB,EAAKujB,WAEpD,MAEJ,KAAK,GACD,GAAIjrF,KAAK0xF,YAAYhqB,GACjB,OAAOA,EAAKziE,KAEhB,MAEJ,KAAK,GACD,GAAIjF,KAAK2xF,cAAcjqB,GACnB,MAAO,CAACA,EAAK51D,OAAQ41D,EAAKyE,OAE9B,MAEJ,KAAK,GACD,GAAInsE,KAAK4xF,gBAAgBlqB,GACrB,MAAO,CAACA,EAAK51D,UAAW41D,EAAK4D,SAEjC,MAEJ,KAAK,GACD,GAAItrE,KAAK6xF,kBAAkBnqB,GACvB,MAAO,CAACA,EAAKr7D,KAAMq7D,EAAKyE,OAE5B,MAEJ,KAAK,GACD,GAAInsE,KAAK8xF,WAAWpqB,GAChB,MAAO,CAACA,EAAKP,kBAAmBO,EAAK3kC,OAEzC,MAEJ,KAAK,GACD,GAAI/iC,KAAK+xF,YAAYrqB,GACjB,MAAO,CAACA,EAAKsqB,eAAgBtqB,EAAKr7D,KAAMq7D,EAAKokB,aAEjD,MAEJ,KAAK,GACD,GAAI9rF,KAAKiyF,SAASvqB,GACd,MAAO,CAACA,EAAK2jB,iBAAkB3jB,EAAK4jB,mBAAoB5jB,EAAK6jB,SAAU7jB,EAAKujB,WAEhF,MAEJ,KAAK,GACD,GAAIjrF,KAAKkyF,kBAAkBxqB,GACvB,OAAOA,EAAKgB,YAEhB,MAEJ,KAAK,GACD,GAAI1oE,KAAKmyF,cAAczqB,GACnB,MAAO,IACAA,EAAKwkB,WACRxkB,EAAKr7D,QACFq7D,EAAKrkC,WACRqkC,EAAK0lB,qBACL1lB,EAAK0qB,0BACL1qB,EAAKukB,OAGb,MAEJ,KAAK,GACD,GAAIjsF,KAAKqyF,YAAY3qB,GACjB,OAAOA,EAAKmnB,SAEhB,MAEJ,KAAK,GACD,GAAI7uF,KAAKsyF,YAAY5qB,GACjB,MAAO,IAAIA,EAAKrkC,WAAYqkC,EAAK3V,YAErC,MAEJ,KAAK,GACD,GAAI/xD,KAAKuyF,UAAU7qB,GACf,OAAOA,EAAK9+C,QAEhB,MAEJ,KAAK,GACD,GAAI5oB,KAAKwyF,uBAAuB9qB,GAC5B,MAAO,CAACA,EAAK3V,cAAe2V,EAAKkmB,YAErC,MAEJ,KAAK,GACD,GAAI5tF,KAAKyyF,0BAA0B/qB,GAC/B,MAAO,CAACA,EAAK2jB,iBAAkB3jB,EAAK4jB,oBAExC,MAEJ,KAAK,GACD,GAAItrF,KAAK0yF,yBAAyBhrB,GAC9B,MAAO,CAACA,EAAKqjB,gBAEjB,MAEJ,KAAK,GACD,GAAI/qF,KAAK2yF,kBAAkBjrB,GACvB,MAAO,CAACA,EAAKhB,eAAgBgB,EAAKL,YAEtC,MAEJ,KAAK,GACD,GAAIrnE,KAAK4yF,YAAYlrB,GACjB,MAAO,IAAIA,EAAK+C,YAEpB,MAEJ,KAAK,GACD,GAAIzqE,KAAK6yF,gBAAgBnrB,GACrB,OAAOA,EAAKgI,UAEhB,MAEJ,KAAK,GACD,GAAI1vE,KAAK8yF,UAAUprB,GACf,MAAO,GAEX,MAEJ,KAAK,GACD,GAAI1nE,KAAK+yF,cAAcrrB,GACnB,OAAOA,EAAKmnB,SAEhB,MAEJ,KAAK,GACD,GAAI7uF,KAAKgzF,YAAYtrB,GACjB,MAAO,GAEX,MAEJ,KAAK,GACD,GAAI1nE,KAAKizF,eAAevrB,GACpB,MAAO,CAACA,EAAKr7D,KAAMq7D,EAAKslB,eAAgBtlB,EAAK+oB,sBAAuB/oB,EAAKwrB,cAE7E,MAEJ,KAAK,GACD,GAAIlzF,KAAKmzF,UAAUzrB,GACf,MAAO,GAEX,MAEJ,KAAK,GACD,GAAI1nE,KAAKozF,WAAW1rB,GAChB,MAAO,CAACA,EAAKsqB,eAAgBtqB,EAAKZ,gBAAiBY,EAAK2rB,qBAE5D,MAEJ,KAAK,GACD,GAAIrzF,KAAKszF,YAAY5rB,GACjB,MAAO,CAACA,EAAK6rB,kBAEjB,MAEJ,KAAK,GACD,GAAIvzF,KAAKwzF,SAAS9rB,GACd,OAAOA,EAAK9+C,QAEhB,MAEJ,KAAK,GACD,GAAI5oB,KAAKyzF,WAAW/rB,GAChB,MAAO,CAACA,EAAKgsB,WAAYhsB,EAAKisB,SAAUjsB,EAAKksB,WAEjD,MAEJ,KAAK,GACD,GAAI5zF,KAAK6zF,mBAAmBnsB,GACxB,OAAOA,EAAK+C,WAEhB,MAEJ,KAAK,GACD,GAAIzqE,KAAK8zF,gBAAgBpsB,GACrB,MAAO,CAACA,EAAKslB,kBAAmBtlB,EAAKR,SAEzC,MAEJ,KAAK,GACD,GAAIlnE,KAAK+zF,YAAYrsB,GACjB,MAAO,GAEX,MAEJ,KAAK,GACD,GAAI1nE,KAAKg0F,WAAWtsB,GAChB,MAAO,IAAIA,EAAK+C,YAEpB,MAEJ,KAAK,GACD,GAAIzqE,KAAKi0F,aAAavsB,GAClB,MAAO,CAACA,EAAK6lB,aAAc7lB,EAAKqjB,eAAgBrjB,EAAK8lB,gBAEzD,MAEJ,KAAK,GACD,GAAIxtF,KAAKk0F,WAAWxsB,GAChB,OAAOA,EAAKgB,YAEhB,MAEJ,KAAK,GACD,GAAI1oE,KAAKm0F,SAASzsB,GACd,MAAO,CAACA,EAAKikB,YAAajkB,EAAKkkB,cAAelkB,EAAKujB,UAAWvjB,EAAK0sB,cAEvE,MAEJ,KAAK,GACD,GAAIp0F,KAAKq0F,oBAAoB3sB,GACzB,MAAO,CAACA,EAAKZ,gBAAiBY,EAAKslB,gBAEvC,MAEJ,KAAK,GACD,GAAIhtF,KAAKs0F,oBAAoB5sB,GACzB,MAAO,CAACA,EAAK3V,YAEjB,MAEJ,KAAK,GACD,GAAI/xD,KAAKu0F,YAAY7sB,GACjB,MAAO,CAACA,EAAK3V,YAEjB,MAEJ,KAAK,GACD,GAAI/xD,KAAKw0F,WAAW9sB,GAChB,MAAO,CAACA,EAAKqjB,eAAgBrjB,EAAKyjB,WAAYzjB,EAAKujB,WAEvD,MAEJ,KAAK,GACD,GAAIjrF,KAAKy0F,UAAU/sB,GACf,MAAO,IAAIA,EAAK+kB,UAAW/kB,EAAKukB,OAEpC,MAEJ,KAAK,GACD,GAAIjsF,KAAK00F,cAAchtB,GACnB,MAAO,CAACA,EAAK3V,WAAY2V,EAAK7hE,QAElC,MAEJ,KAAK,GACD,GAAI7F,KAAK20F,WAAWjtB,GAChB,MAAO,CAACA,EAAK3V,YAEjB,MAEJ,KAAK,GACD,GAAI/xD,KAAK40F,eAAeltB,GACpB,MAAO,CAACA,EAAK3V,YAEjB,MAEJ,KAAK,GACD,GAAI/xD,KAAK60F,wBAAwBntB,GAC7B,MAAO,IAAIA,EAAKylB,qBAAsBzlB,EAAK0lB,sBAE/C,MAEJ,KAAK,GACD,GAAIptF,KAAK80F,WAAWptB,GAChB,MAAO,CAACA,EAAKsnB,qBAAsBtnB,EAAKunB,OAE5C,MAEJ,KAAK,GACD,GAAIjvF,KAAK+0F,UAAUrtB,GACf,MAAO,CAACA,EAAK1xC,QAAS0xC,EAAK0nB,gBAAiB1nB,EAAKukB,OAErD,MAEJ,KAAK,GACD,GAAIjsF,KAAKg1F,qBAAqBttB,GAC1B,MAAO,IAAIA,EAAK9+C,SAEpB,MAEJ,KAAK,GACD,GAAI5oB,KAAKi1F,eAAevtB,GACpB,MAAO,IAAIA,EAAK8nB,WAAY9nB,EAAK7hE,QAErC,MAEJ,KAAK,GACD,GAAI7F,KAAKk1F,oBAAoBxtB,GACzB,MAAO,CAACA,EAAK3V,YAEjB,MAEJ,KAAK,GACD,GAAI/xD,KAAKm1F,kBAAkBztB,GACvB,MAAO,CAACA,EAAKgoB,aAAchoB,EAAKhoE,WAEpC,MAEJ,KAAK,GACD,GAAIM,KAAKo1F,oBAAoB1tB,GACzB,MAAO,CAACA,EAAK7hE,QAEjB,MAEJ,KAAK,GACD,GAAI7F,KAAKq1F,oBAAoB3tB,GACzB,MAAO,IAAIA,EAAK9+C,SAEpB,MAEJ,KAAK,GACD,GAAI5oB,KAAKs1F,4BAA4B5tB,GACjC,MAAO,CAACA,EAAKkoB,WAAYloB,EAAKmoB,cAElC,MAEJ,KAAK,GACD,GAAI7vF,KAAKu1F,+BAA+B7tB,GACpC,MAAO,CAACA,EAAK7hE,QAEjB,MAEJ,KAAK,GACD,GAAI7F,KAAKw1F,kBAAkB9tB,GACvB,MAAO,CAACA,EAAK3V,YAEjB,MAEJ,KAAK,GACD,GAAI/xD,KAAKy1F,0BAA0B/tB,GAC/B,MAAO,CAACA,EAAKr7D,KAAMq7D,EAAK1xC,SAE5B,MAEJ,QACIk8B,EAAK,wBAIb,MAAO,GAIXm+B,cAAc3oB,GACV,OAAO,EAGX4oB,YAAY5oB,GACR,OAAO,EAGX8oB,gBAAgB9oB,GACZ,OAAO,EAGXgpB,0BAA0BhpB,GACtB,OAAO,EAGXipB,yBAAyBjpB,GACrB,OAAO,EAGXkpB,WAAWlpB,GACP,OAAO,EAGXmpB,qBAAqBnpB,GACjB,OAAO,EAGXopB,WAAWppB,GACP,OAAO,EAGXqpB,UAAUrpB,GACN,OAAO,EAGXqtB,UAAUrtB,GACN,OAAO,EAGXspB,WAAWtpB,GACP,OAAO,EAGXusB,aAAavsB,GACT,OAAO,EAGXwpB,cAAcxpB,GACV,OAAO,EAGXupB,cAAcvpB,GACV,OAAO,EAGXypB,eAAezpB,GACX,OAAO,EAGX0pB,SAAS1pB,GACL,OAAO,EAGX2pB,gBAAgB3pB,GACZ,OAAO,EAGX6pB,wBAAwB7pB,GACpB,OAAO,EAGX4pB,2BAA2B5pB,GACvB,OAAO,EAGX0oB,WAAW1oB,GACP,OAAO,EAGX8pB,cAAc9pB,GACV,OAAO,EAGX+pB,QAAQ/pB,GACJ,OAAO,EAGXgqB,YAAYhqB,GACR,OAAO,EAGXiqB,cAAcjqB,GACV,OAAO,EAGXkqB,gBAAgBlqB,GACZ,OAAO,EAGXmqB,kBAAkBnqB,GACd,OAAO,EAGXoqB,WAAWpqB,GACP,OAAO,EAGXqqB,YAAYrqB,GACR,OAAO,EAGXuqB,SAASvqB,GACL,OAAO,EAGXwqB,kBAAkBxqB,GACd,OAAO,EAGXyqB,cAAczqB,GACV,OAAO,EAGXmtB,wBAAwBntB,GACpB,OAAO,EAGX2qB,YAAY3qB,GACR,OAAO,EAGX4qB,YAAY5qB,GACR,OAAO,EAGX6qB,UAAU7qB,GACN,OAAO,EAGX8qB,uBAAuB9qB,GACnB,OAAO,EAGX+qB,0BAA0B/qB,GACtB,OAAO,EAGXgrB,yBAAyBhrB,GACrB,OAAO,EAGXotB,WAAWptB,GACP,OAAO,EAGXirB,kBAAkBjrB,GACd,OAAO,EAGXkrB,YAAYlrB,GACR,OAAO,EAGXmrB,gBAAgBnrB,GACZ,OAAO,EAGXorB,UAAUprB,GACN,OAAO,EAGXqrB,cAAcrrB,GACV,OAAO,EAGXsrB,YAAYtrB,GACR,OAAO,EAGXurB,eAAevrB,GACX,OAAO,EAGXyrB,UAAUzrB,GACN,OAAO,EAGX0tB,oBAAoB1tB,GAChB,OAAO,EAGXytB,kBAAkBztB,GACd,OAAO,EAGX+tB,0BAA0B/tB,GACtB,OAAO,EAGXutB,eAAevtB,GACX,OAAO,EAGXwtB,oBAAoBxtB,GAChB,OAAO,EAGX6tB,+BAA+B7tB,GAC3B,OAAO,EAGXstB,qBAAqBttB,GACjB,OAAO,EAGX8tB,kBAAkB9tB,GACd,OAAO,EAGX4tB,4BAA4B5tB,GACxB,OAAO,EAGX2tB,oBAAoB3tB,GAChB,OAAO,EAGX0rB,WAAW1rB,GACP,OAAO,EAGX4rB,YAAY5rB,GACR,OAAO,EAGX8rB,SAAS9rB,GACL,OAAO,EAGX+rB,WAAW/rB,GACP,OAAO,EAGXmsB,mBAAmBnsB,GACf,OAAO,EAGXqsB,YAAYrsB,GACR,OAAO,EAGXosB,gBAAgBpsB,GACZ,OAAO,EAGXssB,WAAWtsB,GACP,OAAO,EAGXwsB,WAAWxsB,GACP,OAAO,EAGXysB,SAASzsB,GACL,OAAO,EAGX2sB,oBAAoB3sB,GAChB,OAAO,EAGX4sB,oBAAoB5sB,GAChB,OAAO,EAGX6sB,YAAY7sB,GACR,OAAO,EAGX8sB,WAAW9sB,GACP,OAAO,EAGX+sB,UAAU/sB,GACN,OAAO,EAGXgtB,cAAchtB,GACV,OAAO,EAGXitB,WAAWjtB,GACP,OAAO,EAGXktB,eAAeltB,GACX,OAAO,GCvzBR,SAASguB,GAAahuB,GACzB,IAAIiuB,EAAQ,EACR1sB,EAAiCvB,EAErC,KAAOuB,GACH0sB,IACA1sB,EAAUA,EAAQ9jC,OAGtB,OAAOwwD,EAkBJ,SAASC,GAAiBluB,EAAiBhmE,GAC9C,GAAIA,EAASgmE,EAAK5rE,OAAS4F,EAAS8iE,GAAUmB,OAAO+B,GACjD,OAGJ,MAIM1jC,GAJkB,IAAI,IAIKisD,UAAUvoB,GAC3C,IAAK,MAAMhR,KAAS1yB,EAChB,GAAI0yB,EAAO,CACP,MAAMm/B,EAAkBD,GAAiBl/B,EAAOh1D,GAChD,GAAIm0F,EACA,OAAOA,EAKnB,OAAOnuB,EAGJ,SAASouB,GAAiBC,EAAsB/qB,EAAoB0kB,GACvE,MAAMhgB,EAAsB,CAACggB,GAE7B,IAAIzmB,EAAiC8sB,EAGrC,KAAO9sB,GACHA,EAAU+sB,GAAkB/sB,GACxBA,GACAyG,EAAUr0E,KAAK4tE,EAAQ58D,KAAK/O,OAMpC,OAFAoyE,EAAUr0E,KAAK2vE,GAER0E,EAAUumB,UAAUz6F,KAAK,KAO7B,SAAS06F,GAAgBxuB,GAC5B,OAAOA,EAAK5rE,MAGT,SAASq6F,GAAczuB,EAAoBwB,GAC9C,IAAIktB,EAAS,GAUb,OAT8B,IAA1B1uB,EAAKd,iBACLwvB,EAAS,IACwB,IAA1B1uB,EAAKd,mBACZwvB,EAAS,MAET1uB,EAAKr7D,OACL+pF,GAAU1uB,EAAKr7D,KAAK/O,MAAQ,KAEhC84F,GAAUC,GAAgB3uB,EAAKZ,gBAAiBoC,GACzCktB,EAGJ,SAASC,GAAgB3uB,EAAsBwB,EAAQ,GAC1D,OAAQxB,EAAKjB,UACT,KAAK,GACD,OAAOiB,EAAKpqE,MAGhB,KAAK,GACD,OAAO+4F,GAAgB3uB,EAAKhB,eAAgBwC,GAAS,IAAMxB,EAAKL,WAAW/pE,MAG/E,KAAK,EACD,OACI+4F,GAAgB3uB,EAAKhB,eAAgBwC,GACrC,IACAxB,EAAKhoE,UAAUokB,KAAK7mB,GAAQk5F,GAAcl5F,EAAKisE,KAAQ1tE,KAAK,MAC5D,IAIR,KAAK,GACD,OACI66F,GAAgB3uB,EAAKP,eAAgB+B,GACrC,IACAxB,EAAK3kC,MAAMjf,KAAKkE,GAASmuE,GAAcnuE,EAAMkhD,KAAQ1tE,KAAK,MAC1D,KACCksE,EAAKf,cAAgB,IAAM,IAIpC,KAAK,GACD,OAAO2vB,GAAc5uB,EAAKmlB,UAAYwJ,GAAgB3uB,EAAK3V,WAAYmX,GAG3E,KAAK,EAA+B,CAChC,MAAMqtB,EACFF,GAAgB3uB,EAAKhB,eAAgBwC,GACrC,IACAotB,GAAc5uB,EAAKmlB,UACnB,IACAwJ,GAAgB3uB,EAAKqlB,gBAAiB7jB,GAE1C,OAAOxB,EAAK8uB,cAAgB,IAAID,KAAaA,EAGjD,KAAK,GAAsB,CACvB,IAAIj5F,EAAQoqE,EAAKpqE,MAAMkC,WAUvB,OAPIlC,EAAM28D,SAAS,OACf38D,EAAQA,EAAMkpC,UAAU,EAAGlpC,EAAMtC,OAAS,IAG1C0sE,EAAKV,cACL1pE,GAAS,KAENA,EAGX,KAAK,GACD,OAAY,EAAR4rE,GAAoDxB,EAAKslB,eAClDqJ,GAAgB3uB,EAAKslB,eAAgB9jB,GAErCxB,EAAKR,QACPpjD,KAAK1hB,GACKi0F,GAAgBj0F,EAAK8mE,KAE/B1tE,KAAK,KAIlB,KAAK,GAAsB,CACvB,IAAIi7F,EAAa,GA+BjB,OA9BuB,EAAnB/uB,EAAK1mD,MAAMkoD,QACXutB,GAAc,KAGK,GAAnB/uB,EAAK1mD,MAAMkoD,QACXutB,GAAc,KAGK,GAAnB/uB,EAAK1mD,MAAMkoD,QACXutB,GAAc,KAGK,GAAnB/uB,EAAK1mD,MAAMkoD,QACXutB,GAAc,KAGK,EAAnB/uB,EAAK1mD,MAAMkoD,MACY,EAAnBxB,EAAK1mD,MAAMkoD,MACXutB,GAAc,MAAM/uB,EAAK1mD,MAAM01E,kBAE/BD,GAAc,MAAM/uB,EAAK1mD,MAAM01E,kBAGZ,EAAnBhvB,EAAK1mD,MAAMkoD,MACXutB,GAAc,IAAI/uB,EAAK1mD,MAAM01E,gBAE7BD,GAAc,IAAI/uB,EAAK1mD,MAAM01E,gBAI9BD,EAGX,KAAK,EACD,OAAOJ,GAAgB3uB,EAAKhB,eAAgBwC,GAAS,MAAQmtB,GAAgB3uB,EAAKqlB,gBAAiB7jB,GAGvG,KAAK,EACD,OAAOmtB,GAAgB3uB,EAAKr7D,KAAM68D,GAAS,OAASmtB,GAAgB3uB,EAAKqlB,gBAAiB7jB,GAG9F,KAAK,GACD,OAAOmtB,GAAgB3uB,EAAKZ,gBAAiBoC,GAAS,KAAOmtB,GAAgB3uB,EAAKslB,eAAgB9jB,GAGtG,KAAK,EACD,OACImtB,GAAgB3uB,EAAKhB,eAAgBwC,GACrC,IACAotB,GAAc5uB,EAAKmlB,UACnB,IACAwJ,GAAgB3uB,EAAKqlB,gBAAiB7jB,GAI9C,KAAK,EACD,MAAO,SAAWmtB,GAAgB3uB,EAAK3V,WAAYmX,GAGvD,KAAK,GACD,OACImtB,GAAgB3uB,EAAK6lB,aAAcrkB,GACnC,OACAmtB,GAAgB3uB,EAAKqjB,eAAgB7hB,GACrC,SACAmtB,GAAgB3uB,EAAK8lB,eAAgBtkB,GAI7C,KAAK,GAID,MAAO,IAHaxB,EAAK9+C,QAAQ9E,KAAKuqE,GAC3BgI,GAAgBhI,EAAMnlB,KAEV1tE,KAAK,SAGhC,KAAK,GACD,MAAO,IAAM66F,GAAgB3uB,EAAK3V,WAAYmX,GAGlD,KAAK,GAAqB,CACtB,MAAMR,EAAchB,EAAKgB,YAAY5kD,KAAKuqE,GAC/BgI,GAAgBhI,EAAMnlB,KAEjC,OAA2B,IAAvBR,EAAY1tE,OACL,IAAI0tE,EAAY,QAEpB,IAAIA,EAAYltE,KAAK,SAGhC,KAAK,GACD,OAAIksE,EAAK3V,WACE,SAAWskC,GAAgB3uB,EAAK3V,WAAYmX,GAE5C,QAIf,KAAK,GACD,MAAO,cAAgBmtB,GAAgB3uB,EAAK3V,WAAYmX,GAG5D,KAAK,GACD,MAAO,MAGX,KAAK,GAAiC,CAClC,IAAIytB,EAAU,mBA2Bd,OAzBI9L,GAAiBnjB,EAAK3V,YACtB4kC,EAAUN,GAAgB3uB,EAAK3V,WAA8BmX,GACzB,KAA7BxB,EAAK3V,WAAW0U,WAGvBkwB,EAAU,GAFKN,GAAgB3uB,EAAK3V,WAAWu8B,cAAeplB,OAC7CmtB,GAAgB3uB,EAAK3V,WAAW+U,gBAAiBoC,MAItEytB,EACIA,EACA,IACAjvB,EAAKkmB,WACA9pE,KAAKuqE,GACoB,KAAlBA,EAAK5nB,UAEE4nB,EAAKuI,QAAU,SAAW,IAA7B,OACAP,GAAgBhI,EAAKhD,iBAAkBniB,GACvC,OAAOmtB,GAAgBhI,EAAK/C,mBAAoBpiB,KAG7C,MAAMmtB,GAAgBhI,EAAKtD,eAAgB7hB,OAGzD1tE,KAAK,KAEPksE,EAAKmvB,gBAAkB,IAAIF,MAAcA,EAGpD,KAAK,GAAqB,CACtB,IAAI32E,EAAS,GAUb,OATI0nD,EAAKgsB,aACL1zE,GAAUq2E,GAAgB3uB,EAAKgsB,WAAYxqB,IAE3CxB,EAAKisB,WACL3zE,GAAU,KAAOq2E,GAAgB3uB,EAAKisB,SAAUzqB,IAEhDxB,EAAKksB,YACL5zE,GAAU,KAAOq2E,GAAgB3uB,EAAKksB,UAAW1qB,IAE9ClpD,EAGX,KAAK,GACD,MACI,UACA0nD,EAAKrkC,WACAvf,KAAKV,IACF,IAAI0zE,EAAW,GAef,OAbuB,IAAnB1zE,EAAMk7C,SACNw4B,GAAY,IACc,IAAnB1zE,EAAMk7C,WACbw4B,GAAY,MAGZ1zE,EAAM/W,OACNyqF,GAAY1zE,EAAM/W,KAAK/O,OAGvB8lB,EAAM8vE,eACN4D,GAAY,MAAQT,GAAgBjzE,EAAM8vE,aAAchqB,IAErD4tB,KAEVt7F,KAAK,MACV,KACA66F,GAAgB3uB,EAAK3V,WAAYmX,GAIzC,KAAK,GACD,GAAuB,KAAnBxB,EAAKumB,UACL,MAAO,OACJ,GAAuB,KAAnBvmB,EAAKumB,UACZ,MAAO,QACJ,GAAuB,IAAnBvmB,EAAKumB,UACZ,MAAO,YACJ,GAAuB,KAAnBvmB,EAAKumB,UACZ,MAAO,OAEX,MAGJ,KAAK,GAA0B,CAC3B,MAAM8I,EAAe,GAAGrvB,EAAK9+C,QAAQ9E,KAAK21C,GACf,KAAnBA,EAAMgN,SAEF,GAAG4vB,GAAgB58B,EAAM60B,cAAeplB,OACrCmtB,GAAgB58B,EAAMqN,gBAAiBoC,KAGvCmtB,GAAgB58B,EAAOyP,OAItC,OAAI6tB,EACO,KAAKA,MAGT,KAGX,KAAK,GACD,MAAO,KAAKV,GAAgB3uB,EAAK6mB,iBAAkBrlB,KAGvD,KAAK,GACD,OAAOxB,EAAK9+C,QAAQ9E,KAAK21C,GAAU48B,GAAgB58B,EAAOyP,KAAQ1tE,KAAK,MAI/E,MAAO,eAGJ,SAAS86F,GAAczJ,GAC1B,MAAMmK,EAA8C,CAChD,EAAoB,IACpB,EAAyB,KACzB,EAAuB,IACvB,EAA2B,IAC3B,EAAgC,KAChC,EAA8B,IAC9B,EAA0B,IAC1B,EAA+B,KAC/B,EAA2B,IAC3B,EAAgC,KAChC,GAAuB,IACvB,GAA4B,KAC5B,GAAuB,KACvB,GAA4B,KAC5B,GAAiC,MACjC,GAA4B,IAC5B,GAAmC,KACnC,GAA0B,KAC1B,GAA+B,MAC/B,GAAkC,KAClC,GAAyB,IACzB,GAAgC,KAChC,GAA+B,IAC/B,GAAoC,KACpC,GAAoB,IACpB,GAAyB,KACzB,GAAyB,IACzB,GAA8B,KAC9B,GAA0B,KAC1B,GAAsB,KACtB,GAA2B,MAC3B,GAA2B,KAC3B,GAAgC,MAChC,GAAyB,IACzB,GAA8B,KAC9B,GAAoB,MACpB,GAAmB,KACnB,GAAoB,MACpB,GAAmB,KACnB,GAAsB,SACtB,GAAmB,KACnB,GAAsB,UAG1B,OAAIA,EAAYnK,GACLmK,EAAYnK,GAGhB,UAGJ,SAASoK,GAAkBvvB,GAC9B,IAAIuB,EAAUvB,EAAKviC,OAEnB,KAAO8jC,GAAS,CACZ,GAAyB,KAArBA,EAAQxC,SACR,OAAOwC,EAEXA,EAAUA,EAAQ9jC,QAMnB,SAAS6wD,GAAkBtuB,EAAiBwvB,GAAiB,GAChE,IAAIjuB,EAAUvB,EAAKviC,OACnB,KAAO8jC,GAAS,CACZ,GAAyB,KAArBA,EAAQxC,SACR,OAAOwC,EAGX,GAAyB,KAArBA,EAAQxC,SACR,OAGJ,GAAyB,KAArBwC,EAAQxC,UACJywB,EACA,OAIRjuB,EAAUA,EAAQ9jC,QA2CnB,SAASgyD,GAAqBzvB,GACjC,IACI0vB,EADAnuB,EAAUvB,EAAKviC,OAGnB,KAAO8jC,GAAS,CACZ,GAAyB,KAArBA,EAAQxC,WAEHwC,EAAQijB,WAAWz9B,MAAM89B,GAAcA,IAAc6K,IACtD,OAAOnuB,EAIf,GAAyB,KAArBA,EAAQxC,SACR,OAGJ2wB,EAAWnuB,EACXA,EAAUA,EAAQ9jC,QAuBnB,SAASkyD,GAA4B3vB,GACxC,IAAIuB,EAAUvB,EAAKviC,OACnB,KAAO8jC,GAAS,CACZ,GAAyB,KAArBA,EAAQxC,SACR,OAAOwC,EAGX,GAAyB,KAArBA,EAAQxC,SACR,OAAOwC,EAGXA,EAAUA,EAAQ9jC,QAyEnB,SAASmyD,GAAuB5vB,GACnC,IAAI0vB,EACAG,EACAtuB,EAAiCvB,EACjC8vB,GAAkB,EAEtB,KAAOvuB,GAAS,CASZ,OARyB,KAArBA,EAAQxC,UAAwC2wB,IAAanuB,EAAQ58D,OAErEmrF,GAAkB,GAMdvuB,EAAQxC,UACZ,KAAK,GACD,GAAIwC,EAAQ5lC,WAAWorB,MAAMrrC,GAAUA,IAAUg0E,KAC7C,GAAII,QAC0B14F,IAAtB8oE,GAASqB,GACT,OAAOA,OAGZ,GAAImuB,IAAanuB,EAAQgjB,YACFntF,IAAtB8oE,GAASqB,GACT,OAAOA,EAGf,MAGJ,KAAK,GACD,GAAIA,EAAQ5lC,WAAWorB,MAAMrrC,GAAUA,IAAUg0E,KAC7C,GAAII,QAC0B14F,IAAtB8oE,GAASqB,GACT,OAAOA,OAGZ,KAAKmuB,GAAYA,IAAanuB,EAAQlX,kBACfjzD,IAAtB8oE,GAASqB,GACT,OAAOA,EAGf,MAGJ,KAAK,GACD,GAAImuB,IAAanuB,EAAQgjB,YACKntF,IAAtB8oE,GAASqB,GACT,OAAOA,EAGf,MAGJ,KAAK,GACD,QAA0BnqE,IAAtB8oE,GAASqB,KAILmuB,IAAanuB,EAAQ2kB,WAAW,IACG,KAAnC3kB,EAAQ2kB,WAAW,GAAGnnB,UACtBwC,EAAQ2kB,WAAW,GAAGtC,qBAAuBiM,GAG7C,OAAOtuB,EAGf,MAGJ,KAAK,GACD,QAA0BnqE,IAAtB8oE,GAASqB,GACT,OAAOA,EAMnBsuB,EAAeH,EACfA,EAAWnuB,EACXA,EAAUA,EAAQ9jC,OAGtB+sB,EAAK,iCAMF,SAASulC,GAAoB/vB,EAAiBgwB,GAA2B,GAC5E,IAAIN,EACAnuB,EAAiCvB,EAErC,KAAOuB,GAAS,CACZ,OAAQA,EAAQxC,UACZ,KAAK,GACD,IAAI2wB,IAAanuB,EAAQgjB,OAASyL,KACzBzuB,EAAQijB,WAAWz9B,MAAM89B,GAAcA,IAAc6K,IACtD,OAAOnuB,EAGf,MAGJ,KAAK,GACD,GAAImuB,IAAanuB,EAAQgjB,QAChBhjB,EAAQijB,WAAWz9B,MAAM89B,GAAcA,IAAc6K,IACtD,OAAOnuB,EAOvBmuB,EAAWnuB,EACXA,EAAUA,EAAQ9jC,QAQnB,SAASwyD,GAAsBjwB,GAClC,IAAIkwB,EAAkBN,GAAuB5vB,GAK7C,KACiC,KAA7BkwB,EAAgBnxB,UACa,KAA7BmxB,EAAgBnxB,UAEhBmxB,EAAkBN,GAAuBM,EAAgBzyD,QAG7D,OAAOyyD,EA4BJ,SAASC,GAAkCC,GAE9C,GAA4B,KAAxBA,EAAWrxB,SACX,OAAO,EAKX,GAA4B,KAAxBqxB,EAAWrxB,SAAyC,CACpD,GAA2C,KAAvCqxB,EAAWpxB,eAAeD,SAC1B,OAAO,EAIX,IADkBuvB,GAAkB8B,GAEhC,OAAO,EAGX,MAAMC,EAAaZ,GAAqBW,GACxC,QAAKC,GAIyB,aAA1BA,EAAW1rF,KAAK/O,MAOxB,OAAO,EAGJ,SAAS06F,GAAqCF,GAEjD,QADkB9B,GAAkB8B,GAAiC,GAQlE,SAASG,GAAsBvwB,EAAiBwwB,GACnD,IAAIjvB,EAAiCvB,EACrC,KAAOuB,GAAS,CACZ,GAAIA,IAAYivB,EACZ,OAAO,EAGXjvB,EAAUA,EAAQ9jC,OAGtB,OAAO,EAoBJ,SAASgzD,GAAazwB,GACzB,IAAI0wB,GAAc,EAElB,IAAK,MAAMxuB,KAAalC,EAAK+C,WAAY,CACrC,GAA2B,KAAvBb,EAAUnD,SAYV,OAAO,EAXP,IAAK,MAAM4xB,KAAgBzuB,EAAUa,WACjC,GAA8B,KAA1B4tB,EAAa5xB,SAEb2xB,GAAc,OACX,GAA8B,KAA1BC,EAAa5xB,SAGpB,OAAO,EAQvB,OAAO2xB,EAGJ,SAASE,GAAqB9xB,EAA2BzU,GAC5D,GAA2B,KAAvByU,EAAUC,SACV,OAA4B,KAAxB1U,EAAW0U,SACJD,EAAUlpE,QAAUy0D,EAAWz0D,MACP,IAAxBy0D,EAAW0U,UACXD,EAAUlpE,QAAUy0D,EAAW1lD,KAAK/O,MAG5C,GACoB,KAAvBkpE,EAAUC,UACc,KAAxB1U,EAAW0U,SAEX,OACI6xB,GAAqB9xB,EAAUE,eAAgB3U,EAAW2U,iBAC1DF,EAAUa,WAAW/pE,QAAUy0D,EAAWsV,WAAW/pE,MAEtD,GAA2B,KAAvBkpE,EAAUC,UAA4D,KAAxB1U,EAAW0U,SAAkC,CAClG,IAAK6xB,GAAqB9xB,EAAUW,eAAgBpV,EAAWoV,gBAC3D,OAAO,EAGX,GACgC,IAA5BpV,EAAWhvB,MAAM/nC,QACjB+2D,EAAW4U,eACX5U,EAAWhvB,MAAM,GAAG12B,MACqB,IAAzC0lD,EAAWhvB,MAAM,GAAG6jC,iBAEpB,OAAO,EAGX,GAAoD,KAAhDJ,EAAUzjC,MAAM,GAAG+jC,gBAAgBL,SAAmC,CACtE,MAAM8xB,EAAsB/xB,EAAUzjC,MAAM,GAAG+jC,gBACzCD,EAAgB9U,EAAWhvB,MAAM,GAAG+jC,gBAC1C,QAC+B,KAA3BD,EAAcJ,UACdI,EAAcG,cACbH,EAAc35D,YAKZqrF,EAAoBj7F,QAAUupE,EAAcvpE,MAGvD,GAAoD,KAAhDkpE,EAAUzjC,MAAM,GAAG+jC,gBAAgBL,SAAuC,CAC1E,MAAM+xB,EAA0BhyB,EAAUzjC,MAAM,GAAG+jC,gBAC7CD,EAAgB9U,EAAWhvB,MAAM,GAAG+jC,gBAC1C,GAC+C,IAA3C0xB,EAAwBtxB,QAAQlsE,QACgB,KAAhDw9F,EAAwBtxB,QAAQ,GAAGT,UACR,KAA3BI,EAAcJ,UACmB,IAAjCI,EAAcK,QAAQlsE,QACgB,KAAtC6rE,EAAcK,QAAQ,GAAGT,SAEzB,OAAO+xB,EAAwBtxB,QAAQ,GAAG5pE,QAAUupE,EAAcK,QAAQ,GAAG5pE,MAIrF,OAAO,EAGX,OAAO,EAGJ,SAASm7F,GAA4BjyB,EAA2BzU,GACnE,OAA2B,KAAvByU,EAAUC,SAEN6xB,GAAqB9xB,EAAUE,eAAgB3U,IAC/C0mC,GAA4BjyB,EAAUE,eAAgB3U,GAE5B,KAAvByU,EAAUC,WAEb6xB,GAAqB9xB,EAAUW,eAAgBpV,IAC/C0mC,GAA4BjyB,EAAUW,eAAgBpV,IA8L3D,SAAS2mC,GAAajuB,GAEzB,GAA0B,IAAtBA,EAAWzvE,OACX,OAGJ,GAA+B,KAA3ByvE,EAAW,GAAGhE,SACd,OAGJ,IAAKkyB,GAAYluB,EAAW,IACxB,OAIJ,MAAMvD,EAAWuD,EAAW,GAAGA,WAAW,GAAsBvD,QAChE,OAAuB,IAAnBA,EAAQlsE,OAEDksE,EAAQ,GAAG5pE,MAGf4pE,EAAQpjD,KAAKtV,GAAMA,EAAElR,QAAO9B,KAAK,IAGrC,SAASm9F,GAAYC,GAGxB,GAAwC,IAApCA,EAAcnuB,WAAWzvE,QAAyD,KAAzC49F,EAAcnuB,WAAW,GAAGhE,SACrE,OAAO,EAIX,MAAMS,EAAU0xB,EAAcnuB,WAAW,GAAGvD,QAC5C,OAAuB,IAAnBA,EAAQlsE,SAKRksE,EAAQzY,MAAMjuD,GAAoD,IAA7B,GAAhBA,EAAEwgB,MAAMkoD,SAoF9B,MAAM2vB,WAAuB,GAIhC5sF,YACY6sF,GAMR5sF,QANQ,KAAA4sF,YASHhG,UAAUprB,GAEf,OADA1nE,KAAK84F,UAAUpxB,EAAM1nE,KAAK+4F,gBAAiB/4F,KAAKg5F,kBACzC,EAGFlH,WAAWpqB,GAChB1nE,KAAK+vF,KAAKroB,EAAKP,gBAEf,MAAM8xB,EAAqBj5F,KAAK+4F,gBAC1BG,EAAqBl5F,KAAKg5F,gBAWhC,OAVAh5F,KAAKg5F,gBAAkBtxB,EAAKP,eAE5BO,EAAK3kC,MAAMzd,SAAQ,CAAC0C,EAAMmC,KACtBnqB,KAAK+4F,gBAAkB5uE,EACvBnqB,KAAK+vF,KAAK/nE,MAGdhoB,KAAK+4F,gBAAkBE,EACvBj5F,KAAKg5F,gBAAkBE,GAEhB,GAIR,MAAMC,WAAuB,GAChCltF,YAAoB6sF,GAChB5sF,QADgB,KAAA4sF,YAIX/H,UAAUrpB,GAEf,OADA1nE,KAAK84F,UAAUpxB,IACR,GAIR,SAAS0xB,GAAsB1xB,GAClC,IAAIuB,EAAiCvB,EAErC,KAAOuB,GAAS,CACZ,GAAyB,KAArBA,EAAQxC,SACR,OAAOwC,EAEXA,EAAUA,EAAQ9jC,QAMnB,SAASk0D,GACZ3xB,EACA4xB,EACAh1B,GAGA,IACIi1B,EADAtwB,EAAiCvB,EAGrC,UAAmB5oE,IAAZmqE,GAAuB,CAE1B,GAAyB,IAArBA,EAAQxC,UACJ+yB,EAAuBvwB,GAA2B,CAClDswB,EAAWtwB,EACX,MAGRA,EAAUA,EAAQ9jC,OAGtB,IAAKo0D,IAAaA,EAAS75F,UACvB,OAGJ,MAAM+5F,EAAcj1B,GAAUmB,OAAO4zB,GACrC,GAAID,EAAkBG,EAClB,OAGJ,MAAMC,EA0EH,SAAoBp1B,EAAoC7nC,GAC3D,MAAMtS,EAAQm6C,EAAOq1B,kBAAkBl9D,GACvC,KAAItS,EAAQ,GAIZ,OAAOm6C,EAAOgB,UAAUn7C,GAhFLyvE,CAAWt1B,EAAQm1B,EAAc,GACpD,GAAIH,IAAoBG,GAA+B,MAAhBC,aAAU,EAAVA,EAAY16F,MAC/C,OAGJ,IAAI66F,GAAc,EACdC,GAAe,EACfC,GAAe,EA6CnB,OA5CAR,EAAS75F,UAAU4lB,SAAQ,CAACroB,EAAKktB,KAC7B,GAAI0vE,EACA,OAIJ,IAAI/9F,EAAQmB,EAAInB,MAChB,MAAMk+F,EAAkB11B,EAAOq1B,kBAAkB79F,GAC7Ck+F,GAAmB,IACnBl+F,EAAQ0oE,GAAUmB,OAAOrB,EAAOgB,UAAU00B,EAAkB,KAGhE,IAAIj+F,EAAMyoE,GAAUmB,OAAO1oE,GAC3B,MAAMg9F,EAAgB31B,EAAOq1B,kBAAkB59F,GAC/C,GAAIk+F,GAAiB,EAGjB,IAAK,IAAI3/F,EAAI2/F,EAAe3/F,EAAIgqE,EAAOt4C,MAAO1xB,IAAK,CAC/C,MAAM4/F,EAAM51B,EAAOgB,UAAUhrE,GAE7B,OAAQ4/F,EAAIl7F,MACR,KAAK,GACL,KAAK,GACD,MACJ,QACI,SAGRjD,EAAMyoE,GAAUmB,OAAOu0B,GACvB,MAIJZ,EAAkBv9F,IAClB+9F,EAAc3vE,EACd4vE,EAAeT,GAAmBx9F,EAClC+9F,GAAc,MAIjBA,IACDC,EAAcP,EAAS75F,UAAU1E,OAAS,GAGvC,CACHu+F,WACAO,cACAC,gBAGJ,SAASP,EAAuB9xB,EAAgBhmE,GAC5C,IAAIH,GAAQ,EACZ,MAAM44F,EACFzyB,EAAKhB,eAAe1rE,OAAS,EAAIwpE,GAAUmB,OAAO+B,EAAKhB,gBAAkB,EAAIgB,EAAKhB,eAAe5qE,MAC/FquB,EAAQm6C,EAAOq1B,kBAAkBQ,GACvC,GAAIhwE,GAAS,GAAKA,EAAQ,EAAIm6C,EAAOt4C,MAAO,CACxC,MAAMhL,EAAQsjD,EAAOgB,UAAUn7C,EAAQ,GACpB,KAAfnJ,EAAMhiB,MAAsCs6F,EAAkB90B,GAAUmB,OAAO3kD,KAE/Ezf,GAAQ,GAGhB,OAAOA,GA8PR,SAAS64F,GAAc1yB,GAC1B,IAAI0vB,EAAsB1vB,EACtBuB,EAAiCmuB,EAASjyD,OAE9C,KAAO8jC,GAAS,CACZ,OAAQA,EAAQxC,UACZ,KAAK,EAIL,KAAK,EACD,OAAO2wB,IAAanuB,EAAQvC,eAGhC,KAAK,EACD,OAAO0wB,IAAanuB,EAAQ58D,KAGhC,KAAK,GACD,OAAO,EAGX,KAAK,GACD,OAAO+qF,IAAanuB,EAAQoiB,iBAGhC,KAAK,GACD,OACI+L,IAAanuB,EAAQkD,OACpBlD,EAAQn3D,OAAO49D,UAAU10E,OAAS,GAAKo8F,IAAanuB,EAAQn3D,OAAO49D,UAAU,GAItF,KAAK,GACD,OAAO0nB,IAAanuB,EAAQkD,QAAWlD,EAAQkD,OAASirB,IAAanuB,EAAQ58D,KAGjF,KAAK,GACD,GAAI+qF,IAAanuB,EAAQ5B,WACrB,OAAO,EAEX,MAGJ,KAAK,GACD,OAAO+vB,IAAanuB,EAAQ58D,KAGhC,KAAK,GACD,OAAO48D,EAAQwjB,UAAUh+B,MAAMzmC,GAASA,IAASovE,IAGrD,KAAK,GACD,OAAOA,IAAanuB,EAAQoiB,iBAGhC,KAAK,GACD,GAAI+L,IAAanuB,EAAQ+jB,eACrB,OAAO,EAEX,MAGJ,KAAK,GACL,KAAK,GACL,KAAK,GACD,OAAO,EAIfoK,EAAWnuB,EACXA,EAAUA,EAAQ9jC,OAGtB,OAAO,EAGJ,SAASk1D,GAAc3yB,GAC1B,IAAIl/C,EAAiCk/C,EACrC,KAAOl/C,GAAgC,KAArBA,EAAQi+C,UACtBj+C,EAAUA,EAAQ2c,OAGtB,OAAO3c,EAGJ,SAAS8xE,GAAoB5yB,GAChC,MAAMl/C,EAAU6xE,GAAc3yB,GAC9B,OAAOl/C,EAAU,GAA6BA,QAAW1pB,EA4BtD,SAASy7F,GAAmB7yB,G,QAC/B,OAAqF,MAAV,QAApE,EAA4D,QAA5D,EAAA8yB,GAA6B9yB,EAAM,WAAyB,eAAEviC,cAAM,eAAEshC,UAG1E,SAASg0B,GAAc/yB,G,MAC1B,OAA4B,MAAV,QAAX,EAAAA,EAAKviC,cAAM,eAAEshC,WAAuCiB,EAAKviC,OAAOgnC,QAAUzE,EAG9E,SAASgzB,GAAuBhzB,G,QACnC,OAAqF,MAAV,QAApE,EAA4D,QAA5D,EAAA8yB,GAA6B9yB,EAAM,WAAyB,eAAEviC,cAAM,eAAEshC,UAG1E,SAASk0B,GAAiBjzB,G,MAC7B,OAA4B,MAAV,QAAX,EAAAA,EAAKviC,cAAM,eAAEshC,WAA2CiB,EAAKviC,OAAO94B,OAASq7D,EAGjF,SAASkzB,GAAkBlzB,G,MAC9B,OAA4B,MAAV,QAAX,EAAAA,EAAKviC,cAAM,eAAEshC,WAA2CiB,EAAKviC,OAAOgnC,QAAUzE,EAGlF,SAASmzB,GAAuBnzB,G,MACnC,GAAyB,MAAV,QAAX,EAAAA,EAAKviC,cAAM,eAAEshC,UACb,OAAO,EAGX,MAAM30D,EAAS41D,EAAKviC,OACpB,OAAgC,IAA5BrzB,EAAO49D,UAAU10E,QAId8W,EAAO49D,UAAU59D,EAAO49D,UAAU10E,OAAS,KAAO0sE,EAYtD,SAAS8yB,GACZ9yB,EACA1oE,GAEA,OAGG,SACH0oE,EACAhZ,GAEA,IAAK,MAAMlmC,KApBf,UAAqCk/C,GACjC,UAAgB5oE,IAAT4oE,SACGA,EACNA,EAAOA,EAAKviC,OAiBM21D,CAA2BpzB,GAC7C,GAAcl/C,EAR2Bi+C,WAAaznE,EASlD,OAAOwpB,EATRuyE,CAAuBrzB,GAgB3B,SAASszB,GAAqCtzB,G,MAQjD,OAAyB,MAAV,QAAX,EAAAA,EAAKviC,cAAM,eAAEshC,WAIbiB,EAAKviC,OAAOuhC,iBAAmBgB,EAHxBA,EAOJA,EAAKviC,OC14DT,SAAS81D,GAAsBjzB,GAClC,OAAQA,EAAYhpE,MAChB,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACD,OAAO,EAEX,KAAK,EAA2B,CAC5B,GAAIgpE,EAAYN,KAAKslB,gBAAkBhlB,EAAYN,KAAK+oB,sBACpD,OAAO,EAEX,MAAMyK,EAAkBlzB,EAAYN,KAAKviC,OACzC,GAA6B,MAAzB+1D,aAAe,EAAfA,EAAiBz0B,WAEby0B,EAAgB9I,4BACf8I,EAAgB9I,0BAA0BlF,oBAC7C,CACE,MAAMiO,EAAmBD,EAAgB9I,0BAA0BjF,qBAGnE,QACI+N,EAAgB73D,WAAWroC,OAASmgG,EAAiBngG,QACrDgtE,EAAYN,OAASwzB,EAAgB73D,WAAW,IAO5D,OAAO,EAGX,KAAK,EACD,QAAS2kC,EAAYozB,mBAEzB,KAAK,EACD,OAAO,GAIZ,SAASC,GACZC,EACAC,EACAC,GAAuC,GAEvC,GAAIF,EAAMt8F,OAASu8F,EAAMv8F,KACrB,OAAO,EAGX,GAAIs8F,EAAMvsF,OAASwsF,EAAMxsF,KACrB,OAAO,EAGX,GACIusF,EAAM7uF,MAAM3Q,MAAMo+B,OAASqhE,EAAM9uF,MAAM3Q,MAAMo+B,MAC7CohE,EAAM7uF,MAAM3Q,MAAMq+B,YAAcohE,EAAM9uF,MAAM3Q,MAAMq+B,UAElD,OAAO,EAKX,GAAmB,IAAfmhE,EAAMt8F,MAAiD,IAAfu8F,EAAMv8F,KAAgC,CAC9E,GAAIs8F,EAAMxoC,aAAeyoC,EAAMzoC,YAAcwoC,EAAMG,gBAAkBF,EAAME,cACvE,OAAO,EAGX,GAAID,EAQA,OAAO,EAGX,GAAIF,EAAM5d,gBAAkB6d,EAAM7d,cAC9B,OAAO,EAIf,OAAO,EAGJ,SAASge,GAA2BxzB,GACvC,OAAqB,IAAdA,EAAKlpE,QAAuCkpE,EAAKyzB,QAGrD,SAASC,GAA+B1zB,GAC3C,OAAqB,IAAdA,EAAKlpE,QAAuCkpE,EAAK2zB,oBAGrD,SAASC,GAA+B5zB,G,MAC3C,GAAkB,IAAdA,EAAKlpE,OAAsCkpE,EAAK6zB,eAAiB7zB,EAAKkzB,mBACtE,OAAO,EAGX,GAA8B,KAAV,QAAhB,EAAAlzB,EAAKR,KAAKviC,cAAM,eAAEshC,UAClB,OAAO,EAMX,OADwByB,EAAKR,KAAKviC,OAAO4nD,gBACjBtmB,UACpB,KAAK,EACL,KAAK,GACL,KAAK,EACL,KAAK,GACL,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACD,OAAO,EAGf,OAAO,EAGJ,SAASu1B,GAAuBh0B,G,MACnC,OAAQA,EAAYhpE,MAChB,KAAK,EACD,OAAOgpE,EAAYlV,WAEvB,KAAK,EACL,KAAK,EACD,OAAOkV,EAAYN,KAAKr7D,KAAK/O,MAEjC,KAAK,EACD,OAA4B,QAArB,EAAA0qE,EAAYN,KAAKr7D,YAAI,eAAE/O,MAElC,KAAK,EACD,OAAqC,KAA9B0qE,EAAYN,KAAKjB,SAAkCuB,EAAYN,KAAKpqE,WAAQwB,EAEvF,KAAK,EACL,KAAK,EACD,OAGR,MAAM,IAAIlD,MAAM,wBAeb,SAASqgG,GAAwCC,GAEpD,OAAOA,EAAMp4E,KAAKq4E,IACd,GAAuB,IAAnBA,EAAUn9F,KACV,OAAOm9F,EAGX,MAAMC,EAAiC,IAAKD,GAE5C,OADAC,EAAaX,eAAgB,EACtBW,KAIR,SAASC,GAAkCttF,GAG9C,MAAO,CACH/P,KAAM,EACN0oE,UAAM5oE,EACNiQ,OACAutF,qBAAqB,EACrB7vF,MnBrBG,CACH3Q,MA1CG,CACHo+B,KAAM,EACNC,UAAW,GAyCXp+B,IA3CG,CACHm+B,KAAM,EACNC,UAAW,ImB6DXgxC,gBAAiB,IAAIrtD,IACrB29E,eAAe,EACfzwB,WAAY,GACZuxB,iBAAiB,GC9LlB,SAASC,GAAuBC,GAEnC,MAGMj1C,EAHYi1C,EAAU92F,QAAQ,MAAO,IAAIA,QAAQ,MAAO,YAGtC4H,MAAM,MAG9B,IAAImvF,EAAqB/6F,OAAOs4B,UAChCutB,EAAMliC,SAAQ,CAAC4U,EAAM/P,KAEjB,GAAIq9B,EAAMxsD,QAAU,GAAKmvB,EAAQ,EAAG,CAChC,MAAMwyE,EAAUziE,EAAK0iE,WACjBD,IACAD,EAAqB55F,KAAKC,IAAI25F,EAAoBxiE,EAAKl/B,OAAS2hG,EAAQ3hG,aAMhF0hG,GAAsB/6F,OAAOs4B,YAC7ByiE,EAAqB,GAIzB,MAAMG,EAAyB,GAU/B,IATAr1C,EAAMliC,SAAQ,CAAC4U,EAAM/P,KACH,IAAVA,EACA0yE,EAAaxhG,KAAK6+B,EAAKt0B,QAEvBi3F,EAAaxhG,KAAK6+B,EAAKl4B,OAAO06F,GAAoBI,gBAKnDD,EAAa7hG,OAAS,GAAgC,IAA3B6hG,EAAa,GAAG7hG,QAC9C6hG,EAAat9E,QAGjB,KAAOs9E,EAAa7hG,OAAS,GAAsD,IAAjD6hG,EAAaA,EAAa7hG,OAAS,GAAGA,QACpE6hG,EAAa5iD,MAGjB,OAAO4iD,EAGJ,SAASE,GAA8BC,EAA2BC,GACrE,IAAKD,IAAsBC,EACvB,OAiBJ,MAAMC,EAAiBV,GAAuBQ,GAC9C,IAAK,MAAM9iE,KAAQgjE,EAAgB,CAC/B,MAAMtqB,EAAc14C,EAAKt0B,OAGzB,IAAIu3F,EAAcvqB,EAAY/2E,QAAQ,UAAYohG,GAClD,GAAIE,GAAe,EACf,OAAOvqB,EAAY5wE,OAAOm7F,EAAc,GAK5C,GADAA,EAAcvqB,EAAY/2E,QAAQ,UAAYohG,GAC1CE,GAAe,EACf,OAAOvqB,EAAY5wE,OAAOm7F,EAAc,GAK5C,GADAA,EAAcvqB,EAAY/2E,QAAQohG,EAAY,MAC1CE,GAAe,EACf,OAAOvqB,EAAY5wE,OAAOm7F,GAK9B,GADAA,EAAcvqB,EAAY/2E,QAAQohG,EAAY,MAC1CE,GAAe,EACf,OAAOvqB,EAAY5wE,OAAOm7F,ICrF/B,SAASC,GAA2BC,GACvC,OAAO,IAAIC,GAAmBD,GAAWE,UAMtC,SAASC,GAA4BH,GACxC,MAAM71C,EAAQg1C,GAAuBa,GAC/BphG,EAAmB,GAEzB,IAAK,MAAMi+B,KAAQstB,EAAO,CACtB,MAAM9+C,EAAOzM,EAAOjB,OAAS,EAAIiB,EAAOA,EAAOjB,OAAS,QAAK8D,EACzD2+F,GAAyBvjE,IAASujE,GAAyB/0F,IAI/DzM,EAAOZ,KAAK6+B,GAGhB,OAAOj+B,EAAOT,KAAK,MAAMkiG,UAS7B,MAAMC,GAA0B,OAC1BC,GAAsB,KACtBC,GAAoB,YACpBC,GAAmB,eACnBC,GAAoB,mBACpBC,GAAmB,mBACnBC,GAAwB,YACxBC,GAA4B,aAC5BC,GAA0B,gBAC1BC,GAAwB,iBACxBC,GAAoB,YACpBC,GAAsB,6BACtBC,GAAgB,SAChBC,GAA+B,kFAC/BC,GAA0B,kBAC1BC,GAAqB,mBAErBC,GAAwC,CAC1C,CAAEC,IAAK,kBAAmBp7C,YAAa,KACvC,CAAEo7C,IAAK,kBAAmBp7C,YAAa,KACvC,CAAEo7C,IAAK,kBAAmBp7C,YAAa,KACvC,CAAEo7C,IAAK,oBAAqBp7C,YAAa,MAIvCq7C,GAAmB,MACnBC,GAAmB,MACnBC,GAAc,KACdC,GAAa,MACbC,GAAsB,YACtBC,GAAa,kBAEbC,GAAmC,CACrC,CAAEP,IAAK,KAAMp7C,YAAa,QAC1B,CAAEo7C,IAAK,KAAMp7C,YAAa,SAIxB47C,GAA0B,UAC1BC,GAAgD,CAClD,CAAET,IAAK,UAAWp7C,YAAa,IAC/B,CAAEo7C,IAAK,cAAep7C,YAAa,OAEnC,CAAEo7C,IAAK,kBAAmBp7C,YAAa,KACvC,CAAEo7C,IAAK,kBAAmBp7C,YAAa,MAY3C,MAAM85C,GAgBFrxF,YAAYc,GAfJ,KAAAuyF,SAAW,GACX,KAAAC,sBAAuB,EACvB,KAAAC,mBAAoB,EACpB,KAAAC,uBAAwB,EAGxB,KAAAC,YAAuB,GAGvB,KAAAC,SAAW,EAEX,KAAAC,aAAe,EAKnB5/F,KAAK4nB,OAAS5nB,KAAK6/F,WACnB7/F,KAAK8/F,OAAStD,GAAuBzvF,GAGzCwwF,UAOI,IANiBv9F,KAAK8/F,OAAOrxC,MAAM2C,GAAMqtC,GAAwB7tC,KAAKQ,OAGlEpxD,KAAK8/F,OAAS9/F,KAAK8/F,OAAOh8E,KAAKstC,GAAMA,EAAEzrD,QAAQ+4F,GAAoB,YAG7B5/F,IAAnCkB,KAAK+/F,2BAAyC,CACjD,MAAMC,EAAShgG,KAAK4nB,OACdq4E,EAAajgG,KAAK2/F,SAKxB,GAHA3/F,KAAK4nB,SAGD5nB,KAAK4nB,SAAWo4E,GAAUhgG,KAAK2/F,WAAaM,EAC5C,MAeR,OATIjgG,KAAK4nB,SAAW5nB,KAAKkgG,qBACrBlgG,KAAK4nB,SAAW5nB,KAAKmgG,eACrBngG,KAAK4nB,SAAW5nB,KAAKogG,mBAErBpgG,KAAKqgG,yBAAyB,OACvBrgG,KAAKw/F,mBACZx/F,KAAKqgG,yBAAyB,KAAK,GAGhCrgG,KAAKs/F,SAAS15F,OAGjB06F,WACJtgG,KAAK2/F,WAGDI,0BACJ,OAAO//F,KAAK2/F,SAAW3/F,KAAK8/F,OAAO9kG,OAASgF,KAAK8/F,OAAO9/F,KAAK2/F,eAAY7gG,EAGrEyhG,eACJ,OAAOvgG,KAAK+/F,2BAA6B,GAGrCS,iBACJ,OAAOC,GAAoBzgG,KAAKugG,gBAG5BG,c,MACJ,OAAOD,GAAmD,QAA/B,EAAAzgG,KAAK2gG,QAAQ3gG,KAAK2/F,SAAW,UAAE,QAAI,IAG1DgB,QAAQrmG,GACZ,OAAOA,EAAI0F,KAAK8/F,OAAO9kG,OAASgF,KAAK8/F,OAAOxlG,QAAKwE,EAG7C8hG,mBACJ,OAAOH,GACHzgG,KAAK8/F,OAAOliG,MAAMoC,KAAK2/F,SAAW,GAAGp0B,MAAMna,IAAOqsC,GAAyBrsC,MAAO,IAIlFyvC,6BACJ,OAAO7gG,KAAKwgG,iBAAmBxgG,KAAK4/F,aAGhCkB,0BACJ,OAAO9gG,KAAKugG,eAAev+F,OAAOhC,KAAK4/F,cAGnCmB,iBAAiB94E,GACjBjoB,KAAK4nB,SAAW5nB,KAAK6/F,aACrB7/F,KAAKw/F,mBAAoB,GAG7Bx/F,KAAK0/F,YAAYrkG,KAAK2E,KAAK4nB,QAC3B5nB,KAAK4nB,OAASK,EAGV+4E,YACJhhG,KAAK4nB,OAAS5nB,KAAK0/F,YAAYx5E,OAAO,EAAG,GAAG,GAExClmB,KAAK4nB,SAAW5nB,KAAK6/F,aAErB7/F,KAAKw/F,mBAAoB,GAIzBK,aACJ,GAAIpC,GAAyBz9F,KAAK+/F,2BAE9B,YADA//F,KAAK4nB,OAAS5nB,KAAKihG,aAIvB,GAAIjhG,KAAKkhG,sBACL,OAGJ,GAAIlhG,KAAKmhG,qBACL,OAGJ,GAAInhG,KAAKohG,gBACL,OAGJ,GAAIphG,KAAKqhG,kBACL,OAGJ,GAAIrhG,KAAKshG,aACL,OAGJ,GAAIthG,KAAKuhG,kBACL,OAGJ,GAAIvhG,KAAKwhG,mBACL,OAGJ,MAAMtnE,EAAOl6B,KAAKyhG,uBAAuBzhG,KAAKugG,gBAE9CvgG,KAAK0hG,gBAAgBxnE,GACrBl6B,KAAKsgG,WAGDmB,uBAAuBvnE,GAC3B,MAAMynE,EAAO3hG,KAAK2gG,QAAQ3gG,KAAK2/F,SAAW,GACpCiC,EAAa5hG,KAAK0gG,cAClBmB,EAAa7hG,KAAKwgG,iBA0BxB,QAvBIqB,EAAaD,IACZnE,GAAyBkE,IACzB3hG,KAAKs/F,SAASrlC,SAAS,SACvBj6D,KAAKs/F,SAASrlC,SAAS,SACvB6nC,GAAUH,KAEX3hG,KAAKs/F,SAAWt/F,KAAKs/F,SAAS1hG,MAAM,GAAI,GAAK,QAI7CgkG,EAAaC,IACZpE,GAAyBkE,KACzB3hG,KAAKs/F,SAASrlC,SAAS,UACvBj6D,KAAKs/F,SAASrlC,SAAS,UAExBj6D,KAAKs/F,SAAWt/F,KAAKs/F,SAAS1hG,MAAM,GAAI,GAAK,QAG9B,IAAfgkG,GAAoB5hG,KAAKs/F,SAASrlC,SAAS,SAAWj6D,KAAKs/F,SAASrlC,SAAS,QACtEj6D,KAAK+hG,eAAe7nE,GAEpBA,EAAK8nE,YAKZD,eAAe7nE,GAEnB,OADOA,EAAKv0B,QAAQ,mBAAmB,CAACs8F,EAAQC,EAAIC,IAAO,SAAS3iB,OAAO0iB,EAAGlnG,QAAUmnG,IAIpFC,YAAYloE,GAKhB,OAJAilE,GAAY75E,SAAS+8E,IACjBnoE,EAAOA,EAAKv0B,QAAQ08F,EAAOzD,IAAKyD,EAAO7+C,gBAGpCtpB,EAGHwnE,gBAAgBxnE,GAGpB,MAAMh/B,GAFNg/B,EAAOl6B,KAAKsiG,oBAAoBpoE,IAEb3sB,MAAM,KAEzB,IAAK,IAAIjT,EAAI,EAAGA,EAAIY,EAAMF,OAAQV,IAAK,CACnC,IAAIq1E,EAAOz0E,EAAMZ,GAOjB,GALIA,EAAI,IACJ0F,KAAKw/F,mBAAqBx/F,KAAKw/F,kBAC/Bx/F,KAAKuiG,QAAQ,MAGbviG,KAAKw/F,kBACLx/F,KAAKuiG,QAAQ5yB,OADjB,CAOA,GAFAA,EAAO3vE,KAAKoiG,YAAYzyB,GAEd,IAANr1E,EAAS,CAET,GAAqB,IAAjBY,EAAMF,OAAc,CAEpB,IAAK,MAAMwnG,KAAkB7D,GACzB,GAAI6D,EAAe5D,IAAI5nD,KAAK24B,GAAO,CAC/BA,EAAOA,EAAKhqE,QAAQk5F,GAAkB2D,EAAeh/C,aACrD,MAMR,GAAIq6C,GAAkB7mD,KAAK24B,GAAO,CAC9B3vE,KAAKuiG,QAAQ5yB,EAAKhqE,QAAQo5F,GAAa,MACvC,SAOJ,GAAIjB,GAAiB9mD,KAAK24B,GAAO,CAC7B3vE,KAAKuiG,QAAQ5yB,EAAKhqE,QAAQq5F,GAAY,MACtC,UASR,MAAMvtC,EAAQ2sC,GAAsBxtC,KAAK+e,GAC3B,OAAVle,GAAmC,IAAjBA,EAAMz2D,SACxBgF,KAAKuiG,QAAQ9wC,EAAM,IACnBke,EAAOle,EAAM,IAgBJke,EAAKpiE,MAAM2xF,IACnB55E,SAAS0C,IAEVk3E,GAAWloD,KAAKhvB,GAChBhoB,KAAKuiG,QAAQv6E,GAGbhoB,KAAKuiG,QACDv6E,EAAKriB,QAAQs5F,IAAqB,CAACxtC,EAAe/vD,EAAgBU,IAC/B,OAA3BA,EAAI+kC,OAAOzlC,EAAS,GACb+vD,EAEJ,KAAOA,SAWlCzxD,KAAKs/F,UAAY,KAGbgD,oBAAoBpoE,GAExB,OAAIklE,GAAwBpoD,KAAK9c,GACtB,IAGXmlE,GAAyB/5E,SAAS0C,GAAUkS,EAAOA,EAAKv0B,QAAQqiB,EAAK42E,IAAK52E,EAAKw7B,eAE/EtpB,EAAOA,EAAKv0B,QAAQm5F,GAAkB,MAIlCmC,cACJ,GAAIxD,GAAyBz9F,KAAK+/F,2BAG9B,OAFA//F,KAAKyiG,mBACLziG,KAAKsgG,WAITtgG,KAAK4nB,OAAS5nB,KAAK6/F,WAGf6C,yBAAyBpkF,GAC7Bte,KAAKyiG,YAAY,OACjBziG,KAAK+gG,iBAAiBziF,GACtBte,KAAK4/F,aAAe5/F,KAAKwgG,iBAGrBU,sBACJ,QAAIlhG,KAAKugG,eAAe/qC,WAAW,SAC/Bx1D,KAAKyiG,YAAYziG,KAAKugG,gBACtBvgG,KAAK+gG,iBAAiB/gG,KAAKkgG,qBAC3BlgG,KAAKsgG,YACE,GAKPJ,sBACAlgG,KAAKugG,eAAe/qC,WAAW,QAC/Bx1D,KAAKyiG,YAAY,OACjBziG,KAAKyiG,cACLziG,KAAKghG,aAELhhG,KAAKyiG,YAAYziG,KAAKugG,gBAG1BvgG,KAAKsgG,WAGDc,gBACJ,QAAK7C,GAAcvnD,KAAKh3C,KAAKugG,kBAI7BvgG,KAAK0iG,yBAAyB1iG,KAAKmgG,eACnCngG,KAAKyiG,YAAYziG,KAAK8gG,2BACtB9gG,KAAKsgG,YACE,GAGHH,gBACJ,GAAIngG,KAAK6gG,8BAAgCpD,GAAyBz9F,KAAKugG,gBAInE,OAHAvgG,KAAKqgG,yBAAyB,OAC9BrgG,KAAKyiG,mBACLziG,KAAKghG,YAIThhG,KAAKyiG,YAAYziG,KAAK8gG,2BACtB9gG,KAAKsgG,WAGDa,qBAEJ,MAAMQ,EAAO3hG,KAAK2gG,QAAQ3gG,KAAK2/F,SAAW,GAC1C,QAAa7gG,IAAT6iG,EACA,OAAO,EACJ,IAAKlE,GAAyBkE,GACjC,OAAO,EAIX,IAAIrnG,EAAI0F,KAAK2/F,SAAW,EACxB,KAAOrlG,GAAK,EAAGA,IAAK,CAChB,MAAM4/B,EAAOl6B,KAAK2gG,QAAQrmG,GAC1B,IAAImjG,GAAyBvjE,GAA7B,CAKA,GAAIA,EAAM+/B,SAAS,MACf,MAGJ,OAAO,GAGX,QAAI3/D,EAAI,IAKsB,IAA1B0F,KAAKwgG,kBACLxgG,KAAKyiG,YAAY,OACjBziG,KAAK+gG,iBAAiB/gG,KAAK2iG,8BACpB,IAGX3iG,KAAK0iG,yBAAyB1iG,KAAKogG,oBAC5B,KAGHA,qBAEJ,OAAI3C,GAAyBz9F,KAAK+/F,4BAC9B//F,KAAKyiG,mBACLziG,KAAKsgG,YAILtgG,KAAK6gG,8BACL7gG,KAAKqgG,yBAAyB,OAC9BrgG,KAAKyiG,mBACLziG,KAAKghG,cAIThhG,KAAKyiG,YAAYziG,KAAK8gG,gCACtB9gG,KAAKsgG,YAGDqC,+BACJ3iG,KAAKyiG,YAAYziG,KAAKugG,gBACtBvgG,KAAKyiG,YAAY,OACjBziG,KAAKyiG,cACLziG,KAAKghG,YACLhhG,KAAKsgG,WAGDe,kBACJ,QAAKhD,GAAkBrnD,KAAKh3C,KAAKugG,kBAIjCvgG,KAAK+gG,iBAAiB/gG,KAAK4iG,iBAC3B5iG,KAAK4/F,aAAe5/F,KAAK4gG,mBACzB5gG,KAAKy/F,uBAAwB,GACtB,GAiBH8B,kB,QACJ,GAAIvhG,KAAKw/F,kBACL,OAAO,EAGX,IAAItlE,EAAOl6B,KAAKugG,eAGhB,GAAIrmE,EAAKs7B,WAAW,KAIhB,OAHAx1D,KAAKyiG,cACLziG,KAAK0hG,gBAAgBxnE,GACrBl6B,KAAKsgG,YACE,EAIX,MAAMuC,IACD3oE,aAAI,EAAJA,EAAM+/B,SAAS,SAAS//B,aAAI,EAAJA,EAAM+/B,SAAS,SAAkC,QAAxB,EAAgB,QAAhB,EAAA//B,EAAKu3B,MAAM,aAAK,eAAEz2D,cAAM,QAAI,GAAK,GAAM,EAGvF8nG,EAAgBtE,GAA6BxnD,KAAK9c,GAExD,GAAI2oE,GAAmBC,EAAe,CAClC,MAAMnB,EAAO3hG,KAAK2gG,QAAQ3gG,KAAK2/F,SAAW,GAU1C,OARK3/F,KAAKs/F,SAASrlC,SAAS,SAAYj6D,KAAKs/F,SAASrlC,SAAS,SAAY6nC,GAAUH,KACjF3hG,KAAKs/F,SAAWt/F,KAAKs/F,SAAS1hG,MAAM,GAAI,GAAK,QAIjDs8B,EAAOl6B,KAAK+hG,eAAe7nE,GAC3Bl6B,KAAK0hG,gBAAgBxnE,GACrBl6B,KAAKsgG,YACE,EAGX,OAAO,EAGHkB,mBACJ,GAAIxhG,KAAKw/F,kBACL,OAAO,EAGX,MAAMtlE,EAAOl6B,KAAKugG,eAElB,QAAIxC,GAAkB/mD,KAAK9c,KACvBl6B,KAAK+iG,YAAc,CAAE74E,OAAQgQ,EAAK8nE,YAAagB,UAAU,GACzDhjG,KAAKsgG,WACLtgG,KAAK+gG,iBAAiB/gG,KAAKijG,mBACpB,GAqBPA,mBACJ,GAAIxF,GAAyBz9F,KAAK+/F,6BAA+B//F,KAAK+iG,YAGlE,OAFA/iG,KAAK+iG,iBAAcjkG,OACnBkB,KAAKghG,YAIT,IAAI9mE,EAAOl6B,KAAKugG,eAEhB,GAAIxC,GAAkB/mD,KAAK9c,GAKvB,OAJAl6B,KAAKsgG,WACLtgG,KAAKyiG,YAAY,aACjBziG,KAAKghG,iBACLhhG,KAAK+iG,iBAAcjkG,GAEhB,CACH,IAAIokG,EAAgB,IACpB,MAAMC,EAAcnjG,KAAK+iG,YAAY74E,OAAO3c,MAAM,KAC5C61F,EAA0B,GAEhC,GAAIpjG,KAAK+iG,YAAYC,SAAU,CAC3B,EAAG,CAKC,IAAIK,EAAW,EACf,IAAK,IAAI/oG,EAAI,EAAGA,EAAI6oG,EAAYnoG,OAAQV,IAAK,CACzC,MACMK,EADWwoG,EAAY7oG,GACRU,OAAS,EACxBsoG,EAAYppE,EAAKt8B,MAAMylG,EAAUA,EAAW1oG,QAEzBmE,IAArBskG,EAAc9oG,GACd8oG,EAAc9oG,GAAK,GAAGgpG,KAEtBF,EAAc9oG,GAAK8oG,EAAc9oG,GAAG0K,OAAO,OAAOs+F,MAEtDD,GAAY1oG,EAEhBqF,KAAKsgG,WACLpmE,EAAOl6B,KAAKugG,sBAEX9C,GAAyBz9F,KAAK+/F,6BAC9B/B,GAAiBhnD,KAAK9c,KACtB6jE,GAAkB/mD,KAAK9c,IAG5Bl6B,KAAK+iG,YAAYC,UAAW,EAG5BI,EAAc99E,SAASsqC,IACnBszC,GAAiB,GAAGtzC,QAExB5vD,KAAKyiG,YAAYS,GAGjB,MAAMK,EAAerpE,EAAK8nE,YAAYr8F,QAAQ,KAAM,KAAKA,QAAQ,IAAK,KACtE3F,KAAKyiG,YAAY,IAAIc,MACrBvjG,KAAKsgG,eACF,CAEH,IAAI+C,EAAW,EACfF,EAAY79E,SAASk+E,IACjB,MAAM7oG,EAAM6oG,EAAOxoG,OAAS,EACtBsoG,EAAYppE,EAAKt8B,MAAMylG,EAAUA,EAAW1oG,GAClDuoG,GAAiB,GAAGI,KAEpBD,GAAY1oG,KAGhBqF,KAAKyiG,YAAYS,GACjBljG,KAAKsgG,aAKTgB,aACJ,GAAIthG,KAAKw/F,kBACL,OAAO,EAGX,IAAItlE,EAAOl6B,KAAKugG,eAChB,MAAMkD,EAAYxF,GAAsBrtC,KAAK12B,GAC7C,GAA0B,KAAtBupE,aAAS,EAATA,EAAWzoG,QAYX,OAVIyoG,EAAU,GAAGzoG,QAAU,IACvBk/B,EAAO,IAAIslD,OAAOikB,EAAU,GAAGzoG,OAAS,GAAKk/B,EAAK0iE,YAGtD58F,KAAK0hG,gBAAgBxnE,GACrBl6B,KAAKsgG,WAEDtgG,KAAK4nB,SAAW5nB,KAAK0jG,YACrB1jG,KAAK+gG,iBAAiB/gG,KAAK0jG,aAExB,EAGX,MAAMC,EAAgBzF,GAA0BttC,KAAK12B,GACrD,GAA8B,KAA1BypE,aAAa,EAAbA,EAAe3oG,QAaf,OAZgC,IAA5B2oG,EAAc,GAAG3oG,OACjBk/B,EAAOA,EAAO,IAAMA,EACbypE,EAAc,GAAG3oG,QAAU,IAElCk/B,EAAO,IAAIslD,OAAOmkB,EAAc,GAAG3oG,OAAS,GAAKk/B,EAAK0iE,YAG1D58F,KAAK0hG,gBAAgBxnE,GACrBl6B,KAAKsgG,WACDtgG,KAAK4nB,SAAW5nB,KAAK0jG,YACrB1jG,KAAK+gG,iBAAiB/gG,KAAK0jG,aAExB,EAGX,MAAME,EAAoBzF,GAAwBvtC,KAAK12B,GACvD,OAAkC,KAA9B0pE,aAAiB,EAAjBA,EAAmB5oG,UACnBgF,KAAK0hG,gBAAgBxnE,GACrBl6B,KAAKsgG,YACE,GAMPoD,aACJ,GAAIjG,GAAyBz9F,KAAK+/F,4BAA8B//F,KAAK6gG,6BACjE7gG,KAAKghG,iBAQT,IAHyBhhG,KAAKshG,aAGT,CACjB,MAAMpnE,EAAOl6B,KAAKugG,eAAeyB,YACjChiG,KAAK0hG,gBAAgBxnE,GACrBl6B,KAAKsgG,YAILsC,kBAGJ,MAAMnxC,EAAQ6sC,GAAoB1tC,KAAK5wD,KAAKugG,gBAC5C,GAAc,OAAV9uC,GAAmC,IAAjBA,EAAMz2D,OAAc,CACtC,MAAM6oG,EAAgBpyC,EAAM,GACtBqyC,EAAYryC,EAAM,GAEF,UAAlBoyC,IACA7jG,KAAKy/F,uBAAwB,EAC7Bz/F,KAAKyiG,cACLziG,KAAKyiG,YAAY,OACjBziG,KAAKyiG,YAAYqB,GACjB9jG,KAAKyiG,YAAY,OACjBziG,KAAKyiG,eAIa,IAAtBziG,KAAK4/F,aAEL5/F,KAAKghG,YAELhhG,KAAK4nB,OAAS5nB,KAAK+jG,qBAGvB/jG,KAAKsgG,WAGDyD,uBACCtG,GAAyBz9F,KAAK+/F,6BAA8B//F,KAAK6gG,8BAKlE7gG,KAAKy/F,uBAGLz/F,KAAK0hG,gBAAgB1hG,KAAKugG,eAAe3D,YAG7C58F,KAAKsgG,YAVDtgG,KAAKghG,YAaLyB,YAAYvoE,GACXujE,GAAyBvjE,GAGlBl6B,KAAKu/F,uBACbv/F,KAAKs/F,UAAY,KACjBt/F,KAAKu/F,sBAAuB,IAJ5Bv/F,KAAKs/F,UAAYplE,EAAO,KACxBl6B,KAAKu/F,sBAAuB,GAO5BgD,QAAQnrE,GACZp3B,KAAKs/F,UAAYloE,EACjBp3B,KAAKu/F,sBAAuB,EAGxBc,yBAAyBnmE,EAAc8pE,GAAY,GACvDhkG,KAAKs/F,SAAWt/F,KAAKs/F,SAASxC,YAC9B98F,KAAKu/F,sBAAuB,EAEvByE,GACDhkG,KAAKyiG,cAGTziG,KAAKyiG,YAAYvoE,IAIzB,SAASumE,GAAoBjyF,GACzB,OAAOA,EAAEy1F,OAAOtG,IAGpB,SAASF,GAAyBjvF,GAC9B,YAAa1P,IAAN0P,IAAoBovF,GAAoB5mD,KAAKxoC,GAGxD,SAASszF,GAAU5nE,G,QACf,YAAgBp7B,IAATo7B,IAA4D,QAArC,EAA6B,QAA7B,EAAAA,EAAKu3B,MAAM,0BAAkB,eAAEz2D,cAAM,QAAI,GAAK,EC5zBzE,SAASkpG,GAAgBx8B,GAE5B,OAAOE,GADW0vB,GAAuB5vB,ICyDtC,MAAMy8B,GAAyB,IAE/B,MAAMC,GACTn4F,YAAmByjF,EAA0B2U,EAAyBC,GAAnD,KAAA5U,YAA0B,KAAA2U,WAAyB,KAAAC,YAMnE,MAAMC,GAAwB,GA6B9B,IAAUC,GAmFAC,GAgBAC,GA4BAC,GAwQAC,GAwkBAC,GAocAC,GAmBAC,GAyBAC,GA2BAC,GAyBAC,GAmGAC,GA4JAC,GAkIV,SAASC,GAAQrmG,GACpB,OAAyB,IAAlBA,EAAKs/D,SAGT,SAASgnC,GAAetmG,GAC3B,OAAyB,IAAlBA,EAAKs/D,UAAkCkmC,GAASvmG,WAAWe,GAG/D,SAASumG,GAAgBvmG,GAC5B,OAAyB,IAAlBA,EAAKs/D,UAAkCkmC,GAASgB,eAAexmG,GAGnE,SAASymG,GAAMzmG,GAClB,OAAyB,IAAlBA,EAAKs/D,SAGT,SAASonC,GAAU1mG,GACtB,OAAyB,IAAlBA,EAAKs/D,SAGT,SAASqnC,GAAe3mG,GAC3B,OAAsB,IAAlBA,EAAKs/D,UAAmD,IAAlBt/D,EAAKs/D,YAI3CsnC,GAAQ5mG,SAC6DF,IAA9DE,EAAK6mG,SAASt6B,MAAMu6B,IAAaH,GAAeG,KAMxD,SAASC,GAAU/mG,GACtB,OAAyB,IAAlBA,EAAKs/D,SAGT,SAASsnC,GAAQ5mG,GACpB,OAAyB,IAAlBA,EAAKs/D,SAGT,SAAS0nC,GAAkBhnG,GAC9B,QAAI+mG,GAAU/mG,MAIV4mG,GAAQ5mG,SAC+DF,IAAhEE,EAAK6mG,SAASt6B,MAAMu6B,GAAYE,GAAkBF,KAM1D,SAASG,GAAQjnG,GACpB,OAAyB,IAAlBA,EAAKs/D,SAGT,SAAS4nC,GAAoBlnG,GAChC,OAAyB,IAAlBA,EAAKs/D,UAAmCkmC,GAASgB,eAAexmG,GAGpE,SAASmnG,GAAgBnnG,GAC5B,OAAyB,IAAlBA,EAAKs/D,UAAmCkmC,GAASvmG,WAAWe,GAGhE,SAASonG,GAASpnG,GACrB,OAAyB,IAAlBA,EAAKs/D,SAGT,SAAS+nC,GAAUrnG,GACtB,OAAyB,KAAlBA,EAAKs/D,SAGT,SAASgoC,GAAkBtnG,GAC9B,OAAyB,KAAlBA,EAAKs/D,UAAqCt/D,EAAKunG,QAAQC,WAG3D,SAASC,GAA0BznG,GAItC,OAHI4mG,GAAQ5mG,IAAkC,IAAzBA,EAAK6mG,SAAS7qG,SAC/BgE,EAAOA,EAAK6mG,SAAS,IAEA,KAAlB7mG,EAAKs/D,UAAqCt/D,EAAKunG,QAAQC,cAAgBxnG,EAAK0nG,mBAGhF,SAASC,GAAgB3nG,GAC5B,SAAKinG,GAAQjnG,KAAUA,EAAK4nG,YAOzB,SAASA,GAAW5nG,GACvB,OAAOynG,GAA0BznG,IAAS2nG,GAAgB3nG,GAGvD,SAAS6nG,GAAY7nG,GACxB,OAAyB,KAAlBA,EAAKs/D,UAAqCt/D,EAAKunG,QAAQM,YAG3D,SAASC,GAAW9nG,GACvB,OAAyB,IAAlBA,EAAKs/D,SAGT,SAASyoC,GAAqB/nG,GACjC,OAAyB,IAAlBA,EAAKs/D,SAGT,SAAS0oC,GAAiBhoG,GAC7B,OAAIA,EAAKioG,cACEjoG,EAAKioG,cAIZZ,GAAUrnG,IACVA,EAAKunG,QAAQW,wBACbloG,EAAKunG,QAAQY,WACbnoG,EAAKunG,QAAQY,UAAUF,cAEhBjoG,EAAKunG,QAAQY,UAAUF,mBANlC,EAeG,SAASG,GACZC,EACAC,EACAC,GAAsB,EACtBC,GAAkB,EAClBC,EAAiB,G,QAEjB,GAAIJ,IAAUC,EACV,OAAO,EAGX,GAAID,EAAM/oC,WAAagpC,EAAMhpC,SACzB,OAAO,EAGX,IAAKkpC,GAAmBH,EAAMn+B,QAAUo+B,EAAMp+B,MAC1C,OAAO,EAGX,GAAIu+B,EAAiBlD,GACjB,OAAO,EAIX,OAFAkD,IAEQJ,EAAM/oC,UACV,KAAK,EAAoB,CACrB,MAAMopC,EAAaJ,EAGnB,IAAK1C,GAAU+C,mBAAmBN,EAAOK,EAAYD,GACjD,OAAO,EAGX,IAAKvC,GAAc0C,OAAOP,EAAMQ,UAAWP,EAAMO,WAC7C,OAAO,EAGX,IAAKN,IAAwB3C,GAAUkD,qBAAqBT,GAExD,GAAIA,EAAMU,oBAAsBL,EAAWK,mBAAoB,CAC3D,MAAMC,EAAqBX,EAAMU,oBAAsB,GACjDE,EAAqBP,EAAWK,oBAAsB,GAC5D,GAAIC,EAAmBhtG,SAAWitG,EAAmBjtG,OACjD,OAAO,EAGX,IAAK,IAAIV,EAAI,EAAGA,EAAI0tG,EAAmBhtG,OAAQV,IAAK,CAChD,IACK8sG,GACGY,EAAmB1tG,GAAG0E,KACtBipG,EAAmB3tG,GAAG0E,KACtBuoG,GACsB,EACtBE,GAGJ,OAAO,EAGX,GAAIO,EAAmB1tG,GAAG4tG,cAAgBD,EAAmB3tG,GAAG4tG,YAC5D,OAAO,OAGZ,CACH,MAAMC,EAAgBd,EAAMe,eAAiB,GACvCC,EAAgBX,EAAWU,eAAiB,GAC5CE,EAAexlG,KAAK4C,IAAIyiG,EAAcntG,OAAQqtG,EAAcrtG,QAElE,IAAK,IAAIV,EAAI,EAAGA,EAAIguG,EAAchuG,IAK9B,IACK8sG,GAJY9sG,EAAI6tG,EAAcntG,OAASmtG,EAAc7tG,GAAK2qG,GAAQ9yF,SACtD7X,EAAI+tG,EAAcrtG,OAASqtG,EAAc/tG,GAAK2qG,GAAQ9yF,SAM/Do1F,GACsB,EACtBE,GAGJ,OAAO,EAMvB,QAAK7C,GAAU2D,mBAAmBlB,EAAOK,GAO7C,KAAK,EAAuB,CAExB,MAAMc,EAAgBlB,EAChBmB,EAAUpB,EAAMd,QAAQljE,WACxBqlE,EAAUF,EAAcjC,QAAQljE,WAEtC,GAAIolE,EAAQztG,SAAW0tG,EAAQ1tG,OAC3B,OAAO,EAGX,MAAM2tG,EAAuBF,EAAQlZ,WAChCnsE,GAA6B,IAAnBA,EAAMk7C,WAA0Cl7C,EAAM/W,OAE/Du8F,EAAuBF,EAAQnZ,WAChCnsE,GAA6B,IAAnBA,EAAMk7C,WAA0Cl7C,EAAM/W,OAIrE,IAAK,IAAI/R,EAAI,EAAGA,EAAImuG,EAAQztG,OAAQV,IAAK,CACrC,MAAMuuG,EAASJ,EAAQnuG,GACjBwuG,EAASJ,EAAQpuG,GAEvB,GAAIuuG,EAAOvqC,WAAawqC,EAAOxqC,SAC3B,OAAO,EAGX,MAAMyqC,OAA2CjqG,IAAzB6pG,GAAsCruG,GAAKquG,EAGnE,GAAII,UAF6CjqG,IAAzB8pG,GAAsCtuG,GAAKsuG,GAG/D,OAAO,EAGX,GAAIG,GACIF,EAAOx8F,OAASy8F,EAAOz8F,KACvB,OAAO,EAMf,IACK+6F,GAHcvC,GAAamE,0BAA0B3B,EAAO/sG,GAC9CuqG,GAAamE,0BAA0BR,EAAeluG,GAKjEitG,GACsB,EACtBE,GAGJ,OAAO,EAKf,IAAIwB,EAAc5B,EAAMd,QAAQ2C,mBAC5B7B,EAAM8B,kBAAoB9B,EAAM8B,iBAAiBC,aACjDH,EAAc5B,EAAM8B,iBAAiBC,aAEpCH,GAAe5B,EAAMgC,qBACtBJ,EAAc5B,EAAMgC,oBAGxB,IAAIC,EAAcd,EAAcjC,QAAQ2C,mBAQxC,OAPIV,EAAcW,kBAAoBX,EAAcW,iBAAiBC,aACjEE,EAAcd,EAAcW,iBAAiBC,aAE5CE,GAAed,EAAca,qBAC9BC,EAAcd,EAAca,wBAG5BJ,IAAeK,GAEVL,GACAK,GACAlC,GACG6B,EACAK,EACA/B,GACsB,EACtBE,IAUhB,KAAK,EAAiC,CAElC,MAAMe,EAAgBlB,EACtB,GAAID,EAAMkC,UAAUvuG,SAAWwtG,EAAce,UAAUvuG,OACnD,OAAO,EAKX,IAAK,IAAIV,EAAI,EAAGA,EAAI+sG,EAAMkC,UAAUvuG,OAAQV,IACxC,IACK8sG,GACGC,EAAMkC,UAAUjvG,GAChBkuG,EAAce,UAAUjvG,GACxBitG,EACAC,EACAC,GAGJ,OAAO,EAIf,OAAO,EAGX,KAAK,EAAoB,CACrB,MAAM+B,EAAalC,EACbmC,EAAYpC,EAAMxB,SAClB6D,EAAYF,EAAW3D,SAE7B,OAAI4D,EAAUzuG,SAAW0uG,EAAU1uG,aAQ/B8D,IADA6qG,GAAYtC,GAAQvB,IAAaX,GAAUyE,aAAaJ,EAAY1D,EAAS2B,KAKrF,KAAK,GAAsB,CACvB,MAAMoC,EAAevC,EAErB,GAAID,EAAMyC,UAAYD,EAAaC,QAC/B,OAAO,EAKX,GAAIzC,EAAMd,QAAQwD,yBAA2BF,EAAatD,QAAQwD,wBAAyB,CACvF,MAAM5B,GAAoC,QAApB,EAAAd,aAAK,EAALA,EAAOJ,qBAAa,eAAEmB,gBAAiB,GACvDC,GAAoC,QAApB,EAAAf,aAAK,EAALA,EAAOL,qBAAa,eAAEmB,gBAAiB,GACvDE,EAAexlG,KAAK4C,IAAIyiG,EAAcntG,OAAQqtG,EAAcrtG,QAElE,IAAK,IAAIV,EAAI,EAAGA,EAAIguG,EAAchuG,IAK9B,IACK8sG,GAJY9sG,EAAI6tG,EAAcntG,OAASmtG,EAAc7tG,GAAK2qG,GAAQ9yF,SACtD7X,EAAI+tG,EAAcrtG,OAASqtG,EAAc/tG,GAAK2qG,GAAQ9yF,SAM/Do1F,GACsB,EACtBE,GAGJ,OAAO,EAKnB,GAAIJ,EAAMd,UAAYsD,EAAatD,QAC/B,OAAO,EAGX,GACIc,EAAMd,QAAQl6F,OAASw9F,EAAatD,QAAQl6F,MAC5Cg7F,EAAMd,QAAQM,cAAgBgD,EAAatD,QAAQM,aACnDQ,EAAMd,QAAQC,aAAeqD,EAAatD,QAAQC,YAClDa,EAAMd,QAAQyD,gBAAkBH,EAAatD,QAAQyD,eACrD3C,EAAMd,QAAQ0D,WAAaJ,EAAatD,QAAQ0D,UAChD5C,EAAMyC,UAAYD,EAAaC,QAE/B,OAAO,EAGX,MAAMI,EAAa7C,EAAMd,QAAQY,UAC3BgD,EAAaN,EAAatD,QAAQY,UACxC,GAAI+C,GACA,IACKC,IACA/C,GACG8C,EACAC,EACA5C,GACsB,EACtBE,GAGJ,OAAO,OAGX,GAAI0C,EACA,OAAO,EAIf,MAAMC,EAAe/C,EAAMd,QAAQ8D,YAC7BC,EAAeT,EAAatD,QAAQ8D,YAC1C,GAAID,EAAapvG,SAAWsvG,EAAatvG,OACrC,OAAO,EAGX,IAAK,IAAIV,EAAI,EAAGA,EAAI8vG,EAAapvG,OAAQV,IACrC,IACK8sG,GACGgD,EAAa9vG,GACbgwG,EAAahwG,GACbitG,GACsB,EACtBE,GAGJ,OAAO,EAIf,OAAO,EAGX,KAAK,EAAqB,CACtB,MAAM8C,EAAcjD,EAIpB,OAAID,EAAMmD,SAAWD,EAAYC,QAMP,IAAtBnD,EAAMmD,OAAOlrG,MAA0C,IAA5BirG,EAAYC,OAAOlrG,MAQ1D,OAAO,EAKJ,SAASmrG,GAAuBzrG,GACnC,OAAO0rG,GAAgB1rG,GAAOutD,GAAYm5C,GAAUn5C,KAKjD,SAASo+C,GAAc3rG,GAC1B,OAAI4mG,GAAQ5mG,GACD0rG,GAAgB1rG,GAAOutD,GAAYw5C,GAAUx5C,KAGpDw5C,GAAU/mG,GACH0lG,GAAYvyF,SAGhBnT,EAKJ,SAAS4rG,GAAoB5rG,GAChC,OAAO0rG,GAAgB1rG,GAAOutD,GAAY+4C,GAAe/4C,KAGtD,SAASm+C,GAAgB1rG,EAAY6rG,GACxC,GAAIjF,GAAQ5mG,GAAO,CACf,MAAM8rG,EAAiB9rG,EAAK6mG,SAASh9C,QAAQ0D,IAAOs+C,EAAat+C,KACjE,GAAIu+C,EAAe9vG,OAASgE,EAAK6mG,SAAS7qG,OAAQ,CAC9C,MAAM+vG,EAAUC,GAAaF,GAM7B,OAJIlF,GAAQmF,IACR5F,GAAU8F,mBAAmBF,EAAS/rG,GAGnC+rG,GAIf,OAAO/rG,EAGJ,SAAS2qG,GAAY3qG,EAAY6pD,GACpC,OAAI+8C,GAAQ5mG,GACDA,EAAK6mG,SAASt6B,MAAMu6B,GAChBj9C,EAAOi9C,KAIfj9C,EAAO7pD,GAAQA,OAAOF,EAO1B,SAASksG,GAAanF,EAAkBqF,GAE3C,IAAIC,GAAc,EAOlB,GAAwB,KANxBtF,EAAWA,EAASh9C,QAAQi9C,IACC,IAArBA,EAAQxnC,UAAmCwnC,EAAQsF,aACnDD,GAAc,GAEU,IAArBrF,EAAQxnC,aAENtjE,OACT,OAAOmwG,EAAcnG,GAAUqG,iBAAmBrG,GAAUsG,cAKhE,IAAIC,GAAqB,EACzB,IAAK,IAAIphF,EAAQ,EAAGA,EAAQ07E,EAAS7qG,OAAQmvB,IACzC,GAAI07E,EAAS17E,KAAW07E,EAAS,GAAI,CACjC0F,GAAqB,EACrB,MAIR,GAAIA,EACA,OAAO1F,EAAS,GAIpB,IAAI2F,EAAwB,GAC5B,MAAMC,EAAgC,GACtC,IAAK,MAAM3F,KAAWD,EACdD,GAAQE,IACR0F,EAAcnwG,QAAQyqG,EAAQD,UAC1BC,EAAQmB,cACRwE,EAAiBpwG,KAAKyqG,GACfA,EAAQ2F,kBACfA,EAAiBpwG,QAAQyqG,EAAQ2F,mBAGrCD,EAAcnwG,KAAKyqG,GA6B3B,GAxBA0F,EAAgBA,EAAchyC,MAAK,CAAC6tC,EAAOC,IAElCnB,GAAgBkB,SAAiCvoG,IAAvBuoG,EAAMqE,cAChCxF,GAAoBmB,SAAiCvoG,IAAvBuoG,EAAMqE,aAE9B,EAENvF,GAAgBmB,SAAiCxoG,IAAvBwoG,EAAMoE,cAChCxF,GAAoBoB,SAAiCxoG,IAAvBwoG,EAAMoE,cAE7B,EAGRvF,GAAgBkB,IAAUA,EAAMsE,iBACzB,EACAxF,GAAgBmB,IAAUA,EAAMqE,kBAC/B,EAGL,IAKkB,IAAzBH,EAAcxwG,OACd,OAAO0pG,GAAYvyF,SAGvB,MAAMy5F,EAAezG,GAAUhzF,SAC3Bs5F,EAAiBzwG,OAAS,IAC1B4wG,EAAaH,iBAAmB,IAAI36D,IACpC26D,EAAiBnmF,SAAS3D,IACtBiqF,EAAaH,iBAAkB7lF,IAAIjE,OAI3C,IAAIkqF,GAAqB,EAczB,OAZAL,EAAclmF,SAAQ,CAACwgF,EAAS37E,KACd,IAAVA,EACAg7E,GAAU2G,QAAQF,EAAc9F,QAERhnG,IAApBosG,GAAiCU,EAAa/F,SAAS7qG,OAASkwG,EA4ChF,SAA0Ba,EAAsBC,GAI5C,GAAI7F,GAAgB6F,SAAsCltG,IAAxBktG,EAAUnE,UAAyB,CACjE,GACIjD,GAAUqH,UAAUD,EAAW,aACJltG,IAA3BktG,EAAUN,mBACkB5sG,IAA5BitG,EAAUG,cAKV,YAHKH,EAAUG,cAAc9nF,IAAI4nF,EAAUN,eACvCvG,GAAU2G,QAAQC,EAAWC,IAG9B,GACHpH,GAAUqH,UAAUD,EAAW,aACJltG,IAA3BktG,EAAUN,mBACkB5sG,IAA5BitG,EAAUI,cAKV,YAHKJ,EAAUI,cAAc/nF,IAAI4nF,EAAUN,eACvCvG,GAAU2G,QAAQC,EAAWC,IAMzC,IAAK,IAAI1xG,EAAI,EAAGA,EAAIyxG,EAAUlG,SAAS7qG,OAAQV,IAAK,CAChD,MAAM0E,EAAO+sG,EAAUlG,SAASvrG,GAGhC,GAAI8sG,GAAWpoG,EAAMgtG,GACjB,OAKJ,GAAI7F,GAAgBnnG,IAASmnG,GAAgB6F,GAAY,CACrD,GAAII,GAA0BptG,EAAMgtG,SACNltG,IAAtBE,EAAK0sG,aACL,OAMR,GACI9G,GAAUqH,UAAUjtG,EAAM,UACzBA,EAAK6oG,WACNjD,GAAUqH,UAAUD,EAAW,UAC9BA,EAAUnE,gBAEoB/oG,IAA3BktG,EAAUN,eAA+BM,EAAUN,eAAiB1sG,EAAK0sG,aAEzE,YADAK,EAAUlG,SAASvrG,GAAKsqG,GAAUyH,iBAAiBrtG,OAAMF,IAQrE,GAAIqnG,GAAgB6F,IAAcA,EAAUL,kBACpCxF,GAAgBnnG,IAAS4lG,GAAU+C,mBAAmB3oG,EAAMgtG,GAC5D,OAKZ7G,GAAU2G,QAAQC,EAAWC,GA9GjBM,CAAiBV,EAAc9F,GAE/B+F,GAAqB,KAK7BA,EACO5G,GAAQ9yF,SAIkB,IAAjCy5F,EAAa/F,SAAS7qG,OACf4wG,EAAa/F,SAAS,GAG1B+F,EAMJ,SAASQ,GAA0BG,EAAgBC,GAEtD,QAAIpF,GAAWmF,EAAUC,KAIrBtG,GAAoBsG,SAAqC1tG,IAAzB0tG,EAAQd,iBAMxCvF,GAAgBqG,SAAqC1tG,IAAzB0tG,EAAQd,gBAH7BtE,GAAWmF,EADlBC,EAAU5H,GAAUyH,iBAAiBG,OAAS1tG,KAv/EtD,SAAiB0lG,GAyBb,SAAgBiI,EAA8BztG,GAC1C,MAAO,IAAKA,GAzBA,EAAAwmG,eAAhB,SAA+BxmG,GAC3B,OAAiD,IAA5B,EAAbA,EAAKkqE,QAGD,EAAAjrE,WAAhB,SAA2Be,GACvB,OAA6C,IAAxB,EAAbA,EAAKkqE,QAGD,EAAAwjC,YAAhB,SAA4B1tG,GACxB,OAA8C,IAAzB,EAAbA,EAAKkqE,QAGD,EAAAyjC,cAAhB,SAA8B3tG,GAC1B,OAAgD,IAA3B,EAAbA,EAAKkqE,QAGD,EAAA0jC,eAAhB,SAA+B5tG,GAC3B,OAAQA,EAAKkqE,OAAS,GAGV,EAAA2jC,YAAhB,SAA4B7tG,GACxB,QAASA,EAAK6tG,aAGF,EAAAJ,UAAS,EAIT,EAAAK,kBAAhB,SACI9tG,EACAqN,EACA0gG,EACAC,EACAC,EACAC,GAEA,MAAMC,EAAYV,EAAUztG,GAU5B,OARAmuG,EAAUlG,cAAgB,CACtB56F,OACA0gG,WACAK,eAAgBH,EAChB7E,cAAe8E,EACfF,kBAGGG,GAGK,EAAAE,kBAAhB,SAAkCruG,GAC9B,MAAMmuG,EAAYV,EAAUztG,GAE5B,OADAmuG,EAAUjkC,OAAS,EACZikC,GAGK,EAAAG,kBAAhB,SAAkDtuG,EAAS6oG,GAGvD,QAAuB/oG,IAAnBE,EAAK6oG,gBAAyC/oG,IAAd+oG,EAChC,OAAO7oG,EAGX,MAAMmuG,EAAYV,EAAUztG,GAE5B,OADAmuG,EAAUtF,UAAYA,EACfsF,GAGK,EAAAI,sBAAhB,SAAsCvuG,GAClC,GAAIA,EAAK6tG,YACL,OAAO7tG,EAGX,MAAMmuG,EAAYV,EAAUztG,GAE5B,OADAmuG,EAAUN,aAAc,EACjBM,GA3Ef,CAAiB3I,QAAQ,KAmFzB,SAAiBC,GACb,MAAM+I,EAAyB,CAC3BlvC,SAAU,EACV4K,MAAO,GAGK,EAAA/2D,OAAhB,WAEI,OAAOq7F,GARf,CAAiB/I,QAAW,KAgB5B,SAAiBC,GACb,MAAM8I,EAAyB,CAC3BlvC,SAAU,EACV4K,MAAO,GAGK,EAAA/2D,OAAhB,WAEI,OAAOq7F,GARf,CAAiB9I,QAAW,KA4B5B,SAAiBC,GACG,EAAAxyF,OAAhB,SAAuB64D,EAAoBnP,EAAkB4xC,GASzD,MARkC,CAC9BnvC,SAAU,EACVksC,OAAQiD,GAAe,IAAI3vF,IAC3B4vF,aAAc,IAAI5vF,IAClBorD,MAAO,EACP8B,aACAnP,aAKQ,EAAA8xC,SAAhB,SAAyBC,EAAwBvhG,GAI7C,IAAIsuE,EAASizB,EAAWpD,OAAOjmG,IAAI8H,GAEnC,GAAIuhG,EAAWF,aACX,GAAK/yB,GAEE,GAAIA,EAAOkzB,qBAAsB,CAIpC,MAAMC,EAAeF,EAAWF,aAAanpG,IAAI8H,GAC7CyhG,IAAiBA,EAAaD,uBAC9BlzB,EAASmzB,SAPbnzB,EAASizB,EAAWF,aAAanpG,IAAI8H,GAW7C,OAAOsuE,GAhCf,CAAiBgqB,QAAU,KAwQ3B,SAAiBC,GA+Cb,SAAgBmJ,EAAoBC,GAChC,GAAIxJ,GAASgB,eAAewI,GACxB,OAAOA,EAGX,MAAMC,EAAYzJ,GAASiI,UAAUuB,GAGrC,OAFAC,EAAU/kC,QAAS,EACnB+kC,EAAU/kC,OAAS,EACZ+kC,EA2HX,SAAgBhC,EAAUgC,EAAsBve,GAC5C,KAAgC,EAA1Bue,EAAU1H,QAAQr9B,OACpB,OAAO,EAGX,QAAkBpqE,IAAd4wF,EAAyB,CACzB,MAAMwe,EAAaxyG,MAAMuD,QAAQywF,GAAaA,EAAY,CAACA,GAC3D,OACIwe,EAAWz/C,MAAMpiD,GAASA,IAAS4hG,EAAU1H,QAAQl6F,QACrD6hG,EAAWz/C,MAAMpiD,GAASA,IAAS4hG,EAAUE,YAIrD,OAAO,EAgHX,SAAgBxG,EAAmBsG,EAAsB3G,EAAkBG,EAAiB,GACxF,GAAIA,EAAiBlD,GACjB,OAAO,EAKX,GAHAkD,IAGIwG,EAAU1H,UAAYe,EAAMf,QAC5B,OAAO,EAKX,MAAM6H,EAAgBH,EAAU1H,QAC1B8H,EAAgB/G,EAAMf,QAE5B,GAAI6H,IAAkBC,EAClB,OAAO,EAKX,GACID,EAAcrB,WAAasB,EAActB,UACzCqB,EAAcllC,QAAUmlC,EAAcnlC,OACtCklC,EAAcE,eAAiBD,EAAcC,cAC7CF,EAAcG,YAAYvzG,SAAWqzG,EAAcE,YAAYvzG,QAC/DozG,EAAchB,eAAepyG,SAAWqzG,EAAcjB,eAAepyG,OAErE,OAAO,EAKX,GAAI4pG,EAAUqH,UAAUgC,EAAW,eAAiBrJ,EAAUqH,UAAU3E,EAAO,cAC3E,OAAO,EAEX,GAAI1C,EAAUqH,UAAUgC,EAAW,UAAYrJ,EAAUqH,UAAU3E,EAAO,SACtE,OAAO,EAIX,IAAK,IAAIhtG,EAAI,EAAGA,EAAI8zG,EAAcG,YAAYvzG,OAAQV,IAClD,IACK8sG,GACGgH,EAAcG,YAAYj0G,GAC1B+zG,EAAcE,YAAYj0G,IACA,OACJwE,EACtB2oG,GAGJ,OAAO,EAIf,IAAI2G,EAAcI,mBAAqBH,EAAcG,sBAE5CJ,EAAcI,oBACdH,EAAcG,oBACdpH,GACGgH,EAAcI,kBACdH,EAAcG,mBACY,OACJ1vG,EACtB2oG,IAGJ,OAAO,EAIf,IAAK,IAAIntG,EAAI,EAAGA,EAAI8zG,EAAchB,eAAepyG,OAAQV,IACrD,IACK8sG,GACGgH,EAAchB,eAAe9yG,GAC7B+zG,EAAcjB,eAAe9yG,IACH,OACJwE,EACtB2oG,GAGJ,OAAO,EAIf,OAAO,EApYK,EAAAgH,mBAAhB,SACIpiG,EACA0gG,EACA/hC,EACAnP,EACAqN,EACAolC,EACAE,EACAE,EACArR,GAsBA,MApB4B,CACxB/+B,SAAU,EACVioC,QAAS,CACLl6F,OACA0gG,WACA/hC,aACAnP,WACAqN,QACAolC,eACAC,YAAa,GACbC,oBACAE,qBACAC,IAAK,GACLnE,OAAQ,IAAI1sF,IACZsvF,eAAgB,GAChB/P,aAEJn0B,MAAO,IAMC,EAAA0lC,gBAAhB,SAAgCX,GAC5B,GAAIzJ,GAASvmG,WAAWgwG,GACpB,OAAOA,EAGX,MAAMD,EAAaxJ,GAASiI,UAAUwB,GAItC,OAHAD,EAAW9kC,QAAU,EACrB8kC,EAAW9kC,OAAS,EACpB8kC,EAAWa,mBAAoB,EACxBb,GAGK,EAAAD,oBAAmB,EAWnB,EAAAe,uBAAhB,SACIb,EACA7F,EACA2G,EACAF,GAAoB,EACpB9G,EACA4D,GAEA,MAAMqD,EAAexK,GAASiI,UAAUwB,GAqBxC,OAlBAe,EAAa5G,cAAgBA,EACvBA,EAActkF,KAAKyoC,GAAO84C,GAAQ94C,KAAOA,EAAE6+C,WAAa1G,GAAYvyF,SAAWo6C,SAC/EztD,EAENkwG,EAAaD,uBAAyBA,EAClCF,IACAG,EAAaH,mBAAoB,GAErCG,EAAajH,mBAAqBA,EAC5BA,EAAmBjkF,KAAKyoC,GACpB84C,GAAQ94C,EAAEvtD,MAAQ,CAAEA,KAAM0lG,GAAYvyF,SAAU+1F,YAAa37C,EAAE27C,aAAgB37C,SAEnFztD,OAEmBA,IAArB6sG,IACAqD,EAAarD,iBAAmBA,GAG7BqD,GAGK,EAAA3C,iBAAhB,SAAiC4B,EAAsB3wG,GACnD,MAAM0xG,EAAexK,GAASiI,UAAUwB,GAExC,OADAe,EAAatD,aAAepuG,EACrB0xG,GAGK,EAAAC,oBAAhB,SAAoChB,EAAsBE,GACtD,MAAMa,EAAexK,GAASiI,UAAUwB,GAExC,OADAe,EAAab,UAAYA,EAClBa,GAGK,EAAAE,iCAAhB,SACIjB,EACAkB,GAEA,MAAMH,EAAexK,GAASiI,UAAUwB,GAExC,OADAe,EAAaI,yBAA2BD,EACjCH,GAGK,EAAAK,2BAAhB,SAA2CpB,EAAsBhB,GAC7D,MAAM+B,EAAexK,GAASiI,UAAUwB,GAGxC,OAFAe,EAAazI,QAAU,IAAKyI,EAAazI,SACzCyI,EAAazI,QAAQ6G,eAAiBH,EAC/B+B,GAGK,EAAAM,kBAAhB,SACIrB,EACAsB,EACAC,GAEA,MAAMR,EAAexK,GAASiI,UAAUwB,GAGxC,OAFAe,EAAaO,cAAgBA,EAC7BP,EAAaQ,kBAAoBA,EAC1BR,GAGK,EAAAS,0BAAhB,SAA0CxB,GACtC,MAAMe,EAAexK,GAASiI,UAAUwB,GAKxC,OAJAe,EAAazI,QAAU,IAAKyI,EAAazI,SACzCyI,EAAazI,QAAQiE,OAAS,IAAI1sF,IAAIkxF,EAAazI,QAAQiE,QAC3DwE,EAAazI,QAAQoI,IAAM,IAAIK,EAAazI,QAAQoI,KACpDK,EAAazI,QAAQoI,IAAI,GAAKZ,EAAoBiB,GAC3CA,GAGK,EAAAU,iBAAhB,SAAiCzB,EAAsBrH,GAAa,GAChE,MAAMoI,EAAexK,GAASiI,UAAUwB,GAExC,OADAe,EAAapI,WAAaA,EACnBoI,GAGK,EAAAzG,mBAAhB,SAAmClB,EAAkBC,GACjD,YAA2BxoG,IAAvBuoG,EAAMqE,kBACwB5sG,IAAvBwoG,EAAMoE,kBACiB5sG,IAAvBwoG,EAAMoE,eAIbrE,EAAMqE,wBAAwBtH,GAC1BkD,EAAMoE,wBAAwBtH,IACvBiD,EAAMqE,aAAarH,WAAaiD,EAAMoE,aAAarH,SAK3DgD,EAAMqE,eAAiBpE,EAAMoE,eAIxB,EAAAiE,gBAAhB,SAAgC1B,GAC5B,OAAOA,EAAU1H,QAAQ6G,eAAepyG,OAAS,QAAiC8D,IAA5BmvG,EAAU7F,eAGpD,EAAAwH,iBAAhB,SAAiC3B,EAAsBve,GACnD,SAAgC,EAA1Bue,EAAU1H,QAAQr9B,OAA2C+kC,EAAUE,kBAI3DrvG,IAAd4wF,GACOue,EAAU1H,QAAQl6F,OAASqjF,IAM1B,EAAAuc,UAAS,EAgBT,EAAA4D,wBAAhB,SAAwC5B,GACpC,SAAoC,IAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA4mC,YAAhB,SAA4B7B,GACxB,SAAoC,EAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA6mC,+BAAhB,SAA+C9B,GAC3C,SAAoC,GAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA8mC,6BAAhB,SAA6C/B,GACzC,SAAoC,GAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA+mC,kBAAhB,SAAkChC,GAC9B,SAAoC,EAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAgnC,4BAAhB,SAA4CjC,GACxC,SAAoC,GAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAinC,6BAAhB,SAA6ClC,GACzC,SAAoC,QAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAknC,0BAAhB,SAA0CnC,GACtC,SAAoC,SAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAmnC,gCAAhB,SAAgDpC,GAC5C,SAAoC,SAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAonC,iBAAhB,SAAiCrC,GAC7B,SAAoC,IAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAqnC,oBAAhB,SAAoCtC,GAChC,SAAoC,IAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAsnC,YAAhB,SAA4BvC,GACxB,SAAoC,QAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAunC,gBAAhB,SAAgCxC,GAC5B,SAAoC,KAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAwnC,gBAAhB,SAAgCzC,GAC5B,SAAoC,QAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAyyB,QAAhB,SAAwBsS,GACpB,SAAoC,KAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAynC,gBAAhB,SAAgC1C,GAC5B,SAAoC,KAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA0nC,gBAAhB,SAAgC3C,GAC5B,SAAoC,QAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA4+B,qBAAhB,SAAqCmG,GACjC,SAAoC,MAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA2nC,oBAAhB,SAAoC5C,GAChC,OAAOA,EAAU1H,QAAQuK,kBAAoB,IAGjC,EAAAC,mBAAhB,SAAmC9C,GAC/B,SAAoC,MAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA8nC,uBAAhB,SAAuC/C,GACnC,SAAoC,MAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAA+nC,uBAAhB,SAAuChD,GACnC,SAAoC,OAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAgoC,sBAAhB,SAAsCjD,GAClC,SAAoC,OAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAioC,aAAhB,SAA6BlD,GACzB,SAAoC,OAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAkoC,4BAAhB,SAA4CnD,GACxC,SAAoC,SAA1BA,EAAU1H,QAAQr9B,QAGhB,EAAAmoC,kBAAhB,SAAkCpD,GAC9B,OAAOA,EAAU1H,QAAQ6G,gBAGb,EAAAkE,oBAAhB,SAAoCrD,GAChC,OAAOA,EAAU1H,QAAQoI,IAAIlgD,MAAM8iD,GAAc5L,GAAe4L,MAIpD,EAAA5J,mBAAkB,EA8FlB,EAAA6J,cAAhB,SAAgBA,EACZC,EACAC,EACAC,GAGA,GAAIhK,EAAmB8J,EAAcC,GAIjC,OAHIC,GACAA,EAAiBt2G,KAAKo2G,IAEnB,EAMX,GAAIxF,EAAUwF,IAAiBxF,EAAUyF,EAAiB,UAItD,OAHIC,GACAA,EAAiBt2G,KAAKq2G,IAEnB,EAGX,IAAK,MAAMH,KAAaE,EAAalL,QAAQgI,YACzC,GAAIrI,GAAoBqL,IACpB,GAAIC,EAAcD,EAAWG,EAAiBC,GAI1C,OAHIA,GACAA,EAAiBt2G,KAAKo2G,IAEnB,OAER,GAAI9L,GAAe4L,GAItB,OAHII,GACAA,EAAiBt2G,KAAKqpG,GAAYvyF,WAE/B,EAIf,OAAO,GApbf,CAAiByyF,QAAS,KAwkB1B,SAAiBC,GAqBb,SAAS1yF,EACL9F,EACA0gG,EACA/hC,EACA4mC,EACAC,EACAxU,GAcA,MAZsC,CAClC/+B,SAAU,EACVioC,QAAS,CACLl6F,OACA0gG,WACA/hC,aACA9B,MAAO0oC,EACPvuE,WAAY,GACZg6D,aAEJn0B,MAAO2oC,GAmYf,SAAgB7I,EAA0BhqG,EAAoBmrB,GAG1D,OAFA2nC,EAAO3nC,EAAQnrB,EAAKunG,QAAQljE,WAAWroC,OAAQ,kCAE3CgE,EAAKmqG,kBAAoBh/E,EAAQnrB,EAAKmqG,iBAAiB2I,eAAe92G,OAC/DgE,EAAKmqG,iBAAiB2I,eAAe3nF,GAGzCnrB,EAAKunG,QAAQljE,WAAWlZ,GAAOnrB,KAhb1B,EAAA+yG,eAAhB,SACI1lG,EACA0gG,EACA/hC,EACA4mC,EACAvU,GAEA,OAAOlrF,EAAO9F,EAAM0gG,EAAU/hC,EAAY4mC,EAAe,EAAoBvU,IAGjE,EAAAoR,mBAAhB,SACIpiG,EACA0gG,EACA/hC,EACA4mC,EACAvU,GAEA,OAAOlrF,EAAO9F,EAAM0gG,EAAU/hC,EAAY4mC,EAAe,EAAwBvU,IA4BrE,EAAA2U,MAAhB,SACIhzG,EACAizG,GAAkB,EAClBC,EACAC,GAEA,MAAMC,EAAcjgG,EAChBnT,EAAKunG,QAAQl6F,KACbrN,EAAKunG,QAAQwG,SACb/tG,EAAKunG,QAAQv7B,WACbhsE,EAAKunG,QAAQr9B,MACblqE,EAAKkqE,MACLlqE,EAAKunG,QAAQlJ,WA4CjB,OAzCA+U,EAAY7L,QAAU,IAAKvnG,EAAKunG,SAChC6L,EAAYF,YAAcA,EAC1BE,EAAYC,cAAgBD,EAAY7L,QAAQr9B,MAE5C+oC,IAEIjzG,EAAKunG,QAAQljE,WAAWroC,OAAS,GACO,IAAxCgE,EAAKunG,QAAQljE,WAAW,GAAGi7B,UAEvBt/D,EAAKunG,QAAQljE,WAAWroC,OAAS,IAAMgE,EAAKunG,QAAQljE,WAAW,GAAGivE,iBAGlEF,EAAYG,uBAAyBvJ,EAA0BhqG,EAAM,IAEzEozG,EAAY7L,QAAQljE,WAAarkC,EAAKunG,QAAQljE,WAAWzlC,MAAM,IAE/Dq0G,GAAkB,EAKtBG,EAAY7L,QAAQr9B,QAAS,EAC7BkpC,EAAY7L,QAAQr9B,OAAS,QAGNpqE,IAAvBE,EAAKioG,gBACLmL,EAAYnL,cAAgBjoG,EAAKioG,eAGjCjoG,EAAKmqG,mBACLiJ,EAAYjJ,iBAAmB,CAC3B2I,eAAgBG,EACVjzG,EAAKmqG,iBAAiB2I,eAAel0G,MAAM,GAC3CoB,EAAKmqG,iBAAiB2I,eAC5B1I,WAAYpqG,EAAKmqG,iBAAiBC,aAI1CgJ,EAAY/I,mBAAqBrqG,EAAKqqG,mBACtC+I,EAAYD,oBAAsBA,EAE3BC,GAGK,EAAAxD,gBAAhB,SAAgC5vG,GAC5B8yD,EAAO0yC,GAASgB,eAAexmG,IAE/B,MAAMwzG,EAA4BhO,GAASiI,UAAUztG,GAGrD,OAFAwzG,EAAYtpC,QAAU,EACtBspC,EAAYtpC,OAAS,EACdspC,GAGK,EAAAzE,oBAAhB,SAAoC/uG,GAChC8yD,EAAO0yC,GAASvmG,WAAWe,IAE3B,MAAMwzG,EAA4BhO,GAASiI,UAAUztG,GAGrD,OAFAwzG,EAAYtpC,QAAS,GACrBspC,EAAYtpC,OAAS,EACdspC,GAMK,EAAA1D,uBAAhB,SACI9vG,EACAmqG,EACAsJ,GAEA,MAAML,EAAcjgG,EAChBnT,EAAKunG,QAAQl6F,KACbrN,EAAKunG,QAAQwG,SACb/tG,EAAKunG,QAAQv7B,WACbhsE,EAAKunG,QAAQr9B,MACblqE,EAAKkqE,MACLlqE,EAAKunG,QAAQlJ,WAWjB,OATA+U,EAAY7L,QAAUvnG,EAAKunG,QAE3Bz0C,EAAOq3C,EAAiB2I,eAAe92G,SAAWgE,EAAKunG,QAAQljE,WAAWroC,QAC1Eo3G,EAAYjJ,iBAAmBA,EAE3BsJ,IACAL,EAAY/I,mBAAqBoJ,GAG9BL,GAIK,EAAAM,kBAAhB,SAAkC1zG,EAAoB2zG,GAClD,MAAMP,EAAcjgG,EAChBnT,EAAKunG,QAAQl6F,KACbrN,EAAKunG,QAAQwG,SACb/tG,EAAKunG,QAAQv7B,WACbhsE,EAAKunG,QAAQr9B,MACblqE,EAAKkqE,MACLlqE,EAAKunG,QAAQlJ,WAsDjB,OAnDA+U,EAAYjJ,iBAAmBnqG,EAAKmqG,iBAGpCiJ,EAAY7L,QAAU,IAAKvnG,EAAKunG,gBAIzB6L,EAAY7L,QAAQqM,UAEvBD,IACAP,EAAY7L,QAAQljE,WAAa,IAC1BrkC,EAAKunG,QAAQljE,cACbsvE,EAAetvE,WAAWvf,KAAK+uF,IACvB,CACHv0C,SAAUu0C,EAAUv0C,SACpBjyD,KAAMwmG,EAAUxmG,KAChBymG,WAAYD,EAAUC,WACtBC,kBAAmBF,EAAUE,kBAC7BC,iBAAiB,EACjBh0G,KAAM6zG,EAAU7zG,UAKvBozG,EAAY7L,QAAQlJ,YACrB+U,EAAY7L,QAAQlJ,UAAYsV,EAAetV,WAGnD+U,EAAY7L,QAAQr9B,MAEZ,MADHypC,EAAezpC,M,GAQhB27B,EAAaoO,iBAAiBj0G,KAC9BozG,EAAY7L,QAAQr9B,OAAS,OAI7BkpC,EAAYjJ,kBACZwJ,EAAetvE,WAAW/d,SAAS4tF,IAC/Bd,EAAYjJ,iBAAkB2I,eAAez2G,KAAK63G,EAAUl0G,SAIpEozG,EAAY7L,QAAQqM,UAAYD,EAAeC,WAG5CR,GAGK,EAAAe,kBAAhB,SAAkCn0G,EAAoBkqE,GAClD,MAAMkpC,EAAc5N,GAASiI,UAAUztG,GAOvC,OAJAozG,EAAY7L,QAAU,IAAKvnG,EAAKunG,SAEhC6L,EAAY7L,QAAQr9B,MAAQA,EAErBkpC,GAGK,EAAAgB,6BAAhB,SAA6Cp0G,EAAoB2zG,GAC7D,MAAMP,EAAc5N,GAASiI,UAAUztG,GAcvC,GAXAozG,EAAY7L,QAAU,IAAKvnG,EAAKunG,SAGhC6L,EAAY7L,QAAQljE,WAAa+uE,EAAY7L,QAAQljE,WAAWzlC,MAC5D,EACAw0G,EAAY7L,QAAQljE,WAAWroC,OAAS,GAMxC23G,EAAetvE,WAAWorB,MAAMgL,GAA6B,IAAnBA,EAAM6E,WAA0C7E,EAAMptD,QAC5F+lG,EAAY7L,QAAQljE,WAAWroC,OAAS,EAAG,CAC3C,MAAMq4G,EAAYjB,EAAY7L,QAAQljE,WAAW+uE,EAAY7L,QAAQljE,WAAWroC,OAAS,GAC9D,IAAvBq4G,EAAU/0C,UAA0C+0C,EAAUhnG,MAC9D+lG,EAAY7L,QAAQljE,WAAW4W,MAqB3C,OAhBA04D,EAAetvE,WAAW/d,SAASutF,IAC/BT,EAAY7L,QAAQljE,WAAWhoC,KAAK,CAChCijE,SAAUu0C,EAAUv0C,SACpBjyD,KAAMwmG,EAAUxmG,KAChBymG,WAAYD,EAAUC,WACtBC,kBAAmBF,EAAUE,kBAC7BC,iBAAiB,EACjBh0G,KAAM6zG,EAAU7zG,UAIxBozG,EAAY7L,QAAQqM,UAAYD,EAAeC,UAC1CR,EAAY7L,QAAQlJ,YACrB+U,EAAY7L,QAAQlJ,UAAYsV,EAAetV,WAG5C+U,GAGK,EAAAkB,8BAAhB,SAA8Ct0G,EAAoB4zG,GAC9D,MAAMR,EAAcjgG,EAChBnT,EAAKunG,QAAQl6F,KACbrN,EAAKunG,QAAQwG,SACb/tG,EAAKunG,QAAQv7B,WACbhsE,EAAKunG,QAAQr9B,MACblqE,EAAKkqE,MACLlqE,EAAKunG,QAAQlJ,WAwBjB,OApBA+U,EAAY7L,QAAU,IAAKvnG,EAAKunG,SAGhC6L,EAAY7L,QAAQljE,WAAa+uE,EAAY7L,QAAQljE,WAAWzlC,MAC5D,EACAw0G,EAAY7L,QAAQljE,WAAWroC,OAAS,GAGxCgE,EAAKmqG,mBACLiJ,EAAYjJ,iBAAmB,IAAKnqG,EAAKmqG,kBACzCiJ,EAAYjJ,iBAAiB2I,eAAiBM,EAAYjJ,iBAAiB2I,eAAel0G,MACtF,EACAw0G,EAAYjJ,iBAAiB2I,eAAe92G,OAAS,IAIxDo3G,EAAY7L,QAAQqM,YACrBR,EAAY7L,QAAQqM,UAAYA,GAG7BR,GAGK,EAAAmB,qBAAhB,SAAqCC,EAA4BC,GAAa,GAC1E5O,EAAa6O,aAAaF,EAAc,CACpCl1C,SAAU,EACVjyD,KAAM,OACNrN,KAAMy0G,EAAa/O,GAAYvyF,SAAW8yF,GAAQ9yF,SAClD6gG,iBAAkBS,IAEtB5O,EAAa6O,aAAaF,EAAc,CACpCl1C,SAAU,EACVjyD,KAAM,SACNrN,KAAMy0G,EAAa/O,GAAYvyF,SAAW8yF,GAAQ9yF,SAClD6gG,iBAAkBS,KAKV,EAAAE,qBAAhB,SAAqCH,GACjC,IAAII,GAAU,EACVC,GAAY,EAEhB,IAAK,IAAIv5G,EAAI,EAAGA,EAAIk5G,EAAajN,QAAQljE,WAAWroC,OAAQV,IAAK,CAC7D,MAAM8oB,EAAQowF,EAAajN,QAAQljE,WAAW/oC,GAG9C,GAAK8oB,EAAM/W,KAAX,CAIA,GAAuB,IAAnB+W,EAAMk7C,SACN,OAAO,EAOX,GAN8B,IAAnBl7C,EAAMk7C,SACbs1C,GAAU,EACgB,IAAnBxwF,EAAMk7C,WACbu1C,GAAY,IAGXlO,GAAed,EAAamE,0BAA0BwK,EAAcl5G,IACrE,OAAO,GAIf,OAAOs5G,GAAWC,GAGN,EAAAC,iBAAhB,SAAiC90G,GAC7B,OAKI,IAHI,EADHA,EAAKunG,QAAQr9B,QAQN,EAAA6qC,oBAAhB,SAAoC/0G,GAChC,OAAsE,IAAzC,EAArBA,EAAKunG,QAAQr9B,QAGT,EAAA8qC,eAAhB,SAA+Bh1G,GAC3B,OAAiE,IAApC,EAArBA,EAAKunG,QAAQr9B,QAGT,EAAA+qC,cAAhB,SAA8Bj1G,GAC1B,OAAgE,IAAnC,EAArBA,EAAKunG,QAAQr9B,QAGT,EAAAgrC,iBAAhB,SAAiCl1G,GAC7B,OAAmE,IAAtC,EAArBA,EAAKunG,QAAQr9B,QAGT,EAAAirC,YAAhB,SAA4Bn1G,GACxB,OAA8D,IAAjC,GAArBA,EAAKunG,QAAQr9B,QAGT,EAAAkrC,oBAAhB,SAAoCp1G,GAChC,OAAsE,IAAzC,GAArBA,EAAKunG,QAAQr9B,QAGT,EAAAmrC,uBAAhB,SAAuCr1G,GACnC,OAAyE,IAA5C,IAArBA,EAAKunG,QAAQr9B,QAGT,EAAAorC,aAAhB,SAA6Bt1G,GACzB,OAA+D,IAAlC,IAArBA,EAAKunG,QAAQr9B,QAGT,EAAAqrC,gCAAhB,SAAgDv1G,GAC5C,OAAyE,IAA5C,GAArBA,EAAKunG,QAAQr9B,QAGT,EAAA0tB,QAAhB,SAAwB53F,GACpB,OAA0D,IAA7B,IAArBA,EAAKunG,QAAQr9B,QAGT,EAAAsrC,wBAAhB,SAAwCx1G,GACpC,OAA0E,IAA7C,KAArBA,EAAKunG,QAAQr9B,QAGT,EAAAurC,iBAAhB,SAAiCz1G,GAC7B,OAAmE,IAAtC,KAArBA,EAAKunG,QAAQr9B,QAGT,EAAAwrC,oBAAhB,SAAoC11G,GAChC,OAAsE,IAAzC,KAArBA,EAAKunG,QAAQr9B,QAGT,EAAAyyB,QAAhB,SAAwB38F,GACpB,OAA0D,IAA7B,KAArBA,EAAKunG,QAAQr9B,QAGT,EAAAyrC,qBAAhB,SAAqC31G,GACjC,OAAsE,IAAzC,MAArBA,EAAKunG,QAAQr9B,QAGT,EAAA0rC,uCAAhB,SAAuD51G,GACnD,OAAqF,IAAxD,MAArBA,EAAKunG,QAAQr9B,QAGT,EAAA+pC,iBAAhB,SAAiCj0G,GAC7B,OAAmE,IAAtC,MAArBA,EAAKunG,QAAQr9B,QAGT,EAAA8/B,0BAAyB,EAUzB,EAAA0K,aAAhB,SAA6B10G,EAAoBokB,GAC7CpkB,EAAKunG,QAAQljE,WAAWhoC,KAAK+nB,IAGjB,EAAAyxF,yBAAhB,SAAyC71G,GACrC,OAAOA,EAAKmqG,kBAAoBnqG,EAAKmqG,iBAAiBC,WAChDpqG,EAAKmqG,iBAAiBC,WACtBpqG,EAAKunG,QAAQ2C,oBA3b3B,CAAiBrE,QAAY,KAoc7B,SAAiBC,GACG,EAAA3yF,OAAhB,SAAuBo3F,GAMnB,MALwC,CACpCjrC,SAAU,EACVirC,YACArgC,MAAO,IAKC,EAAA4rC,YAAhB,SAA4B91G,EAA8Bw0G,GACtDx0G,EAAKuqG,UAAUluG,KAAKm4G,IAX5B,CAAiB1O,QAAsB,KAmBvC,SAAiBC,GACb,MAAMgQ,EAA0B,CAC5Bz2C,SAAU,EACV4K,MAAO,GAGL8rC,EAAsB,CACxB12C,SAAU,EACV4K,MAAO,GAGK,EAAA6oC,eAAhB,WACI,OAAOgD,GAGK,EAAAE,WAAhB,WACI,OAAOD,GAhBf,CAAiBjQ,QAAQ,KAyBzB,SAAiBC,GACb,MAAMkQ,EAA4B,CAC9B52C,SAAU,EACV4K,MAAO,EACPkiC,YAAY,GAGV+J,EAA+B,CACjC72C,SAAU,EACV4K,MAAO,EACPkiC,YAAY,GAGA,EAAAE,YAAhB,WACI,OAAO4J,GAGK,EAAA7J,eAAhB,WACI,OAAO8J,GAlBf,CAAiBnQ,QAAS,KA2B1B,SAAiBC,GACb,MAAMmQ,EAAwB,CAC1B92C,SAAU,EACV+2C,YAAY,EACZnsC,MAAO,GAGLosC,EAA6B,CAC/Bh3C,SAAU,EACV+2C,YAAY,EACZnsC,MAAO,GAGK,EAAA/2D,OAAhB,SAAuBkjG,GAAa,GAChC,OAAOA,EAAaC,EAAoBF,GAdhD,CAAiBnQ,QAAO,KAyBxB,SAAiBC,GAyBb,SAASqQ,EAASC,EAAmBC,GACjC,OAAID,EAAGE,YAAcD,EAAGC,aACZ,EACDF,EAAGE,YAAcD,EAAGC,YACpB,EAEPF,EAAGG,gBAAkBF,EAAGE,iBAChB,EACDH,EAAGG,gBAAkBF,EAAGE,gBACxB,EAEJ,EAnCK,EAAA9iE,QAAhB,SACI+iE,EACAC,GAEA,IAAKD,EACD,OAAOC,EAGX,IAAKA,EACD,OAAOD,EAIX,MAAME,EAAW,IAAIF,GAQrB,OAPAC,EAAYvwF,SAASkwF,IACZM,EAASrnD,MAAMgnD,GAA4B,IAArBF,EAASC,EAAIC,MACpCK,EAASz6G,KAAKm6G,MAKfM,EAASt8C,KAAK+7C,IAiBT,EAAA3N,OAAhB,SACIgO,EACAC,GAEA,OAAKD,KAIAC,GAAeD,EAAY56G,SAAW66G,EAAY76G,cAS7C8D,IAJN82G,EAAYrqC,MACR,CAACiqC,EAAIrrF,IACDqrF,EAAGE,cAAgBG,EAAY1rF,GAAOurF,aACtCF,EAAGG,kBAAoBE,EAAY1rF,GAAOwrF,mBAX1CE,GAoBA,EAAAE,aAAhB,SACIH,EACAC,GAEA,IAAKD,IAAgBC,EACjB,OAAO,EAGX,IAAK,MAAML,KAAMI,EAAa,CAC1B,IAAII,GAAoB,EACxB,MAAMC,EAAaJ,EAAYtqC,MAAMkqC,GAC7BD,EAAGE,cAAgBD,EAAGC,cACtBM,GAAoB,EACbR,EAAGG,kBAAoBF,EAAGE,mBAKzC,GAAIK,IAAsBC,EACtB,OAAO,EAIf,OAAO,GAvFf,CAAiB/Q,QAAa,KAmG9B,SAAiBC,GACG,EAAAhzF,OAAhB,WAOI,MANgC,CAC5BmsD,SAAU,EACVunC,SAAU,GACV38B,MAAO,IAMC,EAAA4iC,QAAhB,SAAwBC,EAAsBhB,GAKtC5E,GAAgB4E,IAChBnG,GAAUqH,UAAUlB,EAAS,aACJjsG,IAAzBisG,EAAQW,mBACc5sG,IAAtBisG,EAAQlD,gBAEwB/oG,IAA5BitG,EAAUG,gBACVH,EAAUG,cAAgB,IAAIpuF,KAElCiuF,EAAUG,cAAc/mG,IAAI4lG,EAAQW,aAAwBX,IAE5D5E,GAAgB4E,IAChBnG,GAAUqH,UAAUlB,EAAS,aACJjsG,IAAzBisG,EAAQW,mBACc5sG,IAAtBisG,EAAQlD,iBAEwB/oG,IAA5BitG,EAAUI,gBACVJ,EAAUI,cAAgB,IAAIruF,KAElCiuF,EAAUI,cAAchnG,IAAI4lG,EAAQW,aAAiCX,IAGzEgB,EAAU7iC,OAAS6hC,EAAQ7hC,MAC3B6iC,EAAUlG,SAASxqG,KAAK0vG,IAGZ,EAAAnB,aAAhB,SAA6BmC,EAAsBjG,EAAe2B,EAAiB,GAG/E,GAAItB,GAAgBL,SAAkChnG,IAAtBgnG,EAAQ+B,UAAyB,CAC7D,GACIjD,GAAUqH,UAAUnG,EAAS,aACJhnG,IAAzBgnG,EAAQ4F,mBACoB5sG,IAA5BitG,EAAUG,cAEV,OAAOH,EAAUG,cAAc9nF,IAAI0hF,EAAQ4F,cACxC,GACH9G,GAAUqH,UAAUnG,EAAS,aACJhnG,IAAzBgnG,EAAQ4F,mBACoB5sG,IAA5BitG,EAAUI,cAEV,OAAOJ,EAAUI,cAAc/nF,IAAI0hF,EAAQ4F,cAInD,YASU5sG,IARNitG,EAAUlG,SAASt6B,MAAMhf,GACrB66C,GACI76C,EACAu5C,OAC0BhnG,OACJA,EACtB2oG,MAMA,EAAAwD,mBAAhB,SAAmCc,EAAsBmK,GACrD,GAAiC,IAA7BA,EAAgB53C,SAAiC,CACjD,MAAM63C,EAAeD,EAAgBjP,cAAgB,CAACiP,GAAmBA,EAAgBzK,iBAErF0K,IACKpK,EAAUN,mBACXM,EAAUN,iBAAmB,IAAI36D,KAGrCqlE,EAAa7wF,SAAS3D,IAClBoqF,EAAUN,iBAAkB7lF,IAAIjE,SAnFpD,CAAiBwjF,QAAS,KA4J1B,SAAiBC,GA4Fb,SAAgBgR,EAAkB/pG,EAAcy9F,GAC5C,MAAO,GAAGz9F,KAAQy9F,IAGtB,SAAS33F,EAAO9F,EAAcw6F,EAAsBgL,GAahD,MAZoC,CAChCvzC,SAAU,GACVioC,QAAS,CACLl6F,OACAg+F,YAAa,GACbJ,SAAU,EACVpD,cACAL,YAAY,EACZwD,eAAe,GAEnB9gC,MAAO2oC,GA1GC,EAAAE,eAAhB,SAA+B1lG,GAC3B,OAAO8F,EAAO9F,GAAwB,EAAO,IAGjC,EAAAoiG,mBAAhB,SAAmCpiG,EAAcw6F,GAAc,GAC3D,OAAO10F,EAAO9F,EAAMw6F,EAAa,IAGrB,EAAA+H,gBAAhB,SAAgC5vG,GAC5B8yD,EAAO0yC,GAASgB,eAAexmG,IAE/B,MAAMwzG,EAA2BhO,GAASiI,UAAUztG,GAGpD,OAFAwzG,EAAYtpC,QAAU,EACtBspC,EAAYtpC,OAAS,EACdspC,GAGK,EAAAzE,oBAAhB,SAAoC/uG,GAChC8yD,EAAO0yC,GAASvmG,WAAWe,IAE3B,MAAMwzG,EAA2BhO,GAASiI,UAAUztG,GAGpD,OAFAwzG,EAAYtpC,QAAS,GACrBspC,EAAYtpC,OAAS,EACdspC,GAGK,EAAA6D,gBAAhB,SACIr3G,EACA8qG,EACAwM,EACAC,GAEA,MAAM/D,EAAchO,GAASiI,UAAUztG,GAKvC,OAJAwzG,EAAYgE,cAAgBJ,EAAkBp3G,EAAKunG,QAAQl6F,KAAMy9F,GACjE0I,EAAY1I,QAAUA,EACtB0I,EAAY8D,UAAYA,EACxB9D,EAAY+D,UAAYA,EACjB/D,GAGK,EAAA9C,iBAAhB,SAAiC1wG,EAAmBy3G,GAAY,GAC5D3kD,EAAO9yD,EAAKunG,QAAQC,YACpB,MAAMgM,EAAchO,GAASiI,UAAUztG,GAGvC,OAFAwzG,EAAY9L,oBAAqB,EACjC8L,EAAYkE,kBAAoBD,EACzBjE,GAGK,EAAAmE,eAAhB,SAA+B33G,GAC3B8yD,EAAO9yD,EAAKunG,QAAQC,YACpB,MAAMgM,EAAchO,GAASiI,UAAUztG,GAGvC,OAFAwzG,EAAY9L,oBAAqB,EACjC8L,EAAYkE,mBAAoB,EACzBlE,GAKK,EAAAoE,iBAAhB,SAAiC53G,GAC7B,GAAIA,EAAKunG,QAAQM,aAAe7nG,EAAKunG,QAAQC,WACzC,OAAOxnG,EAGX,GAA8B,IAA1BA,EAAKunG,QAAQ0D,eACkBnrG,IAA3BE,EAAKunG,QAAQY,WAA+D,IAApCnoG,EAAKunG,QAAQ8D,YAAYrvG,OACjE,OAAOgE,EAIf,MAAMwzG,EAAchO,GAASiI,UAAUztG,GAKvC,OAJAwzG,EAAYjM,QAAU,IAAKiM,EAAYjM,SACvCiM,EAAYjM,QAAQ0D,SAAW,EAC/BuI,EAAYjM,QAAQY,eAAYroG,EAChC0zG,EAAYjM,QAAQ8D,YAAc,GAC3BmI,GAGK,EAAAqE,wBAAhB,SAAwC73G,EAAmB83G,GACvD,MAAMtE,EAAchO,GAASiI,UAAUztG,GAEvC,OADAwzG,EAAYuE,gBAAkBD,EACvBtE,GAGK,EAAAwE,uBAAhB,SAAuCh4G,EAAmBi4G,GACtDnlD,EAAO9yD,EAAKunG,QAAQ2Q,mBACpB,MAAM1E,EAAchO,GAASiI,UAAUztG,GAGvC,OAFAwzG,EAAYjM,QAAU,IAAKiM,EAAYjM,SACvCiM,EAAYjM,QAAQY,UAAY8P,EACzBzE,GAGK,EAAA4D,kBAAiB,EAoBjB,EAAAe,cAAhB,SAA8BC,EAA0BC,GACpDD,EAAY7Q,QAAQ8D,YAAYhvG,KAAKg8G,IAGzB,EAAAC,iBAAhB,SAAiCF,GAE7B,OAAOA,EAAYZ,eAAiBY,EAAY7Q,QAAQl6F,MAG5C,EAAAkrG,gBAAhB,SAAgCH,GAC5B,OAAIA,EAAYd,UACL,GAAGc,EAAY7Q,QAAQl6F,QAAQ+qG,EAAYd,YAG/Cc,EAAY7Q,QAAQl6F,MA9HnC,CAAiB+4F,QAAW,KCtzD5B,IAAIoS,GAAe,EAQZ,MAAM,GAkBTvrG,YAAYi9D,EAAQ,GAChBlpE,KAAK4c,GAzBF46F,KA0BHx3G,KAAKy3G,OAASvuC,EAGlB,sBAAsBA,EAAoBlqE,GACtC,MAAM04G,EAAY,IAAI,GAAOxuC,GAE7B,OADAwuC,EAAUC,iBAAmB34G,EACtB04G,EAGXE,qBACI,SAAwB,EAAd53G,KAAKy3G,QAGnBI,wBACI73G,KAAKy3G,QAAU,EAGnB5J,qBACI,SAAwB,EAAd7tG,KAAKy3G,QAGnBK,+BACI93G,KAAKy3G,QAAU,GAGnBM,4BACI,SAAwB,GAAd/3G,KAAKy3G,QAGnBO,mBACIh4G,KAAKy3G,QAAU,EAGnBQ,gBACI,SAAwB,EAAdj4G,KAAKy3G,QAGnBS,sBACIl4G,KAAKy3G,QAAU,EAGnBU,mBACI,SAAwB,EAAdn4G,KAAKy3G,QAGnBW,gBACIp4G,KAAKy3G,QAAU,IAGnBY,aACI,SAAwB,IAAdr4G,KAAKy3G,QAGnBa,eACIt4G,KAAKy3G,QAAU,KAGnBc,YACI,SAAwB,KAAdv4G,KAAKy3G,QAGnBe,mBACIx4G,KAAKy3G,QAAU,IAGnBgB,gBACI,SAAwB,IAAdz4G,KAAKy3G,QAGnBiB,qBACI14G,KAAKy3G,QAAU,GAGnBkB,kBACI,SAAwB,GAAd34G,KAAKy3G,QAGnBmB,0BACI54G,KAAKy3G,QAAU,IAGnBoB,yBACI,SAAwB,IAAd74G,KAAKy3G,QAGnBqB,eAAe9wC,GACX,GAAIhoE,KAAK+4G,cAAe,CAIpB,MAAMC,EAAYh5G,KAAK+4G,cAAcxpB,WAAWrnB,GAASmzB,GAAoBnzB,EAAMF,KACnF,GAAIgxC,EAAY,EACZh5G,KAAK+4G,cAAc19G,KAAK2sE,GAIxBhoE,KAAK+4G,cAAczzF,SAAS4iD,IACN,IAAdA,EAAKlpE,MAAqCkpE,EAAK6zB,sBACxC7zB,EAAK6zB,qBAGjB,CAGH,MAAMkd,EAAUj5G,KAAK+4G,cAAcC,GAC/B/d,GAAsBjzB,IACtBhoE,KAAK+4G,cAAcC,GAAahxC,EACX,IAAjBixC,EAAQj6G,MAA0D,IAArBgpE,EAAYhpE,OACpDgpE,EAAYkxC,oBAAsBD,EAAQC,qBAC3ClxC,EAAYkxC,mBAAqBD,EAAQC,qBAGrB,IAArBlxC,EAAYhpE,MAIE,IAAjBi6G,EAAQj6G,OACJgpE,EAAY2zB,UACZsd,EAAQtd,SAAU,GAGlB3zB,EAAY6zB,sBACZod,EAAQpd,oBAAsB7zB,EAAY6zB,oBAC1Cod,EAAQld,cAAgB/zB,EAAY+zB,gBAGnCkd,EAAQC,oBAAsBlxC,EAAYkxC,qBAC3CD,EAAQC,mBAAqBlxC,EAAYkxC,2BAMzDl5G,KAAK+4G,cAAgB,CAAC/wC,GAI9BmxC,kBACI,QAAOn5G,KAAK+4G,eAAgB/4G,KAAK+4G,cAAc/9G,OAAS,EAG5Do+G,kBACI,OAAOp5G,KAAK+4G,cAAgB/4G,KAAK+4G,cAAgB,GAGrDM,uBAEI,QAAIr5G,KAAK23G,kBAIF33G,KAAKo5G,kBAAkB3qD,MAAMyZ,GAAS+yB,GAAsB/yB,KAGvEoxC,uBACI,OAAOt5G,KAAKo5G,kBAAkBvwD,QAAQqf,GAAS+yB,GAAsB/yB,KAGzEqxC,qBACI,OAAOv5G,KAAK23G,kBCtOb,SAAS6B,GAA8B7+B,GAC1C,MAAM8+B,EAAa9+B,EAAO2+B,uBAE1B,GAAIG,EAAWz+G,OAAS,EACpB,OAAOy+G,EAAWA,EAAWz+G,OAAS,GAQvC,SAAS0+G,GAAsC/+B,GAClD,MAAM8+B,EAAa9+B,EAAO2+B,uBAE1B,OAAIG,EAAWz+G,OAAS,GAEE,IADLy+G,EAAWA,EAAWz+G,OAAS,GACnCgE,KAQd,SAAS26G,GAAgBh/B,GAC5B,OAAOA,EAAOy+B,kBAAkB3qD,MAAMyZ,GAASwzB,GAA2BxzB,KCQvE,MAAM0xC,GAOT3tG,YAAY4tG,GAFJ,KAAAC,WAAY,EAGZp+G,MAAMuD,QAAQ46G,GACd75G,KAAK+5G,gBAAkBF,EAEvB75G,KAAK+5G,qBADqBj7G,IAAnB+6G,EACgB,CAACA,QAED/6G,EAG3BkB,KAAKg6G,YAAc,IAAIl8F,IACvB9d,KAAKi6G,cAAgB,IAAIn8F,IAG7Bk0F,QACI,MAAMkI,EAAgB,IAAIN,GAqB1B,OApBI55G,KAAK+5G,kBACLG,EAAcH,gBAAkB,IAAI/5G,KAAK+5G,kBAG7C/5G,KAAKg6G,YAAY10F,SAAShoB,IACtB48G,EAAcC,eAAe78G,EAAM88G,QAAS98G,EAAM+8G,YAAa/8G,EAAMg9G,UAAWh9G,EAAMi9G,kBAG1Fv6G,KAAKi6G,cAAc30F,SAAShoB,IACxB48G,EAAcM,aAAal9G,EAAMs1G,UAAWt1G,EAAM0B,SAGlDgB,KAAKy6G,qBACLz6G,KAAKy6G,oBAAoBn1F,SAAShoB,IAC9B48G,EAAcQ,mBAAmBp9G,EAAM88G,QAAS98G,EAAMq9G,UAI9DT,EAAcJ,UAAY95G,KAAK85G,UAExBI,EAIXU,cAAc5I,GACVhyG,KAAKg6G,YAAchI,EAAMgI,YACzBh6G,KAAKi6G,cAAgBjI,EAAMiI,cAC3Bj6G,KAAKy6G,oBAAsBzI,EAAMyI,oBACjCz6G,KAAK85G,UAAY9H,EAAM8H,UAI3Be,oBACI,OAAO76G,KAAK+5G,gBAGhBe,iBAAiBhR,GACb,YACgBhrG,IAAZgrG,QACyBhrG,IAAzBkB,KAAK+5G,iBACL/5G,KAAK+5G,gBAAgBtrD,MAAMjgD,GAAMA,IAAMs7F,GAAWt7F,IAAM21F,KAIhE4W,kBAAkBC,GACdh7G,KAAK+5G,gBAAkBiB,EAG3BC,iBAAiBnR,QACGhrG,IAAZgrG,GAA0B9pG,KAAK86G,iBAAiBhR,KAC3C9pG,KAAK+5G,kBACN/5G,KAAK+5G,gBAAkB,IAE3B/5G,KAAK+5G,gBAAgB1+G,KAAKyuG,IAIlCxjF,UACI,OAAiC,IAA1BtmB,KAAKg6G,YAAY16G,MAA0C,IAA5BU,KAAKi6G,cAAc36G,KAK7D47G,WACI,IAAIC,EAAQ,EAgBZ,OAbAn7G,KAAKg6G,YAAY10F,SAAShoB,IAEtB69G,GAAS,EAKT,MAAM/D,EAAcp3G,KAAKo7G,eAAe99G,EAAM88G,SAC9Ce,GAAS,EAAMn7G,KAAKq7G,2BAA2BjE,MAGnD+D,GAASn7G,KAAKi6G,cAAc36G,KAErB67G,EAGXG,WAAW90C,GACP,OAAOxmE,KAAKg6G,YAAY51F,IAAIpkB,KAAKu7G,QAAQ/0C,IAG7C40C,eAAe50C,EAAwBg1C,GAAqB,GACxD,MAAM/hD,EAAQz5D,KAAKg6G,YAAYz1G,IAAIvE,KAAKu7G,QAAQ/0C,IAChD,GAAK/M,EAGL,OAAIA,EAAM4gD,YACC5gD,EAAM4gD,YAEZmB,OAAL,EACW/hD,EAAM6gD,UAKrBH,eAAe3zC,EAAwB6zC,EAA+BC,EAAkBC,GACpFzoD,GAAQ9xD,KAAK85G,WACb,MAAM93F,EAAMhiB,KAAKu7G,QAAQ/0C,GACzBxmE,KAAKg6G,YAAY70G,IAAI6c,EAAK,CAAEo4F,QAAS5zC,EAAW6zC,cAAaC,YAAWC,kBAG5EkB,mBAAmBj1C,G,QACf,OAA6D,QAAtD,EAAwB,QAAxB,EAAAxmE,KAAKy6G,2BAAmB,eAAEl2G,IAAIvE,KAAKu7G,QAAQ/0C,WAAW,eAAEm0C,MAGnED,mBAAmBl0C,EAAwBm0C,GACvC7oD,GAAQ9xD,KAAK85G,WACb,MAAM93F,EAAMhiB,KAAKu7G,QAAQ/0C,GAGpBxmE,KAAKy6G,sBACNz6G,KAAKy6G,oBAAsB,IAAI38F,KAEnC9d,KAAKy6G,oBAAoBt1G,IAAI6c,EAAK,CAAEo4F,QAAS5zC,EAAWm0C,UAG5De,WAAWl1C,GACP,MAAMxkD,EAAMhiB,KAAKu7G,QAAQ/0C,GACzB,OAAOxmE,KAAKg6G,YAAYz1G,IAAIyd,GAGhC25F,cACI,MAAM/yF,EAA6B,GAMnC,OAJA5oB,KAAKg6G,YAAY10F,SAASm0C,IACtB7wC,EAAQvtB,KAAKo+D,MAGV7wC,EAGXgzF,aAAap1C,GACT,OAAOxmE,KAAKi6G,cAAc71F,IAAIpkB,KAAKu7G,QAAQ/0C,IAG/Cq1C,aAAar1C,G,MACT,OAAsD,QAA/C,EAAAxmE,KAAKi6G,cAAc11G,IAAIvE,KAAKu7G,QAAQ/0C,WAAW,eAAExnE,KAG5Dw7G,aAAah0C,EAAwBxnE,GACjC8yD,GAAQ9xD,KAAK85G,WACb95G,KAAKi6G,cAAc90G,IAAInF,KAAKu7G,QAAQ/0C,GAAY,CAAEosC,UAAWpsC,EAAWxnE,SAG5E88G,eACI,OAAO97G,KAAKg6G,YAAY16G,KAG5By8G,iBAAiBv1C,GACb,MAAM/M,EAAQz5D,KAAKg6G,YAAYz1G,IAAIvE,KAAKu7G,QAAQ/0C,IAChD,GAAI/M,EACA,OAAOA,EAAM6gD,UAMrB0B,kBAAkBx1C,GACd,MAAM/M,EAAQz5D,KAAKg6G,YAAYz1G,IAAIvE,KAAKu7G,QAAQ/0C,IAChD,SAAS/M,aAAK,EAALA,EAAO8gD,eAGpBjuF,OAEIwlC,GAAQ9xD,KAAK85G,WACb95G,KAAK85G,WAAY,EAGrBmC,SAEIj8G,KAAK85G,WAAY,EAGrBoC,WACI,OAAOl8G,KAAK85G,UAGRyB,QAAQ/0C,GACZ,OAAO4+B,GAAYkS,iBAAiB9wC,GAOhC60C,2BAA2Br8G,EAAYyoG,EAAiB,GAC5D,GAAIA,EAAiBlD,GACjB,OAAO,EAIX,OAFAkD,IAEQzoG,EAAKs/D,UACT,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,GACD,MAAO,GAGX,KAAK,EACL,KAAK,EACD,OAAO,EAEX,KAAK,EAAoB,CACrB,IAAI69C,EAAW,EAYf,OARIn9G,EAAK6mG,SAAS7qG,OAAS,IACvBohH,GAAiBp9G,GAAO8mG,IACpB,MAAMuW,EAAer8G,KAAKq7G,2BAA2BvV,EAAS2B,GAC9D0U,EAAWr5G,KAAK4C,IAAIy2G,EAAUE,MAK/B,IAAOF,EAAW,EAG7B,KAAK,EACD,OAAOn8G,KAAKs8G,4BAA4Bt9G,EAAMyoG,GAKtD,OAAO,EAGH6U,4BAA4BrO,EAAsBxG,GACtD,IAAI8U,EAAkB,EAClBjU,EAAe,EAoBnB,OAlBI2F,EAAUlG,mBACVkG,EAAUlG,mBAAmBziF,SAASk3F,IAClCD,GAAmBv8G,KAAKq7G,2BAA2BmB,EAAQx9G,KAAMyoG,GACjEa,OAEG2F,EAAU7F,cACjB6F,EAAU7F,cAAc9iF,SAAStmB,IAC7Bu9G,GAAmBv8G,KAAKq7G,2BAA2Br8G,EAAMyoG,GACzDa,OAEG2F,EAAU1H,QAAQ6G,gBACzBa,EAAU1H,QAAQ6G,eAAe9nF,SAAStmB,IACtCu9G,GAAmBv8G,KAAKq7G,2BAA2BpW,GAAQ9yF,SAAUs1F,GACrEa,OAKD,GAAiC,KADPA,EAAe,EAAIiU,EAAkBjU,EAAe,ICxI7F,IAAYmU,GClLAC,GDoNL,SAASC,GAAwB39G,GACpC,MAAMghB,EAA+B,CACjC48F,4BAA6B,EAC7BC,mBAAoB,EACpBC,uBAAwB,EACxB38F,OAAQ,GACR48F,4BAA4B,GAGhC,IAAIC,EAAoBh+G,EAAKunG,QAAQljE,WAAWksD,WAC3C/8E,GAAqB,IAAfA,EAAE8rD,WAA0C9rD,EAAEnG,OAKzD,GAAI2wG,EAAoB,EACpB,IAAK,IAAI1iH,EAAI,EAAGA,EAAI0E,EAAKunG,QAAQljE,WAAWroC,OAAQV,IAAK,CACrD,MAAMkY,EAAIxT,EAAKunG,QAAQljE,WAAW/oC,GAClC,GAAmB,IAAfkY,EAAE8rD,SACF,MAGJ,IAAK9rD,EAAEnG,KACH,MAGJ,GAAIm9D,GAAah3D,EAAEnG,QAAUmG,EAAEnG,KAAKmpD,WAAW,MAC3C,MAGJwnD,EAAoB1iH,EAAI,EAI5B0iH,GAAqB,IACrBh9F,EAAO48F,4BAA8BI,GAGzC,IAAK,IAAI1iH,EAAI,EAAGA,EAAI0iH,IACZh+G,EAAKunG,QAAQljE,WAAW/oC,GAAGw4G,WADIx4G,IAKnC0lB,EAAO88F,yBACP98F,EAAO68F,qBAGX,IAAII,GAA0B,EAE9B,MAAMC,EAAsB,CAAC95F,EAA0B+G,EAAegzF,KAClE,GAAI/5F,EAAM/W,KAAM,CACZ,IAAIsV,EAEAA,EADmB,IAAnByB,EAAMk7C,SACGm+C,GAAgBW,aAClBH,EACER,GAAgBY,YAClBL,GAAqB,GAAK7yF,EAAQ6yF,EAChCP,GAAgBW,aAEhBX,GAAgBa,kBAG7Bt9F,EAAOG,OAAO9kB,KAAK,CACf+nB,QACA+G,QACAnrB,KAAMm+G,UAAgBtY,GAAamE,0BAA0BhqG,EAAMmrB,GACnExI,aAmGZ,OA9FA3iB,EAAKunG,QAAQljE,WAAW/d,SAAQ,CAAClC,EAAO+G,KACb,IAAnB/G,EAAMk7C,SAEFl7C,EAAM/W,MAAQs6F,GAAgBvjF,EAAMpkB,OAASokB,EAAMpkB,KAAK+oG,mBACxD3kF,EAAMpkB,KAAK+oG,mBAAmBziF,SAAQ,CAACi4F,EAAUpzF,KAC7C,MAAMm0C,EACFgoC,GAAkBiX,EAASv+G,OAASu+G,EAASrV,YACvC,EACA,EAEO,IAAb5pC,IACAt+C,EAAOw9F,UAAYx9F,EAAOG,OAAOnlB,QAGjCsrG,GAAkBljF,EAAMpkB,QACxBghB,EAAO+8F,4BAA6B,GAGxCG,EACI,CACI5+C,WACAjyD,KAAM,GAAG+W,EAAM/W,QAAQ8d,EAAM3qB,cAC7BR,KAAMu+G,EAASv+G,KACfg0G,iBAAiB,GAErB7oF,EACAozF,EAASv+G,UAIbokB,EAAM/W,WAA6BvN,IAArBkhB,EAAOw9F,YACrBx9F,EAAOw9F,UAAYx9F,EAAOG,OAAOnlB,OAE7BsrG,GAAkBljF,EAAMpkB,QACxBghB,EAAO+8F,4BAA6B,KAQvCE,IAA4BD,EAAoB,GAAK7yF,GAAS6yF,KAC/Dh9F,EAAOy9F,sBAAwBz9F,EAAOG,OAAOnlB,OACzCooB,EAAM/W,MACN2T,EAAOy9F,wBAEXR,GAA0B,GAG9BC,EAAoB95F,EAAO+G,IAEL,IAAnB/G,EAAMk7C,UACb2+C,GAA0B,EAGtB9W,GAAgB/iF,EAAMpkB,OAAS2nG,GAAgBvjF,EAAMpkB,OAASokB,EAAMpkB,KAAKunG,QAAQmX,uBAC5C5+G,IAAjCkhB,EAAOy9F,wBACPz9F,EAAOy9F,sBAAwBz9F,EAAOG,OAAOnlB,QAGjDooB,EAAMpkB,KAAKunG,QAAQmX,iBAAiBp4F,SAAQ,CAACm0C,EAAOptD,KAChD6wG,EACI,CACI5+C,SAAU,EACVjyD,OACArN,KAAMy6D,EAAM1S,UACZisD,iBAAiB,EACjBF,YAAar5C,EAAMkkD,YAEvBxzF,EACAsvC,EAAM1S,eAGP3jC,EAAM/W,YACcvN,IAAvBkhB,EAAO49F,cACP59F,EAAO49F,YAAc59F,EAAOG,OAAOnlB,aAGF8D,IAAjCkhB,EAAOy9F,wBACPz9F,EAAOy9F,sBAAwBz9F,EAAOG,OAAOnlB,QAGjDkiH,EAAoB95F,EAAO+G,KAEL,IAAnB/G,EAAMk7C,WACTl7C,EAAM/W,OAAS4wG,GACfj9F,EAAO68F,qBAGXK,EAAoB95F,EAAO+G,OAI5BnK,EAGJ,SAAS69F,GAAe7+G,GAC3B,QAAI4mG,GAAQ5mG,SAC2DF,IAA5D6qG,GAAY3qG,GAAO8mG,GAAYR,GAAeQ,KAQtD,SAASgY,GAAY9+G,EAAY2U,GACpC,GAAIiyF,GAAQ5mG,GAAO,CACf,MAAM++G,EAAsB,GAC5B,IAAIC,GAAc,EAgBlB,GAdAh/G,EAAK6mG,SAASvgF,SAASwgF,IACnB,MAAMmY,EAAkBtqG,EAASmyF,GAC7BmY,EACIA,IAAoBnY,GACpBiY,EAAY1iH,KAAK6iH,GAAmBD,EAAiBE,GAAiBn/G,KACtEg/G,GAAc,GAEdD,EAAY1iH,KAAKyqG,GAGrBkY,GAAc,MAIjBA,EACD,OAAOh/G,EAGX,MAAM+rG,EAAUC,GAAa+S,GAM7B,OAHyB,IAArBhT,EAAQzsC,UACR6mC,GAAU8F,mBAAmBF,EAAS/rG,GAEnC+rG,EAIX,OAD2Bp3F,EAAS3U,IAEzBgmG,GAAUsG,cAKlB,SAAS8Q,GAAiBp9G,EAAY2U,GACrCiyF,GAAQ5mG,GACRA,EAAK6mG,SAASvgF,SAAQ,CAACwgF,EAAS37E,KAC5BxW,EAASmyF,EAAS37E,MAGtBxW,EAAS3U,EAAM,GAKhB,SAASo/G,GAAazD,EAAepT,GACxC,GAAIoT,EAAM3/G,OAAS,EACf,OAAO,EAGX,IAAK,IAAIV,EAAI,EAAGA,EAAIqgH,EAAM3/G,OAAQV,IAC9B,IAAK8sG,GAAWuT,EAAM,GAAIA,EAAMrgH,GAAIitG,GAChC,OAAO,EAIf,OAAO,EAoEJ,SAAS8W,GAAkBr/G,GAC9B,OAAIinG,GAAQjnG,SACkBF,IAAtBE,EAAK0sG,eACL1sG,EAAO4lG,GAAUyH,iBAAiBrtG,OAAMF,IAGrCE,GAGP4mG,GAAQ5mG,GACD8+G,GAAY9+G,GAAO8mG,GACfuY,GAAkBvY,KAI1B9mG,EAGJ,SAASk/G,GAAmBl/G,EAAY6oG,GAC3C,IAAKA,EACD,OAAO7oG,EAGX,OAAQA,EAAKs/D,UACT,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,GACD,OAAOt/D,EAEX,KAAK,EACL,KAAK,EACD,OAAOwlG,GAAS8I,kBAAkBtuG,EAAMkmG,GAAcryD,QAAQ7zC,EAAK6oG,UAAWA,IAElF,KAAK,EACD,OAAO/C,GAAuB3yF,OAC1BnT,EAAKuqG,UAAUzlF,KAAKyoC,GAAM2xD,GAAmB3xD,EAAGs7C,MAGxD,KAAK,EACD,OAAOrD,GAAS8I,kBAAkBtuG,EAAMkmG,GAAcryD,QAAQ7zC,EAAK6oG,UAAWA,IAElF,KAAK,EACD,OAAOmD,GAAahsG,EAAK6mG,SAAS/hF,KAAKyoC,GAAM2xD,GAAmB3xD,EAAGs7C,OAIxE,SAASsW,GAAiBn/G,GAC7B,OAAQA,EAAKs/D,UACT,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,GACL,KAAK,EACL,KAAK,EACD,OAEJ,KAAK,EACL,KAAK,EACL,KAAK,EACD,OAAOt/D,EAAK6oG,WAMjB,SAASyW,GAAuBt/G,GACnC,QAAKqnG,GAAUrnG,MAINA,EAAKunG,QAAQW,yBAA2BloG,EAAKunG,QAAQY,UA0B3D,SAASoX,GAAoCv/G,G,MAChD,GAAIA,GACIqnG,GAAUrnG,IAASA,EAAKunG,QAAQW,wBAA0BloG,EAAKunG,QAAQY,UAAW,CAClF,MAAMqX,EAAoBha,GAASvmG,WAAWe,GACxCy/G,GAAkBz/G,EAAKunG,QAAQY,WAC/BnoG,EAAKunG,QAAQY,UAEnB,OAAuB,QAAlB,EAAAnoG,EAAKioG,qBAAa,eAAEmB,gBAAkBppG,EAAKunG,QAAQwD,wBASjD2U,GAAoBF,EALRG,GACf3/G,EAAKunG,QAAQwD,wBACb/qG,EAAKioG,cAAcmB,cACnBwW,GAAkB5/G,KANXw/G,EAYnB,OAAOx/G,EAGJ,SAAS4/G,GAAkB5/G,GAC9B,OAAIinG,GAAQjnG,IAIR8nG,GAAW9nG,GAHJA,EAAKunG,QAAQyG,eAOpB3G,GAAUrnG,GACHA,EAAK8qG,aADhB,EASG,SAAS+U,GAAwB7/G,GACpC,IAAIivG,EAQJ,GANI/H,GAAoBlnG,GACpBivG,EAAYjvG,EACLmnG,GAAgBnnG,KACvBivG,EAAYrJ,GAAUmJ,oBAAoB/uG,KAGzCivG,EACD,OAKJ,MAAM6Q,EAAa7Q,EAAU1H,QAAQoI,IAAIpjC,MACpCwzC,GAAa7Y,GAAoB6Y,IAAa5N,GAAa4N,KAEhE,OAAKD,GAAe5Y,GAAoB4Y,GAIpCla,GAAU+C,mBAAmBsG,EAAW6Q,GACjC7Q,EAIJyQ,GAAoBI,EADRE,GAAoC/Q,SARvD,EAYG,SAASgR,GAAcjgH,GAC1B,OAAOwlG,GAASvmG,WAAWe,SAA+BF,IAAtBE,EAAK0sG,aAGtC,SAASwT,GAAqBlgH,GACjC,OAAImnG,GAAgBnnG,QACaF,IAAtBE,EAAK0sG,eAGZ9F,GAAQ5mG,KACA2qG,GAAY3qG,GAAO8mG,IAAaK,GAAgBL,SAAqChnG,IAAzBgnG,EAAQ4F,eAM7E,SAASyT,GAAoBngH,EAAYogH,GAAkB,EAAO3X,EAAiB,G,MACtF,GAAIA,EAAiBlD,GACjB,OAAO,EAIX,GAFAkD,IAEItB,GAAgBnnG,IAASigH,GAAcjgH,GACvC,OAAO,EAGX,GAAIogH,GAAmBnZ,GAAQjnG,GAAO,CAClC,MAAMkuG,GAAkC,QAAvB,EAAAluG,EAAK+oG,0BAAkB,eAAEjkF,KAAKyoC,GAAMA,EAAEvtD,SAASA,EAAKopG,cACrE,GAAI8E,EACA,OAAOA,EAASz+C,MAAM+tD,GAAY2C,GAAoB3C,EAAS4C,EAAiB3X,KAIxF,GAAI7B,GAAQ5mG,GACR,OAAOA,EAAK6mG,SAASp3C,MAAMq3C,GAAYqZ,GAAoBrZ,EAASsZ,EAAiB3X,KAGzF,GAAIV,GAAqB/nG,GACrB,OAAOA,EAAKuqG,UAAU96C,MAAM4wD,GAAaF,GAAoBE,EAAUD,EAAiB3X,KAG5F,GAAIX,GAAW9nG,GAAO,CAClB,MAAMoqG,EAAavE,GAAagQ,yBAAyB71G,GACzD,GAAIoqG,GAAc+V,GAAoB/V,EAAYgW,EAAiB3X,GAC/D,OAAO,EAGX,IAAK,IAAIntG,EAAI,EAAGA,EAAI0E,EAAKunG,QAAQljE,WAAWroC,OAAQV,IAEhD,GAAI6kH,GADcta,GAAamE,0BAA0BhqG,EAAM1E,GAC5B8kH,EAAiB3X,GAChD,OAAO,EAKnB,OAAO,EAOJ,SAAS6X,GAAwBtgH,GACpC,GAAImnG,GAAgBnnG,GAChB,YAA0BF,IAAtBE,EAAK0sG,cAA8B9G,GAAUqH,UAAUjtG,GAChDA,EAAKunG,QAAQl6F,UAExB,EAGJ,GAAIu5F,GAAQ5mG,GAAO,CACf,IAAI0wF,EACA6vB,GAAgB,EAWpB,OATAnD,GAAiBp9G,GAAO8mG,IACpB,MAAM0Z,EAAyBF,GAAwBxZ,GAClD0Z,EAEO9vB,IACRA,EAAY8vB,GAFZD,GAAgB,KAMjBA,OAAgBzgH,EAAY4wF,GAMpC,SAAS+vB,GAAqBzgH,GACjC,OAAI4mG,GAAQ5mG,GACDA,EAAK6mG,SAAS7qG,OAGlB,EAGJ,SAAS0kH,GAAe1gH,GAC3B,OAAOymG,GAAMzmG,IAASA,EAAKq2G,WAGxB,SAASsK,GAAW3gH,GACvB,OAAOmnG,GAAgBnnG,IAAS4lG,GAAU6L,gBAAgBzxG,GAGvD,SAASmyG,GAAanyG,GACzB,OAAO4lG,GAAUqH,UAAUjtG,EAAM,SAM9B,SAAS4gH,GAAsB5gH,GAClC,OAAOA,EAAK+oG,oBAAsB/oG,EAAK+oG,mBAAmBt5C,MAAMlC,GAAMA,EAAE27C,cAMrE,SAAS2X,GAAwB7gH,EAAY8gH,EAA6BC,GAG7E,GAAInb,GAAU+K,gBAAgBmQ,GAC1B,OAAO9gH,EAIX,MAAMghH,EAAahB,GAAoCc,OAAqChhH,GAM5F,OAJIihH,GACAE,GAA8BD,EAAYF,EAAkBC,GAGzDrB,GAAoB1/G,EAAMghH,GAG9B,SAASC,GACZD,EACAF,EACAC,GAEA,MAAMG,EAAyBC,GAA4BL,GAAmC,GAC9FE,EAAW7F,eAAe+F,EAAwBzB,GAAkBsB,IAKjE,SAASrB,GACZ1/G,EACAghH,EACAI,GAAoB,EACpB5E,GAAqB,EACrB6E,GAA4B,GAG5B,OAAIL,EAAW15F,WAAc85F,GAAsBC,EAI/B,IAAIC,GACpBN,EACAI,EACA5E,EACA6E,GAEe18G,MAAM3E,GATdA,EA2CR,SAASuhH,GAAmBtS,GAC/B,MAAMuS,EAAY,IAAI1iG,IAMtB,OAJI8mF,GAAU+L,gBAAgB1C,IAC1BwS,GAA4BxS,EAAWuS,GAGpCA,EAGX,SAASC,GAA4BxS,EAAsBuS,EAAqC/Y,EAAiB,GACzGA,EAAiBlD,KAIrB0J,EAAU1H,QAAQgI,YAAYjpF,SAASisF,IAC/BtL,GAAQsL,IAAc3M,GAAU+L,gBAAgBY,IAChDkP,GAA4BlP,EAAWiP,EAAW/Y,EAAiB,MAI3EwG,EAAU1H,QAAQiE,OAAOllF,SAAQ,CAACq1D,EAAQtuE,KACjCsuE,EAAOo9B,6BACRyI,EAAUr7G,IAAIkH,EAAM,CAChBsuE,SACAszB,YACAkK,iBAAkBx9B,EAAOw9B,mBACzBE,WAAY19B,EAAO09B,aACnBqI,eAAgB/lC,EAAO0+B,uBACvBsH,uBAAuB,QAMhC,SAASC,GACZ5S,EACA3mC,EACA6B,EAAQ,GAER,GAAIi9B,GAAgB6H,GAChB,OAAO6S,GAAkB7S,EAAY3mC,EAAY6B,GAQlD,SAAS23C,GACZ5S,EACA5mC,EACA6B,EAAQ,G,MAIR,OAAuB,QAAhB,EAFW43C,GAAuB7S,EAAW5mC,EAAY6B,GAE/CjhD,cAAM,eAAE3qB,MAWtB,SAAUwjH,GAAuB7S,EAAiB5mC,EAAoB6B,EAAQ,GACjF,MAAM63C,EAA2E,IAA9C,GAAR73C,GAC3B,IAAIy3C,GAAwB,EAE5B,GAAI1a,GAAQgI,GAAY,CACpB,IAAI+S,EAAa,EACL,EAAR93C,IACA83C,GAA0B,GAElB,EAAR93C,IACA83C,GAA0B,GAElB,EAAR93C,IACA83C,GAA0B,GAElB,GAAR93C,IACA83C,GAA0B,GAG9B,MAAMC,EAAWC,GAAiBjT,EAAW+S,GAE7C,IAAK,MAAOjC,EAAUoC,KAAwBF,EAAU,CACpD,IAAK/a,GAAoB6Y,GAAW,CAChC,IAAKgC,EAAmB,CAGpB,MAAMK,EAAkB,CACpBzmC,OAAQ,kBAAsB,EAAkB+pB,GAAYvyF,UAC5DgmG,kBAAkB,EAClBE,YAAY,EACZpK,UAAWvJ,GAAYvyF,SACvBuuG,gBAAgB,EAChBC,uBAAuB,SAErBS,EAEV,SAGJ,IAAKlb,GAAoBib,GACrB,SAGJ,MAAME,EAAeF,EAAoB5a,QAAQiE,OAGjD,GAA+D,IAAlD,EAARthC,GAA6D,CAC9D,MAAMyR,EAAS0mC,EAAa98G,IAAI8iE,GAChC,GAAIsT,GAAUA,EAAOw9B,mBAAoB,CACrC,MAAMnF,EAAkBr4B,EAAO0+B,uBAC/B,IAAK0H,GAAqB/N,EAAiB,CACvC,MAAMoO,EAAkB,CACpBzmC,SACAw9B,kBAAkB,EAClBE,WAAY19B,EAAO09B,aACnBpK,UAAWkT,EACXT,eAAgB1N,EAChB2N,+BAEES,OAENT,GAAwB,GAMpC,MAAMhmC,EAAS0mC,EAAa98G,IAAI8iE,GAChC,GAAIsT,GAAUA,EAAOs9B,gBAAiB,CAClC,MAAMjF,EAAkBr4B,EAAO0+B,uBAC/B,IAAK0H,GAAqB/N,EAAiB,CACvC,IAAImF,GAAmB,EAOvB,GAAIvT,GAAUkL,YAAYqR,IAAwBvc,GAAU0L,iBAAiB6Q,GAAsB,CAC/F,MAAMjlB,EAAQvhB,EAAOy+B,kBACjBld,EAAMlhG,OAAS,GAAuB,IAAlBkhG,EAAM,GAAGl9F,OAC7Bm5G,GAAmB,GAI3B,MAAMiJ,EAAkB,CACpBzmC,SACAw9B,mBACAE,WAAY19B,EAAO09B,aACnBpK,UAAWkT,EACXT,eAAgB1N,EAChB2N,+BAEES,OAENT,GAAwB,SAIjC,GAAIhb,GAAesI,GAAY,CAGlC,MAAMmT,EAAkB,CACpBzmC,OAAQ,kBAAsB,EAAkB+pB,GAAYvyF,UAC5DgmG,kBAAkB,EAClBE,YAAY,EACZpK,UAAWvJ,GAAYvyF,SACvBuuG,gBAAgB,EAChBC,uBAAuB,SAErBS,GAMP,SAAUF,GAAiBjT,EAAiB/kC,EAAQ,GACvD,GAAI+8B,GAAQgI,GAAY,CACpB,IAAIqT,EAAkE,IAA1C,EAARp4C,GAEpB,IAAK,MAAM61C,KAAY9Q,EAAU1H,QAAQoI,IAAK,CAC1C,GAAI2S,EAAc,CACdA,GAAe,EACf,SAKJ,MAAMH,EAAsBtB,GAAwBd,EAAU9Q,GAG9D,GAAY,EAAR/kC,GACIg9B,GAAoBib,IAChBvc,GAAUqH,UAAUkV,EAAqB,UACzC,MAMZ,GAAY,EAARj4C,GACIg9B,GAAoBib,IAChBvc,GAAUqH,UAAUkV,EAAqB,QACzC,MAOZ,QAFM,CAACpC,EAAUoC,GAEoC,IAAxC,EAARj4C,GACD,QAyCT,SAASq4C,GAA0BC,EAAsBC,GAC5D,IAAK,MAAMna,KAASma,EACXD,EAAMj2C,MAAM87B,GAAUD,GAAWqX,GAAkBpX,GAAQoX,GAAkBnX,OAC9Eka,EAAMnmH,KAAKisG,GAUhB,SAASoa,GAA6B1iH,EAAYyoG,EAAiB,G,QACtE,GAAIA,EAAiBlD,GACjB,MAAO,GAeX,GAbAkD,IAasB,QAAlB,EAAAzoG,EAAKioG,qBAAa,eAAEmB,cAAe,CACnC,MAAMuZ,EAA8B,GAMpC,OAJkB,QAAlB,EAAA3iH,EAAKioG,qBAAa,SAAEmB,cAAc9iF,SAASk3F,IACvC+E,GAA0BI,EAAcD,GAA6BlF,EAAS/U,OAG3Eka,EAGX,GAAItb,GAAUrnG,GAEV,OAAIA,EAAKunG,QAAQW,wBAKbL,GAAY7nG,IAASA,EAAK+3G,gBAJnB,GAQJ,CAACvS,GAASgB,eAAexmG,GAAQomG,GAAYwJ,gBAAgB5vG,GAAQA,GAGhF,GAAIinG,GAAQjnG,GACR,MApCyB,CAACivG,IAC1B,MAAM0T,EAA8B,GAOpC,OANI1T,EAAU7F,eACV6F,EAAU7F,cAAc9iF,SAASk3F,IAC7B+E,GAA0BI,EAAcD,GAA6BlF,EAAS/U,OAI/Eka,GA4BAC,CAAqB5iH,GAGhC,GAAI4mG,GAAQ5mG,GAAO,CACf,MAAM2iH,EAA8B,GAIpC,OAHAvF,GAAiBp9G,GAAO8mG,IACpByb,GAA0BI,EAAcD,GAA6B5b,EAAS2B,OAE3Eka,EAGX,GAAI7a,GAAW9nG,GAAO,CAClB,MAAM2iH,EAA8B,GAEpC,IAAK,IAAIrnH,EAAI,EAAGA,EAAI0E,EAAKunG,QAAQljE,WAAWroC,OAAQV,IAChDinH,GACII,EACAD,GAA6B7c,GAAamE,0BAA0BhqG,EAAM1E,GAAImtG,IAIlFzoG,EAAKunG,QAAQqM,WACb2O,GAA0BI,EAAc,CAAC3iH,EAAKunG,QAAQqM,YAG1D,MAAMxJ,EAAavE,GAAagQ,yBAAyB71G,GAKzD,OAJIoqG,GACAmY,GAA0BI,EAAcD,GAA6BtY,EAAY3B,IAG9Eka,EAGX,MAAO,GAKJ,SAASE,GAAoB7iH,GAChC,MAAMghH,EAAa,IAAIpG,GAAWgF,GAAkB5/G,IAOpD,OANmB4lG,GAAUyM,kBAAkBryG,GAEpCsmB,SAASw8F,IAChB9B,EAAW7F,eAAe2H,EAAWpd,GAAYvyF,aAG9CusG,GAAoB1/G,EAAMghH,GAK9B,SAAS+B,GAA0BxV,EAAgBC,EAAewT,EAAwBvY,EAAiB,GAC9G,KAAIA,EAAiBlD,KAGrBkD,IAEIuY,EAAW9D,aAIf,OAAQ3P,EAASjuC,UACb,KAAK,EACD89C,GAAiB7P,GAAWzG,IACxBic,GAA0Bjc,EAAS0G,EAASwT,EAAYvY,MAE5D,MAEJ,KAAK,EACG8E,EAASnE,eACTmE,EAASnE,cAAc9iF,SAASk3F,IAC5BuF,GAA0BvF,EAAShQ,EAASwT,EAAYvY,MAG5D8E,EAASxE,oBACTwE,EAASxE,mBAAmBziF,SAASk3F,IACjCuF,GAA0BvF,EAAQx9G,KAAMwtG,EAASwT,EAAYvY,MAGrE,MAEJ,KAAK,EACG8E,EAASpD,kBACToD,EAASpD,iBAAiB2I,eAAexsF,SAAS08F,IAC9CD,GAA0BC,EAAWxV,EAASwT,EAAYvY,MAE1D8E,EAASpD,iBAAiBC,YAC1B2Y,GACIxV,EAASpD,iBAAiBC,WAC1BoD,EACAwT,EACAvY,KAIR8E,EAAShG,QAAQljE,WAAW/d,SAASlC,IACjC2+F,GAA0B3+F,EAAMpkB,KAAMwtG,EAASwT,EAAYvY,MAE3D8E,EAAShG,QAAQ2C,oBACjB6Y,GAA0BxV,EAAShG,QAAQ2C,mBAAoBsD,EAASwT,EAAYvY,IAG5F,MAEJ,KAAK,EACD8E,EAAShD,UAAUjkF,SAASwgF,IACxBic,GAA0Bjc,EAAS0G,EAASwT,EAAYvY,MAE5D,MAEJ,KAAK,GACIuY,EAAW1E,WAAW/O,IACvByT,EAAW7F,eAAe5N,EAAUC,IAU7C,SAASwS,GAAoC/Q,EAAsBgU,GAAe,GACrF,MAAM7U,EAAiBxI,GAAUyM,kBAAkBpD,GACnD,IAAI7F,EAAgB6F,EAAU7F,cAKzBA,GAAkB6Z,IACnB7Z,EAAgBgF,GAGpB,MAAM4S,EAAarB,GAAgBvR,EAAgBhF,EAAewW,GAAkB3Q,IAKpF,OAJIrJ,GAAUuM,aAAalD,IAAcA,EAAUlG,oBAAsBqF,EAAepyG,QAAU,GAC9FglH,EAAWtF,mBAAmBtN,EAAe,GAAIa,EAAUlG,oBAGxDiY,EAGJ,SAASrB,GACZvR,EACAF,EACAF,GAEA,MAAMgT,EAAa,IAAIpG,GAAW5M,GAiDlC,OAhDAI,EAAe9nF,SAAQ,CAACw8F,EAAW33F,KAC/B,IAAI+3F,EAEJ,GAAIhV,EACA,GAAIrG,GAAYib,IACZ,GAAI33F,EAAQ+iF,EAASlyG,OAEjB,GADAknH,EAAchV,EAAS/iF,GACnB28E,GAAWob,IAAgBrd,GAAaoO,iBAAiBiP,GAAc,CACvE,MAAMC,EAAqC,GACrCC,EAAsBF,EAC5BA,EAAY3b,QAAQljE,WAAW/d,SAAQ,CAAClC,EAAOi/F,KAC3CF,EAAiB9mH,KAAK,CAClBijE,SAAUl7C,EAAMk7C,SAChBjyD,KAAM+W,EAAM/W,KACZymG,aAAc1vF,EAAM0vF,WACpBC,kBAAmB3vF,EAAM2vF,kBACzB/zG,KAAM6lG,GAAamE,0BAA0BoZ,EAAqBC,QAG1ErC,EAAWxF,aAAasH,EAAW,CAC/Bz+E,WAAY8+E,EACZnV,eAAgBkV,EAAY3b,QAAQyG,eACpC9jC,MAAOg5C,EAAY3b,QAAQr9B,MAC3Bm0B,UAAW6kB,EAAY3b,QAAQlJ,UAC/BuV,UAAWsP,EAAY3b,QAAQqM,iBAE5B/L,GAAYqb,IACnBlC,EAAWxF,aAAasH,EAAW,CAC/B54C,MAAO,EACP7lC,WAAY,GACZ2pE,oBAAgBluG,EAChBu+F,eAAWv+F,EACX8zG,UAAWsP,SAMnBA,EADA/3F,GAAS+iF,EAASlyG,OACJiqG,GAAQ9yF,SAER+6F,EAAS/iF,GAG3B61F,EAAW7F,eAAe2H,EAAWI,EAAaA,GAAiC,MAKxFlC,EAIJ,SAASsC,GAAuB9V,EAAoB+E,GAKvD,GAA0B,IAJP3M,GAAUyM,kBAAkBE,GAIhCv2G,OACX,OAAOu2G,EAGX,MACMgR,EAAkB7D,GAAoBnN,EADzByN,GAAoCxS,IAGvD,OADA16C,EAAOo0C,GAAoBqc,IACpBA,EAMJ,SAASC,GAA0BvU,EAAsBwU,EAA4BC,GACxF,GAAI9d,GAAU+C,mBAAmBsG,EAAWwU,GACxC,OAAO,EAGX,IAAK,MAAMlR,KAAatD,EAAU1H,QAAQgI,YACtC,GAAIrI,GAAoBqL,IACpB,GAAIiR,GAA0BjR,EAAWkR,EAAiBC,GACtD,OAAO,OAER,IAAKA,GAAiB/c,GAAe4L,GAExC,OAAO,EAIf,OAAO,EAGJ,SAAS4O,GAA4BlS,EAAsB0U,G,MAC9D,MAAMC,EAAWxd,GAAY2M,eAAe,oBACtCjI,EAAsC,QAA5B,EAAA8U,GAAkB3Q,UAAU,QAAI,GAChD2U,EAASrc,QAAQyD,eAAgB,EACjC4Y,EAASrc,QAAQ2Q,mBAAoB,EACrC0L,EAASpM,cAAgBpR,GAAYgR,kBAAkBwM,EAASrc,QAAQl6F,KAAMy9F,GAC9E8Y,EAAS9Y,QAAUA,EAEnB,MAAM3C,EAAYvC,GAAUkK,uBACxBb,EACArJ,GAAUyM,kBAAkBpD,IACC,GACL,GAK5B,OAFA2U,EAASrc,QAAQY,UAAYvC,GAAUgK,gBAAgBzH,GAEhDwb,EAAavd,GAAY2I,oBAAoB6U,GAAYA,EAK7D,SAASC,GAA+BrP,GAC3C,MAAMpK,EAAavE,GAAagQ,yBAAyBrB,GACzD,GAAIpK,EAAY,CACZ,MAAM0Z,EAAoBC,GAAqB3Z,GAE/C,GAAI0Z,EAEA,OAAOA,EAAkB9nH,QAAU,EAAI8nH,EAAkB,GAAKpe,GAAYvyF,UAwC/E,SAAS6wG,GAA0BhkH,GACtC,QAAIwlG,GAASgB,eAAexmG,OAKxBmnG,GAAgBnnG,KAAS4lG,GAAUqH,UAAUjtG,EAAM,YAInD4mG,GAAQ5mG,IACDA,EAAK6mG,SAAS9+E,OAAO++E,GAAYkd,GAA0Bld,KAMnE,SAAS2Y,GAAkBz/G,GAC9B,IAAIghB,EAAS89F,GAAY9+G,GAAO8mG,IAC5B,OAAQA,EAAQxnC,UACZ,KAAK,EAED,OAAIsmC,GAAUqH,UAAUnG,EAAS,SACxBA,EAAQsC,eAAiBtC,EAAQsC,cAAcptG,OAAS,EAClD0pG,GAAYvyF,SAEZ8wG,GAAsBnd,EAAQsC,cAAc,IAIpDxD,GAAUgK,gBAAgB9I,GAGrC,KAAK,EACD,OAAOf,GAASgN,iBAGpB,KAAK,EACD,GAAIvN,GAASgB,eAAeM,GACxB,OAAOjB,GAAa+J,gBAAgB9I,GAExC,MAGJ,KAAK,GACD,GAAItB,GAASgB,eAAeM,GACxB,OAAOV,GAAYwJ,gBAAgB9I,GAM/C,OAAOA,KAeX,OAXI9mG,EAAKioG,eAAiBjoG,IAASghB,IAC/BA,EAASwkF,GAASsI,kBACd9sF,EACAhhB,EAAKioG,cAAc56F,KACnBrN,EAAKioG,cAAc8F,SACnB/tG,EAAKioG,cAAc+F,eACnBhuG,EAAKioG,cAAcmG,eACnBpuG,EAAKioG,cAAcmB,gBAIpBpoF,EAGJ,SAASijG,GAAsBjkH,GAClC,IAAIghB,EAAS89F,GAAY9+G,GAAO8mG,IAC5B,OAAQA,EAAQxnC,UACZ,KAAK,EACD,GAAIkmC,GAASvmG,WAAW6nG,GACpB,OAAOlB,GAAUmJ,oBAAoBjI,GAEzC,MAGJ,KAAK,EACD,OAAOf,GAASkQ,aAGpB,KAAK,EACD,GAAIzQ,GAASvmG,WAAW6nG,GACpB,OAAOjB,GAAakJ,oBAAoBjI,GAE5C,MAGJ,KAAK,GACD,GAAItB,GAASvmG,WAAW6nG,GACpB,OAAOV,GAAY2I,oBAAoBjI,GAMnD,OAAOA,KAeX,OAXI9mG,EAAKioG,eAAiBjoG,IAASghB,IAC/BA,EAASwkF,GAASsI,kBACd9sF,EACAhhB,EAAKioG,cAAc56F,KACnBrN,EAAKioG,cAAc8F,SACnB/tG,EAAKioG,cAAc+F,eACnBhuG,EAAKioG,cAAcmG,eACnBpuG,EAAKioG,cAAcmB,gBAIpBpoF,EAGJ,SAASkjG,GAAmBjV,EAAsBR,EAA0B0V,GAC/E,IAAK,IAAI7oH,EAAI,EAAGA,EAAI2zG,EAAU1H,QAAQoI,IAAI3zG,OAAQV,IAAK,CACnD,MAAMykH,EAAW9Q,EAAU1H,QAAQoI,IAAIr0G,GAEvC,GAAI4rG,GAAoB6Y,GAAW,CAE/B,MAAMqE,EAAmBxe,GAAU0L,iBAAiByO,GACpDA,EAASxY,QAAQiE,OAAOllF,SAAQ,CAACq1D,EAAQtuE,KACrC,IAAIsuE,EAAOs9B,iBAAoBkL,GAAuBxoC,EAAOw9B,uBACpDiL,GAAqB1J,GAAsC/+B,IACvDA,EAAO49B,aAAa,CACrB,MAAM8K,EAAiB5V,EAAYlpG,IAAI8H,GAElCg3G,GAEOA,EAAehK,wBAA0B1+B,EAAO0+B,wBAGxD5L,EAAYtoG,IAAIkH,EAAMsuE,GAJtB8yB,EAAYtoG,IAAIkH,EAAMsuE,QAclD,IAAKwoC,EAAqB,CACtB,MAAMG,EAAYrV,EAAU1H,QAAQmI,mBACpC,GAAI4U,GAAapd,GAAoBod,GACjC,IAAK,MAAMvE,KAAYuE,EAAU/c,QAAQoI,IAAK,CAC1C,IAAIzI,GAAoB6Y,GAapB,MAZAA,EAASxY,QAAQiE,OAAOllF,SAAQ,CAACq1D,EAAQtuE,KACrC,MAAMg3G,EAAiB5V,EAAYlpG,IAAI8H,GAElCg3G,GAEOA,EAAehK,wBAA0B1+B,EAAO0+B,wBAGxD5L,EAAYtoG,IAAIkH,EAAMsuE,GAJtB8yB,EAAYtoG,IAAIkH,EAAMsuE,QAgC3C,SAAS4oC,GAAgBvkH,GAC5B,IAAIwkH,GAAe,EAQnB,OANApH,GAAiBp9G,GAAO8mG,IAChBJ,GAAUI,KACV0d,GAAe,MAIhBA,EAIJ,SAASC,GAAgBzkH,EAAY0kH,GAAiC,EAAOjc,EAAiB,G,QACjG,GAAIA,EAAiBlD,GACjB,OAAO,EAIX,GAFAkD,IAEI/B,GAAU1mG,GACV,OAAO,EAKX,IAAsB,QAAlB,EAAAA,EAAKioG,qBAAa,eAAEmB,gBAEhBppG,EAAKioG,cAAcmB,cAAc35C,MAAM+tD,GACnCiH,GAAgBjH,EAASkH,EAAgCjc,KAG7D,OAAO,EAKf,GAAI7B,GAAQ5mG,GACR,YAEIF,IADA6qG,GAAY3qG,GAAO8mG,GAAY2d,GAAgB3d,EAAS4d,EAAgCjc,KAMhG,GAAIxB,GAAQjnG,GAAO,CAKf,GAJIwlG,GAASvmG,WAAWe,KACpB0kH,GAAiC,IAGhCA,IAAmC9e,GAAUkD,qBAAqB9oG,GAAO,CAC1E,MAAMkuG,GAAkC,QAAvB,EAAAluG,EAAK+oG,0BAAkB,eAAEjkF,KAAKyoC,GAAMA,EAAEvtD,SAASA,EAAKopG,cACrE,GAAI8E,EACA,IAAK,MAAMyW,KAAWzW,EAClB,GAAIuW,GAAgBE,EAASD,EAAgCjc,GACzD,OAAO,EAMvB,OAAO,EAIX,GAAIV,GAAqB/nG,GACrB,OAAOA,EAAKuqG,UAAU96C,MAAM4wD,GACjBoE,GAAgBpE,GAAU,EAAO5X,KAIhD,GAAIX,GAAW9nG,GAAO,CAClB,IAAK,IAAI1E,EAAI,EAAGA,EAAI0E,EAAKunG,QAAQljE,WAAWroC,OAAQV,IAEhD,GAAI0E,EAAKunG,QAAQljE,WAAW/oC,GAAG+R,MAEvBo3G,GADc5e,GAAamE,0BAA0BhqG,EAAM1E,IACK,EAAOmtG,GACvE,OAAO,EAKnB,SACIzoG,EAAKunG,QAAQ2C,oBACZrE,GAAaoO,iBAAiBj0G,KAC/BykH,GAAgBzkH,EAAKunG,QAAQ2C,oBAAyD,EAAOzB,IAQrG,OAAO,EAMJ,SAASmc,GAAoB3V,GAChC,OAAKA,EAAU7F,eAAoD,IAAnC6F,EAAU7F,cAAcptG,QAAiB4qG,GAAQqI,EAAU7F,cAAc,IAIlG4C,GACHiD,EAAU7F,cAAc,GAAGvC,SAAS/hF,KAAKgiF,GAC9BlB,GAAUkK,uBAAuBb,EAAW,CAACnI,IAAuC,MALxFmI,EAYR,SAAS4V,GAAuB7kH,EAAY8kH,GAC/C,IAAKA,IAAc5d,GAAoB4d,IAAclE,GAAsBkE,GACvE,OAGJ,IAAIC,EACAC,GAAU,EAqCd,OAnCA5H,GAAiBp9G,GAAO8mG,IACpB,GAAIK,GAAgBL,GAAU,CAC1B,IAAIgZ,EACA7Y,GAAQH,IAAYqL,GAAarL,KAAa8Z,GAAsB9Z,KACpEgZ,EAAahZ,GAGZgZ,IAGDA,EAAahZ,EAAQS,QAAQoI,IAAIpjC,MAC5BwzC,GAAa9Y,GAAQ8Y,IAAa5N,GAAa4N,KAAca,GAAsBb,MAIxFD,GAAc7Y,GAAQ6Y,IAAeA,EAAW/W,mBAC5Cgc,EACIA,EAAa/oH,SAAW8jH,EAAW/W,mBAAmB/sG,OACtD8jH,EAAW/W,mBAAmBziF,SAAQ,CAACm0C,EAAOtvC,KAC1C45F,EAAc55F,GAAO9uB,KAAKo+D,EAAMz6D,SAGpCglH,GAAU,EAGdD,EAAejF,EAAW/W,mBAAmBjkF,KAAK21C,GAAU,CAACA,EAAMz6D,QAGvEglH,GAAU,OAGdA,GAAU,KAIbA,GAAYD,EAIVtF,GACHwF,GACIH,EACAC,EAAajgG,KAAK21C,IACP,CAAEz6D,KAAMgsG,GAAavxC,GAAQyuC,aAAa,aAR7D,EAkBG,SAAS+b,GACZhW,EACAf,EACA6B,GAAyB,EACzBmV,GAAgB,EAChBC,GAAkB,GAElB,IAAIC,EAAoBpZ,GAAakC,EAASppF,KAAKyoC,GAAMA,EAAEvtD,QAEvDklH,IACAE,EAAoB/F,GAAkB+F,IAItC/e,GAAQ+e,KACRA,EAAoBnf,GAAQ9yF,UAGhC,MAAMkyG,EAAkBzf,GAAUkK,uBAC9Bb,EACA,CAACmW,GACDrV,OACwBjwG,EACxBouG,GAOJ,OAJIiX,IACAE,EAAgBzd,YAAa,GAG1Byd,EAMJ,SAASC,GAAsCtlH,GAClD,GAAI8nG,GAAW9nG,GACX,OAAOulH,GAAqCvlH,GAGhD,MAAMwlH,EAA+B,GACrC,IAAIC,GAAgB,EAEpB,IAAK,MAAMpF,KAAYrgH,EAAKuqG,UAAW,CACnC,MAAMmb,EAAcH,GAAqClF,GACzDmF,EAAanpH,KAAKqpH,GACdA,IAAgBrF,IAChBoF,GAAgB,GAIxB,OAAOA,EAAgB3f,GAAuB3yF,OAAOqyG,GAAgBxlH,EAGlE,SAASulH,GAAqCvlH,GACjD,MAAM2lH,EAAa3lH,EAAKunG,QAAQljE,WAAWroC,OAC3C,GAAI2pH,EAAa,EACb,OAAO3lH,EAGX,MAAM4lH,EAAY5lH,EAAKunG,QAAQljE,WAAWshF,EAAa,GACjDE,EAAc7lH,EAAKunG,QAAQljE,WAAWshF,EAAa,GAEzD,OAC2B,IAAvBC,EAAUtmD,UACe,IAAzBumD,EAAYvmD,UACXuoC,GAAY+d,EAAU5lH,OACtB6nG,GAAYge,EAAY7lH,OACxBooG,GAAWwd,EAAU5lH,KAAM6lH,EAAY7lH,MAKrC6lG,GAAayO,8BAA8Bt0G,EAAM4lH,EAAU5lH,MAHvDA,EAMf,SAAS8lH,GAA6B9lH,GAClC,OAAImnG,GAAgBnnG,IAASmyG,GAAanyG,IAASA,EAAK+oG,oBAAsB/oG,EAAK4nG,WACxEoE,GAAahsG,EAAK+oG,mBAAmBjkF,KAAKyoC,GAAMA,EAAEvtD,QAGtDA,EAKJ,SAAS+jH,GAAqB3Z,G,MACjC,GAAIjD,GAAgBiD,GAAa,CAC7B,GAAIxE,GAAUqH,UAAU7C,EAAY,CAAC,YAAa,mBAC9C,OAAOA,EAAWhB,cACf,GAAIxD,GAAUqH,UAAU7C,EAAY,sBAGvC,OAA+B,QAAxB,EAAAA,EAAWhB,qBAAa,eAAExqG,MAAM,IAuC5C,SAASmnH,GACZ/lH,EACAuoG,GAAsB,EACtByd,GAAa,EACbvd,EAAiB,G,MAEjB,GAAIA,EAAiBlD,GACjB,OAAO,EAIX,OAFAkD,IAEQzoG,EAAKs/D,UACT,KAAK,EACD,QAAIsmC,GAAUkD,qBAAqB9oG,KAASuoG,KAIxCvoG,EAAKopG,mBAIKtpG,IAFNE,EAAKopG,cAAc78B,MAAMixC,GACrBuI,GAAuBvI,EAASjV,EAAqByd,EAAYvd,KAKtE7C,GAAUyM,kBAAkBryG,GAAMhE,OAAS,GAGtD,KAAK,EAAuB,CACxB,GAAIgE,EAAKunG,QAAQqM,UACb,OAAO,EAGX,IAAK,IAAIt4G,EAAI,EAAGA,EAAI0E,EAAKunG,QAAQljE,WAAWroC,OAAQV,IAChD,GACIyqH,GACIlgB,GAAamE,0BAA0BhqG,EAAM1E,GAC7CitG,EACAyd,EACAvd,GAGJ,OAAO,EAIf,MAAMyB,EACFlqG,EAAKmqG,kBAAoBnqG,EAAKmqG,iBAAiBC,WACzCpqG,EAAKmqG,iBAAiBC,WACtBpqG,EAAKunG,QAAQ2C,mBACvB,GAAIA,GACA,GAAI6b,GAAuB7b,EAAoB3B,EAAqByd,EAAYvd,GAC5E,OAAO,OAER,GAAIzoG,EAAKqqG,oBACR0b,GAAuB/lH,EAAKqqG,mBAAoB9B,EAAqByd,EAAYvd,GACjF,OAAO,EAIf,OAAO,EAGX,KAAK,EACD,YAGU3oG,IAFNE,EAAKuqG,UAAUh+B,MAAM8zC,GACjB0F,GAAuB1F,EAAU9X,EAAqByd,EAAYvd,KAK9E,KAAK,EACD,YAGU3oG,IAFN6qG,GAAY3qG,GAAO8mG,GACfif,GAAuBjf,EAASyB,EAAqByd,EAAYvd,KAK7E,KAAK,GAED,IAAKzoG,EAAKunG,QAAQW,uBACd,OAAIloG,EAAKunG,QAAQ2Q,oBAAqB8N,EAS1C,GAAsB,QAAlB,EAAAhmH,EAAKioG,qBAAa,eAAEmB,cACpB,OAAOppG,EAAKioG,cAAcmB,cAAc35C,MAAM+tD,GAC1CuI,GAAuBvI,EAASjV,EAAqByd,EAAYvd,KAMjF,OAAO,EAOJ,SAASwd,GAAwBhX,GACpC,IAAIiX,GAAa,EAEjB,MAAMC,EAAsBlX,EAAU1H,QAAQgI,YAAY1lD,QAAO,CAAC0oD,EAAWpnF,KACzE,GAAI+7E,GAAoBqL,IAGhB3M,GAAUqH,UAAUsF,EAAW,WAAY,CAG3C,GAAI3M,GAAU+L,gBAAgB1C,GAC1B,OAAO,EAMX,GACIA,EAAU1H,QAAQgI,YAAY9/C,MAAK,CAAC22D,EAAgBC,IAE5CA,EAAal7F,GACb+7E,GAAoBkf,IACpBA,EAAehd,eACfgd,EAAerW,yBAIvB,OAAO,EAKnB,OAAO,KAILuW,EAA8B,GAEpCH,EAAoB7/F,SAAQ,CAACisF,EAAWpnF,KACpC,GAAI+7E,GAAoBqL,GAAY,CAChC,MAAMyO,EAAahB,GAAoCzN,GAA8B,GACrF+T,EAAkBjqH,KACdk2G,EAAUhL,QAAQoI,IAAI7qF,KAAKi7F,GAChBL,GAAoBK,EAAUiB,WAI7CsF,EAAkBjqH,KAAK,CAACk2G,OAIhC+T,EAAkBjqH,KACd8pH,EAAoBrhG,KAAKytF,GAEdmN,GAAoBnN,EADRyN,GAAoC/Q,GAA8B,OAM7F,MAAM+R,EAAahB,GAAoC/Q,GAA8B,GACrFA,EAAU1H,QAAQoI,IAAItzG,KAAKqjH,GAAoBzQ,EAAW+R,IAK1D,MAAMuF,EAAW,CAACC,EAAwBC,IAC/BA,EAAWh3D,MAAMi3D,GAEhBA,EAAUn2B,WACLjyF,GAAU4oG,GAAoB5oG,IAAUsnG,GAAU+C,mBAAmBrqG,EAAOkoH,KAC7E,IAKVG,EAAc,CAACC,EAA0BH,KAC3C,IAAK,IAAInrH,EAAI,EAAGA,EAAImrH,EAAWzqH,OAAQV,IACnCmrH,EAAWnrH,GAAKmrH,EAAWnrH,GAAGuuD,QACzBvrD,IAAW4oG,GAAoB5oG,KAAWsnG,GAAU+C,mBAAmBrqG,EAAOsoH,MAK3F,OAAa,CACT,IACIC,EADAC,GAAiB,EAGrB,IAAK,IAAIxrH,EAAI,EAAGA,EAAIgrH,EAAkBtqH,OAAQV,IAAK,CAC/C,MAAMorH,EAAYJ,EAAkBhrH,GAEpC,GAAIorH,EAAU1qH,OAAS,EAAG,CAKtB,QAJqB8D,IAAjB+mH,IACAA,EAAeH,IAGdxf,GAAoBwf,EAAU,IAAK,CACpCI,GAAiB,EACjB7X,EAAU1H,QAAQoI,IAAItzG,KAAKqqH,EAAU,IACrCA,EAAUnmG,QACV,MACG,IAAKgmG,EAASG,EAAU,GAAIJ,GAAoB,CACnDQ,GAAiB,EACjB7X,EAAU1H,QAAQoI,IAAItzG,KAAKqqH,EAAU,IACrCC,EAAYD,EAAU,GAAIJ,GAC1B,QAMZ,IAAKO,EACD,MAMCC,IACDZ,GAAa,EAIRhf,GAAoB2f,EAAa,KAIlC5X,EAAU1H,QAAQoI,IAAItzG,KAAKwqH,EAAa,IACxCF,EAAYE,EAAa,GAAIP,KAJ7BrX,EAAU1H,QAAQoI,IAAItzG,KAAKwqH,EAAa,IACxCA,EAAatmG,UAQzB,OAAO2lG,EAMJ,SAASa,GAA2B/mH,GACvC,MAAMgnH,EAAuB,GAE7B,OADAC,GAA+BjnH,EAAMgnH,GAC9BA,EAGX,SAASC,GAA+BjnH,EAAYgnH,EAAsBve,EAAiB,GACvF,GAAIA,EAAiBlD,GACjB,OAEJkD,IAEA,MAAM34B,EAAe9D,IACbA,IAAeg7C,EAAWv3D,MAAMjuD,GAAMA,IAAMwqE,KAC5Cg7C,EAAW3qH,KAAK2vE,IAIxB,OAAQhsE,EAAKs/D,UACT,KAAK,EAKL,KAAK,EACDwQ,EAAY9vE,EAAKunG,QAAQv7B,YACzB,MAGJ,KAAK,EACDhsE,EAAKuqG,UAAUjkF,SAAS+5F,IACpB4G,GAA+B5G,EAAU2G,EAAYve,MAEzD,MAGJ,KAAK,EACD2U,GAAiBp9G,GAAO8mG,IACpBmgB,GAA+BngB,EAASkgB,EAAYve,MAExD,MAGJ,KAAK,EACD34B,EAAY9vE,EAAKgsE,aAMtB,SAASk7C,GAA4BC,GACxC,IAAIC,EAAgBD,EAAe9iF,WAAWroC,OAAS,EAEvD,GAAyC,IAArCmrH,EAAe9iF,WAAWroC,OAAc,CAGxC,MAAMqrH,EAAYF,EAAe9iF,WAAW,GACjB,IAAvBgjF,EAAU/nD,UAA0C+nD,EAAUh6G,OAC9D+5G,GAAgB,GAIxB,GAAIA,IAAkBD,EAAevT,UAAW,CAE5C,MAAMY,EAAe3O,GAAakN,eAAe,GAAI,GAAI,GAAI,OAgB7D,OAdAoU,EAAe9iF,WAAW/d,SAASm0C,IAC/BorC,GAAa6O,aAAaF,EAAc,CACpCl1C,SAAU7E,EAAM6E,SAChBjyD,KAAMotD,EAAMptD,KACZymG,WAAYr5C,EAAMq5C,WAClBC,kBAAmBt5C,EAAMs5C,kBACzBC,iBAAiB,EACjBh0G,KAAMy6D,EAAMz6D,UAIpBw0G,EAAajN,QAAQqM,UAAYuT,EAAevT,UAChDY,EAAajN,QAAQlJ,UAAY8oB,EAAe9oB,UAEzCmW,EAGX,OAAO2S,EAAevT,WAtmE1B,SAAY6J,GACR,mCACA,6CACA,iCAHJ,CAAYA,QAAe,KA2mE3B,MAAM6J,GAAN,cACY,KAAAC,wBAAyB,EAEjC5iH,MAAM3E,EAAYwnH,EAAe,IAAI11E,IAAe22D,EAAiB,G,MACjE,GAAIA,EAAiBlD,GACjB,OAAOvlG,EAKX,GAHAyoG,KAGKsd,GAAuB/lH,GACxB,OAAOA,EAGX,GAAI2mG,GAAe3mG,GACf,OAAOA,EAGX,GAAIsmG,GAAetmG,GACf,OAAOA,EAGX,GAAIqnG,GAAUrnG,GAAO,CAIjB,GAAIA,EAAKunG,QAAQW,uBAAwB,CACrC,KAAuB,QAAlB,EAAAloG,EAAKioG,qBAAa,eAAEmB,eACrB,OAAOppG,EAGX,IAAIynH,GAAiB,EACrB,MAAMvZ,EAAWluG,EAAKioG,cAAcmB,cAActkF,KAAK04F,IACnD,MAAMkK,EAAkB1mH,KAAK2D,MAAM64G,EAASgK,EAAc/e,GAI1D,OAHIif,IAAoBlK,IACpBiK,GAAiB,GAEdC,KAGX,OAAID,EACOjiB,GAASsI,kBACZ9tG,EACAA,EAAKioG,cAAc56F,KACnBrN,EAAKioG,cAAc8F,SACnB/tG,EAAKioG,cAAc+F,eACnBhuG,EAAKioG,cAAcmG,eACnBF,GAIDluG,EAGX,IAAI0nH,EAAwB1nH,EAI5B,MAAM02G,EAActQ,GAAYkS,iBAAiBt4G,GAiBjD,OAhBKwnH,EAAapiG,IAAIsxF,KAClBgR,EAAkB1mH,KAAK2mH,iBAAiB3nH,GAEnCgB,KAAKumH,yBACNC,EAAa5gG,IAAI8vF,GACjBgR,EAAkB1mH,KAAK2D,MAAM+iH,EAAiBF,EAAc/e,GAC5D+e,EAAa5jG,OAAO8yF,IAKpBpP,GAAkBtnG,IAASA,EAAK03G,oBAChCgQ,EAAkB5B,GAA6B4B,KAIhDA,EAGX,GAAI9gB,GAAQ5mG,GAAO,CACf,MAAM4sG,EAAekS,GAAY9+G,GAAO8mG,IACpC,IAAImY,EAAkBj+G,KAAK2D,MAAMmiG,EAAS0gB,EAAc/e,GAIxD,GAAInB,GAAkBR,KAAaQ,GAAkB2X,GAAkB,CACnE,MAAM2I,EAA4B,GAClCxK,GAAiB6B,GAAkB4I,IAC/BD,EAAkBvrH,KAAKypH,GAA6B+B,OAGxD5I,EAAkBjT,GAAa4b,GAGnC,OAAO3I,KAGX,OAAIj+G,KAAK8mH,gBAAkBlhB,GAAQgG,GACxB5rG,KAAK8mH,eAAelb,GAGxBA,EAGX,GAAI3F,GAAQjnG,GACR,OAAOgB,KAAK+mH,8BAA8B/nH,EAAMwnH,EAAc/e,GAGlE,GAAIX,GAAW9nG,GACX,OAAOgB,KAAKgnH,iCAAiChoH,EAAMwnH,EAAc/e,GAGrE,GAAIV,GAAqB/nG,GAAO,CAC5B,IAAIynH,GAAiB,EAGrB,MAAMjC,EAA+B,GAUrC,OATAxlH,EAAKuqG,UAAUjkF,SAASm0C,IACpB,MAAMitD,EAAkB1mH,KAAKgnH,iCAAiCvtD,EAAO+sD,EAAc/e,GACnF+c,EAAanpH,KAAKqrH,GACdA,IAAoBjtD,IACpBgtD,GAAiB,MAKlBA,EAAiB3hB,GAAuB3yF,OAAOqyG,GAAgBxlH,EAG1E,OAAOA,EAGX2nH,iBAAiBvM,GACb,OAAOA,EAGX6M,yBAAyBrU,IAIzBsU,mBAAmBtU,IAInBkU,eAAe9nH,GACX,OAAOA,EAGH+nH,8BACJ9Y,EACAuY,EACA/e,GAGA,GAAsD,IAAlD7C,GAAUyM,kBAAkBpD,GAAWjzG,SAAiB4pG,GAAUgL,iBAAiB3B,GACnF,OAAOA,EAGX,IACIkZ,EADAC,EAAsB,GAEtBC,GAAuB,EAC3B,MAAMpa,EAAarI,GAAUyM,kBAAkBpD,GAEzCiZ,EAAsBtU,IACxB,MAAMD,EAAiB3yG,KAAKknH,mBAAmBtU,GAC/C,OAAID,GACA0U,GAAuB,EAChBnB,GAA4BvT,IAE5BC,GAIT0U,EAAyBtnH,KAAKumH,uBAwFpC,OAvFAvmH,KAAKumH,wBAAyB,EAG1BtY,EAAU7F,cACVgf,EAAcnZ,EAAU7F,cAActkF,KAAKyjG,IACvC,GAAIlhB,GAAUkhB,IAAmBA,EAAehhB,QAAQM,YACpD,OAAOqgB,EAAmBK,GAG9B,IAAIC,EAAiBxnH,KAAK2D,MAAM4jH,EAAgBf,EAAc/e,GAc9D,OAbI+f,IAAmBD,IACnBF,GAAuB,EAKnBhhB,GAAUkhB,IACVjhB,GAAkBihB,IAClBA,EAAe7Q,oBAEf8Q,EAAiB1C,GAA6B0C,KAG/CA,KAGXva,EAAW3nF,SAASw8F,IAChB,IAAI4E,EAAwB5E,EAE5B,GAAIA,EAAUvb,QAAQM,YAClB6f,EAAkBQ,EAAmBpF,GACjC4E,IAAoB5E,IACpBuF,GAAuB,OAExB,CACH,MAAMI,EAAgBriB,GAAYkS,iBAAiBwK,GAC9C0E,EAAapiG,IAAIqjG,KAClBf,EAAkB1mH,KAAK2mH,iBAAiB7E,GAEpC4E,IAAoB5E,IACf9hH,KAAKumH,yBACNC,EAAa5gG,IAAI6hG,GACjBf,EAAkB1mH,KAAK2D,MAAM+iH,EAAiBF,EAAc/e,GAC5D+e,EAAa5jG,OAAO6kG,IAGxBJ,GAAuB,IAKnCD,EAAY/rH,KAAKqrH,MAIrB9hB,GAAUuM,aAAalD,KACnBA,EAAUlG,oBACVof,EAAsB,GACtBlZ,EAAUlG,mBAAmBziF,SAASiiG,IAClC,MAAMC,EAAiBxnH,KAAK2D,MAAM4jH,EAAevoH,KAAMwnH,EAAc/e,GAEjE+f,IAAmBD,EAAevoH,OAClCqoH,GAAuB,GAIvB/gB,GAAkBihB,EAAevoH,OACjCmnG,GAAgBqhB,IAChBrW,GAAaqW,IACbA,EAAezf,mBAEfof,EAAqB9rH,QAAQmsH,EAAezf,oBAE5Cof,EAAqB9rH,KAAK,CAAE2D,KAAMwoH,EAAgBtf,YAAaqf,EAAerf,kBAG/E+E,EAAWjyG,OAAS,IAC3BmsH,EAAsBnnH,KAAKinH,yBAAyBha,EAAW,IAC3Dka,IACAE,GAAuB,KAKnCrnH,KAAKumH,uBAAyBe,EAGzBD,EAIEziB,GAAUkK,uBACbb,EACAmZ,GAC6B,OACLtoH,EACxBqoH,GAROlZ,EAYP+Y,iCACJU,EACAlB,EACA/e,GAEA,IAAI+L,EAAekU,EAGnB,GAAIlU,EAAajN,QAAQqM,UAAW,CAChC,MAAMA,EAAY5yG,KAAKknH,mBAAmB1T,EAAajN,QAAQqM,WAC3DA,IACAY,EAAe3O,GAAa6N,kBAAkBc,EAAcZ,IAIpE,MAAM1J,EAAqBrE,GAAagQ,yBAAyBrB,GAC3DmU,EAAwBze,EACxBlpG,KAAK2D,MAAMulG,EAAoBsd,EAAc/e,QAC7C3oG,EACN,IAAI8oH,EAA8B1e,IAAuBye,EAEzD,MAAME,EAAkD,CACpD/V,eAAgB,GAChB1I,WAAYue,GAMhB,GAAInU,EAAajN,QAAQljE,WAAWroC,QAAU,EAAG,CAC7C,MAAM4pH,EAAYpR,EAAajN,QAAQljE,WAAWmwE,EAAajN,QAAQljE,WAAWroC,OAAS,GACrF6pH,EAAcrR,EAAajN,QAAQljE,WAAWmwE,EAAajN,QAAQljE,WAAWroC,OAAS,GACvF8sH,EAAgBjjB,GAAamE,0BAC/BwK,EACAA,EAAajN,QAAQljE,WAAWroC,OAAS,GAEvC+sH,EAAkBljB,GAAamE,0BACjCwK,EACAA,EAAajN,QAAQljE,WAAWroC,OAAS,GAG7C,GAC2B,IAAvB4pH,EAAUtmD,UACe,IAAzBumD,EAAYvmD,UACZuoC,GAAYihB,IACZjhB,GAAYkhB,IACZ3gB,GAAW0gB,EAAeC,GAC5B,CACE,MAAMC,EAAgBhoH,KAAKknH,mBAAmBY,GAC1CE,IACAxU,EAAe3O,GAAauO,6BAA6BI,EAAcwU,KAKnF,IAAIC,EACAC,EA2BAzV,EAzBJ,IAAK,IAAIn4G,EAAI,EAAGA,EAAIk5G,EAAajN,QAAQljE,WAAWroC,OAAQV,IAAK,CAC7D,MAAM0nH,EAAYnd,GAAamE,0BAA0BwK,EAAcl5G,GACjEioH,EAAkBviH,KAAK2D,MAAMq+G,EAAWwE,EAAc/e,GAC5DogB,EAAsB/V,eAAez2G,KAAKknH,QAEfzjH,IAAvBmpH,GACA3hB,GAAkB0b,IAC8B,IAAhDxO,EAAajN,QAAQljE,WAAW/oC,GAAGgkE,WAEnC2pD,EAAqB3tH,EAEjB6rG,GAAgBoc,IAAoBpR,GAAaoR,IAAoBA,EAAgB3b,aACrFshB,EAAwB3F,EAAgBxa,qBAI5Cia,IAAcO,IACdqF,GAA8B,GAItC,IAAKA,EACD,OAAOpU,EASX,GALIA,EAAanK,qBACboJ,EAAgCzyG,KAAK2D,MAAM6vG,EAAanK,mBAAoBmd,EAAc/e,KAIzFygB,EACD,OAAOrjB,GAAaiK,uBAChB0E,EACAqU,EACApV,GAKR,MAAM0V,EAAkBtjB,GAAakN,eAAe,GAAI,GAAI,GAAI,IAChE,IAAIqW,GAA6B,EAC7BC,GAA+B,EA0DnC,OAxDAR,EAAsB/V,eAAexsF,SAAQ,CAAC08F,EAAW73F,KACrD,GAAIA,IAAU89F,EAAoB,CAC9B,IAAIK,GAAoB,EAGxBJ,EAAuB5iG,SAASijG,IAC5B1jB,GAAa6O,aAAayU,EAAiB,CACvC7pD,SAAUiqD,EAAargB,YAAc,EAA+B,EACpE77F,KAAM,MAAM87G,EAAgB5hB,QAAQljE,WAAWroC,SAC/C+3G,mBAAmB,EACnB/zG,KAAMupH,EAAavpH,KACnBg0G,iBAAiB,IAGjBuV,EAAargB,cACbogB,GAAoB,MAIxBA,EACAD,GAA+B,EAE/BD,GAA6B,MAE9B,CACH,MAAMhlG,EAAQ,IAAKowF,EAAajN,QAAQljE,WAAWlZ,IAE5B,IAAnB/G,EAAMk7C,UAA8Cl7C,EAAM/W,KAEhC,IAAnB+W,EAAMk7C,WACb8pD,GAA6B,GAF7BA,GAA6B,EAOV,IAAnBhlG,EAAMk7C,UAAyCl7C,EAAM/W,MAAQ+7G,IAC7DvjB,GAAa6O,aAAayU,EAAiB,CACvC7pD,SAAU,EACVt/D,KAAM0lG,GAAYvyF,WAEtBi2G,GAA6B,GAGjChlG,EAAMpkB,KAAOgjH,EACT5+F,EAAM/W,MAAQ+W,EAAM2vF,oBACpB3vF,EAAM/W,KAAO,MAAM87G,EAAgB5hB,QAAQljE,WAAWroC,UAGnC,IAAnBooB,EAAMk7C,WAAyCl7C,EAAM/W,MAASg8G,GAC9DxjB,GAAa6O,aAAayU,EAAiB/kG,OAKvD+kG,EAAgB5hB,QAAQ2C,mBAAqB2e,EAAsBze,WAE5D+e,GAMf,MAAM7H,WAAuCgG,GACzCr6G,YACY+tG,EACAwO,GAAqB,EACrBC,GAAsB,EACtBC,GAA6B,GAErCx8G,QALQ,KAAA8tG,cACA,KAAAwO,qBACA,KAAAC,sBACA,KAAAC,6BAKH/B,iBAAiBvM,GAGtB,GAAIA,EAAQtQ,SAAW9pG,KAAKg6G,YAAYc,iBAAiBV,EAAQtQ,SAAU,CACvE,IAAItmD,EAAcxjD,KAAKg6G,YAAYoB,eAAehB,EAASp6G,KAAKyoH,qBAKhE,IAAKjlE,GAAexjD,KAAKyoH,oBAAqB,CAC1C,MAAME,EAAW3oH,KAAKg6G,YAAYoB,eAAehB,GAC7CuO,GACIxJ,GAAoBwJ,GAAgC,KACpDnlE,EAAcmlE,GAK1B,GAAInlE,EAIA,OAHIghD,GAASgB,eAAe4U,KACxB52D,EAAcy/D,GAAsBz/D,IAEjCA,EAKX,GAAIxjD,KAAKwoH,mBACL,OAAO9jB,GAAYvyF,SAI3B,OAAOioG,EAGF0M,eAAe9nH,GAMpB,GAAIgB,KAAK0oH,2BAA4B,CACjC,MAAME,EAAe9K,GAAY9+G,GAAO8mG,IACpC,IACIO,GAAUP,SACUhnG,IAApBgnG,EAAQgE,UACR9pG,KAAKg6G,YAAYc,iBAAiBhV,EAAQgE,SAI9C,OAAOhE,KAGX,OAAOT,GAAQujB,GAAgB5pH,EAAO4pH,EAG1C,OAAO5pH,EAGFioH,yBAAyB7M,GAC9B,GAAKA,EAAQtQ,SAAY9pG,KAAKg6G,YAAYc,iBAAiBV,EAAQtQ,SAInE,OAAO9pG,KAAKg6G,YAAYyB,mBAAmBrB,GAGtC8M,mBAAmBtU,GACxB,GAAKA,EAAU9I,SAAY9pG,KAAKg6G,YAAYc,iBAAiBlI,EAAU9I,SAIvE,OAAO9pG,KAAKg6G,YAAY6B,aAAajJ,IAI7C,MAAMiW,WAA2CvC,GAM7Cr6G,YAAoB+tG,EAAiC8O,GACjD58G,QADgB,KAAA8tG,cAAiC,KAAA8O,qBAHrD,KAAAC,aAAe,2BACf,KAAAC,mBAAqB,mBAKjBhpH,KAAKg6G,YAAYiB,iBAAiBj7G,KAAK+oH,cAGnCE,eAAe7O,GACnB,OAAOp6G,KAAK8oH,mBAAmBr6D,MAAMq7C,GAAYsQ,EAAQtQ,UAAYA,IAGjEof,oBAAoBC,GAExB,GAAIA,EAAY5iB,QAAQyD,eAAiBmf,EAAY5iB,QAAQl6F,KAAKmpD,WAAWx1D,KAAKgpH,oBAC9E,OAAOG,EAGX,MAAMlrH,EAAaumG,GAASvmG,WAAWkrH,GACvC,IAAIC,EAAahkB,GAAY2M,eACzB,mBAAmB8W,GAAmCQ,0CAiB1D,OAfAD,EAAW7iB,QAAQyD,eAAgB,EACnCof,EAAWtf,QAAU9pG,KAAK+oH,aAC1BK,EAAW5S,cAAgBpR,GAAYgR,kBAAkBgT,EAAW7iB,QAAQl6F,KAAMrM,KAAK+oH,cAClF9qH,IACDmrH,EAAanG,GAAsBmG,IAIvCA,EAAW7iB,QAAQY,UAAYgiB,EAAY5iB,QAAQY,UACnDiiB,EAAW7iB,QAAQ8D,YAAc8e,EAAY5iB,QAAQ8D,YAGrD+e,EAAW7iB,QAAQ0D,SAAWkf,EAAY5iB,QAAQ0D,SAElD4e,GAAmCQ,yCAC5BD,EAGFzC,iBAAiBvM,GAGtB,OAAIp6G,KAAKipH,eAAe7O,GACbA,EAGJp6G,KAAKkpH,oBAAoB9O,IAlD7B,GAAAiP,uCAAyC,EE7wF7C,MAAMC,GACTr9G,YACYs9G,EACAC,EACAC,EACAC,EACAC,EACArzC,EACAszC,GANA,KAAAL,kBACA,KAAAC,WACA,KAAAC,aACA,KAAAC,cACA,KAAAC,qBACA,KAAArzC,eACA,KAAAszC,eAGZC,YAAYxzC,GAER,OADoBr2E,KAAK8pH,iCAAiCzzC,GACvCvyD,KAAKimG,IAAM,MAAC,OAAoB,QAApB,EAAAA,EAAGC,yBAAiB,eAAE9/C,aAAWrhB,OAAOuF,GAG3E67D,iBAAiBC,GACb,OAAItkC,GAAmBskC,GACZlqH,KAAKmqH,kCAAkCD,GACvCvkC,GAAsBukC,GACtBlqH,KAAKoqH,qCAAqCF,GAC1CpkC,GAAsBokC,GACtBlqH,KAAKqqH,0BAA0BH,GAC/BrkC,GAAuBqkC,GACvBlqH,KAAKsqH,2BAA2BJ,GdmL1B,IclL2BA,EdkLpClrH,KcjLGgB,KAAKuqH,qCAAqCL,GAG9C,GAGXM,sBAAsBN,GAClB,OAAOlqH,KAAKmqH,kCAAkCD,GACzCrhE,QAAQt6C,GAAMq3E,GAAmBr3E,KACjCuV,KAAKvV,GAAMA,IAGpBk8G,4BAA4BC,EAAwB1rH,GAChD,MAAMghB,EAAiD,GAEvD,OADAhgB,KAAK2qH,0BAA0BD,EAAgB1rH,EAAMghB,EAAQ,IAAI8wB,KAC1D9wB,EAAO6oC,QAAQnkC,GAAMkhE,GAAmBlhE,KAAIZ,KAAKY,GAAMA,IAGlEkmG,yBAAyBV,GACrB,OAAOlqH,KAAKoqH,qCAAqCF,GAC5CrhE,QAAQt6C,GAAMo3E,GAAsBp3E,KACpCuV,KAAKvV,GAAMA,IAGZg8G,qCACJL,EACAW,EAAqB,IAAI/5E,KAEzB,GAA+C,KAA3Co5E,EAASxiD,KAAKZ,gBAAgBL,SAAiC,CAC/D,MAAMipB,EAAYw6B,EAASxiD,KAAKZ,gBAAgBxpE,MAGhD,OAFoB0C,KAAK8pH,iCAAiCI,EAASn7G,MAEhD+7G,SAASC,GACxB/qH,KAAKgrH,6BAA6BD,EAAYr7B,EAAWm7B,KAIjE,MAAO,GAGHV,kCAAkCD,EAA4BW,EAAqB,IAAI/5E,KAC3F,MAAM4+C,EAAY1vF,KAAKirH,kBAAkBf,EAASxiD,MAGlD,OAFoB1nE,KAAK8pH,iCAAiCI,EAASn7G,MAEhD+7G,SAASC,GACxB/qH,KAAKgrH,6BAA6BD,EAAYr7B,EAAWm7B,KAIzDT,qCACJF,EACAW,EAAqB,IAAI/5E,KAEzB,MAAMo6E,EAAehB,EAASxiD,KAAKr7D,KAAK/O,MAClC6tH,EAAcnrH,KAAK8pH,iCAAiCI,EAASn7G,MAEnE,GAAIm7G,EAASkB,SAAU,CACnB,MAAMr1B,EAAY,GAAiCm0B,EAASxiD,MAC5D,QAAkB5oE,IAAdi3F,EACA,MAAO,GAGX,MAAMrG,EAAY1vF,KAAKirH,kBAAkBl1B,GACzC,OAAOo1B,EAAYL,SAASC,GACxB/qH,KAAKqrH,8BAA8BN,EAAYr7B,EAAWw7B,EAAcL,KAG5E,OAAOM,EAAYL,SAASC,GACxB/qH,KAAKsrH,gCAAgCP,EAAYG,EAAcL,KAKnER,0BACJH,EACAW,EAAqB,IAAI/5E,KAEzB,GAA+B,KAA3Bo5E,EAASxiD,KAAKjB,SACd,MAAO,GAGX,MAAM8kD,EAAerB,EAASxiD,KAAKpqE,MAC7B6tH,EAAcnrH,KAAK8pH,iCAAiCI,EAASn7G,MAC7DgnF,EAAY,GAAiCm0B,EAASxiD,MAE5D,GAAIquB,EAAW,CACX,MAAMrG,EAAY1vF,KAAKirH,kBAAkBl1B,GAEzC,OAAOo1B,EAAYL,SAASC,GACxB/qH,KAAKwrH,6BAA6BT,EAAYr7B,EAAW67B,EAAcV,KAG3E,OAAOM,EAAYL,SAASC,GACxB/qH,KAAKyrH,gCAAgCV,EAAYQ,EAAcV,KAKnEP,2BAA2BJ,GAC/B,MAAMlqG,EAAiC,GAEvC,IAAKkqG,EAASxiD,KAAKr7D,KACf,OAAO2T,EAGX,MAAM0rG,EAAe,GAAoCxB,EAASxiD,MAClE,IAAKgkD,EACD,OAAO1rG,EAGX,MAAM2rG,EAAoB3rH,KAAKypH,WAAWmC,2BAA2BF,EAAar/G,MAClF,IAAKs/G,EACD,OAAO3rG,EAGX,MAAM6qG,EAAqB,IAAI/5E,IAC/B,IAAK,MAAM+6E,KAAoBF,EAC3B,IAAK,MAAMG,KAAgB9rH,KAAKoqH,qCAC5ByB,EACAhB,GAEA7qG,EAAO3kB,QACA2E,KAAK+rH,0BAA0BD,EAAapkD,KAAMwiD,EAASxiD,KAAKr7D,KAAK/O,OACnEurD,QAAQt6C,GAAMs3E,GAAuBt3E,KACrCuV,KAAKvV,GAAMA,KAK5B,OAAOyR,EAGHgsG,8BACJjB,EACAr7B,EACAroB,EACA4kD,EACApB,GAEA,MAAM7qG,EAAc,GACdksG,EAAalsH,KAAKgrH,6BAA6BD,EAAYr7B,EAAWm7B,GAE5E,IAAK,MAAMsB,KAAaD,EAAWrjE,QAAQt6C,GAAMq3E,GAAmBr3E,KAAIuV,KAAKvV,GAAMA,IAAwB,CACvG,MAAM69G,EAAepsH,KAAKypH,WAAW4C,eAAeF,EAAUzkD,MAC9D,IAAK0kD,EACD,SAGJ,MAAMh6D,EAASyuD,GAAkBuL,EAAane,UAAW5mC,GACzD,GAAIjV,EACA,IAAK,MAAM8V,KAAQ9V,EAAOuoB,OAAOy+B,kBAC7B6S,EAAU/jD,EAAM2iD,EAAoB7qG,GAKhD,OAAOA,EAGHwrG,6BACJT,EACAr7B,EACA67B,EACAV,GAEA,IAAI7qG,EAAgC,GAEpC,MAAMssG,EAAW,IAAIvB,EAAWwB,mBAAmB78B,OAAe67B,IAClE,OAAIV,EAAmBzmG,IAAIkoG,KAI3BzB,EAAmBjlG,IAAI0mG,GAEvBtsG,EAAShgB,KAAKgsH,8BACVjB,EACAr7B,EACA67B,GACA,CAACrjD,EAAMiP,EAAOn3D,KACV,GAAI8lE,GAAsB5d,GACtB,GAAIloE,KAAKwsH,0CAA0CtkD,EAAKn5D,MACpD,IAAK,MAAM09G,KAAYzsH,KAAKqqH,0BAA0BniD,EAAMiP,GACpD2O,GAAsB2mC,IACtBzsG,EAAO3kB,KAAKoxH,QAIpBzsG,EAAO3kB,KAAK6sE,KAIxB2iD,GAGJA,EAAmBjoG,OAAO0pG,IAzBftsG,EA6BPqrG,8BACJN,EACAr7B,EACAw7B,EACAL,GAEA,IAAI7qG,EAAiD,GAErD,MAAMssG,EAAW,IAAIvB,EAAWwB,mBAAmB78B,OAAew7B,IAClE,OAAIL,EAAmBzmG,IAAIkoG,KAI3BzB,EAAmBjlG,IAAI0mG,GAEvBtsG,EAAShgB,KAAKgsH,8BACVjB,EACAr7B,EACAw7B,GACA,CAAChjD,EAAMiP,EAAOn3D,KACN2lE,GAAsBzd,KAClBloE,KAAKwsH,0CAA0CtkD,EAAKn5D,MACpDiR,EAAO3kB,QAAQ2E,KAAKoqH,qCAAqCliD,EAAMiP,IAE/Dn3D,EAAO3kB,KAAK6sE,MAIxB2iD,GAGJA,EAAmBjoG,OAAO0pG,IArBftsG,EAyBPyrG,gCACJV,EACAQ,EACAV,G,MAEA,MAAM7qG,EAAiD,GAEjDssG,EAAW,IAAIvB,EAAWwB,mBAAmBhB,IACnD,GAAIV,EAAmBzmG,IAAIkoG,GACvB,OAAOtsG,EAGX6qG,EAAmBjlG,IAAI0mG,GAEvB,MAAMI,EAAyC,QAA5B,EAAA3B,EAAWf,yBAAiB,eAAE9/C,UACjD,IAAKwiD,EAGD,OAAO1sG,EAGX,MAAMk8E,EAAQl8F,KAAK+rH,0BAA0BW,EAAYnB,GACzD,GAAqB,IAAjBrvB,EAAMlhG,OACNgF,KAAK2sH,yCAAyCD,EAAYnB,EAAcvrG,EAAQ6qG,QAEhF,IAAK,MAAM3iD,KAAQg0B,EACfl8F,KAAK4sH,yBAAyB1kD,EAAMloD,EAAQ6qG,GAKpD,OADAA,EAAmBjoG,OAAO0pG,GACnBtsG,EAGHsrG,gCACJP,EACAG,EACAL,G,MAEA,MAAM7qG,EAAiD,GAEjDssG,EAAW,IAAIvB,EAAWwB,mBAAmBrB,IACnD,GAAIL,EAAmBzmG,IAAIkoG,GACvB,OAAOtsG,EAGX6qG,EAAmBjlG,IAAI0mG,GAEvB,MAAMI,EAAyC,QAA5B,EAAA3B,EAAWf,yBAAiB,eAAE9/C,UACjD,IAAKwiD,EAGD,OAAO1sG,EAGX,MAAMk8E,EAAQl8F,KAAK+rH,0BAA0BW,EAAYxB,GACzD,GAAqB,IAAjBhvB,EAAMlhG,OACNgF,KAAK2sH,yCAAyCD,EAAYxB,EAAclrG,EAAQ6qG,QAEhF,IAAK,MAAM3iD,KAAQg0B,EACfl8F,KAAK6sH,gCAAgC3kD,EAAMloD,EAAQ6qG,GAK3D,OADAA,EAAmBjoG,OAAO0pG,GACnBtsG,EAGHgrG,6BACJD,EACA+B,EACAjC,G,MAEA,IAAIqB,EAAqD,GAGzD,MAAMa,EAAyC,QAA5B,EAAAhC,EAAWf,yBAAiB,eAAE9/C,UACjD,GAAI6iD,EAAY,CACZ,IAAIC,EAAiBF,EAAcv/G,MAAM,KACrCy/G,EAAehyH,OAAS,IACxBkxH,EAAalsH,KAAKitH,uBAAuBlC,EAAYiC,EAAe,GAAID,EAAYlC,GACpFmC,EAAiBA,EAAepvH,MAAM,IAG1C,IAAK,MAAMsvH,KAAiBF,EACxBd,EAAaA,EAAWpB,SAASqC,GAC7BntH,KAAKitH,uBAAuBlC,EAAYmC,EAAeC,EAAWzlD,KAAMmjD,KAKpF,OAAOqB,EAGHe,uBACJlC,EACAr7B,EACAq9B,EACAlC,GAEA,MAAM7qG,EAAiD,GAEjDssG,EAAW,IAAIvB,EAAWwB,iBAAiBQ,EAAWjxH,SAAS4zF,IACrE,GAAIm7B,EAAmBzmG,IAAIkoG,GACvB,OAAOtsG,EAGX6qG,EAAmBjlG,IAAI0mG,GAEvB,MAAMpwB,EAAQl8F,KAAK+rH,0BAA0BgB,EAAYr9B,GACzD,GAAqB,IAAjBwM,EAAMlhG,QAAwC,KAAxB+xH,EAAWtmD,SACjCzmE,KAAK2sH,yCAAyCI,EAAYr9B,EAAW1vE,EAAQ6qG,QAE7E,IAAK,MAAM3iD,KAAQg0B,EACfl8F,KAAK6sH,gCAAgC3kD,EAAMloD,EAAQ6qG,GAK3D,OADAA,EAAmBjoG,OAAO0pG,GACnBtsG,EAGH4sG,yBACJ1kD,EACAloD,EACA6qG,GAEA,GAAI/kC,GAAsB5d,GAClBloE,KAAKwsH,0CAA0CtkD,EAAKn5D,MACpDiR,EAAO3kB,QAAQ2E,KAAKqqH,0BAA0BniD,EAAM2iD,IAEpD7qG,EAAO3kB,KAAK6sE,QAEb,GAAI6d,GAAmB7d,GAAO,CACjC,MAAMklD,EAAeptH,KAAKypH,WAAW4D,wBAAwBnlD,GAA8B,GACvFklD,IACItnC,GAAsBsnC,GACtBptH,KAAK4sH,yBAAyBQ,EAAcptG,EAAQ6qG,IAC7CjlC,GAAmBwnC,IAAiBznC,GAAsBynC,KACjEptH,KAAK6sH,gCAAgCO,EAAcptG,EAAQ6qG,KAMnEgC,gCACJ3kD,EACAloD,EACA6qG,G,MAEA,GAAIjlC,GAAmB1d,GACfloE,KAAKwsH,0CAA0CtkD,EAAKn5D,MACpDiR,EAAO3kB,QAAQ2E,KAAKmqH,kCAAkCjiD,EAAM2iD,IAE5D7qG,EAAO3kB,KAAK6sE,QAEb,GAAIyd,GAAsBzd,GACzBloE,KAAKwsH,0CAA0CtkD,EAAKn5D,MACpDiR,EAAO3kB,QAAQ2E,KAAKoqH,qCAAqCliD,EAAM2iD,IAE/D7qG,EAAO3kB,KAAK6sE,QAEb,GAAI6d,GAAmB7d,GAAO,CACjC,MAAMklD,EAAeptH,KAAKypH,WAAW4D,wBAAwBnlD,GAA8B,GACvFklD,IAAiBrnC,GAAmBqnC,IACpCptH,KAAK6sH,gCAAgCO,EAAcptG,EAAQ6qG,QAE5D,GAAI/kC,GAAsB5d,GAAO,CAEpCloE,KAAK4sH,yBAAyB1kD,EAAMloD,EAAQ6qG,GAI5C,MAAMyC,EAA+B,QAAlB,EAAAplD,EAAK6zB,qBAAa,QAAI7zB,EAAKR,KACxC1oE,EAAOgB,KAAKypH,WAAW8D,QAAQD,GACrC,IAAKtuH,EACD,OAGJ,GAAI8nG,GAAW9nG,IAASA,EAAKunG,QAAQv+B,YACjChoE,KAAK6sH,gCAAgC7tH,EAAKunG,QAAQv+B,YAAahoD,EAAQ6qG,QACpE,GAAI9jB,GAAqB/nG,GAC5B,IAAK,MAAMwuH,KAAgBxuH,EAAKuqG,UAAUzlF,KAAK1R,GAAMA,EAAEm0F,QAAQv+B,cAAanf,OAAOuF,GAC/EpuD,KAAK6sH,gCAAgCW,EAAcxtG,EAAQ6qG,QAExD3kB,GAAoBlnG,IAC3BgB,KAAK2qH,0BAA0BziD,EAAKn5D,KAAM/P,EAAMghB,EAAQ6qG,IAK5DF,0BACJ8C,EACAzuH,EACAghB,EACA6qG,GAEA,MAAMhvD,EAAW78D,EAAKunG,QAAQ1qC,SACxBsvD,EAAcnrH,KAAK0tH,gBAAgB7xD,GAEnCixD,EAAgB9tH,EAAKunG,QAAQwG,SAASvmE,UACxCxnC,EAAKunG,QAAQv7B,WAAWhwE,OAAS,GAGrC,IAAK,MAAM+vH,KAAcI,EACrBnrG,EAAO3kB,QAAQ2E,KAAKgrH,6BAA6BD,EAAY+B,EAAejC,IAI5E6C,gBAAgB7xD,GACpB,MAAMsvD,EAA4B,GAElC,GAAInrH,KAAKwsH,0CAA0C3wD,GAC/CsvD,EAAY9vH,QAAQ2E,KAAK8pH,iCAAiCjuD,QACvD,CACH,MAAMkvD,EAAa/qH,KAAK2pH,mBAAmB9tD,GACvCkvD,GACAI,EAAY9vH,KAAK0vH,GAIzB,OAAOI,EAGHwB,yCACJD,EACA55D,EACA9yC,EACA6qG,G,QAIA,MAAMj9G,EAA6C,QAArC,KAA0B8+G,UAAW,eAAEjf,YACrD,GAAK7/F,EAKL,IAAK,MAAM+sE,KAAU/sE,EAAM+a,SACvB,IAAK,MAAMu/C,KAAQyS,EAAOy+B,kBAAmB,CACzC,IACKrzB,GAAmB7d,KACnBA,EAAKn5D,MACiB,KAAvBm5D,EAAKR,KAAKjB,WACTyB,EAAKR,KAAKsE,iBAEX,SAGJ,MAAMsgD,EAAW,IAAIpkD,EAAKn5D,UAAU+jD,IACpC,GAAI+3D,EAAmBzmG,IAAIkoG,GACvB,SAWJzB,EAAmBjlG,IAAI0mG,GAEvB,MAAMnB,EAAcnrH,KAAK0tH,gBAAgBxlD,EAAKn5D,MAC9C,IAAK,MAAMg8G,KAAcI,EAAa,CAClC,MAAMuB,EAAyC,QAA5B,EAAA3B,EAAWf,yBAAiB,eAAE9/C,UACjD,IAAKwiD,EACD,SAGJ,MAAMxwB,EAAQl8F,KAAK+rH,0BAA0BW,EAAY55D,GACzD,GAAqB,IAAjBopC,EAAMlhG,OACNgF,KAAK2sH,yCACDD,EACA55D,EACA9yC,EACA6qG,QAGJ,IAAK,MAAM3iD,KAAQg0B,EAAO,CACtB,MAAMkxB,EAAeptH,KAAKypH,WAAW4D,wBACjCnlD,GACwB,GAEvBklD,IAIDznC,GAAsBynC,IAAiBxnC,GAAmBwnC,GAC1DptH,KAAK6sH,gCAAgCO,EAAcptG,EAAQ6qG,GACpD/kC,GAAsBsnC,IAC7BptH,KAAK4sH,yBAAyBQ,EAAcptG,EAAQ6qG,OASxEkB,0BAA0BrkD,EAA6B5U,GAC3D,QAAah0D,IAAT4oE,EACA,MAAO,GAGX,MAAMimD,EAAkB,GAA0BjmD,GAC5CiT,EAASgzC,aAAe,EAAfA,EAAiBC,aAAa96D,GACvCopC,EAAQvhB,aAAM,EAANA,EAAQy+B,kBAEtB,OAAOld,UAAS,GAGZ+uB,kBAAkBvjD,GACtB,MAAMqlC,EAAqB,GAE3B,IAAIvkF,EAAiCk/C,EACrC,UAAmB5oE,IAAZ0pB,GACHukF,EAAS1xG,KAAKmtB,EAAQnc,KAAK/O,OAC3BkrB,EAAU,GAAiCA,GAG/C,OAAOukF,EAAS9W,UAAUz6F,KAAK,KAG3BsuH,iCAAiCzzC,GAErC,OADcr2E,KAAKupH,gBAAgBnzC,uBAAuBC,EAAcr2E,KAAKwpH,SAAUxpH,KAAKs2E,cAC/ExyD,KAAK+pG,GAAO7tH,KAAK0pH,YAAYrzC,EAAcw3C,KAAKhlE,OAAOuF,GAGhEo+D,0CAA0C3wD,GAC9C,OAAI77D,KAAK4pH,iBAIIh1C,GAAW/Y,IAMjB77D,KAAKupH,gBACPnzC,uBAAuBva,EAAU77D,KAAKwpH,SAAUxpH,KAAKs2E,cACrDvvD,OAAOuwB,GAAMA,IAAMukB,MAIzB,SAAS+Y,GAAW/Y,GACvB,MAA+E,SAAxE3E,GAAwB2E,EAAU,CAAC,SAA0B,GC9mBjE,SAASiyD,GAAuBhqC,GACnC,OAAQA,GACJ,IAAK,QACD,OAAO,EAEX,IAAK,UACD,OAAO,EAEX,IAAK,cACD,OAAO,EAEX,QACI,MAAM,IAAIloF,MAAM,GAAGkoF,sBA8BxB,MAAMzqD,GAKTptB,YAAqBqyD,EAAuC/xD,EAA0BE,GAAjE,KAAA6xD,WAAuC,KAAA/xD,UAA0B,KAAAE,QAF9E,KAAAshH,aAAwC,GAIhDC,UAAUC,QACgBnvH,IAAlBkB,KAAKkuH,SACLluH,KAAKkuH,SAAW,CAACD,GAEjBjuH,KAAKkuH,SAAS7yH,KAAK4yH,GAI3BE,aACI,OAAOnuH,KAAKkuH,SAGhBE,QAAQC,GACJruH,KAAKsuH,MAAQD,EAGjBE,UACI,OAAOvuH,KAAKsuH,MAGhBE,eAAejiH,EAAiBsvD,EAAkBpvD,GAC9CzM,KAAK+tH,aAAa1yH,KAAK,CAAEwgE,WAAUtvD,UAASE,UAGhDgiH,iBACI,OAAOzuH,KAAK+tH,cAMb,MAAMW,GAAb,cACY,KAAA7+E,UAAsB,GACtB,KAAA8+E,cAAsC,GAE9CC,WAAWriH,GACPvM,KAAK6vC,UAAUx0C,KAAKkR,GAIxBsiH,iBACI,MAAMC,EAAc,IAAIJ,GAExB,OADA1uH,KAAK+uH,YAAYD,GACVA,EAGXE,UAAUC,EA3GU,EA2GkBC,EA1Gd,GA2GpB,IAAI1nE,EAAQxnD,KAAKmvH,mBAAmBF,EAAUC,GAE1C1nE,EAAMxsD,OAASk0H,IACf1nE,EAAQA,EAAM5pD,MAAM,EAAGsxH,GACvB1nE,EAAMnsD,KAAK,UAGf,MAAM+7B,EAAOowB,EAAMhsD,KAAK,MACxB,OAAI47B,EAAKp8B,OAAS,EACP,KAAOo8B,EAGX,GAGX9Q,UACI,OAAmC,IAA5BtmB,KAAKovH,mBAGhBL,YAAYxpC,GACRvlF,KAAK2uH,cAActzH,KAAKkqF,GAG5B8pC,cACI,OAAOrvH,KAAK2uH,cAGhBW,cACI,OAAOtvH,KAAK6vC,UAGRu/E,iBAAiB3nB,EAAiB,GACtC,GAAIA,EA1Ic,GA2Id,OAAO,EAIX,IAAI8nB,EAAevvH,KAAK6vC,UAAU70C,OAElC,IAAK,MAAMw0H,KAAQxvH,KAAK2uH,cACpBY,GAAgBC,EAAKJ,iBAAiB3nB,EAAiB,GAG3D,OAAO8nB,EAGHJ,mBAAmBF,EAAkBC,EAAsBznB,EAAiB,GAChF,GAAIwnB,GAAY,GAAKxnB,EAzJH,GA0Jd,MAAO,GAGX,IAAIgoB,EAAuB,GAC3B,IAAK,MAAMlqC,KAAYvlF,KAAK2uH,cAAe,CACvC,MAAMe,EAAoB1vH,KAAK6vC,UAAU70C,OAAS,EAAIi0H,EAAW,EAAIA,EAIrE,GAHAQ,EAAWp0H,QAAQkqF,EAAS4pC,mBAAmBO,EAAmBR,EAAcznB,EAAiB,IAG7FgoB,EAAWz0H,QAAUk0H,EAAc,CACnCO,EAAaA,EAAW7xH,MAAM,EAAGsxH,GACjC,OAMR,MAAMS,EAAa3vH,KAAK6vC,UAAU70C,OAAS,EAAI,KAAO,GACtD,OAAOgF,KAAK6vC,UAAU7qC,OAAOyqH,GAAY3rG,KAAKoW,GAASy1F,EAAaz1F,MF/K5E,SAAYwiF,GACR,4CACA,0CACA,wDACA,sDACA,sDAEA,oDACA,0DACA,0DACA,8CACA,wDACA,kDACA,0CACA,0CACA,wCACA,8CACA,8CACA,gDACA,oEACA,oDACA,0DACA,0CACA,kDACA,8DACA,gDACA,sEACA,kEACA,4DACA,kDACA,oDACA,0CACA,sDACA,0DACA,sEACA,0EACA,gEACA,wDACA,kDACA,4EACA,wEACA,0DACA,wDACA,oDACA,wDACA,oDACA,0DACA,wDACA,oDACA,kEACA,4DACA,gDACA,4DACA,kDACA,0DACA,wEACA,oDACA,gDACA,0DACA,8CACA,0DACA,kDACA,gDACA,0EACA,sDAEA,4EAlEJ,CAAYA,QAAc,KGAnB,MAAMkT,GACT3jH,YAAoB4jH,GAAA,KAAAA,gBAEpBx+G,OAAO8O,GACH,IAAI/d,EAAMpC,KAAK6vH,cAIf,OAHA/yH,OAAOuoB,KAAKlF,GAAQmF,SAAStD,IACzB5f,EAAMA,EAAIuD,QAAQ,IAAIqc,KAAS7B,EAAe6B,GAAKxiB,eAEhD4C,EAGX0tH,kBACI,OAAO9vH,KAAK6vH,eAMpB,IAAIE,GAAmC,UAEhC,SAASC,KACZ,MAA2B,eAApBD,GAGJ,SAASE,GAAiBT,GAC7B,OAAOQ,KAAyB,GAAKR,EAAKR,YAM9C,IAAIkB,GACJ,MAAMC,GAAkC,oBAAQ,MAEhD,SAASC,GAAapuG,QACOljB,IAArBoxH,KACAA,GAAmB,IAGvB,MAAMG,EAAWruG,EAAIzU,MAAM,KAErBnL,EAAMkuH,GAAoBJ,GAAkBG,IAAaC,GAAoBH,GAAgBE,GACnG,GAAIjuH,EACA,OAAOA,EAGX8vD,EAAK,qCAAqClwC,MAG9C,SAASsuG,GAAoBxsG,EAAsBusG,GAC/C,IAAIE,EAAczsG,EAElB,IAAK,MAAM0sG,KAAWH,EAAU,CAC5B,IAAKE,EAAOC,GACR,OAGJD,EAASA,EAAOC,GAGpB,OAAOD,EAQJhkG,eAAekkG,IAAuB,OAAEC,EAAM,MAAEC,GAAkC,IACjFA,IACAZ,GAAkBY,GAEtB,MAAMC,EAAgBF,EAASA,EAAO5wH,cAM1C,WACI,IACI,GAAa,OAATowD,gBAAS,IAATA,eAAS,EAATA,UAAWp6B,SACX,OAAOo6B,UAAUp6B,SAASh2B,cAEhC,OAIF,MAAM+wH,EAAMC,QAAQD,IAGdE,EAAqBF,EAAIG,kBAC/B,GAAID,EACA,IACI,OAAO/hH,KAAK2C,MAAMo/G,GAAoBL,OACxC,OAMN,MAAMO,EAAeJ,EAAIK,QAAUL,EAAIM,aAAeN,EAAIO,MAAQP,EAAIQ,SACtE,GAAIJ,EAAc,CAEd,MAAMK,EAAoBL,EAAa1jH,MAAM,KAC7C,GAAI+jH,EAAkBt2H,OAAS,GAAKs2H,EAAkB,GAClD,OAAOA,EAAkB,GAKjC,MAlFkB,QA4CoCC,GACtDrB,SAwCJ3jG,eAAoCmkG,GAChC,IAAIc,QAAiBC,GAAwBf,GAC7C,QAAiB5xH,IAAb0yH,EACA,OAAOA,EAKX,MAAME,EAAchB,EAAOnjH,MAAM,KACjC,OAAImkH,EAAY12H,OAAS,GAAK02H,EAAY,KACtCF,QAAiBC,GAAwBC,EAAY,SACpC5yH,IAAb0yH,GACOA,EAIR,GAxDkBG,CAAqBf,GA2DlDrkG,eAAeklG,GAAwBf,GACnC,OAAQA,GAGJ,IAAK,KACD,aAAc,0FAAiE79G,QACnF,IAAK,KACD,aAAc,0FAAiEA,QACnF,IAAK,KACD,aAAc,0FAAiEA,QACnF,IAAK,QACD,aAAc,0FAAuEA,QACzF,IAAK,KACD,aAAc,wFAAiEA,QACnF,IAAK,KACD,aAAc,0FAAiEA,QACnF,IAAK,KACD,aAAc,yFAAiEA,QACnF,IAAK,KACD,aAAc,0FAAiEA,QACnF,IAAK,QACD,aAAc,0FAAuEA,QACzF,IAAK,QACD,aAAc,0FAAuEA,QACzF,IAAK,MACD,aAAc,0FAAmEA,QACrF,QACI,aAAc,0FAAoEA,SAIvF,IAAU++G,GCgFV,SAASC,GACZC,EACApqD,EACAumC,GAEAn8C,EAAO8yC,GAAU0L,iBAAiBrC,IAGlC,MAAMlD,EAAUlG,GAAakN,eACzB,UACA,GACA,GACA,IAEJlN,GAAa6O,aAAa3I,EAAS,CAC/BzsC,SAAU,EACVjyD,KAAM,MACNrN,KAAMivG,EACN+E,iBAAiB,IAErBnO,GAAa0O,qBAAqBxI,GAClCA,EAAQxE,QAAQ2C,mBAAqBtE,GAAUgK,gBAAgBX,GAG/D,MAAM8jB,EAAWltB,GAAakN,eAAe,WAAY,GAAI,GAAI,IACjElN,GAAa6O,aAAaqe,EAAU,CAChCzzD,SAAU,EACVjyD,KAAM,OACNrN,KAAM4lG,GAAUgK,gBAAgBX,GAChC+E,iBAAiB,IAErB+e,EAASxrB,QAAQ2C,mBAAqBnE,GAASgN,iBAG/ClN,GAAa6O,aAAaqe,EAAU,CAChCzzD,SAAU,EACVt/D,KAAMimG,GAAQ9yF,SACd6gG,iBAAiB,IAGrB,MAAMpqF,EAAUopG,GAA4BF,EAAW7jB,GACvDrlF,EAAQtD,SAAQ,CAACm0C,EAAOptD,KACpBw4F,GAAa6O,aAAaqe,EAAU,CAChCzzD,SAAU,EACVjyD,OACAymG,YAAar5C,EAAMkkD,WACnB3+G,KAAMy6D,EAAM1S,UACZisD,iBAAiB,OAIzB,MAAMvF,EAAcQ,EAAU1H,QAAQiE,OACtCiD,EAAYtoG,IAAI,WAAY,kBAAsB,EAAyB4sH,IAC3EtkB,EAAYtoG,IAAI,UAAW,kBAAsB,EAAyB4lG,IAE1E,MAAMknB,EAAWH,EAAUI,eAAexqD,EAAM,OAGhD,GAAIw+B,GAAoB+rB,GAAW,CAC/B,MAAME,EAA+B,CACjC7zD,SAAU,EACVjyD,KAAM,OACNrN,KAAM4lG,GAAUgK,gBAAgBX,GAChC+E,iBAAiB,GAEfof,EAAwBr2G,IAC1B,IAAIs2G,EAAiBjtB,GAAY2M,eAAe,KAAKh2F,EAAKwqF,QAAQl6F,gBAQlE,OAPAgmH,EAAe9rB,QAAQyD,eAAgB,EACvCqoB,EAAiBjtB,GAAYiR,gBACzBgc,EACAt2G,EAAKwqF,QAAQyG,eACbiB,EAAU1H,QAAQl6F,KAAI,GAGnBgmH,GAGLC,EAAkB,CACpBC,EACAxrE,EACAyrE,EACAC,GAA0B,KAE1B,MAAMC,EAAc7tB,GAAakN,eAC7B,MACA,GACA,GACA,KAUJ,GARAlN,GAAa6O,aAAagf,EAAaP,GACvCO,EAAYnsB,QAAQyG,eAAiB8kB,EAAUa,kBAAkBjrD,GACjEm9B,GAAa6O,aAAagf,EAAa,CACnCp0D,SAAU,EACVjyD,KAAM,IACNrN,KAAMuzH,EACNvf,iBAAiB,IAEjBwf,EAAgB,CAChB,MAAMH,EAAiBD,EAAqBM,GAC5C7tB,GAAa6O,aAAagf,EAAa,CACnCp0D,SAAU,EACVjyD,KAAM,UACNrN,KAAMyzH,EAA0B1rE,EAAYsrE,EAC5Crf,iBAAiB,IAErB0f,EAAYnsB,QAAQ2C,mBAAqBupB,EACnC1rE,EACAikD,GAAa,CAACjkD,EAAWsrE,SAE/BK,EAAYnsB,QAAQ2C,mBAAqB8B,GAAa,CAACjkD,EAAWg+C,GAASgN,mBAE/E,OAAO2gB,GAGLE,EAAmB,CAACL,EAAexrE,KACrC,MAAM8rE,EAA8B,CAChCv0D,SAAU,EACVjyD,KAAM,IACNrN,KAAMuzH,EACNvf,iBAAiB,GAGf8f,EAAejuB,GAAakN,eAC9B,MACA,GACA,GACA,KAEJlN,GAAa6O,aAAaof,EAAcX,GACxCttB,GAAa6O,aAAaof,EAAcD,GACxCC,EAAavsB,QAAQ2C,mBAAqBniD,EAE1C,MAAMgsE,EAAeluB,GAAakN,eAC9B,MACA,GACA,GACA,KAEJlN,GAAa6O,aAAaqf,EAAcZ,GACxCttB,GAAa6O,aAAaqf,EAAcF,GACxCE,EAAaxsB,QAAQyG,eAAiB8kB,EAAUa,kBAAkBjrD,GAClE,MAAM2qD,EAAiBD,EAAqBW,GAS5C,OARAluB,GAAa6O,aAAaqf,EAAc,CACpCz0D,SAAU,EACVjyD,KAAM,UACN2mG,iBAAiB,EACjBh0G,KAAMqzH,EACNvf,YAAY,IAEhBigB,EAAaxsB,QAAQ2C,mBAAqB8B,GAAa,CAACjkD,EAAWsrE,IAC5D,CAACS,EAAcC,IAGpBC,EAAyB,CAACT,EAAexrE,KAC3C,MAAMksE,EAAqBpuB,GAAakN,eACpC,aACA,GACA,GACA,KAgBJ,OAdAlN,GAAa6O,aAAauf,EAAoBd,GAC9CttB,GAAa6O,aAAauf,EAAoB,CAC1C30D,SAAU,EACVjyD,KAAM,IACN2mG,iBAAiB,EACjBh0G,KAAMuzH,IAEV1tB,GAAa6O,aAAauf,EAAoB,CAC1C30D,SAAU,EACVjyD,KAAM,UACN2mG,iBAAiB,EACjBh0G,KAAM+nD,IAEVksE,EAAmB1sB,QAAQ2C,mBAAqBniD,EACzCksE,GAGLC,EAAuBX,IACzB,MAAMY,EAAkBtuB,GAAakN,eACjC,UACA,GACA,GACA,KAUJ,OARAlN,GAAa6O,aAAayf,EAAiBhB,GAC3CttB,GAAa6O,aAAayf,EAAiB,CACvC70D,SAAU,EACVjyD,KAAM,IACN2mG,iBAAiB,EACjBh0G,KAAMuzH,IAEVY,EAAgB5sB,QAAQ2C,mBAAqBnE,GAASgN,iBAC/CohB,GAGLC,EAA+B,GAC/BC,EAA+B,GAC/BC,EAAsC,GAE5C1qG,EAAQtD,SAAQ,CAACm0C,EAAOptD,KACpB,MAAMknH,EAAkB3uB,GAAUgK,gBAAgBhK,GAAUyH,iBAAiB4lB,EAAU5lH,IAEvF+mH,EAAa/3H,KAAKi3H,EAAgBiB,EAAiB95D,EAAM1S,WAAgC,IACzFqsE,EAAa/3H,KACTi3H,EACIiB,EACA95D,EAAM1S,WACe,GACS,IAGtCqsE,EAAa/3H,KACTi3H,EACIiB,EACA95D,EAAM1S,WACe,GACS,IAGtCssE,EAAah4H,QAAQu3H,EAAiBW,EAAiB95D,EAAM1S,YAC7DusE,EAAoBj4H,KAAK23H,EAAuBO,EAAiB95D,EAAM1S,eAK3E,MAAMysE,EAAU5uB,GAAUgK,gBAAgBqjB,GAC1CmB,EAAa/3H,KAAKi3H,EAAgBkB,EAASvuB,GAAQ9yF,UAA+B,IAClFihH,EAAa/3H,KAAKi3H,EAAgBkB,EAASvuB,GAAQ9yF,UAA+B,IAElFs7F,EAAYtoG,IACR,MACA,kBAAsB,EAAyB2/F,GAAuB3yF,OAAOihH,KAE7EC,EAAar4H,OAAS,GACtByyG,EAAYtoG,IACR,MACA,kBAAsB,EAAyB2/F,GAAuB3yF,OAAOkhH,KAGjFC,EAAoBt4H,OAAS,GAC7ByyG,EAAYtoG,IACR,aACA,kBAAsB,EAAyB2/F,GAAuB3yF,OAAOmhH,KAGrF7lB,EAAYtoG,IAAI,cAAe,kBAAsB,EAAyB+tH,EAAoBM,MAInG,SAASxB,GAA4BF,EAA0B7jB,EAAsBwlB,GAAgB,GAExG,IAAKxlB,EAAU1H,QAAQmX,iBAAkB,CACrC,MAAM90F,EAAU,IAAI9K,IACpB41G,GAAqC5B,EAAW7jB,EAAWrlF,GAG3DqlF,EAAU1H,QAAQmX,iBAAmB90F,EAIzC,MAAMA,EAAU,IAAI9K,IAYpB,OAXAmwF,EAAU1H,QAAQmX,iBAAkBp4F,SAAQ,CAAChoB,EAAO0kB,KAChD4G,EAAQzjB,IAAI6c,EAAK,IAAK1kB,OAItBm2H,GAAiBxlB,EAAUmB,0BAC3BnB,EAAUmB,yBAAyB9pF,SAAQ,CAAChoB,EAAO0kB,KAC/C4G,EAAQzjB,IAAI6c,EAAK,IAAK1kB,OAIvBsrB,EAGX,SAAS8qG,GACL5B,EACA7jB,EACA0lB,EACAlsB,EAAiB,GAEjB31C,EAAO8yC,GAAU0L,iBAAiBrC,IAC9BxG,EAAiBlD,KAGrBkD,IAEAwG,EAAU1H,QAAQgI,YAAYjpF,SAASsuG,IAC/B1tB,GAAoB0tB,IAAkBhvB,GAAU0L,iBAAiBsjB,IACjEF,GAAqC5B,EAAW8B,EAAeD,EAAQlsB,MAK/EwG,EAAU1H,QAAQiE,OAAOllF,SAAQ,CAACq1D,EAAQtuE,KACtC,IAAKsuE,EAAOo9B,4BAA6B,CAErC,MAAM8b,EAAWra,GAA8B7+B,GAC/C,GAAIk5C,GAA8B,IAAlBA,EAAS70H,KAAmC,CACxD,MAAM+nD,EAAY+qE,EAAUgC,yBAAyBn5C,GACrD,IAAIgjC,GAAc/Y,GAAU2L,oBAAoBtC,IPjgBzD,SAAqCtzB,GACxC,OAAOA,EAAOy+B,kBAAkB3qD,MAAMyZ,GAAuB,IAAdA,EAAKlpE,QAAuCkpE,EAAKy1C,aOkgBhFoW,CAA4Bp5C,GP/fzC,SAAwCA,GAC3C,OAAOA,EAAOy+B,kBAAkB3qD,MAAMyZ,GAAuB,IAAdA,EAAKlpE,QAAuCkpE,EAAK8rD,gBOggBzEC,CAA+Bt5C,KACtCgjC,GAAa,GAFbA,GAAa,EAQjB,MAAMuW,EAAgBP,EAAOpvH,IAAI8H,GACjC,GAAI6nH,IACK9sB,GAAW8sB,EAAcntE,UAAWA,GAAY,CACjD,MAAMyoE,EAAO,IAAId,GACjBc,EAAKZ,WACDgD,GAAUlD,mBAAmByF,6BAA6B9iH,OAAO,CAC7D+iH,WAAYtC,EAAUuC,UAAUH,EAAcntE,WAC9CutE,UAAWxC,EAAUuC,UAAUttE,MAGvC+qE,EAAUyC,cACN,GAA6BV,EAASnsD,MAAM8sD,kBAAkBC,wBAC9D/X,GAAe+X,wBACf7C,GAAUv4F,WAAW86F,6BAA6B9iH,OAAO,CACrDhF,SACCmjH,EAAKR,YACV6E,EAASnsD,MAKrBisD,EAAOxuH,IAAIkH,EAAM,CACb06C,YACA42D,aACA+W,YAAY,UAOzB,SAASC,GACZ7C,EACAvlB,EACAC,EACAgjB,EACA/nB,EAAiB,GAEjB,IAAImtB,GAAqB,EACzB,MAAMC,EAAc7C,GAA4BF,EAAWvlB,GACrDuoB,EAAa9C,GAA4BF,EAAWtlB,GAA6B,GAuDvF,OArDAqoB,EAAYvvG,SAAQ,CAACyvG,EAAW1oH,KAC5B,MAAM2oH,EAAWF,EAAWvwH,IAAI8H,GAC3B2oH,GAWGD,EAAUpX,aAAeqX,EAASrX,YAC9B6R,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBuG,yBAAyB5jH,OAAO,CACzDhF,OACArN,KAAM8yH,EAAUuC,UAAU9nB,MAItCqoB,GAAqB,IACbG,EAAUpX,YAAcqX,EAASrX,aACrC6R,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmBwG,4BAA4B7jH,OAAO,CAC5DhF,OACArN,KAAM8yH,EAAUuC,UAAU9nB,MAItCqoB,GAAqB,GAIpB9C,EAAUqD,cACPJ,EAAUhuE,UACViuE,EAASjuE,eACEjoD,OACMA,OACLA,EACZ2oG,KAGA+nB,GACAA,EAAKZ,WAAWgD,GAAUlD,mBAAmB0G,qBAAqB/jH,OAAO,CAAEhF,UAE/EuoH,GAAqB,KA7CrBpF,GACAA,EAAKZ,WACDgD,GAAUlD,mBAAmB2G,wBAAwBhkH,OAAO,CACxDhF,OACArN,KAAM8yH,EAAUuC,UAAU7nB,MAItCooB,GAAqB,MA0CtBA,EAkGJ,SAASU,GACZxD,EACApqD,EACA6tD,EACAC,GAEA,GAA0B,IAAtB9tD,EAAK3kC,MAAM/nC,OAEX,OADA82H,EAAU2D,SAAS7D,GAAUv4F,WAAWq8F,sBAAsBrkH,OAAO,CAAEpE,SAAUy6D,EAAK3kC,MAAM/nC,SAAW0sE,GAChG,CAAEA,OAAM1oE,KAAM0lG,GAAYvyF,UAIrC,GAAIu1D,EAAKf,eAAiBe,EAAK3kC,MAAM,GAAG12B,MAA2C,IAAnCq7D,EAAK3kC,MAAM,GAAG6jC,iBAC1D,OAGJ,MAAMh+C,EAAUopG,GAA4BF,EAAWyD,EAA+C,QAAjBC,EAAM51G,QAErF+1G,EAAkB7D,EAAU8D,oBAAoBluD,EAAK3kC,MAAM,GAAG+jC,iBAC9D+uD,EAAYF,EAAgB32H,KAClC,IAAIwwH,EAAO,IAAId,GACXoH,GAAiC,EAErC,MAAMC,EAAgBjY,GAAY+X,GAAY/vB,IAC1C,GAAIH,GAAeG,GACf,OAAOA,EAGX,GAAIK,GAAgBL,IAAYlB,GAAUqH,UAAUnG,EAAS,OAAQ,CACjE,QAA6BhnG,IAAzBgnG,EAAQ4F,aAGR,OAAOhH,GAAYvyF,SAIvB,MAAM6jH,EAAYlwB,EAAQ4F,aACpBjyC,EAAQ7wC,EAAQrkB,IAAIyxH,GAC1B,OAAKv8D,GASQA,EAAMkkD,YAAclkD,EAAMi7D,YAAgC,QAAjBc,EAAM51G,QdsWjE,SAA0B8nD,EAAiBuuD,GAAsB,GACpE,IACI7+B,EADAnuB,EAAiCvB,EAGrC,KAAOuB,GAAS,CACZ,OAAQA,EAAQxC,UACZ,KAAK,GACD,OAAOwC,EAAQ0iB,WAAayL,EAGhC,KAAK,GACD,GAAI6+B,GAAuBhtD,EAAQgjB,QAAUmL,EACzC,OAAO,EAEX,MAGJ,KAAK,GACL,KAAK,GACL,KAAK,GACD,OAAO,EAIfA,EAAWnuB,EACXA,EAAUA,EAAQ9jC,OAGtB,OAAO,EcjYU,CAAgCuiC,GAAgC,IACjE8nD,EAAKZ,WACDgD,GAAUlD,mBAAmBwH,iBAAiB7kH,OAAO,CACjDhF,KAAM2pH,EACNh3H,KAAM8yH,EAAUuC,UAAUkB,MAMrB,QAAjBC,EAAM51G,OACDkyG,EAAUqD,cAAc17D,EAAM1S,UAAWyuE,EAAMW,SAAWlxB,GAAQ9yF,SAAUq9G,KAC7EsG,GAAiC,GAEb,QAAjBN,EAAM51G,QAAoB65C,EAAMkkD,aACvC6R,EAAKZ,WACDgD,GAAUlD,mBAAmB0H,qBAAqB/kH,OAAO,CACrDhF,KAAM2pH,KAGdF,GAAiC,GAG9Br8D,EAAM1S,YAhCTyoE,EAAKZ,WACDgD,GAAUlD,mBAAmB2H,eAAehlH,OAAO,CAC/ChF,KAAM2pH,EACNh3H,KAAM8yH,EAAUuC,UAAUkB,MAGlCO,GAAiC,EAC1BpxB,GAAYvyF,UAgC3B,OAJAq9G,EAAKZ,WACDgD,GAAUlD,mBAAmB4H,uBAAuBjlH,OAAO,CAAErS,KAAM8yH,EAAUuC,UAAUvuB,MAE3FgwB,GAAiC,EAC1BpxB,GAAYvyF,YAUvB,GAJIqjH,EAAMe,sBACN/G,EAAOgG,EAAMe,sBAGZ/G,EAAKlpG,UAAW,CACjB,IAAIkwG,EAEAA,EADiB,QAAjBhB,EAAM51G,OACUgyG,GAAUv4F,WAAWo9F,eACb,QAAjBjB,EAAM51G,OACGgyG,GAAUv4F,WAAWq9F,kBAErB9E,GAAUv4F,WAAWs9F,kBAGzC,MAAMnuD,EAAW,GAA6Bd,GAC9CoqD,EAAUyC,cACNuB,EACMttD,EAASgsD,kBAAkBoC,iCAC3BpuD,EAASgsD,kBAAkBC,wBACjCqB,EACMpZ,GAAeka,iCACfla,GAAe+X,wBACrB+B,EAAgBhH,EAAKR,YACrBtnD,GAIR,MAAO,CAAEA,OAAM1oE,KAAM+2H,EAAe/yF,eAAgB2yF,EAAgB3yF,cCpzBxE,SAAS6zF,GAAuB73H,EAA6CivG,GACzE,GAAsB,IAAlBjvG,EAAKs/D,SAA8C,CACnD,GAA8B,IAA1Bt/D,EAAKuqG,UAAUvuG,OACf,OAAO,EAEXgE,EAAOA,EAAKuqG,UAAU,GAK1B,MACgC,aAA5BvqG,EAAKunG,QAAQv7B,cACXijC,KACAjvG,EAAKkzG,cACNtN,GAAU+C,mBAAmBsG,EAAWjvG,EAAKkzG,aAkF/C,SAAS4kB,GACZ5uD,EACA6uD,EACAjF,GAEA,MAAMkF,EAAiB,GAAiC9uD,EAAKR,KAAKr7D,MAA2B,GACvF+/G,EAAe4K,EAAiBlF,EAAUzF,eAAe2K,QAAkBl4H,EACjF,GAAIstH,EACA,OAuHR,SACIlkD,EACA6uD,EACAjF,EACA7jB,GAEA,IAAK/lC,IAASyd,GAAsBzd,GAChC,OAGJ,MAAM+uD,EAAenF,EAAUoF,sBAAsBhvD,GACrD,IAAK+uD,IAAiBtX,GAAWsX,GAC7B,OAGJ,MAAME,EAAmC,KAAvBjvD,EAAKR,KAAKjB,SAAsCyB,EAAKR,KAAKr7D,KAAK/O,WAAQwB,EACzF,IAAKq4H,EACD,OAGJ,MAAMlW,EAAWC,GAAiBjT,EAAW,GAE7C,IAAK,MAAO8Q,KAAakC,EAAU,CAC/B,IAAK/a,GAAoB6Y,GACrB,SAGJ,MAAMpkC,EAASokC,EAASxY,QAAQiE,OAAOjmG,IAAI4yH,GAErCj7B,EAAQvhB,aAAM,EAANA,EAAQy+B,kBACtB,GAAIld,EACA,IAAK,MAAMh0B,KAAQg0B,EACf,GAAIvW,GAAsBzd,GAAO,CAC7B,MAAM+uD,EAAenF,EAAUoF,sBAAsBhvD,GACrD,GAAI+uD,GAAgBtX,GAAWsX,GAAe,CAC1C,MAAM55B,EAAY+5B,GAAqClvD,EAAM6uD,GAC7D,GAAI15B,EACA,OAAOA,KA5JpBg6B,CAA+BnvD,EAAM6uD,EAAcjF,EAAW1F,EAAane,WA2BnF,SAASqpB,GACZt4H,EACAouH,EACA2J,GAEA,IAAI15B,EAAYr+F,EAAKq+F,UAQrB,OAPKA,GACG+vB,GAAgBx4C,GAAWw4C,EAAar+G,QAExCsuF,EAyKZ,SAAiCk6B,GAC7B,IAAK,MAAMzlH,KAAUylH,EACjB,GAAIzlH,EAAO24D,WAAY,CACnB,MAAM4yB,EAAY,GAA4BvrF,EAAO24D,YACrD,GAAI4yB,EACA,OAAOA,GA9KCm6B,CADIT,EAAalN,YAAYuD,EAAar+G,QAKvDsuF,EAGJ,SAASo6B,GACZxpB,EACAmf,EACA2J,GAEA,IAAI15B,EAAY4Q,EAAU1H,QAAQlJ,UAclC,IAbKA,GAAa+vB,GAAgBxnC,GAAmBwnC,KACjD/vB,EAAYq6B,GAAkC,CAACtK,KAE1C/vB,GACD+vB,GACAx4C,GAAWw4C,EAAar+G,OACF,IAAtBq+G,EAAapuH,QAGbq+F,EAAYq6B,GADMX,EAAavM,sBAAsB4C,MAKxD/vB,GAAa+vB,EAAc,CAC5B,MAAMuK,EAAYZ,EAAatM,4BAA4B2C,EAAar+G,KAAMk/F,GAC1E0pB,IAEAt6B,EAAYq6B,GADOC,EAAU9uE,QAAQt6C,GAAMq3E,GAAmBr3E,KAAIuV,KAAKvV,GAAMA,MAKrF,OAAO8uF,EAGJ,SAASu6B,GAAgC1vD,G,UAC5C,OAAO,GAAwD,QAA5B,EAAgB,QAAhB,EAAS,QAAT,EAAAA,EAAKR,YAAI,eAAEukB,aAAK,eAAExhB,kBAAU,QAAI,IAGhE,SAASotD,GACZ3vD,EACA6uD,GAEA,GAAK7uD,EAIL,YAAuBppE,IAAnBopE,EAAKm1B,UACEn1B,EAAKm1B,UAjFb,SAAyCn1B,EAA2B6uD,GACvE,MAAMe,EAAuB,GAC7B,IAAKljD,GAAW1M,EAAKn5D,MACjB,OAAO+oH,EAGX,IAAK,MAAMrL,KAAYsK,EAAa9M,iBAAiB/hD,GACjD,GAAI4d,GAAsB2mC,IAAeA,EAASpvB,UAC9Cy6B,EAAWz8H,KAAKoxH,EAASpvB,gBACtB,GAAIzX,GAAmB6mC,IAAa9mC,GAAsB8mC,GAAW,CAGxE,MAAMpvB,EAAYu6B,GAAgCnL,GAC9CpvB,GACAy6B,EAAWz8H,KAAKgiG,GAK5B,OAAOy6B,EAgEIC,CAAgC7vD,EAAM6uD,GAAcxrD,MAAMysD,GAAQA,IAIjF,SAASC,GACLj5H,EACAouH,EACA2J,GAEA,IAAKhwB,GAAqB/nG,GACtB,OAGJ,MAAM84H,EAAuB,GAC7B,GAAI94H,EAAKuqG,UAAU96C,MAAMr8C,GAAMA,EAAEm0F,QAAQlJ,YACrCr+F,EAAKuqG,UAAUjkF,SAAS+5F,IAChBA,EAAS9Y,QAAQlJ,WACjBy6B,EAAWz8H,KAAKgkH,EAAS9Y,QAAQlJ,mBAGtC,GAAI+vB,GAAgBx4C,GAAWw4C,EAAar+G,OAAS42E,GAAsBynC,GAAe,CAC7F,MACM/vB,EAAYq6B,GADAX,EAAanM,yBAAyBwC,IAEpD/vB,GACAy6B,EAAWz8H,KAAKgiG,GAIxB,OAAOy6B,EAoEX,SAASV,GAAqChK,EAAmC2J,GAC7E,IAAI15B,EAAYq6B,GAAkC,CAACtK,IAMnD,OALK/vB,GAAazoB,GAAWw4C,EAAar+G,QAEtCsuF,EAAYq6B,GADMX,EAAanM,yBAAyBwC,KAIrD/vB,EAGX,SAASq6B,GAAkCx7B,GACvC,IAAK,MAAMh0B,KAAQg0B,EAAO,CACtB,MAAMmB,EAAYu6B,GAAgC1vD,GAClD,GAAIm1B,EACA,OAAOA,IFjLnB,SAAiBu0B,GACb,IAAiBv4F,EAiwBAq1F,EAgRAvvF,EAaA+4F,GA9hCjB,SAAiB7+F,GACA,EAAA8+F,4BAA8B,IACvC,IAAIvI,GACAQ,GAAa,2CAER,EAAAgI,wBAA0B,IAAMhI,GAAa,sCAC7C,EAAAiI,uBAAyB,IAAMjI,GAAa,qCAC5C,EAAAkI,uBAAyB,IAAMlI,GAAa,qCAC5C,EAAAmI,uBAAyB,IAAMnI,GAAa,qCAC5C,EAAAoI,uBAAyB,IAAMpI,GAAa,qCAC5C,EAAAqI,cAAgB,IACzB,IAAI7I,GAA4DQ,GAAa,6BACpE,EAAAsI,sBAAwB,IACjC,IAAI9I,GACAQ,GAAa,qCAER,EAAAuI,mBAAqB,IAC9B,IAAI/I,GACAQ,GAAa,kCAER,EAAAwI,2BAA6B,IACtC,IAAIhJ,GACAQ,GAAa,0CAER,EAAAyI,mBAAqB,IAC9B,IAAIjJ,GAAsCQ,GAAa,kCAC9C,EAAA0I,oBAAsB,IAC/B,IAAIlJ,GAAuCQ,GAAa,mCAC/C,EAAA2I,+BAAiC,IAC1C,IAAInJ,GAA0CQ,GAAa,8CAClD,EAAA4I,6BAA+B,IAAM5I,GAAa,2CAClD,EAAA6I,cAAgB,IAAM7I,GAAa,4BACnC,EAAA8I,2BAA6B,IACtC,IAAItJ,GAA0CQ,GAAa,0CAClD,EAAA+I,yBAA2B,IAAM/I,GAAa,uCAC9C,EAAAgJ,wBAA0B,IAAMhJ,GAAa,sCAC7C,EAAAiJ,eAAiB,IAAMjJ,GAAa,6BACpC,EAAAkJ,iBAAmB,IAAMlJ,GAAa,+BACtC,EAAAmJ,sBAAwB,IAAMnJ,GAAa,oCAC3C,EAAAoJ,4BAA8B,IACvC,IAAI5J,GAAsCQ,GAAa,2CAC9C,EAAAqJ,0BAA4B,IAAMrJ,GAAa,wCAC/C,EAAAsJ,qBAAuB,IAAMtJ,GAAa,mCAC1C,EAAAuJ,qBAAuB,IAAMvJ,GAAa,mCAC1C,EAAAwJ,wBAA0B,IAAMxJ,GAAa,sCAC7C,EAAAyJ,aAAe,IAAMzJ,GAAa,2BAClC,EAAA0J,gBAAkB,IAAM1J,GAAa,8BACrC,EAAA2J,iBAAmB,IAAM3J,GAAa,+BACtC,EAAA4J,kBAAoB,IAAM5J,GAAa,gCACvC,EAAA6J,iBAAmB,IAAM7J,GAAa,+BACtC,EAAA8J,eAAiB,IAC1B,IAAItK,GAAsCQ,GAAa,8BAC9C,EAAA+J,gCAAkC,IAC3C,IAAIvK,GACAQ,GAAa,+CAER,EAAAgK,iBAAmB,IAAMhK,GAAa,+BACtC,EAAAiK,iBAAmB,IAC5B,IAAIzK,GACAQ,GAAa,gCAER,EAAAkK,mBAAqB,IAC9B,IAAI1K,GACAQ,GAAa,kCAER,EAAAmK,iBAAmB,IAAMnK,GAAa,+BACtC,EAAAoK,kBAAoB,IAAMpK,GAAa,gCACvC,EAAAqK,iBAAmB,IAAMrK,GAAa,+BACtC,EAAAsK,kBAAoB,IAAMtK,GAAa,gCACvC,EAAAuK,yBAA2B,IAAMvK,GAAa,uCAC9C,EAAAwK,wBAA0B,IACnC,IAAIhL,GAAsCQ,GAAa,uCAC9C,EAAAyK,0BAA4B,IAAMzK,GAAa,wCAC/C,EAAA0K,qBAAuB,IAChC,IAAIlL,GAAsCQ,GAAa,oCAC9C,EAAA2K,qBAAuB,IAAM3K,GAAa,mCAC1C,EAAA4K,oBAAsB,IAAM5K,GAAa,kCACzC,EAAA6K,6BAA+B,IACxC,IAAIrL,GAAsCQ,GAAa,4CAC9C,EAAA8K,4BAA8B,IAAM9K,GAAa,0CACjD,EAAA+K,iCAAmC,IAC5C/K,GAAa,+CACJ,EAAAgL,sBAAwB,IACjC,IAAIxL,GAAsCQ,GAAa,qCAC9C,EAAAiL,mBAAqB,IAAMjL,GAAa,iCACxC,EAAAkL,wBAA0B,IAAMlL,GAAa,sCAC7C,EAAAmL,6BAA+B,IACxC,IAAI3L,GACAQ,GAAa,4CAER,EAAAoL,oBAAsB,IAAMpL,GAAa,kCACzC,EAAAqL,oBAAsB,IAAMrL,GAAa,kCACzC,EAAAsL,yBAA2B,IACpC,IAAI9L,GACAQ,GAAa,wCAER,EAAAuL,sBAAwB,IACjC,IAAI/L,GACAQ,GAAa,qCAER,EAAAwL,qBAAuB,IAChC,IAAIhM,GACAQ,GAAa,oCAER,EAAAyL,oBAAsB,IAAMzL,GAAa,kCACzC,EAAA0L,mBAAqB,IAAM1L,GAAa,iCACxC,EAAA2L,4BAA8B,IAAM3L,GAAa,0CACjD,EAAA4L,2BAA6B,IAAM5L,GAAa,yCAChD,EAAA6L,qBAAuB,IAChC,IAAIrM,GAAsCQ,GAAa,oCAC9C,EAAA8L,kBAAoB,IAC7B,IAAItM,GAAsCQ,GAAa,iCAC9C,EAAA+L,8BAAgC,IACzC,IAAIvM,GAA2CQ,GAAa,6CACnD,EAAAgM,kBAAoB,IAAMhM,GAAa,gCACvC,EAAAiM,oBAAsB,IAAMjM,GAAa,kCACzC,EAAAkM,4BAA8B,IAAMlM,GAAa,0CACjD,EAAAmM,0BAA4B,IAAMnM,GAAa,wCAC/C,EAAAoM,4BAA8B,IACvC,IAAI5M,GAA0CQ,GAAa,2CAClD,EAAAqM,sBAAwB,IACjC,IAAI7M,GAA2CQ,GAAa,qCACnD,EAAAsM,wBAA0B,IAAMtM,GAAa,sCAC7C,EAAAuM,sCAAwC,IACjDvM,GAAa,oDACJ,EAAAwM,kCAAoC,IAC7C,IAAIhN,GAAsCQ,GAAa,iDAC9C,EAAAyM,kCAAoC,IAC7CzM,GAAa,gDACJ,EAAA0M,kCAAoC,IAC7C,IAAIlN,GAAsCQ,GAAa,iDAC9C,EAAA2M,mCAAqC,IAC9C,IAAInN,GACAQ,GAAa,kDAER,EAAA4M,0BAA4B,IAAM5M,GAAa,wCAC/C,EAAA6M,yBAA2B,IAAM7M,GAAa,uCAC9C,EAAA8M,uBAAyB,IAAM9M,GAAa,qCAC5C,EAAA+M,wBAA0B,IAAM/M,GAAa,sCAC7C,EAAAgN,eAAiB,IAC1B,IAAIxN,GACAQ,GAAa,8BAER,EAAAiN,iCAAmC,IAC5CjN,GAAa,+CACJ,EAAAkN,iBAAmB,IAAMlN,GAAa,+BACtC,EAAAmN,kBAAoB,IAAMnN,GAAa,gCACvC,EAAAoN,uBAAyB,IAAMpN,GAAa,qCAC5C,EAAAqN,cAAgB,IAAMrN,GAAa,4BACnC,EAAAsN,0BAA4B,IACrC,IAAI9N,GAAsCQ,GAAa,yCAC9C,EAAAuN,mBAAqB,IAAMvN,GAAa,iCACxC,EAAAwN,mBAAqB,IAAMxN,GAAa,iCACxC,EAAAyN,kBAAoB,IAAMzN,GAAa,gCACvC,EAAA0N,oBAAsB,IAC/B,IAAIlO,GAAsCQ,GAAa,mCAC9C,EAAA2N,gBAAkB,IAC3B,IAAInO,GAA4CQ,GAAa,+BACpD,EAAA4N,qBAAuB,IAAM5N,GAAa,mCAC1C,EAAA6N,qBAAuB,IAAM7N,GAAa,mCAC1C,EAAA8N,eAAiB,IAC1B,IAAItO,GAAsCQ,GAAa,8BAC9C,EAAA+N,8BAAgC,IACzC,IAAIvO,GAAsCQ,GAAa,6CAC9C,EAAAgO,qBAAuB,IAAMhO,GAAa,mCAC1C,EAAAiO,yBAA2B,IAAMjO,GAAa,uCAC9C,EAAAkO,sBAAwB,IAAMlO,GAAa,oCAC3C,EAAAmO,gBAAkB,IAAMnO,GAAa,8BACrC,EAAAoO,gBAAkB,IAAMpO,GAAa,8BACrC,EAAAqO,kBAAoB,IAAMrO,GAAa,gCACvC,EAAAsO,kBAAoB,IAC7B,IAAI9O,GAAsCQ,GAAa,iCAC9C,EAAAuO,2BAA6B,IAAMvO,GAAa,yCAChD,EAAAwO,uBAAyB,IAClC,IAAIhP,GAAsCQ,GAAa,sCAC9C,EAAAyO,sBAAwB,IACjC,IAAIjP,GAAsCQ,GAAa,qCAC9C,EAAA0O,6BAA+B,IACxC,IAAIlP,GAAsCQ,GAAa,4CAC9C,EAAA2O,uBAAyB,IAAM3O,GAAa,qCAC5C,EAAA4O,cAAgB,IAAM5O,GAAa,4BACnC,EAAA6O,yBAA2B,IAAM7O,GAAa,uCAC9C,EAAA8O,4BAA8B,IAAM9O,GAAa,0CACjD,EAAA+O,4BAA8B,IAAM/O,GAAa,0CACjD,EAAAgP,oBAAsB,IAAMhP,GAAa,kCACzC,EAAAiP,aAAe,IAAMjP,GAAa,2BAClC,EAAAkP,kBAAoB,IAAMlP,GAAa,gCACvC,EAAAmP,mBAAqB,IAAMnP,GAAa,iCACxC,EAAAoP,qBAAuB,IAAMpP,GAAa,mCAC1C,EAAAqP,mBAAqB,IAAMrP,GAAa,iCACxC,EAAAsP,cAAgB,IAAMtP,GAAa,4BACnC,EAAAuP,6BAA+B,IAAMvP,GAAa,2CAClD,EAAAwP,sBAAwB,IAAMxP,GAAa,oCAC3C,EAAAyP,sBAAwB,IAAMzP,GAAa,oCAC3C,EAAA0P,yBAA2B,IAAM1P,GAAa,uCAC9C,EAAA2P,gBAAkB,IAAM3P,GAAa,8BACrC,EAAA4P,aAAe,IAAM5P,GAAa,2BAClC,EAAA6P,yBAA2B,IAAM7P,GAAa,uCAC9C,EAAA8P,uBAAyB,IAAM9P,GAAa,qCAC5C,EAAA+P,qBAAuB,IAAM/P,GAAa,mCAC1C,EAAAgQ,aAAe,IAAMhQ,GAAa,2BAClC,EAAAiQ,eAAiB,IAAMjQ,GAAa,6BACpC,EAAAkQ,oBAAsB,IAAMlQ,GAAa,kCACzC,EAAAmQ,sBAAwB,IAAMnQ,GAAa,oCAC3C,EAAAoQ,mBAAqB,IAAMpQ,GAAa,iCACxC,EAAAqQ,sBAAwB,IAAMrQ,GAAa,oCAC3C,EAAAsQ,WAAa,IAAMtQ,GAAa,yBAChC,EAAAuQ,eAAiB,IAAMvQ,GAAa,6BACpC,EAAAwQ,2BAA6B,IAAMxQ,GAAa,yCAChD,EAAAyQ,qBAAuB,IAAMzQ,GAAa,mCAC1C,EAAA0Q,mBAAqB,IAAM1Q,GAAa,iCACxC,EAAA2Q,mBAAqB,IAAM3Q,GAAa,iCACxC,EAAA4Q,oBAAsB,IAAM5Q,GAAa,kCACzC,EAAA6Q,uBAAyB,IAAM7Q,GAAa,qCAC5C,EAAA8Q,gBAAkB,IAAM9Q,GAAa,8BACrC,EAAA+Q,2BAA6B,IAAM/Q,GAAa,yCAChD,EAAAgR,kBAAoB,IAAMhR,GAAa,gCACvC,EAAAiR,kBAAoB,IAAMjR,GAAa,gCACvC,EAAAkR,oBAAsB,IAAMlR,GAAa,kCACzC,EAAAmR,2BAA6B,IAAMnR,GAAa,yCAChD,EAAAoR,qBAAuB,IAAMpR,GAAa,mCAC1C,EAAAqR,mBAAqB,IAAMrR,GAAa,iCACxC,EAAAsR,mBAAqB,IAAMtR,GAAa,iCACxC,EAAAuR,sBAAwB,IAAMvR,GAAa,oCAC3C,EAAAwR,kBAAoB,IAAMxR,GAAa,gCACvC,EAAAyR,qBAAuB,IAChC,IAAIjS,GAAsCQ,GAAa,oCAC9C,EAAA0R,aAAe,IAAM1R,GAAa,2BAClC,EAAA2R,oBAAsB,IAC/B,IAAInS,GACAQ,GAAa,mCAER,EAAA4R,gBAAkB,IAC3B,IAAIpS,GAAsCQ,GAAa,+BAC9C,EAAA6R,mBAAqB,IAC9B,IAAIrS,GAAsCQ,GAAa,kCAC9C,EAAA8R,6BAA+B,IACxC,IAAItS,GACAQ,GAAa,4CAER,EAAA+R,iBAAmB,IAAM/R,GAAa,+BACtC,EAAAgS,gBAAkB,IAC3B,IAAIxS,GAAsCQ,GAAa,+BAC9C,EAAAiS,kBAAoB,IAAMjS,GAAa,gCACvC,EAAAkS,kBAAoB,IAAMlS,GAAa,gCACvC,EAAAmS,mBAAqB,IAAMnS,GAAa,iCACxC,EAAAoS,sBAAwB,IAAMpS,GAAa,oCAC3C,EAAAqS,oBAAsB,IAAMrS,GAAa,kCACzC,EAAAsS,oBAAsB,IAAMtS,GAAa,kCACzC,EAAAuS,yBAA2B,IAAMvS,GAAa,uCAC9C,EAAAwS,6BAA+B,IAAMxS,GAAa,2CAClD,EAAAyS,yBAA2B,IAAMzS,GAAa,uCAC9C,EAAA0S,0BAA4B,IAAM1S,GAAa,wCAC/C,EAAA2S,wBAA0B,IAAM3S,GAAa,sCAC7C,EAAA4S,qBAAuB,IAAM5S,GAAa,mCAC1C,EAAA6S,oBAAsB,IAAM7S,GAAa,kCACzC,EAAA8S,kBAAoB,IAAM9S,GAAa,gCACvC,EAAA+S,6BAA+B,IACxC,IAAIvT,GAAuCQ,GAAa,4CAC/C,EAAAgT,sBAAwB,IAAMhT,GAAa,oCAC3C,EAAAiT,sBAAwB,IAAMjT,GAAa,oCAC3C,EAAAkT,qBAAuB,IAAMlT,GAAa,mCAC1C,EAAAmT,mBAAqB,IAC9B,IAAI3T,GAAsCQ,GAAa,kCAC9C,EAAAoT,mBAAqB,IAC9B,IAAI5T,GAAsCQ,GAAa,kCAC9C,EAAAqT,qBAAuB,IAAMrT,GAAa,mCAC1C,EAAAsT,oBAAsB,IAAMtT,GAAa,kCACzC,EAAAuT,oBAAsB,IAC/B,IAAI/T,GAAuCQ,GAAa,mCAC/C,EAAAwT,qBAAuB,IAChC,IAAIhU,GAA4CQ,GAAa,oCACpD,EAAAyT,2BAA6B,IACtC,IAAIjU,GAA4CQ,GAAa,0CACpD,EAAA0T,oBAAsB,IAC/B,IAAIlU,GACAQ,GAAa,mCAER,EAAA2T,2BAA6B,IACtC,IAAInU,GACAQ,GAAa,0CAER,EAAA4T,mBAAqB,IAAM5T,GAAa,iCACxC,EAAA6T,iBAAmB,IAAM7T,GAAa,+BACtC,EAAA8T,mBAAqB,IAAM9T,GAAa,iCACxC,EAAA+T,qBAAuB,IAAM/T,GAAa,mCAC1C,EAAAgU,wBAA0B,IAAMhU,GAAa,sCAC7C,EAAAiU,6BAA+B,IACxC,IAAIzU,GACAQ,GAAa,4CAER,EAAAkU,oBAAsB,IAC/B,IAAI1U,GAAsCQ,GAAa,mCAC9C,EAAAmU,oBAAsB,IAC/B,IAAI3U,GAAsCQ,GAAa,mCAC9C,EAAAoU,kBAAoB,IAC7B,IAAI5U,GAAuDQ,GAAa,iCAC/D,EAAAqU,mBAAqB,IAC9B,IAAI7U,GAAuDQ,GAAa,kCAC/D,EAAAsU,0BAA4B,IACrC,IAAI9U,GACAQ,GAAa,yCAER,EAAAuU,sBAAwB,IAAMvU,GAAa,oCAC3C,EAAAwU,qBAAuB,IAAMxU,GAAa,mCAC1C,EAAAyU,kBAAoB,IAC7B,IAAIjV,GAAsCQ,GAAa,iCAC9C,EAAA0U,sBAAwB,IACjC,IAAIlV,GAAsCQ,GAAa,qCAC9C,EAAA2U,sBAAwB,IACjC,IAAInV,GAAsCQ,GAAa,qCAC9C,EAAA4U,cAAgB,IAAM5U,GAAa,4BACnC,EAAA6U,yBAA2B,IAAM7U,GAAa,uCAC9C,EAAA8U,qBAAuB,IAAM9U,GAAa,mCAC1C,EAAA+U,wBAA0B,IAAM/U,GAAa,sCAC7C,EAAAgV,wBAA0B,IAAMhV,GAAa,sCAC7C,EAAAiV,iCAAmC,IAC5C,IAAIzV,GACAQ,GAAa,gDAER,EAAAkV,uBAAyB,IAClC,IAAI1V,GAAsCQ,GAAa,sCAC9C,EAAAmV,iBAAmB,IAAMnV,GAAa,+BACtC,EAAAoV,uBAAyB,IAAMpV,GAAa,qCAC5C,EAAAqV,iBAAmB,IAAMrV,GAAa,+BACtC,EAAAsV,mBAAqB,IAAMtV,GAAa,iCACxC,EAAAuV,kBAAoB,IAAMvV,GAAa,gCACvC,EAAAwV,qBAAuB,IAAMxV,GAAa,mCAC1C,EAAAyV,sBAAwB,IAAMzV,GAAa,oCAC3C,EAAA0V,aAAe,IACxB,IAAIlW,GAAoDQ,GAAa,4BAC5D,EAAA2V,aAAe,IACxB,IAAInW,GAAoDQ,GAAa,4BAC5D,EAAA4V,UAAY,IACrB,IAAIpW,GAAoDQ,GAAa,yBAC5D,EAAA6V,kBAAoB,IAAM7V,GAAa,gCACvC,EAAA8V,mBAAqB,IAAM9V,GAAa,iCACxC,EAAA+V,mBAAqB,IAAM/V,GAAa,iCACxC,EAAAgW,iBAAmB,IAC5B,IAAIxW,GAAsCQ,GAAa,gCAC9C,EAAAiW,uBAAyB,IAClC,IAAIzW,GAAoDQ,GAAa,sCAC5D,EAAAkW,eAAiB,IAAMlW,GAAa,6BACpC,EAAAmW,iBAAmB,IAC5B,IAAI3W,GACAQ,GAAa,gCAER,EAAAoW,uBAAyB,IAClC,IAAI5W,GAAsCQ,GAAa,sCAC9C,EAAAqW,8BAAgC,IACzC,IAAI7W,GACAQ,GAAa,6CAER,EAAAsW,uBAAyB,IAAMtW,GAAa,qCAC5C,EAAAuW,iBAAmB,IAC5B,IAAI/W,GAA4CQ,GAAa,gCACpD,EAAAwW,aAAe,IAAMxW,GAAa,2BAClC,EAAAyW,kBAAoB,IAAMzW,GAAa,gCACvC,EAAA0W,oBAAsB,IAC/B,IAAIlX,GAAsDQ,GAAa,mCAC9D,EAAA2W,yBAA2B,IAAM3W,GAAa,uCAC9C,EAAA4W,6BAA+B,IACxC,IAAIpX,GAAsCQ,GAAa,4CAC9C,EAAA6W,oBAAsB,IAAM7W,GAAa,kCACzC,EAAA8W,mBAAqB,IAAM9W,GAAa,iCACxC,EAAA+W,8BAAgC,IAAM/W,GAAa,4CACnD,EAAAgX,mBAAqB,IAAMhX,GAAa,iCACxC,EAAAiX,qBAAuB,IAAMjX,GAAa,mCAC1C,EAAAkX,kBAAoB,IAAMlX,GAAa,gCACvC,EAAAmX,oBAAsB,IAAMnX,GAAa,kCACzC,EAAAoX,YAAc,IAAMpX,GAAa,0BACjC,EAAAqX,eAAiB,IAAMrX,GAAa,6BACpC,EAAAsX,iBAAmB,IAAMtX,GAAa,+BACtC,EAAAuX,qBAAuB,IAAMvX,GAAa,mCAC1C,EAAAwX,uBAAyB,IAAMxX,GAAa,qCAC5C,EAAAyX,gBAAkB,IAAMzX,GAAa,8BACrC,EAAA0X,gBAAkB,IAAM1X,GAAa,8BACrC,EAAA2X,qBAAuB,IAAM3X,GAAa,mCAC1C,EAAA4X,kBAAoB,IAAM5X,GAAa,gCACvC,EAAA6X,aAAe,IACxB,IAAIrY,GAA0CQ,GAAa,4BAClD,EAAA8X,kBAAoB,IAC7B,IAAItY,GAAsCQ,GAAa,iCAC9C,EAAA+X,kBAAoB,IAC7B,IAAIvY,GAAsCQ,GAAa,iCAC9C,EAAAgY,qBAAuB,IAChC,IAAIxY,GAAsCQ,GAAa,oCAC9C,EAAAiY,qBAAuB,IAChC,IAAIzY,GAAsCQ,GAAa,oCAC9C,EAAAkY,iBAAmB,IAAMlY,GAAa,+BACtC,EAAAmY,WAAa,IACtB,IAAI3Y,GAAsCQ,GAAa,0BAC9C,EAAAoY,uBAAyB,IAAMpY,GAAa,qCAC5C,EAAAqY,sBAAwB,IAAMrY,GAAa,oCAC3C,EAAAsY,oBAAsB,IAAMtY,GAAa,kCACzC,EAAAuY,oBAAsB,IAAMvY,GAAa,kCACzC,EAAAwY,0BAA4B,IAAMxY,GAAa,wCAC/C,EAAAyY,kBAAoB,IAC7B,IAAIjZ,GAAsCQ,GAAa,iCAC9C,EAAA0Y,yBAA2B,IACpC,IAAIlZ,GAAsCQ,GAAa,wCAC9C,EAAA2Y,4BAA8B,IACvC,IAAInZ,GAAsCQ,GAAa,2CAC9C,EAAA4Y,0BAA4B,IACrC,IAAIpZ,GAAsCQ,GAAa,yCAC9C,EAAA6Y,6BAA+B,IACxC,IAAIrZ,GAAsCQ,GAAa,4CAC9C,EAAA8Y,4BAA8B,IACvC,IAAItZ,GAAsCQ,GAAa,2CAC9C,EAAA+Y,gCAAkC,IAAM/Y,GAAa,8CACrD,EAAAgZ,kBAAoB,IAAMhZ,GAAa,gCACvC,EAAAiZ,qBAAuB,IAAMjZ,GAAa,mCAC1C,EAAAkZ,qBAAuB,IAAMlZ,GAAa,mCAC1C,EAAAmZ,oBAAsB,IAC/B,IAAI3Z,GACAQ,GAAa,mCAER,EAAAoZ,yBAA2B,IACpC,IAAI5Z,GAAsCQ,GAAa,wCAC9C,EAAAqZ,+BAAiC,IAC1C,IAAI7Z,GACAQ,GAAa,8CAER,EAAAsZ,2BAA6B,IACtC,IAAI9Z,GACAQ,GAAa,0CAER,EAAAuZ,2BAA6B,IACtC,IAAI/Z,GAAsCQ,GAAa,0CAC9C,EAAAwZ,8BAAgC,IACzC,IAAIha,GAAsCQ,GAAa,6CAC9C,EAAAyZ,sBAAwB,IAAMzZ,GAAa,oCAC3C,EAAA0Z,qBAAuB,IAChC,IAAIla,GAAsCQ,GAAa,oCAC9C,EAAA2Z,uBAAyB,IAClC,IAAIna,GAAsCQ,GAAa,sCAC9C,EAAA4Z,iBAAmB,IAC5B,IAAIpa,GAAsCQ,GAAa,gCAC9C,EAAA6Z,yBAA2B,IAAM7Z,GAAa,uCAC9C,EAAA8Z,mBAAqB,IAAM9Z,GAAa,iCACxC,EAAA+Z,sBAAwB,IACjC,IAAIva,GAAsCQ,GAAa,qCAC9C,EAAAga,iBAAmB,IAAMha,GAAa,+BACtC,EAAAia,kBAAoB,IAAMja,GAAa,gCACvC,EAAAka,qBAAuB,IAAMla,GAAa,mCAC1C,EAAAma,kBAAoB,IAC7B,IAAI3a,GAAsCQ,GAAa,iCAC9C,EAAAoa,6BAA+B,IACxC,IAAI5a,GAAsCQ,GAAa,4CAC9C,EAAAqa,oBAAsB,IAAMra,GAAa,kCACzC,EAAAsa,uBAAyB,IAClC,IAAI9a,GAAsCQ,GAAa,sCAC9C,EAAAua,sBAAwB,IACjC,IAAI/a,GAAsCQ,GAAa,qCAC9C,EAAAwa,mBAAqB,IAAMxa,GAAa,iCACxC,EAAAya,iBAAmB,IAC5B,IAAIjb,GAA2CQ,GAAa,gCACnD,EAAA0a,wBAA0B,IACnC,IAAIlb,GACAQ,GAAa,uCAER,EAAA2a,0BAA4B,IACrC,IAAInb,GAA2CQ,GAAa,yCACnD,EAAA4a,mCAAqC,IAC9C5a,GAAa,iDACJ,EAAA6a,yBAA2B,IAAM7a,GAAa,uCAC9C,EAAA8a,+BAAiC,IAC1C,IAAItb,GACAQ,GAAa,8CAER,EAAA+a,sBAAwB,IAAM/a,GAAa,oCAC3C,EAAAgb,6BAA+B,IAAMhb,GAAa,2CAClD,EAAAib,yBAA2B,IAAMjb,GAAa,uCAC9C,EAAAkb,uBAAyB,IAAMlb,GAAa,qCAC5C,EAAAmb,0BAA4B,IACrC,IAAI3b,GAAsCQ,GAAa,yCAC9C,EAAAob,2BAA6B,IACtC,IAAI5b,GAAsCQ,GAAa,0CAC9C,EAAAqb,mBAAqB,IAC9B,IAAI7b,GAAyDQ,GAAa,kCACjE,EAAAsb,qBAAuB,IAAMtb,GAAa,mCAC1C,EAAAub,4BAA8B,IACvC,IAAI/b,GAAsCQ,GAAa,2CAC9C,EAAAwb,kBAAoB,IAC7B,IAAIhc,GACAQ,GAAa,iCAER,EAAAyb,gBAAkB,IAAMzb,GAAa,8BACrC,EAAA0b,0BAA4B,IACrC,IAAIlc,GACAQ,GAAa,yCAER,EAAA2b,iCAAmC,IAC5C3b,GAAa,+CACJ,EAAA4b,mBAAqB,IAC9B,IAAIpc,GAAsCQ,GAAa,kCAC9C,EAAA6b,8BAAgC,IACzC,IAAIrc,GACAQ,GAAa,6CAER,EAAA8b,0BAA4B,IACrC,IAAItc,GACAQ,GAAa,yCAER,EAAA+b,0BAA4B,IACrC,IAAIvc,GACAQ,GAAa,yCAER,EAAAgc,oBAAsB,IAC/B,IAAIxc,GAAsCQ,GAAa,mCAC9C,EAAAic,yBAA2B,IAAMjc,GAAa,uCAC9C,EAAAkc,iBAAmB,IAAMlc,GAAa,+BACtC,EAAAmc,uBAAyB,IAAMnc,GAAa,qCAC5C,EAAAoc,cAAgB,IACzB,IAAI5c,GAA4CQ,GAAa,6BACpD,EAAAqc,sBAAwB,IAAMrc,GAAa,oCAC3C,EAAAsc,wBAA0B,IAAMtc,GAAa,sCAC7C,EAAAuc,mBAAqB,IAC9B,IAAI/c,GACAQ,GAAa,kCAER,EAAAwc,kBAAoB,IAAMxc,GAAa,gCACvC,EAAAyc,2BAA6B,IACtC,IAAIjd,GAA4CQ,GAAa,0CACpD,EAAA0c,iBAAmB,IAAM1c,GAAa,+BACtC,EAAA2c,iBAAmB,IAAM3c,GAAa,+BACtC,EAAA4c,eAAiB,IAAM5c,GAAa,6BACpC,EAAA6c,0BAA4B,IAAM7c,GAAa,wCAC/C,EAAA8c,+BAAiC,IAC1C,IAAItd,GACAQ,GAAa,8CAER,EAAA+c,+BAAiC,IAC1C,IAAIvd,GACAQ,GAAa,8CAER,EAAAgd,gBAAkB,IAAMhd,GAAa,8BACrC,EAAAid,2BAA6B,IAAMjd,GAAa,yCAChD,EAAAkd,yBAA2B,IAAMld,GAAa,uCAC9C,EAAAmd,uBAAyB,IAAMnd,GAAa,qCAC5C,EAAAod,uBAAyB,IAAMpd,GAAa,qCAC5C,EAAAqd,eAAiB,IAC1B,IAAI7d,GAAsCQ,GAAa,8BAC9C,EAAAsd,oBAAsB,IAC/B,IAAI9d,GAAsCQ,GAAa,mCAC9C,EAAAud,sBAAwB,IACjC,IAAI/d,GAAsCQ,GAAa,qCAC9C,EAAAwd,2BAA6B,IAAMxd,GAAa,yCAChD,EAAAyd,mBAAqB,IAAMzd,GAAa,iCACxC,EAAA0d,0BAA4B,IACrC,IAAIle,GACAQ,GAAa,yCAER,EAAA2d,oBAAsB,IAAM3d,GAAa,kCACzC,EAAA4d,uBAAyB,IAAM5d,GAAa,qCAC5C,EAAA6d,wBAA0B,IAAM7d,GAAa,sCAC7C,EAAA8d,mBAAqB,IAAM9d,GAAa,iCACxC,EAAA+d,gBAAkB,IAC3B,IAAIve,GAA4CQ,GAAa,+BACpD,EAAAge,gBAAkB,IAAMhe,GAAa,8BACrC,EAAAie,0BAA4B,IAAMje,GAAa,wCAC/C,EAAAke,kBAAoB,IAAMle,GAAa,gCACvC,EAAAme,kBAAoB,IAC7B,IAAI3e,GAAsCQ,GAAa,iCAC9C,EAAAoe,mBAAqB,IAC9B,IAAI5e,GAAsCQ,GAAa,kCAC9C,EAAAqe,qBAAuB,IAAMre,GAAa,mCAC1C,EAAAse,gBAAkB,IAC3B,IAAI9e,GAAsCQ,GAAa,+BAC9C,EAAAue,kBAAoB,IAC7B,IAAI/e,GAAsCQ,GAAa,iCAC9C,EAAAwe,wBAA0B,IACnC,IAAIhf,GAAsCQ,GAAa,uCAC9C,EAAAye,iBAAmB,IAC5B,IAAIjf,GAAyDQ,GAAa,gCACjE,EAAA0e,2BAA6B,IAAM1e,GAAa,yCAChD,EAAA2e,0BAA4B,IAAM3e,GAAa,wCAC/C,EAAA4e,iBAAmB,IAAM5e,GAAa,+BACtC,EAAA6e,wBAA0B,IACnC,IAAIrf,GAAsCQ,GAAa,uCAC9C,EAAA8e,kBAAoB,IAAM9e,GAAa,gCACvC,EAAA+e,qBAAuB,IAChC,IAAIvf,GAAqDQ,GAAa,oCAC7D,EAAAgf,2BAA6B,IACtC,IAAIxf,GAAsCQ,GAAa,0CAC9C,EAAAif,6BAA+B,IACxC,IAAIzf,GAAsCQ,GAAa,4CAC9C,EAAAkf,4BAA8B,IAAMlf,GAAa,0CACjD,EAAAmf,oBAAsB,IAC/B,IAAI3f,GAAsCQ,GAAa,mCAC9C,EAAAof,mBAAqB,IAAMpf,GAAa,iCACxC,EAAAqf,uBAAyB,IAAMrf,GAAa,qCAC5C,EAAAsf,oBAAsB,IAAMtf,GAAa,kCACzC,EAAAuf,sBAAwB,IAAMvf,GAAa,oCAC3C,EAAAwf,sBAAwB,IACjC,IAAIhgB,GAAsCQ,GAAa,qCAC9C,EAAAsF,oBAAsB,IAC/B,IAAI9F,GAA0CQ,GAAa,mCAClD,EAAAyf,wBAA0B,IACnC,IAAIjgB,GAAsCQ,GAAa,uCAC9C,EAAA0f,wBAA0B,IACnC,IAAIlgB,GAAsCQ,GAAa,uCAC9C,EAAA2f,eAAiB,IAC1B,IAAIngB,GACAQ,GAAa,8BAER,EAAA4f,gBAAkB,IAC3B,IAAIpgB,GACAQ,GAAa,+BAER,EAAA6f,uBAAyB,IAClC,IAAIrgB,GACAQ,GAAa,sCAER,EAAA8f,mBAAqB,IAAM9f,GAAa,iCACxC,EAAAuG,gBAAkB,IAAMvG,GAAa,8BACrC,EAAA+f,gBAAkB,IAAM/f,GAAa,8BACrC,EAAAggB,mBAAqB,IAAMhgB,GAAa,iCACxC,EAAAsG,gBAAkB,IAAMtG,GAAa,8BACrC,EAAAigB,mBAAqB,IAAMjgB,GAAa,iCACxC,EAAAkgB,mBAAqB,IAAMlgB,GAAa,iCACxC,EAAAmgB,qBAAuB,IAAMngB,GAAa,mCAC1C,EAAAogB,mBAAqB,IAAMpgB,GAAa,iCACxC,EAAA+D,2BAA6B,IACtC,IAAIvE,GAAsCQ,GAAa,0CAC9C,EAAAqgB,kBAAoB,IAAMrgB,GAAa,gCACvC,EAAAsgB,uBAAyB,IAAMtgB,GAAa,qCAC5C,EAAAugB,4BAA8B,IAAMvgB,GAAa,0CACjD,EAAAqG,aAAe,IAAMrG,GAAa,2BAClC,EAAAwgB,oBAAsB,IAAMxgB,GAAa,kCACzC,EAAAygB,kBAAoB,IAC7B,IAAIjhB,GAAsCQ,GAAa,iCAC9C,EAAA0gB,kBAAoB,IAAM1gB,GAAa,gCACvC,EAAA2gB,iBAAmB,IAC5B,IAAInhB,GAAsCQ,GAAa,gCAC9C,EAAA4gB,gBAAkB,IAC3B,IAAIphB,GAA0DQ,GAAa,+BAClE,EAAA6gB,mBAAqB,IAC9B,IAAIrhB,GAAsCQ,GAAa,kCAC9C,EAAA8gB,gBAAkB,IAC3B,IAAIthB,GAAsCQ,GAAa,+BAC9C,EAAA+gB,qBAAuB,IAChC,IAAIvhB,GAAsCQ,GAAa,oCAC9C,EAAAghB,qBAAuB,IAChC,IAAIxhB,GAAsCQ,GAAa,oCAC9C,EAAAihB,kBAAoB,IAC7B,IAAIzhB,GAAsDQ,GAAa,iCAC9D,EAAAkhB,6BAA+B,IACxC,IAAI1hB,GACAQ,GAAa,4CAER,EAAAmhB,0CAA4C,IACrD,IAAI3hB,GACAQ,GAAa,yDAER,EAAAohB,4BAA8B,IACvC,IAAI5hB,GACAQ,GAAa,2CAER,EAAAqhB,yCAA2C,IACpD,IAAI7hB,GACAQ,GAAa,wDAER,EAAAshB,qBAAuB,IAChC,IAAI9hB,GAAsCQ,GAAa,oCAC9C,EAAAuhB,YAAc,IACvB,IAAI/hB,GAAsCQ,GAAa,2BAC9C,EAAAwhB,oBAAsB,IAC/B,IAAIhiB,GAAsCQ,GAAa,mCAC9C,EAAAyhB,0BAA4B,IACrC,IAAIjiB,GACAQ,GAAa,yCAER,EAAA0hB,2BAA6B,IAAM1hB,GAAa,yCAChD,EAAA2hB,gBAAkB,IAAM3hB,GAAa,8BACrC,EAAA4hB,eAAiB,IAAM5hB,GAAa,6BACpC,EAAA6hB,gBAAkB,IAC3B,IAAIriB,GAAoDQ,GAAa,+BAC5D,EAAA8hB,wBAA0B,IACnC,IAAItiB,GAAsCQ,GAAa,uCAC9C,EAAA+hB,2BAA6B,IACtC,IAAIviB,GAAsCQ,GAAa,0CAC9C,EAAAgiB,wBAA0B,IAAMhiB,GAAa,sCAC7C,EAAAiiB,qBAAuB,IAAMjiB,GAAa,mCAC1C,EAAAkiB,2BAA6B,IAAMliB,GAAa,yCAChD,EAAAmiB,oBAAsB,IAAMniB,GAAa,kCACzC,EAAAoiB,oBAAsB,IAC/B,IAAI5iB,GAAsCQ,GAAa,mCAC9C,EAAAqiB,wBAA0B,IACnC,IAAI7iB,GAAsCQ,GAAa,uCAC9C,EAAAsiB,oBAAsB,IAC/B,IAAI9iB,GAAsCQ,GAAa,mCAC9C,EAAAuiB,gBAAkB,IAAMviB,GAAa,8BACrC,EAAAwiB,gBAAkB,IAC3B,IAAIhjB,GAAsCQ,GAAa,+BAC9C,EAAAyiB,mBAAqB,IAC9B,IAAIjjB,GAAsCQ,GAAa,kCAC9C,EAAA0iB,iBAAmB,IAC5B,IAAIljB,GAAsCQ,GAAa,gCAC9C,EAAA2iB,iBAAmB,IAC5B,IAAInjB,GAAsCQ,GAAa,gCAC9C,EAAA4iB,mBAAqB,IAC9B,IAAIpjB,GAAsCQ,GAAa,kCAC9C,EAAA6iB,qBAAuB,IAAM7iB,GAAa,mCAC1C,EAAA8iB,oBAAsB,IAAM9iB,GAAa,kCACzC,EAAA+iB,iBAAmB,IAAM/iB,GAAa,+BACtC,EAAAgjB,mBAAqB,IAAMhjB,GAAa,iCACxC,EAAAijB,mBAAqB,IAAMjjB,GAAa,iCACxC,EAAAkjB,kBAAoB,IAAMljB,GAAa,gCACvC,EAAAmjB,8BAAgC,IACzC,IAAI3jB,GAAsCQ,GAAa,6CAC9C,EAAAojB,gBAAkB,IAC3B,IAAI5jB,GAAsCQ,GAAa,+BAC9C,EAAAqjB,4BAA8B,IACvC,IAAI7jB,GACAQ,GAAa,2CAER,EAAAsjB,4BAA8B,IACvC,IAAI9jB,GACAQ,GAAa,2CAER,EAAAujB,sBAAwB,IAAMvjB,GAAa,oCAC3C,EAAAwjB,eAAiB,IAAMxjB,GAAa,6BACpC,EAAAyjB,0BAA4B,IAAMzjB,GAAa,wCAC/C,EAAA0jB,6BAA+B,IAAM1jB,GAAa,2CAClD,EAAA2jB,+BAAiC,IAAM3jB,GAAa,6CACpD,EAAA4jB,yBAA2B,IAAM5jB,GAAa,uCAC9C,EAAA6jB,0BAA4B,IAAM7jB,GAAa,wCAC/C,EAAA8jB,6BAA+B,IACxC,IAAItkB,GACAQ,GAAa,4CAER,EAAA+jB,wBAA0B,IAAM/jB,GAAa,sCAC7C,EAAAgkB,2BAA6B,IAAMhkB,GAAa,yCAChD,EAAAikB,6BAA+B,IAAMjkB,GAAa,2CAClD,EAAAkkB,mBAAqB,IAAMlkB,GAAa,iCACxC,EAAAmkB,aAAe,IAAMnkB,GAAa,2BAClC,EAAAokB,YAAc,IAAMpkB,GAAa,0BACjC,EAAAqkB,iBAAmB,IAAMrkB,GAAa,+BACtC,EAAAskB,yBAA2B,IAAMtkB,GAAa,uCAC9C,EAAAukB,oBAAsB,IAAMvkB,GAAa,kCACzC,EAAAwkB,gBAAkB,IAAMxkB,GAAa,8BACrC,EAAAykB,kBAAoB,IAAMzkB,GAAa,gCACvC,EAAA0kB,8BAAgC,IAAM1kB,GAAa,4CACnD,EAAA2kB,iBAAmB,IAC5B,IAAInlB,GAAsCQ,GAAa,gCAC9C,EAAA4kB,gBAAkB,IAAM5kB,GAAa,8BACrC,EAAA6kB,qBAAuB,IAAM7kB,GAAa,mCAC1C,EAAA8kB,wBAA0B,IAAM9kB,GAAa,sCAC7C,EAAA+kB,8BAAgC,IACzC,IAAIvlB,GAAuCQ,GAAa,6CAC/C,EAAAglB,8BAAgC,IACzC,IAAIxlB,GAAuCQ,GAAa,6CAC/C,EAAAilB,cAAgB,IAAMjlB,GAAa,4BACnC,EAAAklB,iBAAmB,IAAMllB,GAAa,+BACtC,EAAAmlB,mBAAqB,IAAMnlB,GAAa,iCACxC,EAAAolB,sBAAwB,IAAMplB,GAAa,oCAC3C,EAAAqlB,iBAAmB,IAAMrlB,GAAa,+BACtC,EAAAslB,sBAAwB,IAAMtlB,GAAa,oCAC3C,EAAAulB,qBAAuB,IAAMvlB,GAAa,mCAC1C,EAAAwlB,kBAAoB,IAC7B,IAAIhmB,GACAQ,GAAa,iCAER,EAAAylB,qBAAuB,IAAMzlB,GAAa,mCAC1C,EAAA0lB,wBAA0B,IAAM1lB,GAAa,sCAC7C,EAAA2lB,0BAA4B,IAAM3lB,GAAa,wCA9vBhE,CAAiB/2F,EAAA,EAAAA,aAAA,EAAAA,WAAU,KAiwB3B,SAAiBq1F,GACA,EAAAsnB,SAAW,IACpB,IAAIpmB,GAA2CQ,GAAa,gCACnD,EAAA6lB,iBAAmB,IAC5B,IAAIrmB,GACAQ,GAAa,wCAER,EAAA8lB,iBAAmB,IAC5B,IAAItmB,GAA2CQ,GAAa,wCACnD,EAAA+lB,iBAAmB,IAC5B,IAAIvmB,GACAQ,GAAa,wCAER,EAAAgmB,aAAe,IACxB,IAAIxmB,GAAsCQ,GAAa,oCAC9C,EAAAimB,cAAgB,IACzB,IAAIzmB,GAAuCQ,GAAa,qCAC/C,EAAAkmB,aAAe,IAAMlmB,GAAa,mCAClC,EAAAmmB,UAAY,IAAMnmB,GAAa,gCAC/B,EAAAomB,sBAAwB,IACjC,IAAI5mB,GACAQ,GAAa,6CAER,EAAAqmB,gBAAkB,IAC3B,IAAI7mB,GAAsCQ,GAAa,uCAC9C,EAAAsmB,uBAAyB,IAAMtmB,GAAa,6CAC5C,EAAAumB,YAAc,IAAMvmB,GAAa,kCACjC,EAAAwmB,4BAA8B,IACvC,IAAIhnB,GAAsCQ,GAAa,mDAC9C,EAAAymB,kBAAoB,IAC7B,IAAIjnB,GACAQ,GAAa,yCAER,EAAA0mB,2BAA6B,IACtC,IAAIlnB,GACAQ,GAAa,kDAER,EAAA2mB,qBAAuB,IAChC,IAAInnB,GACAQ,GAAa,4CAER,EAAA4mB,mBAAqB,IAAM5mB,GAAa,yCACxC,EAAA6mB,mBAAqB,IAAM7mB,GAAa,yCACxC,EAAA8mB,oBAAsB,IAAM9mB,GAAa,0CACzC,EAAA+mB,mBAAqB,IAC9B,IAAIvnB,GAAsCQ,GAAa,0CAC9C,EAAAgnB,oBAAsB,IAC/B,IAAIxnB,GAAsCQ,GAAa,2CAC9C,EAAAinB,sBAAwB,IACjC,IAAIznB,GACAQ,GAAa,6CAER,EAAA8F,eAAiB,IAC1B,IAAItG,GAAoDQ,GAAa,sCAC5D,EAAAgG,mBAAqB,IAC9B,IAAIxG,GAAsCQ,GAAa,0CAC9C,EAAAiG,aAAe,IACxB,IAAIzG,GAAoDQ,GAAa,oCAC5D,EAAAknB,mBAAqB,IAC9B,IAAI1nB,GAA2CQ,GAAa,0CACnD,EAAAkV,uBAAyB,IAClC,IAAI1V,GAAsCQ,GAAa,8CAC9C,EAAAmnB,0BAA4B,IACrC,IAAI3nB,GACAQ,GAAa,iDAER,EAAAonB,yBAA2B,IACpC,IAAI5nB,GAAsCQ,GAAa,gDAC9C,EAAAqnB,yBAA2B,IAAMrnB,GAAa,+CAC9C,EAAAsnB,iBAAmB,IAC5B,IAAI9nB,GACAQ,GAAa,wCAER,EAAAunB,iBAAmB,IAC5B,IAAI/nB,GACAQ,GAAa,wCAER,EAAAwnB,qBAAuB,IAChC,IAAIhoB,GAAuCQ,GAAa,4CAC/C,EAAAynB,wBAA0B,IACnC,IAAIjoB,GAAsCQ,GAAa,+CAC9C,EAAA0nB,gBAAkB,IAC3B,IAAIloB,GAAsCQ,GAAa,uCAC9C,EAAA2nB,2BAA6B,IACtC,IAAInoB,GAAsCQ,GAAa,kDAC9C,EAAA4nB,kBAAoB,IAC7B,IAAIpoB,GAAsCQ,GAAa,yCAC9C,EAAAgF,mBAAqB,IAC9B,IAAIxF,GAAsCQ,GAAa,0CAC9C,EAAA6nB,cAAgB,IACzB,IAAIroB,GAAsCQ,GAAa,qCAC9C,EAAA8nB,sBAAwB,IACjC,IAAItoB,GACAQ,GAAa,6CAER,EAAA+nB,cAAgB,IAAM/nB,GAAa,oCACnC,EAAAgoB,cAAgB,IAAMhoB,GAAa,oCACnC,EAAAioB,eAAiB,IAAMjoB,GAAa,qCACpC,EAAAkoB,wBAA0B,IACnC,IAAI1oB,GAAsCQ,GAAa,+CAC9C,EAAAmoB,0BAA4B,IACrC,IAAI3oB,GAAsCQ,GAAa,iDAC9C,EAAAooB,uBAAyB,IAClC,IAAI5oB,GACAQ,GAAa,8CAER,EAAAqoB,kBAAoB,IAC7B,IAAI7oB,GAAsCQ,GAAa,yCAC9C,EAAAsoB,mBAAqB,IAC9B,IAAI9oB,GAAsCQ,GAAa,0CAC9C,EAAAuoB,qBAAuB,IAChC,IAAI/oB,GAAsCQ,GAAa,4CAC9C,EAAAkZ,qBAAuB,IAChC,IAAI1Z,GAAsCQ,GAAa,4CAC9C,EAAAwoB,eAAiB,IAAMxoB,GAAa,qCACpC,EAAAyoB,sBAAwB,IACjC,IAAIjpB,GAAsCQ,GAAa,6CAC9C,EAAAuZ,2BAA6B,IAAMvZ,GAAa,iDAChD,EAAA0oB,iBAAmB,IAAM1oB,GAAa,uCACtC,EAAA2oB,iBAAmB,IAAM3oB,GAAa,uCACtC,EAAA4oB,mBAAqB,IAC9B,IAAIppB,GACAQ,GAAa,0CAER,EAAA6oB,kBAAoB,IAC7B,IAAIrpB,GACAQ,GAAa,yCAER,EAAA8oB,8BAAgC,IACzC,IAAItpB,GACAQ,GAAa,qDAER,EAAA+oB,kBAAoB,IAC7B,IAAIvpB,GACAQ,GAAa,yCAER,EAAAgpB,mBAAqB,IAC9B,IAAIxpB,GACAQ,GAAa,0CAER,EAAAipB,aAAe,IACxB,IAAIzpB,GAAsCQ,GAAa,oCAC9C,EAAAkpB,gBAAkB,IAC3B,IAAI1pB,GACAQ,GAAa,uCAER,EAAAmpB,kBAAoB,IAAMnpB,GAAa,wCACvC,EAAApO,UAAY,IACrB,IAAI4N,GAA2CQ,GAAa,iCACnD,EAAAopB,+BAAiC,IAC1C,IAAI5pB,GACAQ,GAAa,sDAER,EAAAqpB,gCAAkC,IAC3CrpB,GAAa,sDACJ,EAAAspB,2BAA6B,IACtC,IAAI9pB,GAAsCQ,GAAa,kDAC9C,EAAAupB,sBAAwB,IACjC,IAAI/pB,GAAsCQ,GAAa,6CAC9C,EAAAwpB,uBAAyB,IAClC,IAAIhqB,GAAsCQ,GAAa,8CAC9C,EAAAypB,sBAAwB,IACjC,IAAIjqB,GAAsCQ,GAAa,6CAC9C,EAAA0pB,uBAAyB,IAClC,IAAIlqB,GAAsCQ,GAAa,8CAC9C,EAAA2pB,qBAAuB,IAChC,IAAInqB,GACAQ,GAAa,4CAER,EAAA4pB,sBAAwB,IACjC,IAAIpqB,GAAsCQ,GAAa,6CAC9C,EAAA6pB,4BAA8B,IACvC,IAAIrqB,GACAQ,GAAa,mDAER,EAAA8pB,kBAAoB,IAC7B,IAAItqB,GAAsCQ,GAAa,yCAC9C,EAAA+pB,eAAiB,IAAM/pB,GAAa,qCACpC,EAAAgqB,oBAAsB,IAAMhqB,GAAa,0CACzC,EAAAiqB,uBAAyB,IAAMjqB,GAAa,6CAC5C,EAAAkqB,qBAAuB,IAAMlqB,GAAa,2CAC1C,EAAAmqB,wBAA0B,IAAMnqB,GAAa,8CAC7C,EAAAoqB,uBAAyB,IAAMpqB,GAAa,6CAC5C,EAAAqqB,uBAAyB,IAClC,IAAI7qB,GAAuCQ,GAAa,8CAC/C,EAAA6e,wBAA0B,IACnC,IAAIrf,GAAsCQ,GAAa,+CAC9C,EAAAsqB,kBAAoB,IAC7B,IAAI9qB,GACAQ,GAAa,yCAER,EAAAuqB,+BAAiC,IAC1C,IAAI/qB,GACAQ,GAAa,sDAER,EAAA6f,uBAAyB,IAClC,IAAIrgB,GACAQ,GAAa,8CAER,EAAAwqB,UAAY,IACrB,IAAIhrB,GACAQ,GAAa,iCAER,EAAAyqB,uBAAyB,IAClC,IAAIjrB,GACAQ,GAAa,8CAER,EAAAiF,sBAAwB,IACjC,IAAIzF,GACAQ,GAAa,6CAER,EAAA8E,0BAA4B,IACrC,IAAItF,GACAQ,GAAa,iDAER,EAAA+D,2BAA6B,IACtC,IAAIvE,GACAQ,GAAa,kDAER,EAAA6E,uBAAyB,IAClC,IAAIrF,GACAQ,GAAa,8CAER,EAAA0qB,2BAA6B,IACtC,IAAIlrB,GACAQ,GAAa,kDAER,EAAA2qB,wBAA0B,IACnC,IAAInrB,GACAQ,GAAa,+CAER,EAAA4qB,uBAAyB,IAClC,IAAIprB,GACAQ,GAAa,8CAER,EAAA6qB,iBAAmB,IAC5B,IAAIrrB,GACAQ,GAAa,wCAER,EAAA4gB,gBAAkB,IAC3B,IAAIphB,GAAsCQ,GAAa,uCAC9C,EAAA8qB,aAAe,IACxB,IAAItrB,GAAsCQ,GAAa,oCAC9C,EAAA+qB,cAAgB,IACzB,IAAIvrB,GAAoDQ,GAAa,qCAC5D,EAAAkG,qBAAuB,IAChC,IAAI1G,GAAsCQ,GAAa,4CAC9C,EAAAgrB,aAAe,IACxB,IAAIxrB,GAAoDQ,GAAa,oCAC5D,EAAAirB,gBAAkB,IAC3B,IAAIzrB,GAAsCQ,GAAa,uCAC9C,EAAAkrB,uBAAyB,IAClC,IAAI1rB,GAAsCQ,GAAa,8CAC9C,EAAAmrB,mBAAqB,IAC9B,IAAI3rB,GAAsCQ,GAAa,0CAC9C,EAAAorB,mBAAqB,IAC9B,IAAI5rB,GAAsCQ,GAAa,0CAC9C,EAAAqrB,gCAAkC,IAC3CrrB,GAAa,sDACJ,EAAAsrB,kBAAoB,IAAMtrB,GAAa,wCACvC,EAAAurB,gBAAkB,IAC3B,IAAI/rB,GAAuCQ,GAAa,uCAC/C,EAAAykB,kBAAoB,IAC7B,IAAIjlB,GACAQ,GAAa,yCAER,EAAAwrB,eAAiB,IAAMxrB,GAAa,qCACpC,EAAAyrB,eAAiB,IAAMzrB,GAAa,qCACpC,EAAA0rB,gBAAkB,IAAM1rB,GAAa,sCACrC,EAAA2rB,eAAiB,IAAM3rB,GAAa,qCA7QrD,CAAiB1B,EAAA,EAAAA,qBAAA,EAAAA,mBAAkB,KAgRnC,SAAiBvvF,GACA,EAAA68G,wBAA0B,IAAM5rB,GAAa,sCAC7C,EAAA6rB,eAAiB,IAAM7rB,GAAa,6BACpC,EAAA8rB,kBAAoB,IAC7B,IAAItsB,GAA4CQ,GAAa,iCACpD,EAAA+rB,iBAAmB,IAAM/rB,GAAa,+BACtC,EAAAgsB,kBAAoB,IAAMhsB,GAAa,gCACvC,EAAAisB,oBAAsB,IAC/B,IAAIzsB,GAAuCQ,GAAa,mCAC/C,EAAAksB,kBAAoB,IAAMlsB,GAAa,gCACvC,EAAAmsB,gBAAkB,IAAMnsB,GAAa,8BAVtD,CAAiBjxF,EAAA,EAAAA,aAAA,EAAAA,WAAU,KAa3B,SAAiB+4F,GACA,EAAAskB,SAAW,IACpB,IAAI5sB,GACAQ,GAAa,yBAER,EAAAqsB,cAAgB,IACzB,IAAI7sB,GACAQ,GAAa,8BAER,EAAAssB,oBAAsB,IAC/B,IAAI9sB,GACAQ,GAAa,oCAXzB,CAAiB8H,EAAA,EAAAA,cAAA,EAAAA,YAAW,KA/hChC,CAAiBtG,QAAS,KG5I1B,MAAM+qB,GAAkB,KAClBC,GAA0B,OAkCzB,SAAS,GACZ59I,EACA69I,EACAC,EACAC,EAAyB,IAEzB,MAAMC,EAA4E,IAAtC,GAAjBH,GACrBI,EAAkF,IAAzC,IAAjBJ,GAK9B,GAJAA,IAAkB,IAId79I,EAAKioG,cAAe,CACpB,IAAIi2C,GAAkB,EAStB,IAR0D,IAApC,GAAjBL,IAGGE,EAAexxE,MAAMhf,GAAMA,IAAMvtD,OAFrCk+I,GAAkB,IAOjBA,EACD,IACIH,EAAe1hJ,KAAK2D,GACpB,IAAImvG,EAAYnvG,EAAKioG,cAAc56F,KACnC,MAAM4gG,EAAajuG,EAAKioG,cAAcmG,eAEtC,GAAIH,EAAY,CACZ,IAAIkwC,EAGAn+I,EAAKioG,cAAcmB,eAE8C,IAA3C,EAAjBy0C,IACD79I,EAAKioG,cAAcmB,cAAc35C,MAAM+tD,IAAa7W,GAAe6W,QAEnE2gC,EAAkB,GAClBn+I,EAAKioG,cAAcmB,cAAc9iF,SAAQ,CAACk3F,EAASryF,KAO3Cm8E,GAJAn8E,EAAQ8iF,EAAWjyG,OAASiyG,EAAW9iF,GAAS8iF,EAAWA,EAAWjyG,OAAS,KAK/EmrG,GAAgBqW,IAChBrL,GAAaqL,IACbA,EAAQzU,mBAERyU,EAAQzU,mBAAmBziF,SAAS83H,IAChCD,EAAiB9hJ,KACb,GACI+hJ,EAAap+I,KACb69I,EACAC,EACAC,OAKZI,EAAiB9hJ,KACb,GAAUmhH,EAASqgC,EAAgBC,EAAoBC,SAON,IAA3C,EAAjBF,IACD5vC,EAAWx+C,MAAMqzD,IAAenc,GAAemc,QAE/Cq7B,EAAkB,GAClBlwC,EAAW3nF,SAASw8F,IAChBq7B,EAAiB9hJ,KACb,GAAUymH,EAAW+6B,EAAgBC,EAAoBC,QAMrEI,IAC+B,IAA3BA,EAAgBniJ,OAChBmzG,GAAa,OAEbA,GAAa,IAAIgvC,EAAgB3hJ,KAAK,UAOlD,GAAsB,KAAlBwD,EAAKs/D,SACL,OAAO6vC,E,QAGX4uC,EAAe9iG,OAK3B,GACI8iG,EAAexxE,MACVhf,I,MACG,OAAAA,IAAMvtD,QACeF,IAApBytD,EAAE06C,eAA+B16C,EAAE06C,cAAc8F,YAA+B,QAAlB,EAAA/tG,EAAKioG,qBAAa,eAAE8F,cAE3FgwC,EAAe/hJ,OAASupG,GAIxB,OAAI8B,GAAUrnG,IAASA,EAAKunG,QAAQyD,eAAiBhrG,EAAKunG,QAAQW,uBACvDloG,EAAKunG,QAAQW,uBAGpBloG,EAAKioG,cACEjoG,EAAKioG,cAAc56F,KAGvB,MAGX,IACI0wI,EAAe1hJ,KAAK2D,GAEpB,MAAMq+I,EAA8F,IAA9C,GAAjBR,GAC/BS,EAA2Bx3C,QACAhnG,IAAtBgnG,EAAQ+B,WAA2Bw1C,EAA8B,IAAM,GAGlF,OAAQr+I,EAAKs/D,UACT,KAAK,EACD,MAAO,UAGX,KAAK,EACD,OAAiE,IAAxC,EAAjBu+E,GAA6D,MAAQ,UAGjF,KAAK,EACD,MAAO,WAAW79I,EAAKgsE,eAG3B,KAAK,EACD,OAAIw5B,GAASvmG,WAAWe,QACMF,IAAtBE,EAAK0sG,aACE,WAAW6xC,GAAkBv+I,MAGjC,GAAG,GACNA,EACA69I,EACAC,EACAC,KACAO,EAAwBt+I,UAEFF,IAAtBE,EAAK0sG,aACE,gBAAgB6xC,GAAkBv+I,OAAUs+I,EAAwBt+I,KAGxE,QAAQ,GACXA,EACA69I,EACAC,EACAC,MACCO,EAAwBt+I,KAIrC,KAAK,EAAuB,CAGxB,MAAM9D,EAAQ,GAAmB8D,EAAM69I,EAAgBC,EAAoBC,GACrES,EAAiB,IAAItiJ,EAAM,GAAGM,KAAK,SACzC,GAAIqpG,GAAaoO,iBAAiBj0G,GAC9B,OAAOw+I,EAEX,MAAMC,EAAgB,GAAGD,QAAqBtiJ,EAAM,KAEpD,OAAI+hJ,EACO,IAAIQ,KAGRA,EAGX,KAAK,EAKD,MAAO,YAJgBz+I,EACUuqG,UAAUzlF,KAAKu7F,GAC5C,GAAUA,EAAUw9B,EAAgBC,EAAoBC,KAE/BvhJ,KAAK,SAGtC,KAAK,EAAoB,CAIrB,MAAMkiJ,EAAoB,IAAI5sG,IAIxB6sG,EAAiB,IAAI7sG,IAGrB8sG,EACe,EAAjBf,EACuB,IAAjBA,EACAA,EAGV,GAA0D,IAApC,GAAjBA,IAA0D79I,EAAKysG,iBAChE,IAAK,MAAMyK,KAAmBl3G,EAAKysG,iBAAkB,CACjD,IAAIoyC,GAAqB,EACrBC,GAA+B,EACnC,MAAMC,EAA4B,IAAIjtG,IAEtC,IAAK,MAAMktG,KAAiB9nC,EAAgBrQ,SAAU,CAClD,IAAIo4C,EAAoB,EACpBC,GAAa,EAEjB,IAAK,MAAMC,KAAgBn/I,EAAK6mG,SAAU,CACtC,GACIuB,GACI42C,EACAG,OAC0Br/I,GACJ,GAE5B,CACO4+I,EAAkBt5H,IAAI65H,KACvBH,GAA+B,GAEnCC,EAA0Bn4H,IAAIq4H,GAC9BC,GAAa,EACb,MAGJD,IAGJ,IAAKC,EAAY,CACbL,GAAqB,EACrB,OAIJA,IAAuBC,IACvBH,EAAe/3H,IACX,GAAUswF,EAAiB0nC,EAAuBd,EAAoBC,IAE1EgB,EAA0Bz4H,SAAS6E,GAAUuzH,EAAkB93H,IAAIuE,MAK/E,MAAMi0H,EAAYp/I,EAAK6mG,SAAStW,WAAWuW,GAAYR,GAAeQ,KACtE,GAAIs4C,GAAa,IAAMV,EAAkBt5H,IAAIg6H,GAAY,CACrD,MAAMC,EAAkBzzC,GAAoB5rG,GAC5C,GAAIqmG,GAAQg5C,GACR,MAAO,OAGX,MAAMC,EAAe,GACjBD,EACAT,EACAd,EACAC,GAGJ,OAAqB,EAAjBF,EACOyB,EAAe,UAGnB,YAAcA,EAAe,IAGxC,MAAMC,EAAuB,IAAIztG,IAC3B0tG,EAAsB,IAAI1tG,IAChCsrE,GAAiBp9G,GAAM,CAAC8mG,EAAS37E,KACxBuzH,EAAkBt5H,IAAI+F,KACnBg8E,GAAgBL,SAAqChnG,IAAzBgnG,EAAQ4F,aACpC6yC,EAAqB34H,IAAI23H,GAAkBz3C,IACpCI,GAAoBJ,SAAqChnG,IAAzBgnG,EAAQ4F,aAC/C8yC,EAAoB54H,IAAI23H,GAAkBz3C,IAE1C63C,EAAe/3H,IACX,GAAUkgF,EAAS83C,EAAuBd,EAAoBC,QAM9E,MAAM0B,EAAkC,GAGxC,GAFAd,EAAer4H,SAAS9W,GAAMiwI,EAAsBpjJ,KAAKmT,KAErD+vI,EAAqBj/I,KAAO,EAAG,CAC/B,MAAMo/I,EAA2B,GACjCH,EAAqBj5H,SAAS9W,GAAMkwI,EAAerjJ,KAAKmT,KACxDiwI,EAAsBpjJ,KAAK,WAAWqjJ,EAAeljJ,KAAK,UAG9D,GAAIgjJ,EAAoBl/I,KAAO,EAAG,CAC9B,MAAMo/I,EAA2B,GACjCF,EAAoBl5H,SAAS9W,GAAMkwI,EAAerjJ,KAAKmT,KACvDiwI,EAAsBpjJ,KAAK,gBAAgBqjJ,EAAeljJ,KAAK,WAGnE,GAAqC,IAAjCijJ,EAAsBzjJ,OACtB,OAAOyjJ,EAAsB,GAGjC,GAAqB,EAAjB5B,EAAwC,CACxC,MAAM8B,EAAcF,EAAsBjjJ,KAAK,OAC/C,OAAIwhJ,EACO,IAAI2B,KAERA,EAGX,MAAO,SAASF,EAAsBjjJ,KAAK,SAG/C,KAAK,GAAsB,CAKvB,GAAIwD,EAAKunG,QAAQyD,cAAe,CAG5B,GAAIhrG,EAAKunG,QAAQW,uBACb,OAA0D,IAApC,GAAjB21C,IAA0D79I,EAAKunG,QAAQY,UACjE,GACH3C,GAASvmG,WAAWe,GACdy/G,GAAkBz/G,EAAKunG,QAAQY,WAC/BnoG,EAAKunG,QAAQY,UACnB01C,EACAC,EACAC,GAGD/9I,EAAKunG,QAAQW,uBAMxB,GAAIloG,EAAKunG,QAAQ2Q,mBAAqBl4G,EAAKunG,QAAQY,UAAW,CAC1D,IAAIy3C,EAAkB,GAClB5/I,EAAKunG,QAAQY,WACI,GAAjB01C,EACAC,EACAC,GAOJ,OAJKp3C,GAAe3mG,EAAKunG,QAAQY,aAC7By3C,EAAkB,QAAQA,KAG1Bp6C,GAASgB,eAAexmG,GACjB,QAAQ4/I,KAGZA,EAGX,OAAiE,IAAxC,EAAjB/B,GAA6D,MAAQ,UAGjF,GAAI79I,EAAKunG,QAAQM,YACb,OAAI7nG,EAAK+3G,gBACE,GAAG/3G,EAAKunG,QAAQl6F,QAAQrN,EAAK+3G,kBAEjC,GAAG3R,GAAYmS,gBAAgBv4G,KAG1C,IAAI02G,EAActQ,GAAYmS,gBAAgBv4G,GAM9C,OAJIA,EAAK0nG,qBACLgP,EAAc,IAAIA,KAGlBlR,GAASgB,eAAexmG,GACjB,QAAQ02G,KAGZA,EAGX,KAAK,EACD,MAAO,GAAGlR,GAASgB,eAAexmG,GAAQ,aAAe,SAASs+I,EAAwBt+I,KAG9F,KAAK,EACD,OAAOA,EAAKosG,WAAa,WAAa,QAG1C,KAAK,EAED,OADgBpsG,EACDq2G,WAAa,MAAQ,MAI5C,MAAO,G,QAEP0nC,EAAe9iG,OAIhB,SAASsjG,GAAkBv+I,EAAiB6/I,EAAY,KAC3D,MAAMnzC,EAAe1sG,EAAK0sG,aAC1B,QAAqB5sG,IAAjB4sG,EACA,MAAO,GAGX,IAAIozC,EACJ,GAA4B,iBAAjBpzC,EAA2B,CAClC,MAAMxiD,EAA+B,UAAtBlqD,EAAKunG,QAAQl6F,KAAmB,IAAM,GAIrDyyI,EAAa9vI,KAAKC,UAAUy8F,GAAclsG,WACxB,MAAdq/I,IACAC,EAAa,IAAIA,EACZt4G,UAAU,EAAGs4G,EAAW9jJ,OAAS,GACjC2K,QAAQi3I,GAAyB,KACjCj3I,QAAQg3I,GAAiB,WAG9BzzF,IACA41F,EAAa,GAAG51F,IAAS41F,SAEE,kBAAjBpzC,EACdozC,EAAapzC,EAAe,OAAS,QAC9BA,aAAwBtH,GAC/B06C,EAAa,GAAGpzC,EAAahc,aAAagc,EAAarH,WACxB,iBAAjBqH,GACdozC,EAAapzC,EAAalsG,WACtBs/I,EAAW7kF,SAAS,OACpB6kF,EAAaA,EAAWt4G,UAAU,EAAGs4G,EAAW9jJ,OAAS,KAG7D8jJ,EAAapzC,EAAalsG,WAG9B,OAAOs/I,EAGJ,SAAS,GACZ9/I,EACA69I,EACAC,EACAC,EAAyB,I,QAEzB,IAAIgC,EAAU//I,EAAKmvG,WAAanvG,EAAKunG,QAAQl6F,KAI7C,IAAKu4F,GAAUkD,qBAAqB9oG,GAAO,CACvC,MAAMiuG,EAAarI,GAAUyM,kBAAkBryG,GACzCggJ,EAAgB/xC,EAAWjyG,OAAS,EAAIiyG,EAAWA,EAAWjyG,OAAS,QAAK8D,EAC5E0nG,IAAaw4C,GAAgBA,EAAcz4C,QAAQC,WAGnD0G,EACqB,QAAvB,EAAAluG,EAAK+oG,0BAAkB,QACL,QAAlB,EAAA/oG,EAAKopG,qBAAa,eAAEtkF,KAAKyoC,IACd,CAAEvtD,KAAMutD,EAAG27C,aAAa,MAEvC,GAAIgF,EAEA,GAAIA,EAASlyG,OAAS,EAAG,CACrB,MAAMikJ,EAA2B,GACjC,IAAIC,GAAW,EAEfhyC,EAAS5nF,SAAQ,CAACk3F,EAASryF,KACvB,MAAM23F,EAAY33F,EAAQ8iF,EAAWjyG,OAASiyG,EAAW9iF,QAASrrB,EAClE,GACIgjH,GACAA,EAAUvb,QAAQC,YAClBL,GAAgBqW,EAAQx9G,OACxB4lG,GAAUqH,UAAUuQ,EAAQx9G,KAAM,UAClCw9G,EAAQx9G,KAAK+oG,mBAGkC,IAA3CyU,EAAQx9G,KAAK+oG,mBAAmB/sG,QAC3B2qG,GAAe6W,EAAQx9G,QACxBkgJ,GAAW,GAGfD,EAAe5jJ,KAAK,OAEpB4jJ,EAAe5jJ,QACRmhH,EAAQx9G,KAAK+oG,mBAAmBjkF,KAAK04F,IAC/B7W,GAAe6W,EAAQx9G,QACxBkgJ,GAAW,GAGf,MAAMC,EAAc,GAChB3iC,EAAQx9G,KACR69I,EACAC,EACAC,GAEJ,OAAIvgC,EAAQtU,YACD,UAAUi3C,UAGdA,UAIhB,CACEx5C,GAAe6W,EAAQx9G,QACxBkgJ,GAAW,GAGf,MAAME,EAAkB,GACpB5iC,EAAQx9G,KACR69I,EACAC,EACAC,GAGAvgC,EAAQtU,YACgB,IAApBgF,EAASlyG,OACTikJ,EAAe5jJ,KAAK+jJ,EAAiB,OAErCH,EAAe5jJ,KAAK,UAAU+jJ,WAGlCH,EAAe5jJ,KAAK+jJ,OAK5BpgJ,EAAK4nG,aACLm4C,EAAU,IAAMA,GAG6C,IAA3C,EAAjBlC,IAAkEqC,IACnEH,GAAW,IAAME,EAAezjJ,KAAK,MAAQ,UAG7CopG,GAAUuM,aAAanyG,IAASwnG,KAChCu4C,GAAW,aAIf9xC,EAAWjyG,OAAS,IAE6C,IAA3C,EAAjB6hJ,IACD5vC,EAAWx+C,MAAMqzD,IAAenc,GAAemc,QAE/Ci9B,GACI,IACA9xC,EACKnpF,KAAKg+F,GACK,GAAUA,EAAW+6B,EAAgBC,EAAoBC,KAEnEvhJ,KAAK,MACV,KAMpB,OAAOujJ,EAGJ,SAAS,GACZ//I,EACA69I,EACAC,EACAC,EAAyB,IAEzB,MAAMsC,EAA6B,GACnC,IAAIC,GAAiB,EAErBtgJ,EAAKunG,QAAQljE,WAAW/d,SAAQ,CAAClC,EAAO+G,KAEpC,GACIA,IAAUnrB,EAAKunG,QAAQljE,WAAWroC,OAAS,GACxB,IAAnBooB,EAAMk7C,UACNgoC,GAAkBljF,EAAMpkB,MAC1B,CACE,MAAMugJ,EAAuB16C,GAAamE,0BAA0BhqG,EAAMmrB,GAC1E,GACIg8E,GAAgBo5C,IAChB36C,GAAUqH,UAAUszC,EAAsB,UAC1CA,EAAqBx3C,mBAMrB,YAJAw3C,EAAqBx3C,mBAAmBziF,SAAS08F,IAC7C,MAAMw9B,EAAc,GAAUx9B,EAAUhjH,KAAM69I,EAAgBC,EAAoBC,GAClFsC,EAAiBhkJ,KAAKmkJ,MAMlC,IAAIA,EAAc,GACK,IAAnBp8H,EAAMk7C,SACDl7C,EAAM/W,MAAS+W,EAAM2vF,oBACtBysC,GAAe,KAEO,IAAnBp8H,EAAMk7C,WACbkhF,GAAe,MAGfp8H,EAAM/W,OAAS+W,EAAM2vF,oBACrBysC,GAAep8H,EAAM/W,KACrBizI,GAAiB,GAGrB,IAAIG,EAAyB,IACzBC,GAA6B,EAEjC,GAAIt8H,EAAM/W,KAEN,GAAI+W,EAAM4vF,iBAAmB5vF,EAAMkvF,eAAgB,CAC/C,MAAM0P,EAAYnd,GAAamE,0BAA0BhqG,EAAMmrB,GACzDw1H,EACF5C,EAAe/hJ,OAASupG,GAClB,GAAUyd,EAAW66B,EAAgBC,EAAoBC,GACzD,GAEL35H,EAAM2vF,kBAEmB,IAAnB3vF,EAAMk7C,UAA8CsoC,GAAWob,KACtEw9B,GAAe,KAFfA,GAAe,KAKI,IAAnBp8H,EAAMk7C,UAAmDsoC,GAAWob,KACpEw9B,GAAe,MAGnBA,GAAeG,EAEX94C,GAAYmb,KAEW,IAAnB5+F,EAAMk7C,UACa,IAAnBl7C,EAAMk7C,WAENohF,GAA6B,IAMrCD,EAAyB,WAC2C,IAA3C,EAAjB5C,KACHz5H,EAAM2vF,oBACPysC,GAAe,MAEnBA,GAAe,UACfC,EAAyB,YAE1B,GAAuB,IAAnBr8H,EAAMk7C,SAAuC,CACpD,IAAIghF,EAGA,OAFAE,GAAe,IAkBvB,GAZIp8H,EAAM0vF,aACF1vF,EAAMw8H,uBACNJ,GAAeC,EAAyB,GAA+Br8H,EAAMw8H,wBAK7EJ,GAAeC,EAAyB,OAK5C56C,GAAa+P,uCAAuC51G,KAAU0gJ,EAC9D,GAAuB,IAAnBt8H,EAAMk7C,SACNkhF,EAAc,WACX,GAAuB,IAAnBp8H,EAAMk7C,SACb,OAIR+gF,EAAiBhkJ,KAAKmkJ,MAGtBxgJ,EAAKunG,QAAQqM,WACbysC,EAAiBhkJ,KACb,KAAK,GAAU2D,EAAKunG,QAAQqM,UAAWiqC,EAAgBC,EAAoBC,MAInF,MAAM3zC,EAAa0zC,EAAmB99I,GAChC6gJ,EACF9C,EAAe/hJ,OAASupG,GAClB,GACI6E,EACiB,IAAjByzC,EACAC,EACAC,GAEJ,GAEV,MAAO,CAACsC,EAAkBQ,GCpuBvB,MAAMC,WAAgC,GAmEzC7zI,YACY8zI,EACAhnC,EACA0Q,EACAu2B,EACAC,EACAC,GAAwC,GAEhDh0I,QAPQ,KAAA6zI,cACA,KAAAhnC,gBACA,KAAA0Q,aACA,KAAAu2B,qBACA,KAAAC,gBACA,KAAAC,wCATJ,KAAAC,SAA+B,GAC/B,KAAAC,oBAAsB,IAAItvG,IAc9B9wC,KAAKqgJ,mBAAmBrgJ,KAAKigJ,eA9EjC,uBACIv4E,EACAoqD,EACAwuB,EACAC,EACA/kD,GAAuC,GAEvC,MAAM1oC,EAAa4U,EAAKpqE,MAClBkjJ,EAAexgJ,KAAKygJ,uBACtB/4E,EACAoqD,GACuB,EACvBwuB,GAIJ,OADAC,EAAeA,UAAgBlmD,GAAc3yB,IAK3B,IAAIo4E,GAClBhtF,EACA0tF,EACA1uB,EACAwuB,EACAC,EACA/kD,GAGaklD,UAZN,GAef,8BACIh5E,EACAoqD,EACA6uB,EACA3/H,EACA+1G,GAEA,GAA6B/1G,GAE7B,MAAMw/H,EAAexgJ,KAAK4gJ,wBAAwBl5E,EAAMoqD,GAElD+uB,EAAsC,GAiB5C,OAhBAL,EAAal7H,SAAS4iD,IAClB,MAAMklD,EAAe0E,EAAUzE,wBAAwBnlD,EAAMy4E,GAC7D,GAAIvzB,IACAyzB,EAAqBxlJ,KAAK+xH,GAEtB2J,GAAgBniD,GAAWw4C,EAAar+G,OAAO,CAC/C,MAAM4oH,EAAYZ,EAAa9M,iBAAiBmD,GAChD,IAAK,MAAMX,KAAYkL,EACflL,GAAYA,EAAS19G,MACrB/O,KAAK8gJ,aAAaD,EAAsBp0B,OAOrDo0B,EAqBXH,UAEI,OADA1gJ,KAAK+vF,KAAK/vF,KAAKigJ,eACRjgJ,KAAKmgJ,SAGPpwD,KAAKroB,GACL,GAAmCA,IACpCx7D,MAAM6jF,KAAKroB,GAIVorB,UAAUprB,GAIf,GAHA,GAA6B1nE,KAAKggJ,oBAG9Bt4E,EAAKpqE,QAAU0C,KAAK+/I,YACpB,OAAO,EAGX,GAAI//I,KAAK+4G,cAAc/9G,OAAS,EAAG,CAC/B,MAAMwlJ,EAAeV,GAAwBc,wBAAwBl5E,EAAM1nE,KAAKypH,YAE5E+2B,GAAgBA,EAAaxlJ,OAAS,GAElCwlJ,EAAa/xF,MAAMyZ,GAASloE,KAAK+gJ,4BAA4B74E,MAC7DloE,KAAKghJ,WAAWt5E,QAKxB1nE,KAAKghJ,WAAWt5E,GAGpB,OAAO,EAGFqsB,YAAYrsB,GAOjB,OANA,GAA6B1nE,KAAKggJ,oBAE9BhgJ,KAAKogJ,oBAAoBh8H,IAAIsjD,IAC7B1nE,KAAKghJ,WAAWt5E,IAGb,EAGHs5E,WAAWt5E,GACf,MAAMj7D,EAAqC,KAAlBi7D,EAAKjB,SAAkCiB,EjBy0DjE,SAAiCA,GACpC,OAGG,SAA6B1mD,GAChC,MAAMhmB,EAASgmB,EAAMigI,gBACfC,IAA4B,MAAdlgI,EAAMkoD,OAC1B,OAAO1E,GAAUryD,OAAO6O,EAAMllB,MAAQd,EAAQgmB,EAAMhmB,OAASA,GAAUkmJ,EAAYlmJ,EAAS,IANrFmmJ,CAAoBz5E,EAAK1mD,OiB10D2CogI,CAAwB15E,GAC/F1nE,KAAKmgJ,SAAS9kJ,KAAK,CAAEqsE,OAAMj7D,UAGvBs0I,4BAA4B/4E,GAEhC,MAAMolD,EAAeptH,KAAKypH,WAAW4D,wBAAwBrlD,GAAqC,GAClG,IAAKolD,EACD,OAAO,EAKX,GACIptH,KAAK+4G,cAActqD,MAAMyZ,GACrBmzB,GAAoBnzB,EAAMklD,EAAcptH,KAAKkgJ,yCAGjD,OAAO,EAKX,MAAMmB,EAAuBrhJ,KAAKshJ,4BAA4Bl0B,GAC9D,SAAKi0B,GAAwBA,IAAyBj0B,IAI/CptH,KAAK+4G,cAActqD,MAAMyZ,GAC5BmzB,GAAoBnzB,EAAMm5E,EAAsBrhJ,KAAKkgJ,yCAIrDoB,4BAA4Bt5E,GAIhC,GAAIu5E,EAAiCv5E,GACjC,OAAOi0B,GAAwC,CAACj0B,IAAc,GAGlE,MAAMolD,EAAeptH,KAAKypH,WAAW4D,wBAAwBrlD,GAAqC,GAClG,OAAOu5E,EAAiCn0B,GAClCnxB,GAAwC,CAACmxB,IAAe,GACxDA,EAEN,SAASm0B,EAAiCr5E,GACtC,QACMA,GACY,IAAdA,EAAKlpE,MACLkpE,EAAKR,MACLQ,EAAKuzB,eACkB,KAAvBvzB,EAAKR,KAAKjB,UAKd45E,mBAAmB34E,GACvB,GAAsB,KAAlBA,EAAKjB,SACL,OAGJ,MAAMoC,EAAgB,GAAkCnB,GACxD,IAAKmB,EACD,OAGJ,MAAM24E,EAAc,GAA2B95E,GAC1C85E,GAIL34E,EAAc44E,YAAYn8H,SAASo8H,IAC/B,GAAIA,EAAWpkJ,QAAU0C,KAAK+/I,YAC1B,OAGJ,MAAM4B,EAAgBH,EAAYI,sBAAsBF,EAAWpkJ,OAC9DqkJ,GAIAA,EAAchnE,OAAOy+B,kBAAkB3qD,MAAMlgD,GAAMvO,KAAK+gJ,4BAA4BxyI,MAIzFvO,KAAKogJ,oBAAoBx6H,IAAI87H,MAI7B,oBAAoBlB,EAA6BqB,GACrD,IAAK,MAAMn1F,KAAO8zF,EACd,GAAInlD,GAAoB3uC,EAAKm1F,GACzB,OAIRrB,EAAanlJ,KAAKwmJ,GAGd,+BAA+Bn6E,EAAgBoqD,G,gBAGnD,GAAyB,MAAV,QAAX,EAAApqD,EAAKviC,cAAM,eAAEshC,UAAuC,CACpD,IAAIy1B,EAAQ41B,EAAUlG,2BAA2BlkD,IAAS,GAS1D,GAPyB,MAAV,QAAX,EAAAA,EAAKviC,cAAM,eAAEshC,YAEby1B,EAAQA,EAAMrzC,QAAQt6C,GAAMA,EAAEm5D,OAASA,EAAKviC,UAK3B,IAAjB+2D,EAAMlhG,OAAc,CACpB,MAAMgE,EAAO8yH,EAAUvE,QAAQ7lD,GAC/B,GAAkB,KAAd1oE,aAAI,EAAJA,EAAMs/D,UAEN,MAAO,CAAC+9B,GAAkCr9F,EAAK68D,WAQvD,IAAK,MAAMimF,KAAa5lD,EAAMrzC,QAAQt6C,GAAMw3E,GAAmBx3E,KAAOA,EAAE+tF,sBAAsB,CAC1F,MAAM50B,EAAQo6E,EAA+Bp6E,KACvB,KAAlBA,EAAKjB,UAKTy1B,EAAM7gG,QAASy2H,EAAUlG,2BAA2BlkD,EAAK51D,OAAO49D,UAAU,KAAO,IAGrF,OAAOwsB,EAKX,MAAMlxB,EAAatD,EAAKviC,OACxB,GAC+B,MAAV,QAAjB,EAAA6lC,EAAW7lC,cAAM,eAAEshC,WACQ,MAAV,QAAjB,EAAAuE,EAAW7lC,cAAM,eAAEshC,UACrB,CACE,MAAMt8C,EAAQ6gD,EAAW0E,UAAU6f,WAAW/uF,GAAMA,IAAMknE,IAG1D,GAAc,IAAVv9C,EAAa,CAEb,IAAI+xE,EAAuB,GAG3B,MAAM6lD,EAC8B,IAAhC/2E,EAAW0E,UAAU10E,QACU,KAA/BgwE,EAAW7lC,OAAOshC,YAChBuE,EAAW7lC,OAAOgnC,MAGlBQ,EAAao1E,EACZ/2E,EAAW7lC,OAAwBgnC,MAAO7uE,MAC3C0tE,EAAW0E,UAAU,GAAGpyE,MAKxB0kJ,EAAkD,QAAhC,KAA2Bt6E,UAAK,eAAEk6E,sBAAsBj1E,GAoChF,OAnCIq1E,GAAmD,IAAhCh3E,EAAW0E,UAAU10E,SACxCkhG,EAAM7gG,QAAQ2mJ,EAAgBrnE,OAAOy+B,kBAAkBvwD,QAAQt6C,GAAMw3E,GAAmBx3E,MAGpF2tF,EAAMlhG,OAAS,IACfkhG,EAAQA,EAAMrzC,QAAQt6C,QAGMzP,KAFxByP,EAAIA,GAEEmvE,cAKKnvE,EAAEmvE,gBAAkB1S,EAAW0E,UAAU,GAAGpyE,MAGhDiR,EAAEm5D,OAASsD,EAAW7lC,UAMjC48G,IACA7lD,EAAQD,GAAwCC,KAMxDA,EAAM7gG,SAEsD,QADpD,EAAAy2H,EACClG,2BAA2B5gD,EAAW0E,UAAU,WAAG,eAClD7mB,QAAQt6C,GAAMw3E,GAAmBx3E,OAAO,IAG3C2tF,EAGX,OAAI/xE,EAAQ,GAOD2nG,EAAUlG,2BAA2B5gD,EAAW0E,UAAUvlD,KAG9D,GAGX,MAAO,IC7VR,SAAS83H,GACZjjJ,EACA8yH,EACAowB,EAAkB,IAElB,IAAIv8G,EAAU,GACd,MAAM4jE,EAAYvqG,EAAKuqG,UAClB1gD,QAAQz2C,GAAMyyF,GAAayP,aAAaliG,KACxC0R,KAAK1R,GAAMA,EAAEm0F,QAAQl6F,KAAOylH,EAAUuC,UAAUjiH,GAAyB,KAE9E,IAAK,IAAI9X,EAAI,EAAGA,EAAIivG,EAAUvuG,OAAQV,IACxB,IAANA,GAAWivG,EAAUjvG,GAAGU,OAASknJ,GAAmB34C,EAAUjvG,EAAI,GAAGU,QAAUknJ,IAC/Ev8G,GAAW,MAGfA,GAAW4jE,EAAUjvG,GAEjBA,EAAIivG,EAAUvuG,OAAS,IACvB2qC,GAAW,KACP4jE,EAAUjvG,GAAGU,OAASknJ,IACtBv8G,GAAW,OAKvB,OAAOA,EAGJ,SAASw8G,GAA6BnjJ,EAAoB+3H,EAA4BjF,GACzF,MAAM5pD,EAAOlpE,EAAKunG,QAAQv+B,YACpBgvD,EAAiB9uD,EAAO,GAAiCA,EAAKR,WAAQ5oE,EACtEstH,EAAe4K,EAAiBlF,EAAUzF,eAAe2K,QAAkBl4H,EAEjF,OHCG,SACHE,EACAouH,EACA2J,EACA9oB,GAEA,IAAI5Q,EAUJ,IALKw5B,GAAuB73H,EAAMivG,IAAcmf,GAAgBznC,GAAsBynC,KAClF/vB,EAiPR,SAA+Br+F,EAAYouH,EAA+C2J,GACtF,IAAKjwB,GAAW9nG,GACZ,OAGJ,IAAIq+F,EAAYr+F,EAAKunG,QAAQlJ,UAS7B,OARKA,GAAa+vB,IACd/vB,EAAY+5B,GAAqChK,EAAc2J,KAG9D15B,GAAar+F,EAAKunG,QAAQv+B,cAC3Bq1B,EAAY+5B,GAAqCp4H,EAAKunG,QAAQv+B,YAAa+uD,IAGxE15B,EA/PS+kD,CAAsBpjJ,EAAMouH,EAAc2J,KAIrD15B,GAAa4Q,EAAW,CACzB,MACMo0C,EAAiBvhC,GAAuB7S,EAD7BjvG,EAAKunG,QAAQl6F,KAxClC,IA2CI,IAAK,MAAMi2I,KAAeD,EAEtB,GADcC,EAAY3nE,OAAOy+B,kBACvBp+G,OAAS,EAAG,CAClB,MAAMunJ,EAAgBD,EAAY3nE,OAAOy+B,kBAAkBx7G,OAAO,GAAG,GACrE,GAAI+nF,GAAsB48D,KACtBllD,EAAY+5B,GAAqCmrB,EAAexrB,GAC5D15B,GACA,OAOpB,OAAOA,GAAar+F,EAAKunG,QAAQlJ,UGnC1BmlD,CAA8BxjJ,EAAMkpE,EAAM6uD,EAAc3K,aAAY,EAAZA,EAAcne,WAG1E,SAASw0C,GACZzjJ,EACA+3H,EACAjF,GAEA,GAA8B,IAA1B9yH,EAAKuqG,UAAUvuG,OACf,MAAO,GAGX,MAAMktE,EAAOlpE,EAAKuqG,UAAU,GAAGhD,QAAQv+B,YACjCgvD,EAAiB9uD,EAAO,GAAiCA,EAAKR,WAAQ5oE,EACtEstH,EAAe4K,EAAiBlF,EAAUzF,eAAe2K,QAAkBl4H,EAEjF,OHsBG,SACHE,EACA0jJ,EACA3rB,EACAjF,EACA7jB,GAEA,IAAI6pB,EAKJ,IAAKjB,GAAuB73H,EAAMivG,GAC9B,IAAK,MAAMmf,KAAgBs1B,EAEvB,GADA5qB,EAAaG,GAAiCj5H,EAAMouH,EAAc2J,GAC9De,GAAcA,EAAW98H,OAAS,EAClC,OAAO88H,EAMnB,GAAI7pB,GAAajvG,EAAKuqG,UAAUvuG,OAAS,EAAG,CACxC,MACMqnJ,EAAiBvhC,GAAuB7S,EAD7BjvG,EAAKuqG,UAAU,GAAGhD,QAAQl6F,KAnF/C,IAsFI,IAAK,MAAMi2I,KAAeD,EAAgB,CACtC,MAAME,EAAgBD,EAAY3nE,OAAOy+B,kBAAkBx7G,OAAO,GAAG,GAC/D+kJ,EAAW7wB,EAAUoF,sBAAsBqrB,GACjD,GAAII,IACA7qB,EAAaG,GAAiC0qB,EAAUJ,EAAexrB,GACnEe,GAAcA,EAAW98H,OAAS,GAClC,OAMhB,OAAO88H,UAAc,GG5Dd8qB,CACH5jJ,EACAA,EAAKuqG,UAAUzlF,KAAK1R,GAAMA,EAAEm0F,QAAQv+B,cAAanf,OAAOuF,GACxD2oE,EACAjF,EACA1F,aAAY,EAAZA,EAAcne,WAIf,SAAS40C,GACZ9rB,EACA/3H,EACAouH,EACA0E,GAEA,GAAsB,KAAlB1E,aAAY,EAAZA,EAAcpuH,OAAqCouH,EAAarxB,eAAiBqxB,EAAa/vB,UAC9F,MAAO,CAAC+vB,EAAa/vB,WAClB,GAAI+I,GAASpnG,GAAO,CACvB,MAAMg5H,EAAMV,GAAmBt4H,EAAMouH,EAAc2J,GACnD,GAAIiB,EACA,MAAO,CAACA,QAET,GAAI9xB,GAAoBlnG,GAAO,CAClC,MAAMg5H,EAAMP,GAAkBz4H,EAAMouH,EAAc2J,GAClD,GAAIiB,EACA,MAAO,CAACA,QAET,GAAIlxB,GAAW9nG,GAAO,CACzB,MAAMg5H,EAAMmqB,GAA6BnjJ,EAAM+3H,EAAcjF,GAC7D,GAAIkG,EACA,MAAO,CAACA,OAET,IAAIjxB,GAAqB/nG,GAC5B,OAAOyjJ,GAAwCzjJ,EAAM+3H,EAAcjF,GAChE,GAAsB,KAAlB1E,aAAY,EAAZA,EAAcpuH,MAAmC,CACxD,MAAMg5H,EAAMH,GAAqBzK,EAAc2J,GAC/C,GAAIiB,EACA,MAAO,CAACA,QAET,GAAsB,KAAlB5K,aAAY,EAAZA,EAAcpuH,MAAmC,CAExD,MAAMg5H,EAAMlB,GAA8B1J,EAAc2J,EAAcjF,GACtE,GAAIkG,EACA,MAAO,CAACA,IAIhB,MAAO,GCTX,IAAU8qB,GAsDLC,IAtDL,SAAUD,GACN,MAAMrxI,EAAiB,CAEnB,OACA,QACA,OACA,MACA,KACA,MACA,KACA,SACA,QAGA,SACA,QACA,QACA,WACA,MACA,MACA,OACA,OACA,SACA,UACA,MACA,OACA,SACA,KACA,SACA,KACA,WACA,OACA,QACA,SACA,MACA,QACA,QAGEuxI,EAAsB,IAAIvxI,EAAM,QAAS,SAEzCwxI,EAAuB,IAAID,EAAW,OAAQ,SAEpC,EAAAE,WAAhB,SAA2B1lI,GACvB,OAAIA,GAAW4+C,GAAcE,MAClB2mF,EAEPzlI,GAAW4+C,GAAc+mF,KAClBH,EAEJvxI,GAlDf,CAAUqxI,QAAQ,KAsDlB,SAAKC,GAKD,qCAGA,uDAGA,2CAGA,mCAGA,uCAGA,qDAGA,2CAGA,yBAGA,+BAGA,mCAIA,sCAGA,oCAGA,gCA1CJ,CAAKA,QAAY,KA+IV,MACMK,GAAsB,iBAS5B,MAAMC,GAYTp3I,YACYq3I,EACAC,EACAC,EACAj6B,EACAk6B,EACAC,EACArwE,EACAswE,EACAl6B,EACAljG,EACAq9H,EACAC,EACA7D,GAZA,KAAAsD,iBACA,KAAAC,gBACA,KAAAC,gBACA,KAAAj6B,kBACA,KAAAk6B,YACA,KAAAC,YACA,KAAArwE,iBACA,KAAAswE,gBACA,KAAAl6B,aACA,KAAAljG,WACA,KAAAq9H,gBACA,KAAAC,kBACA,KAAA7D,qBAfJ,KAAA8D,sBAAuB,EAiB3B9jJ,KAAKwpH,SAAWxpH,KAAKqzE,eAAe0wE,oBAAoB/jJ,KAAK0jJ,WAGjEM,4B,QACI,MAAMtiJ,EAAS,GAAwB1B,KAAKyjJ,UAAWzjJ,KAAKujJ,cAAcp2E,gBAAgB3lB,OAC1F,QAAe1oD,IAAX4C,EACA,OAGJ,MAAMsf,EnBynCP,SAA6BsjD,EAAoC7nC,GACpE,MAAMtS,EAAQm6C,EAAOq1B,kBAAkBl9D,GACvC,GAAItS,EAAQ,EACR,OAGJ,MAAMnJ,EAAQsjD,EAAOgB,UAAUn7C,GAC/B,OAAOq6C,GAAUoB,SAAS5kD,EAAOyb,GAAYzb,OAAQliB,EmBhoCnC,CAAmCkB,KAAKujJ,cAAcp2E,gBAAgB7I,OAAQ5iE,GAC7E,KAAXsf,aAAK,EAALA,EAAOhiB,QACPgB,KAAK8jJ,uBAAuBt/E,GAAUsB,SAAS9kD,EAAOtf,OAEjB,MAA9Bsf,EAAsBkoD,QAKjC,IAAIxB,EAAO,GAAgC1nE,KAAKujJ,cAAcr5E,UAAWxoE,GAKzE,MAAMuiJ,EAAcv8E,EACdw8E,EAAex8E,EAAO,GAA4BA,GAAQ,EAEhE,IAAKu8E,GAAwC,KAAzBA,EAAYx9E,SAAiC,CAC7D,IAAI09E,EAAYziJ,EACZ0iJ,GAAW,EAEf,KAAOD,GAAa,GAAG,CACnBA,IAGA,MAAME,EAAUrkJ,KAAKwjJ,cAAcxhJ,OAAOmiJ,EAAW,GACrD,GAAgB,MAAZE,GAA+B,OAAZA,GAAgC,MAAZA,EACvC,MAEY,MAAZA,IACAD,GAAW,GAGf,MAAMn7E,EAAU,GAAgCjpE,KAAKujJ,cAAcr5E,UAAWi6E,GAC9E,GAAIl7E,GAAWA,IAAYg7E,EAAa,CAChC,GAA4Bh7E,GAAWi7E,IACvCx8E,EAAOuB,EAIHm7E,GAAiC,MAAV,QAAX,EAAA18E,EAAKviC,cAAM,eAAEshC,YACzBiB,EAAOA,EAAKviC,SAGpB,QAKZ,QAAarmC,IAAT4oE,EACA,OAIJ,MAAM48E,EAAgBtkJ,KAAKujJ,cAAcp2E,gBAAgB3lB,MAAM8d,UAAUtlE,KAAKyjJ,UAAUvpH,MAClFqqH,EAAavkJ,KAAKwjJ,cAAcxhJ,OAAOsiJ,EAAcxoJ,MAAOwoJ,EAActpJ,QAC1EwpJ,EAAYD,EAAWviJ,OAAO,EAAGhC,KAAKyjJ,UAAUtpH,WAChDsqH,EAAWF,EAAWviJ,OAAOhC,KAAKyjJ,UAAUtpH,WAC5CuqH,EAAiBF,EAAUvgD,OAAO,QAClC0gD,EAAYD,GAAkB,EAAIF,EAAUxiJ,OAAO0iJ,GAAkB,GAG3E,GAAI1kJ,KAAK4kJ,iBAAiBljJ,GACtB,OAKJ,IAAImjJ,EAAmCn9E,EACvC,KAAOm9E,GACwB,IAAvBA,EAAUp+E,UAIdo+E,EAAYA,EAAU1/G,OAK1B,IAAI8jC,EAAU47E,GAAan9E,EAC3B,OAAa,CAGT,GAFA,GAA6B1nE,KAAKggJ,oBAET,KAArB/2E,EAAQxC,SACR,OAAOzmE,KAAK8kJ,uBAAuB77E,EAAS07E,EAAWH,EAAWC,GAGtE,GAAyB,KAArBx7E,EAAQxC,UAA8D,KAArBwC,EAAQxC,SACzD,OAGJ,GAAyB,KAArBwC,EAAQxC,SACR,OAAOzmE,KAAK+kJ,4BAA4B97E,GAG5C,GAAyB,IAArBA,EAAQxC,SACR,OAAOzmE,KAAKglJ,+BAA+B/7E,EAAS07E,EAAWH,EAAWC,GAG9E,GAAyB,KAArBx7E,EAAQxC,SACR,OAAOzmE,KAAKilJ,4BAA4Bh8E,EAAQvC,eAAgBi+E,GAGpE,GAAyB,KAArB17E,EAAQxC,SAAuC,CAC/C,MAAMy+E,EAAgB,IAAIC,GAC1B,GAAInlJ,KAAKolJ,kBAAkBn8E,OAA0BnqE,EAAW0lJ,EAAWC,EAAUS,GACjF,MAAO,CAAEA,iBAIjB,MAAMG,EAAkB,GACpBp8E,EAAO,IAGX,GAAIo8E,GACoC,MAAV,QAAtB,EAAAA,EAAgBlgH,cAAM,eAAEshC,UAAuC,CAC/D,MAAM6+E,EAAiBD,EAAgBlgH,OACvC,GAAImgH,EAAeC,oBAAsBD,EAAeC,mBAAmBzpJ,MAAQ4F,EAAQ,CACvF,MAAMwjJ,EAAgB,IAAIC,GAC1B,GACInlJ,KAAKolJ,kBACDE,OACiBxmJ,EACjB0lJ,EACAC,EACAS,GAGJ,MAAO,CAAEA,kBAMzB,GAAyB,KAArBj8E,EAAQxC,SAAiC,CAIzC,MAAMzmD,EAAShgB,KAAKwlJ,uBAAuBv8E,EAASvnE,EAAQijJ,GAC5D,GAAI3kI,QAAqBlhB,IAAXkhB,EACV,OAAOA,EAIf,GAAyB,KAArBipD,EAAQxC,SACR,OAAOzmE,KAAKylJ,0BAA0Bx8E,EAAS07E,GAGnD,GAAI95D,GAAiB5hB,GACjB,OAAOjpE,KAAK0lJ,0BAA0Bz8E,EAAS07E,EAAWH,EAAWC,GAGzE,GAAyB,KAArBx7E,EAAQxC,SAAkC,CAC1C,GACIwC,EAAQ9jC,QACoB,KAA5B8jC,EAAQ9jC,OAAOshC,WACdwC,EAAQ9jC,OAAO94B,MAChB48D,EAAQ9jC,OAAO6sD,gBACfxtB,GAAUmB,OAAOsD,EAAQ9jC,OAAO6sD,gBAAkBtwF,GAClDA,GAAUunE,EAAQ9jC,OAAO2mD,YAAYhwF,MAGrC,OAGJ,GACImtE,EAAQ9jC,QACoB,KAA5B8jC,EAAQ9jC,OAAOshC,YACbwC,EAAQ9jC,OAAO94B,OAAS48D,EAAQ9jC,OAAO94B,KAAK/O,QACV,IAApC2rE,EAAQ9jC,OAAOzlC,UAAU1E,QACzB0G,GAAUunE,EAAQ9jC,OAAO8mD,MAAMnwF,MAG/B,OAGJ,OAAOkE,KAAK2lJ,yBAAyB18E,EAAS07E,EAAWH,EAAWC,GAGxE,GAAyB,KAArBx7E,EAAQxC,SACR,OAAOzmE,KAAK2lJ,yBAAyB18E,EAAS07E,EAAWH,EAAWC,GAGxE,GACyB,KAArBx7E,EAAQxC,UACW,IAAnBwC,EAAQjuE,QACRiuE,EAAQ9jC,QACoB,KAA5B8jC,EAAQ9jC,OAAOshC,SAGf,OAGJ,IAAKwC,EAAQ9jC,OACT,MAGJ8jC,EAAUA,EAAQ9jC,QAS1BygH,sBAAsBC,GAClB,GAA6B7lJ,KAAKggJ,oBAElC,MAAM8F,EAAqBD,EAAe3mJ,KAEpCk8B,EAAQyqH,EAAezqH,MAC7B,IAAI2qH,EAAiB,GACjBD,EAAmBC,iBACnBA,EAAiBD,EAAmBC,gBAGxC,MAAMC,EAAW3C,GAAmB4C,uBAAuB12D,WACtDvnE,GAASA,EAAKoT,QAAUA,GAASpT,EAAK+9H,iBAAmBA,IAmB9D,GAhBIC,EAAW,IAGX3C,GAAmB4C,uBAAyB5C,GAAmB4C,uBAAuB//H,OAAO8/H,EAAU,IAG1F,IAAbA,GAEA3C,GAAmB4C,uBAAuBz3F,QAAQ,CAAEpzB,QAAO2qH,mBAG3D1C,GAAmB4C,uBAAuBjrJ,OA9QzB,KAgRjBqoJ,GAAmB4C,uBAAuBhsG,MAG1C6rG,EAAmBI,YAGnB,GAFAlmJ,KAAKmmJ,eAAiBN,EAEjBC,EAAmBC,gBAMjB,IAAKF,EAAevqH,oBAAqB,CAC5C,MACM8qH,EAAoB,CAAElB,cADN,IAAIC,IAG1BnlJ,KAAKqmJ,0BACDP,EAAmBI,YACG,GACP,EACfE,SATJpmJ,KAAKgkJ,4BAeTwB,uBAAuBv8E,EAAmBvnE,EAAgBijJ,G,MAC9D,IAAK17E,EAAQ9jC,OACT,OAAO,EAGX,GAAgC,KAA5B8jC,EAAQ9jC,OAAOshC,UAAuCwC,EAAQ9jC,OAAOgnC,QAAUlD,EAAnF,CAKA,GAAgC,KAA5BA,EAAQ9jC,OAAOshC,SAAuC,CAEtD,GACIwC,EAAQ9jC,OAAOA,QACoB,KAAnC8jC,EAAQ9jC,OAAOA,OAAOshC,WACrBwC,EAAQ9jC,OAAOA,OAAOgnC,OACvB3H,GAAUmB,OAAOsD,EAAQ9jC,OAAOA,QAAUzjC,EAE1C,OAKJ,OAAO1B,KAAK+kJ,4BAA4B97E,EAAQ9jC,QAGpD,GAAgC,KAA5B8jC,EAAQ9jC,OAAOshC,SAAyC,CACxD,GAAIwC,EAAQ9jC,OAAOgnC,QAAUlD,EAEzB,OAGJ,MAAM8jD,EAAa9jD,EAAQ9jC,OAAOA,OAClC,GAAI4nF,GAAsC,KAAxBA,EAAWtmD,SAAuC,CAEhE,IAAKwC,EAAQ9jC,OAAOgnC,OAAS3H,GAAUmB,OAAOsD,EAAQ9jC,QAAUzjC,EAC5D,OAGJ,OAAIunE,EAAQ9jC,OAAO94B,OAAS48D,EACjBjpE,KAAKylJ,0BAA0B14B,EAAY43B,GAG/C3kJ,KAAKylJ,0BAA0B14B,EAAY,IAGtD,OAAO,EAGX,GAAgC,KAA5B9jD,EAAQ9jC,OAAOshC,UAA2CwC,IAAYA,EAAQ9jC,OAAOkiC,WACrF,OAAOrnE,KAAKilJ,4BAA4Bh8E,EAAQ9jC,OAAOuhC,eAAgBi+E,GAG3E,GAAgC,KAA5B17E,EAAQ9jC,OAAOshC,UAAqCwC,IAAYA,EAAQ9jC,OAAO94B,KAAnF,CAIA,GAAgC,KAA5B48D,EAAQ9jC,OAAOshC,UAAuCwC,IAAYA,EAAQ9jC,OAAO94B,KACjF,OAA6B,QAAzB,EAAA48D,EAAQ9jC,OAAO+mD,kBAAU,eAAEz9B,MAAMlgD,GAAMvO,KAAKsmJ,YAAY/3I,MACjDvO,KAAKumJ,+BAA+B5B,EAAW17E,QAG1D,EAGJ,KAAgC,KAA5BA,EAAQ9jC,OAAOshC,UAAwCwC,IAAYA,EAAQ9jC,OAAO94B,MAItD,KAA5B48D,EAAQ9jC,OAAOshC,UAAoCwC,IAAYA,EAAQ9jC,OAAO94B,MAKlD,KAA5B48D,EAAQ9jC,OAAOshC,UACfjC,GAAUsB,SAASmD,EAAQ9jC,OAAOkmD,iBAAkBpiB,EAAQntE,QAMhC,KAA5BmtE,EAAQ9jC,OAAOshC,UACfjC,GAAUsB,SAASmD,EAAQ9jC,OAAOkmD,iBAAkBpiB,EAAQntE,QAKhE,OAAO,IAGH8oJ,iBAAiBljJ,G,QACrB,MAAMsf,EAQN,SAAuBtf,EAAgB4iE,GACnC,MAAMkiF,EAAaliF,EAAOq1B,kBAAkBj4F,GAC5C,GAAI8kJ,EAAa,EACb,OAGJ,IAAIxlI,EAAQsjD,EAAOgB,UAAUkhF,GAE7B,KAAI9kJ,EAASsf,EAAMllB,OAAS4F,EAASsf,EAAMllB,MAAQklB,EAAMhmB,QAAzD,CAOA,IAAK,IAAIV,EAAIksJ,EAAa,EAAGlsJ,GAAK,EAAGA,IAAK,CACtC,MAAMmsJ,EAAYniF,EAAOgB,UAAUhrE,GACnC,GAAI0mB,EAAMllB,QAAU2qJ,EAAU3qJ,MAC1B,MAGJklB,EAAQylI,EAGZ,OAAI/kJ,GAAUsf,EAAMllB,MACTklB,GAKX,EAAawlI,EAAa,EAAIliF,EAAOtpE,QAC9BspE,EAAOgB,UAAUkhF,EAAa,KAvC3BE,CAAchlJ,EAAQ1B,KAAKujJ,cAAcp2E,gBAAgB7I,QACvE,QAAKtjD,GAK4D,QAA1D,EAAc,QAAd,EAAAA,EAAMsrE,gBAAQ,eAAE79B,MAAM/rD,GAAM8hE,GAAUoB,SAASljE,EAAGhB,YAAQ,SAqC7DsjJ,+BACJt9E,EACAi9E,EACAH,EACAC,G,MAKA,OAAQ/8E,EAAKpJ,UACT,KAAK,EACD,OAAOt+D,KAAK2mJ,+BAA+B,MAG/C,KAAK,EACD,OAAO3mJ,KAAK2mJ,+BAA+B,QAG/C,KAAK,EACL,KAAK,EACD,OAAO3mJ,KAAK0lJ,0BAA0Bh+E,EAAMi9E,EAAWH,EAAWC,GAGtE,KAAK,EAA6C,CAC9C,IAAI2B,EAAoBpmJ,KAAK8kJ,uBAAuBp9E,EAAMi9E,EAAWH,EAAWC,GAMhF,OAJK2B,GAAsBA,EAAkBlB,gBACzCkB,EAAoBpmJ,KAAK0lJ,0BAA0Bh+E,EAAMi9E,EAAWH,EAAWC,IAG5E2B,EAGX,KAAK,EACD,GAAI1+E,EAAKhR,OAASm0B,GAAiBnjB,EAAKhR,OACpC,OAAO12D,KAAKilJ,4BAA4Bv9E,EAAKhR,MAAOiuF,GAExD,MAGJ,KAAK,GACD,GAAIj9E,EAAKhR,OAAiC,KAAxBgR,EAAKhR,MAAM+P,SACzB,OAAmB,QAAf,EAAAiB,EAAKwkB,kBAAU,eAAEz9B,MAAMlgD,GAAMvO,KAAKsmJ,YAAY/3I,MACvCvO,KAAKumJ,+BAA+B5B,EAAWj9E,EAAKhR,OAKxD12D,KAAK4mJ,8BAA8BjC,EAAWj9E,EAAKhR,MAAOgR,EAAKwkB,aAS9Eo6D,YAAY5+E,GAChB,OAAO1nE,KAAK6mJ,gBAAgBn/E,EAAM,YAG9Bm/E,gBAAgBn/E,EAAqBpqE,GACzC,OAAoC,KAA7BoqE,EAAK3V,WAAW0U,UAAmCiB,EAAK3V,WAAWz0D,QAAUA,EAGhFqpJ,+BAA+B/kG,GACnC,MAAMikG,EAAiB,GAAAxnH,eAAA,OAAsBujB,GAC7CikG,EAAe14H,KAAO,GAAA6Q,mBAAA,QACtB6nH,EAAel3E,SAAW3uE,KAAK8mJ,cAAc/D,GAAagE,cAAenlG,GACzE,MAAMsjG,EAAgB,IAAIC,GAE1B,OADAD,EAAc//I,IAAI0gJ,GACX,CAAEX,iBAGLqB,+BAA+B5B,EAAmBqC,G,MACtD,MAAMv5C,EAqCN,SAAwBqkB,EAA0Bk1B,GAC9C,MAAMhwB,EAAiB,GAAiCgwB,GAAa,GACrE,GAAIhwB,EAAgB,CAChB,MAAM5K,EAAe0F,EAAUzF,eAAe2K,GAC9C,IAAK5K,EACD,OAGJ,MAAM3e,EAAc,IAAI3vF,IACxB,IAAK,MAAMihG,KAAYqN,EAAane,UAAU1H,QAAQoI,IAC9CzI,GAAoB6Y,IACpBmE,GAAmBnE,EAAUtR,GAAuC,GAI5E,OAAOA,EAIX,MAAMif,EnBxWX,SAA4BhlD,GAC/B,IAAIuB,EAAUvB,EAAKviC,OACnB,KAAO8jC,GAAS,CACZ,GAAyB,KAArBA,EAAQxC,SACR,OAAOwC,EAGXA,EAAUA,EAAQ9jC,OAGtB+sB,EAAK,yBmB8VsB,CAAkC80F,GACrD,GAAIt6B,EAAY,CACZ,MAAM80B,EAAc,GAA0B90B,GAC9C,OAAO80B,aAAW,EAAXA,EAAa/zC,aA3DRw5C,CAAejnJ,KAAKypH,WAAYu9B,GACpD,IAAKv5C,EACD,OAGJ,MAAMy5C,EAAiD,MAAV,QAAlB,EAAAF,EAAY7hH,cAAM,eAAEshC,gBAA6C3nE,EACtFomJ,EAAgB,IAAIC,GAEpBgC,EAAgB,GAAoCH,GA2B1D,OA1BAv5C,EAAYnoF,SAAQ,CAACq1D,EAAQtuE,KACzB,MAAM67D,EAAOsxC,GAA8B7+B,GAC3C,IAAKzS,GAAsB,IAAdA,EAAKlpE,KACd,OAGJ,IAAKkpE,EAAKR,KAAKwkB,WAAWz9B,MAAMlgD,GAAMvO,KAAKsmJ,YAAY/3I,KAEnD,OAGJ,MAAM2tF,EAAQvhB,EAAOy+B,kBACrB,IAAqB,IAAjBld,EAAMlhG,SAAgBkhG,EAAMztC,MAAMlgD,GAAMA,EAAEm5D,OAASy/E,MAKnD,EAA8BH,EAAY1pJ,MAAO+O,GAAO,CACxD,MAAMgvB,EAAWr7B,KAAKonJ,oBAAoBzC,EAAWqC,EAAa9+E,EAAKR,KAAKr7D,KAAK/O,OACjF0C,KAAKqnJ,WAAWh7I,EAAMsuE,EAAQqsE,EAAY1pJ,MAAO4nJ,EAAe,CAC5DgC,qBACAlqH,MAAO,CAAE3B,kBAKd,CAAE6pH,iBA+BL0B,8BACJjC,EACAqC,EACA96D,G,QAEA,MAAM8qC,EAAiB,GAAiCgwB,GAAa,GACrE,IAAKhwB,EACD,OAGJ,MAAM5K,EAAepsH,KAAKypH,WAAW4C,eAAe2K,GACpD,IAAK5K,EACD,OAGJ,MAAM3e,EAAc,IAAI3vF,IACxB,IAAK,IAAIxjB,EAAI,EAAGA,EAAI8xH,EAAane,UAAU1H,QAAQoI,IAAI3zG,OAAQV,IAAK,CAChE,MAAMykH,EAAWqN,EAAane,UAAU1H,QAAQoI,IAAIr0G,GAChD4rG,GAAoB6Y,IACpBmE,GAAmBnE,EAAUtR,GAAuC,GAI5E,MAAM65C,EAA+E,QAAhE,EAAAp7D,aAAU,EAAVA,EAAYz9B,MAAMlgD,GAAMvO,KAAK6mJ,gBAAgBt4I,EAAG,yBAAgB,SAC/Eg5I,EAA6E,QAA/D,EAAAr7D,aAAU,EAAVA,EAAYz9B,MAAMlgD,GAAMvO,KAAK6mJ,gBAAgBt4I,EAAG,wBAAe,SAE7E22I,EAAgB,IAAIC,GA0E1B,OAxEA13C,EAAYnoF,SAAQ,CAACq1D,EAAQtuE,KACzB,IAAI67D,EAAOsxC,GAA8B7+B,GACzC,GAAIzS,GAAsB,IAAdA,EAAKlpE,MACT,EAA8BgoJ,EAAY1pJ,MAAO+O,GAAO,CACxD,MAAM4qH,EAAej3H,KAAKypH,WAAWyN,sBAAsBhvD,GAC3D,IAAK+uD,EACD,OAGJ,IAAItX,EAAaxZ,GAAgB8wB,IAAiBryB,GAAU6L,gBAAgBwmB,GAO5E,GALI,GAA6B5qH,KAE7BszG,GAAa,IAGZ7Y,GAAWmwB,KAAkBtX,EAC9B,OAGJ,GAAIA,EAAY,CAGZ,MAAMlG,EAAa9+B,EAAO2+B,uBACtBG,EAAWz+G,OAAS,GAA4B,IAAvBy+G,EAAW,GAAGz6G,OACvCkpE,EAAOuxC,EAAW,IAI1B,MAAM+tC,EACF1gD,GAAWmwB,IAAiBpyB,GAAamP,eAAeijB,GAItDwwB,EACF3gD,GAAWmwB,IACXpyB,GAAaoP,cAAcgjB,IAClB,sBAAT5qH,EAEJ,GAAIi7I,IAAiBE,GAA0BD,IAAgBE,EAC3D,OAGJ,MAAMC,EAAkB1nJ,KAAK2nJ,sBAAsBv7B,EAAane,UAAW/lC,GAE3E,IAAI9wC,EAEAA,EADAw9C,GAAW50E,KAAK0jJ,WACT,GAAGgE,SAQH,GAAGA,OANS1nJ,KAAK4nJ,2BACpBx7B,EAAane,UACbu5C,EACA7nC,EACAz3C,KAKR,MAAM7sC,EAAWr7B,KAAKonJ,oBAAoBzC,EAAWqC,EAAa5vH,GAElEp3B,KAAKqnJ,WAAWh7I,EAAMsuE,EAAQqsE,EAAY1pJ,MAAO4nJ,EAAe,CAE5DgC,oBAAoB,EACpBlqH,MAAO,CACH3rB,OAAQrR,KAAKumB,SAASshI,QAAU,GAAA5pH,iBAAA,aAA2Bn/B,EAC3Du8B,kBAOb,CAAE6pH,iBAGLkC,oBAAoBzC,EAAmBj9E,EAA6BtwC,GACxE,MAAM0wH,EACY,MAAdpgF,aAAI,EAAJA,EAAMjB,UACAzmE,KAAKyjJ,UAAUtpH,UAAYwqH,EAAU3pJ,OAAS0sE,EAAKpqE,MAAMtC,OACzDgF,KAAKyjJ,UAAUtpH,UAEnB1tB,EAAe,CACjB3Q,MAAO,CAAEo+B,KAAMl6B,KAAKyjJ,UAAUvpH,KAAMC,UAAWn6B,KAAKyjJ,UAAUtpH,UAAYwqH,EAAU3pJ,QACpFe,IAAK,CAAEm+B,KAAMl6B,KAAKyjJ,UAAUvpH,KAAMC,UAAW2tH,IAGjD,OAAO,GAAAvuH,SAAA,QAAiB9sB,EAAO2qB,GAG3BuwH,sBAAsB15C,EAAsB/lC,GAChD,MAAMR,EAAOQ,EAAKR,KAElB,IAAIqgF,EACAnzE,GAAW50E,KAAK0jJ,WAEhBqE,GAAqB,EACd95C,EAAU1H,QAAQv7B,aAAe9C,EAAK8C,aAE7C+8E,GAAqB,GAGzB,MAAMC,EAAapzE,GAAW50E,KAAK0jJ,WAC7B,OACA5kJ,EAEAmpJ,EAAYvgF,EAAKrkC,WAClBvf,KAAI,CAACV,EAAO+G,KACT,IAAIq1H,EAAc,GACK,IAAnBp8H,EAAMk7C,SACNkhF,GAAe,IACW,IAAnBp8H,EAAMk7C,WACbkhF,GAAe,MAGfp8H,EAAM/W,OACNmzI,GAAep8H,EAAM/W,KAAK/O,OAK9B,MAAM4qJ,EAAsBloJ,KAAKypH,WAAW0+B,8BAA8BzgF,EAAMv9C,GAYhF,OAXI+9H,IACA1I,GAAe,KAAO,GAA+B0I,EAAqBF,IAG1E5kI,EAAM8vE,eACNssD,GAAe0I,EAAsB,MAAQ,IAG7C1I,IADoBuI,WAAuBK,EAAgBhlI,EAAM8vE,eACpC,MAAQ,GAA+B9vE,EAAM8vE,aAAc80D,IAGvFxI,GAAgBp8H,EAAM/W,MAA2B,IAAnB+W,EAAMk7C,SAIlCkhF,EAHI,OAKdhkJ,KAAK,MAEV,IAAIksJ,EAAkBhgF,EAAKr7D,KAAK/O,MAAQ,IAAM2qJ,EAAY,IAU1D,OARIvgF,EAAK0lB,qBACLs6D,GAAmB,OAAS,GAA+BhgF,EAAK0lB,qBAAsB46D,GAC/EtgF,EAAK0qB,4BACZs1D,GACI,OACA,GAA+BhgF,EAAK0qB,0BAA0BhF,qBAAsB46D,IAGrFN,EAEP,SAASU,EAAgB1gF,GACrB,OAAQA,EAAKjB,UACT,KAAK,GACL,KAAK,GACD,OAAO,EAEX,KAAK,GACD,OAAwD,IAA7B,GAAnBiB,EAAK1mD,MAAMkoD,OAEvB,KAAK,GACD,OAAOxB,EAAKR,QAAQngD,MAAMqhI,GAE9B,KAAK,GACD,OAAOA,EAAgB1gF,EAAK3V,YAEhC,KAAK,EACD,OAAOq2F,EAAgB1gF,EAAKhB,iBAAmB0hF,EAAgB1gF,EAAKqlB,iBAExE,QACI,OAAO,IAKf66D,2BACJ35C,EACA+F,EACA2L,EACAz3C,GAEA,IAAImgF,EAAK,OAET,GAC6C,IAAzCp6C,EAAU1H,QAAQgI,YAAYvzG,QAC9BirG,GAAQgI,EAAU1H,QAAQgI,YAAY,KACgB,oBAAtDN,EAAU1H,QAAQgI,YAAY,GAAGhI,QAAQwG,SAGzC,OADAs7C,GAAMroJ,KAAKumB,SAASshI,QAAU,YAAc,OACrCQ,EAGX,GAAoC,IAAhCngF,EAAKR,KAAKrkC,WAAWroC,OAErB,OADAqtJ,GAAMroJ,KAAKumB,SAASshI,QAAU,YAAc,OACrCQ,EAGX,MAAMhlH,EAeN,SAAuBA,GACnB,MAAMilH,EAAyD,GAE/D,IAAIC,GAAc,EAClB,IAAK,MAAMC,KAAanlH,EAChBmlH,EAAUn8I,MACVi8I,EAAQjtJ,KAAK,CAACmtJ,EAAWD,IAG7BA,EAC2B,IAAvBC,EAAUlqF,UACa,IAAvBkqF,EAAUlqF,SAGlB,OAAOgqF,EA7BQG,CAAcz0C,EAAiB9rC,EAAKR,KAAKrkC,WAAa6kC,EAAKR,KAAKrkC,WAAWzlC,MAAM,IASpG,MAR6B,aAAzBsqE,EAAKR,KAAKr7D,KAAK/O,QACf+qJ,GAAM,WAGNngF,EAAKR,KAAKkvB,UACVyxD,GAAM,UAGN1oC,EACO0oC,EAAK,WAAWngF,EAAKR,KAAKr7D,KAAK/O,QAGnC+qJ,EAAK,WAAWngF,EAAKR,KAAKr7D,KAAK/O,SAAS+lC,EAAWvf,KAmB1D,SAAyB0kI,G,MACrB,MAAMn8I,EAAwB,QAAjB,EAAAm8I,EAAU,GAAGn8I,YAAI,eAAE/O,MAChC,OAA8B,IAA1BkrJ,EAAU,GAAGlqF,SACN,IAAIjyD,IAGe,IAA1Bm8I,EAAU,GAAGlqF,SACN,KAAKjyD,IAGTm8I,EAAU,GAAK,GAAGn8I,KAAQA,IAASA,KA7BiC7Q,KAAK,SAiChFypJ,4BACJyD,EACA/D,GAEA,MAAMl3C,EAAc,IAAI3vF,IAClBonI,EAAgB,IAAIC,GAC1B,IAAIwD,EAAqC,GAErCC,EAAW5oJ,KAAKypH,WAAW8D,QAAQm7B,GAwCvC,OAtCIE,IACAA,EAAW5oJ,KAAKypH,WAAWo/B,6BAA6BD,GAExDxsC,GAAiBwsC,GAAW9iD,IAGxB,GAAIG,GAFJH,EAAU9lG,KAAKypH,WAAWo/B,6BAA6B/iD,IAGnDod,GAAmBpd,EAAS2H,EAAuCjJ,GAASvmG,WAAW6nG,SACpF,GAAIM,GAASN,IVqf7B,SAA6B8H,EAAwBH,GAIpDG,EAAWF,cACXE,EAAWF,aAAapoF,SAAQ,CAACq1D,EAAQtuE,KACrCohG,EAAYtoG,IAAIkH,EAAMsuE,MAI9BizB,EAAWpD,OAAOllF,SAAQ,CAACq1D,EAAQtuE,KAC/BohG,EAAYtoG,IAAIkH,EAAMsuE,MU/fVmuE,CAAoBhjD,EAAS2H,QAC1B,GAAI3G,GAAWhB,IAAYiB,GAAqBjB,GAAU,CAC7D,MAAMijD,EAAgB/oJ,KAAKypH,WAAWyI,eAAew2B,EAAc,YAC/DK,GAAiB7iD,GAAoB6iD,IACrC7lC,GAAmB6lC,EAAet7C,GAAuC,QAE1E,GAAInI,GAAeQ,GAAU,CAChC,MAAMkjD,EAAchpJ,KAAKypH,WAAWyI,eAAew2B,EAAc,UAC7DM,GAAe9iD,GAAoB8iD,IACnC9lC,GAAmB8lC,EAAav7C,EAAajJ,GAASvmG,WAAW6nG,IAIzE9lG,KAAKipJ,0BACDx7C,GACA,KAAM,GACNk3C,GACiB,EACjB1+C,GAAQH,GAAWA,OAAUhnG,EAC7BomJ,SAMP0D,GAAYljD,GAAUkjD,IAAa7iD,GAAU6iD,MAC9CD,EAAmB3oJ,KAAKkpJ,oBAAoBR,EAAcE,IAGvD,CAAE1D,gBAAeyD,oBAGpBO,oBAAoBR,EAA8BE,G,MACtD,IAAI3/E,EAAsCy/E,EACtCS,EAA4BP,EAC5BQ,EAC0B,KAA1BV,EAAajiF,SAA0CiiF,aAAY,EAAZA,EAAcrhF,WAAW/pE,WAAQwB,EAG5F,KAAOmqE,IACsB,IAArBA,EAAQxC,UAAwD,KAArBwC,EAAQxC,UAEnDwC,EAAUA,EAAQvC,oBAGQ5nE,IAAtBsqJ,IACAA,EACyB,KAArBngF,EAAQxC,UAAmE,QAAzB,EAAAwC,aAAO,EAAPA,EAAS5B,WAAW/pE,aAAK,QAAS,KAG5F2rE,OAAUnqE,GAGVmqE,IACAkgF,EAAUnpJ,KAAKypH,WAAW8D,QAAQtkD,QAGlBnqE,IAAZqqJ,GAA0BzjD,GAAUyjD,IAAapjD,GAAUojD,OAMvE,MAAMR,EAAqC,GAC3C,GAAIQ,IAAYzjD,GAAUyjD,KAAapjD,GAAUojD,IAAYlgF,EAAS,CAClE,MAAMogF,EAAqBtjC,GAA2BojC,GAGtDR,EAAiBW,gBAAkBD,EAAmB99E,MAAM/qE,GAAY,WAANA,IAEzC,KAArByoE,EAAQxC,SACRkiF,EAAiBY,oBAAsBtgF,EAAQ5B,WAAW/pE,OAC9B,KAArB2rE,EAAQxC,UAAmCy/B,GAAoBijD,IAE1C,KAArBlgF,EAAQxC,UAAmC0/B,GAAgBgjD,MADlER,EAAiBY,oBAAsBJ,EAAQ5iD,QAAQl6F,MAK3Ds8I,EAAiBS,kBAAoBA,EAGzC,OAAOT,EAGHhD,yBACJ6D,EACA7E,EACAH,EACAC,GAGA,OAAOzkJ,KAAK0lJ,0BAA0B8D,EAAW7E,EAAWH,EAAWC,GAGnEiB,0BACJ8D,EACA7E,EACAH,EACAC,G,YAEA,MAAMgF,EAAkBzpJ,KAAK0pJ,iBAAiBF,GAI9C,IAAKC,GAA0C,KAAvBD,EAAU/iF,SAC9B,OAKJ,GAC8B,MAAV,QAAhB,EAAA+iF,EAAUrkH,cAAM,eAAEshC,WAClB+iF,EAAUrkH,UAAkC,QAAvB,EAAAqkH,EAAUrkH,OAAOt/B,cAAM,eAAEs/B,QAE9C,OAGJ,MAAM+/G,EAAgB,IAAIC,GACpBiB,EAAoB,CAAElB,iBAG5B,GAA4B,OAAxBV,EAAU5mJ,OAAO,GACjB,OAAOwoJ,EAkCX,GA9BApmJ,KAAK2pJ,4BACDH,EACA7E,EACAH,EACAC,GACe,EACfS,GAIJllJ,KAAK4pJ,YAAYJ,EAAW7E,EAAWO,GAGvCllJ,KAAK6pJ,sBAAsB/G,GAASI,WAAWljJ,KAAKwpH,SAASzsC,eAAgB4nE,GAAW7gI,KAAK89B,IACzF,GAAIsjG,EAAc9gI,IAAIw9B,GAClB,OAEJ,MAAMikG,EAAiB,GAAAxnH,eAAA,OAAsBujB,GAC7CikG,EAAe14H,KAAO,GAAA6Q,mBAAA,QACtB6nH,EAAel3E,SAAW3uE,KAAK8mJ,cAAc/D,GAAa5gH,QAASyf,GACnEsjG,EAAc//I,IAAI0gJ,MAKjBlB,EAAUnvF,WAAW,MAASx1D,KAAKmmJ,gBACpCnmJ,KAAKqmJ,0BAA0B1B,EA3/BnB,IA2/B+C3kJ,KAAKumB,SAASujI,SAAU1D,GAI5D,IAAvBoD,EAAU/iF,SACV,GAC2B,IAAvB+iF,EAAUlrF,UACgB,MAAV,QAAhB,EAAAkrF,EAAUrkH,cAAM,eAAEshC,UAElBzmE,KAAK+pJ,8BACDP,EAAUrkH,YACIrmC,OACDA,EACbomJ,QAED,GAA2B,IAAvBsE,EAAUlrF,UACbkrF,EAAUrkH,QAAwC,IAA9BqkH,EAAUrkH,OAAOshC,SAAuC,CAC5E,MAAMujF,EAAiE,QAA1C,EAAAhqJ,KAAKypH,WAAWwgC,gBAAgBT,UAAU,eAAExqJ,KACrEgrJ,GACAhqJ,KAAKkqJ,+BACDF,EACAxF,EACAG,EACAF,EACAS,GAOpB,GAAIuE,EAAiB,CAEjB,MAAMU,EAAYX,EAAUrkH,OAAQA,OAEpCnlC,KAAKoqJ,gBAAgBD,EAAWX,GAAWlkI,SAAStD,IAC5CkjI,EAAc9gI,IAAIpC,IAQtBhiB,KAAKqqJ,sBAAsBroI,EAAK,GAAAgc,mBAAA,SAA6B2mH,EAAWO,EAAe,CACnFv2E,SAAU3uE,KAAK8mJ,cAAc/D,GAAauH,aAActoI,GACxDuoI,WAAYnH,QAKxB,OAAOgD,EAGHsD,iBAAiBhiF,GACrB,MAAM8iF,EAAc9iF,EAAKviC,OACzB,OACIqlH,GACyB,IAAzBA,EAAY/jF,UACqB,IAAjC+jF,EAAY5jF,kBACZ4jF,EAAYrlH,QACoB,KAAhCqlH,EAAYrlH,OAAOshC,UACnB+jF,EAAYrlH,OAAOgiC,gBAC4B,KAA/CqjF,EAAYrlH,OAAOgiC,eAAeV,SAIlCkjF,4BACJH,EACA7E,EACAH,EACAC,EACAgG,EACAvF,GAGA,MACMwF,EAAWrxD,GACbmwD,EAFW,GAAwBxpJ,KAAKyjJ,UAAWzjJ,KAAKujJ,cAAcp2E,gBAAgB3lB,OAItFxnD,KAAKujJ,cAAcp2E,gBAAgB7I,QAGvC,IAAKomF,EACD,OAGJ,MAAMC,EAAgB3qJ,KAAKypH,WAAWmhC,qBAClCF,EAASnxD,SACTmxD,EAAS5wD,YACT4wD,EAAS3wD,cAGb,GAAI4wD,EAAe,CAEf,MAAME,EAAc5lF,GAChB0lF,EAAcpxD,SAAS7yB,eAAe5qE,MAAQ6uJ,EAAcpxD,SAAS7yB,eAAe1rE,OACpFgF,KAAKujJ,cAAcp2E,gBAAgB3lB,OAGnCkd,GAAiB1kE,KAAKyjJ,UAAWoH,GAAe,IAC3CJ,GACDzqJ,KAAK8qJ,oBAAoBH,EAAehG,EAAWO,GAIvDllJ,KAAK+qJ,6BAA6BJ,EAAenG,EAAWG,EAAWF,EAAUS,KAKrF6F,6BACJJ,EACAnG,EACAG,EACAF,EACAS,GAEAyF,EAAcK,WAAW1lI,SAAS2lI,IAC9B,IAAKA,EAAUC,YACX,OAGJ,MAAMlsJ,EAAOisJ,EAAUjsJ,KACjBqjH,EAAarjH,EAAKunG,QAAQljE,WAAWxnC,QAAQovJ,EAAUC,aAE7D,GAAI7oC,EAAa,EACb,OAGJ,MAAML,EAAYhjH,EAAKunG,QAAQljE,WAAWg/E,GAAYrjH,KACtDgB,KAAKkqJ,+BAA+BloC,EAAWwiC,EAAWG,EAAWF,EAAUS,MAK/EgF,+BACJlrJ,EACAwlJ,EACAG,EACAF,EACAS,GAEA,MAAMiG,EAAanrJ,KAAKorJ,4BAA4B5G,GACpDxkJ,KAAKqrJ,8BAA8BrsJ,GAAMsmB,SAAS8rC,IAC9C,GAAIwzC,GAAUqH,UAAU76C,EAAG,OAAQ,CAC/B,MAAM9zD,EAAQigJ,GAAkBnsF,EAAG+5F,EAAWG,qBACfxsJ,IAA3BqsJ,EAAWI,YACXvrJ,KAAKqqJ,sBAAsB/sJ,EAAO,GAAA0gC,mBAAA,SAA6B2mH,EAAWO,EAAe,CACrFv2E,SAAU3uE,KAAK8mJ,cAAc/D,GAAauH,aAAcl5F,EAAEs6C,gBAG9D1rG,KAAKwrJ,+BACDluJ,EAAM0E,OAAO,EAAG1E,EAAMtC,OAAS,GAC/BmwJ,EAAWI,YACX9G,EACA0G,EAAWG,eACXpG,OAOZuG,6BAA6BjC,EAAsBkC,GACvD,MAAMhkF,EAiBN,SAA+B8hF,GAE3B,GAA2B,KAAvBA,EAAU/iF,SACV,OAAO+iF,EAGX,IAAIvgF,EAAiCugF,EACrC,KAAOvgF,GAAgC,KAArBA,EAAQxC,UAA8D,KAArBwC,EAAQxC,UAEvE,GADAwC,EAAUA,EAAQ9jC,QACb8jC,EACD,OAIR,OAAOA,EA/BE0iF,CAAsBnC,GACnC,OAAK9hF,EAIEA,EAAK9+C,QAAQkiG,SAASrxD,GACF,KAAnBA,EAAMgN,WAAiDilF,aAAU,EAAVA,EAAYtnI,IAAIq1C,EAAM60B,cAAc1xE,KACpF,GAG0B,KAAjC68C,EAAM60B,cAAc7nB,SACb,CAAChN,EAAM60B,cAAcpnB,QAAQpjD,KAAKtV,GAAMA,EAAElR,QAAO9B,KAAK,KAG1D,KAZA,GAiCP6vJ,8BAA8BrsJ,GAClC,MAAM2pB,EAAsB,GAQ5B,OANAyzF,GAAiBp9G,GAAO8mG,IAChBK,GAAgBL,IAAYmZ,GAAcnZ,IAC1Cn9E,EAAOttB,KAAKyqG,MAIbn9E,EAGHijI,mBAAmBr2B,G,MAEvB,IAAI3wB,GAAUqH,UAAUspB,EAAU,SAAW3wB,GAAUqH,UAAUspB,EAAU,aAChC,KAAb,QAAtB,EAAAA,EAASntB,qBAAa,eAAEptG,QACxB,OAAOu6H,EAASntB,cAAc,GAKtC,MAAMh2C,EAASwuD,GAAmB2U,EAAU,eAC5C,GAAInjE,aAAM,EAANA,EAAQuoB,OAAOw+B,kBAAmB,CAClC,MAAMnxC,EAAc5V,EAAOuoB,OAAOy+B,kBAAkB,GACpD,GAAIzzB,GAAsB3d,IAAgBA,EAAYojD,SAAU,CAC5D,MAAMygC,EAAc7rJ,KAAKypH,WAAWyN,sBAAsBlvD,GAC1D,GAAI6jF,GAAe/kD,GAAW+kD,IAA0D,IAA1CA,EAAYtlD,QAAQljE,WAAWroC,OACzE,OAAO6wJ,EAAYtlD,QAAQljE,WAAW,GAAGrkC,OAQjDorJ,gBAAgBD,EAAsB2B,G,sBAC1C,GAA0C,KAAtC3B,EAAUhjF,eAAeV,SAEzB,MAAO,GAGX,MAAM8uD,EAAWv1H,KAAKypH,WAAW8D,QAAQ48B,EAAUhjF,gBACnD,IAAKouD,IAAapvB,GAAgBovB,GAC9B,MAAO,GAIX,MAAMhD,EAAUvyH,KAAK4rJ,mBAAmBr2B,GACxC,GAAIhD,EAAS,CACT,MAAMltG,EAAiB,GAgBvB,GAdArlB,KAAKqrJ,8BAA8B94B,GAASjtG,SAAS8rC,KAE5CwzC,GAAUqH,UAAU76C,EAAG,QACvBwzC,GAAUqH,UAAU76C,EAAG,QACvBwzC,GAAUqH,UAAU76C,EAAG,SACvBwzC,GAAUqH,UAAU76C,EAAG,UACvBwzC,GAAU4L,YAAYp/C,KAK3B/rC,EAAKhqB,KAAKkiJ,GAAkBnsF,EAAGpxD,KAAKujJ,cAAcp2E,gBAAgB4+E,qCAGlE1mI,EAAKrqB,OAAS,EACd,OAAOqqB,EAKf,MAAMm7H,EAAmF,QAApE,EAAAxgJ,KAAKypH,WAAWmC,2BAA2Bu+B,EAAUhjF,uBAAe,QAAI,GACvFa,EAAcw4E,EAAaxlJ,OAAS,EAAIwlJ,EAAa,QAAK1hJ,EAChE,IACKkpE,GACqB,IAArBA,EAAYhpE,MAA0D,IAArBgpE,EAAYhpE,KAE9D,MAAO,GAGX,GAAIgpE,EAAYj5D,OAAS/O,KAAK0jJ,UAC1B,MAAO,GAGX,IAAInD,EAA0B4J,EAAUhjF,eACxC,GAAIa,EAAYN,KAAM,CAClB,MAAMskF,EAAY,GAAsChkF,EAAYN,OAIhB,QAAhD,KAAmC64E,UAAa,eAAE1kF,aACL,QAA7C,KAAmCmwF,UAAU,eAAEnwF,YAE/C0kF,EAAeyL,GAIvB,MAAM1D,EAAUxI,GAAwBmM,gBACpC9B,EAAUhjF,eACVnnE,KAAKypH,WACLzpH,KAAKggJ,mBACLO,GAGEl7H,EAAoB,IAAIyrB,IAC9B,IAAK,MAAM9wB,KAAUsoI,EAAS,CAC1B,MAAM5gF,EAC0B,MAAV,QAAlB,EAAA1nD,EAAO0nD,KAAKviC,cAAM,eAAEshC,UAA4CzmD,EAAO0nD,KAAKviC,OAASnlB,EAAO0nD,KAEhG,GACyB,KAAV,QAAX,EAAAA,EAAKviC,cAAM,eAAEshC,WACQ,KAAV,QAAX,EAAAiB,EAAKviC,cAAM,eAAEshC,UACf,CACE,GAA6C,KAAzCiB,EAAKviC,OAAO4nD,gBAAgBtmB,SAAuC,CACnE,MAAMylF,EAAaxkF,EAAKviC,OAAO4nD,gBAC/B,IAAK,MAAMtzB,KAASyyF,EAAWtjI,QAAQigC,QAClC5kD,GAAqB,KAAfA,EAAEwiE,WACkB,CAC3B,MAAMzkD,EAAMhiB,KAAKujJ,cAAcnsH,KAC1Bp1B,OAAOy3D,EAAM60B,cAAcxyF,MAAO29D,EAAM60B,cAActzF,QACtD4K,OACDoc,EAAIhnB,OAAS,GAAGqqB,EAAKO,IAAI5D,IAIrC,GAA6C,IAAzC0lD,EAAKviC,OAAO4nD,gBAAgBtmB,SAAiC,CAC7D,MAAM3lE,EAAO4mE,EAAKviC,OAAO4nD,gBACnB/tF,EAAOgB,KAAKypH,WAAW8D,QAAQzsH,EAAK4lE,gBAC1C,IAAK1nE,IAASknG,GAAoBlnG,KAAU4lG,GAAUqH,UAAUjtG,EAAM,QAClE,SAGJ,IAAK,MAAM/B,KAAO6D,EAAKpB,UAAW,CAC9B,MAAMsiB,EAA4B,QAAtB,EAAQ,QAAR,EAAA/kB,EAAIoP,YAAI,eAAE/O,MAAMsI,cAAM,QAAI,GAChCumJ,EAAQnsJ,KAAKujJ,cAAcp2E,gBAAgB4+E,gCAC7C/pI,EAAIhnB,OAAS,GACbqqB,EAAKO,IAAI,GAAGumI,IAAQnqI,IAAMmqI,OAM1C,GACyB,MAAV,QAAX,EAAAzkF,EAAKviC,cAAM,eAAEshC,WACgB,IAA7BiB,EAAKviC,OAAOpC,MAAM/nC,QACgC,IAAlD0sE,EAAKviC,OAAOpC,MAAM,GAAG+jC,gBAAgBL,WACpCjC,GAAUuB,cAAc2B,EAAKviC,OAAQ2mH,GACxC,CACE,MAAMM,EAAgB1kF,EAAKviC,OAAOpC,MAAM,GAClC/gB,EAAMhiB,KAAKujJ,cAAcnsH,KAC1Bp1B,OAAOoqJ,EAActlF,gBAAgBhrE,MAAOswJ,EAActlF,gBAAgB9rE,QAC1E4K,OACDoc,EAAIhnB,OAAS,GAAGqqB,EAAKO,IAAI5D,IAIrC,MAAO,IAAIqD,GAGPy/H,uBACJ0E,EACA7E,EACAH,EACAC,G,UAEA,IAAI13B,EAAoCy8B,EAAUrkH,OAElD,IAAK4nF,EACD,OAGJ,MAAMm4B,EAAgB,IAAIC,GAG1B,GAAIt6D,GAAiBkiC,GAAa,CAC9B,MAAMs/B,EAAqBrsJ,KAAKypH,WAAWwgC,gBAAgBl9B,GAC3D,GAAIs/B,GAAsBntC,GAAqBmtC,EAAmBrtJ,MAQ9D,OAPAgB,KAAKkqJ,+BACDmC,EAAmBrtJ,KACnBwlJ,EACAG,EACAF,EACAS,GAEG,CAAEA,iBAGb,GAA2B,KAAvBsE,EAAU/iF,WAAqD,QAAhB,EAAA+iF,EAAUrkH,cAAM,eAAEA,QAAQ,CACzE,MAAMmnH,EAAe9C,EAAUrkH,OAAOA,OAItC,IAAIonH,EAYJ,GAT8B,KAA1BD,EAAa7lF,UACb6lF,EAAah+D,gBAAkBk7D,EAAUrkH,QACZ,MAAV,QAAnB,EAAAmnH,EAAannH,cAAM,eAAEshC,UAErB8lF,EAAYD,EAAannH,OACI,MAAtBmnH,aAAY,EAAZA,EAAc7lF,YACrB8lF,EAAYD,GAGZC,GACIvsJ,KAAKolJ,kBAAkBmH,EAAW/C,EAAWhF,EAAWC,EAAUS,GAClE,MAAO,CAAEA,kBAMzB,GAA4B,IAAxBn4B,EAAWtmD,SAAqC,CAChD,GAA4B,KAAxBsmD,EAAWtmD,UAAyCsmD,EAAW7lD,QAAQlsE,OAAS,EAChF,OAIJ,GADA+xH,EAAaA,EAAW5nF,QACnB4nF,EACD,OAIR,GAA4B,IAAxBA,EAAWtmD,UAAkE,MAAV,QAAjB,EAAAsmD,EAAW5nF,cAAM,eAAEshC,WACrE,IACKzmE,KAAK+pJ,8BACFh9B,EAAW5nF,OACY,KAAvBqkH,EAAU/iF,SAAoC+9E,EAAY,GAC1DC,EACAS,GAEN,CACE,MAAM7/H,EAAOrlB,KAAKoqJ,gBAAgBr9B,EAAW5nF,OAAQqkH,GAC/C2B,EAAanrJ,KAAKorJ,4BAA4B5G,GAEpD,IAAK,MAAMxiI,KAAOqD,EAAM,CACpB,MAAMmnI,EAAgB,iBAAiBx1G,KAAKh1B,GAC5C,GAA2B,KAAvBwnI,EAAU/iF,UAAsC+lF,EAIpD,GAAIA,EAAe,CACf,MAAMC,EAAkBzqI,EAAIhgB,OAAO,EAAGggB,EAAIhnB,OAAS,GAEnDgF,KAAKwrJ,+BACDiB,EACAtB,EAAWI,YACX9G,EACA0G,EAAWG,eACXpG,EACA9B,SAGJpjJ,KAAKqqJ,sBAAsBroI,EAAK,GAAAgc,mBAAA,SAA6B2mH,EAAWO,EAAe,CACnFv2E,SAAU3uE,KAAK8mJ,cAAc/D,GAAauH,aAActoI,GACxDuoI,WAAYnH,KAKxB,GAA2B,IAAvB8B,EAAc5lJ,KACd,YAGL,CACH,EAAoC,KAAvBkqJ,EAAU/iF,UAEvB,MAAM/kE,EAAS,GAAwB1B,KAAKyjJ,UAAWzjJ,KAAKujJ,cAAcp2E,gBAAgB3lB,OACpFijG,EAAa19B,EAAWjxH,MAAQ4F,GAAUA,EAAS8iE,GAAUmB,OAAO6jF,GAC1ExpJ,KAAK2pJ,4BAA4BH,EAAW7E,EAAWH,EAAWC,EAAUgG,EAAYvF,GAG5F,MAAO,CAAEA,iBAGLE,kBACJE,EACA5D,EACA8C,EACAC,EACAS,G,MAEA,MAAMmH,EAAqBrsJ,KAAKypH,WAAWwgC,gBAAgB3E,GAC3D,IAAK+G,EACD,OAAO,EAKX,GAAI,GAA4BA,EAAmB3kF,MAAQ,GAA4B49E,GACnF,OAAO,EAGX,IAAIoH,EAA0B,GAQ9B,GANAtwC,GAAiBiwC,EAAmBrtJ,MAAO8mG,IACnCK,GAAgBL,IAAYlB,GAAU0L,iBAAiBxK,IACvD4mD,EAAWrxJ,KAAKyqG,MAIE,IAAtB4mD,EAAW1xJ,OACX,OAAO,EAGX,MAAMqqB,EAAOrlB,KAAKyrJ,6BACdnG,EACA5D,EAAa,IAAI5wG,IAAI,CAAkB,QAAjB,EAAA4wG,EAAWv8G,cAAM,eAAEvoB,UAAO9d,GAGpD4tJ,EAAa1sJ,KAAK2sJ,qBAAqBD,EAAYrnI,GAEnD,MAAM8lI,EAAanrJ,KAAKorJ,4BAA4B5G,GAC9CoI,EAAW,IAAI97G,IAAIzrB,GAuBzB,OArBAqnI,EAAWpnI,SAASunI,IAChB76B,GAA4BhyH,KAAKypH,WAAYojC,GAA+B,GAAMvnI,SAAQ,CAAC7I,EAAGuF,KAEtF4qI,EAASxoI,IAAIpC,IAAQkjI,EAAc9gI,IAAIpC,KAI3C4qI,EAAShnI,IAAI5D,GAEbhiB,KAAKwrJ,+BACDxpI,EACAmpI,EAAaA,EAAWI,iBAAczsJ,EACtC2lJ,EACA0G,EACMA,EAAWG,eACXtrJ,KAAKujJ,cAAcp2E,gBAAgB4+E,gCACzC7G,WAKL,EAGHyH,qBAAqBhyC,EAAoBt1F,GAC7C,MAAMynI,EAAWnyC,EAAMmQ,SAAS9rH,IAC5B,MAAM4pB,EAAUopG,GAA4BhyH,KAAKypH,WAAYzqH,GAA0B,GAEvF,IAAK,IAAImrB,EAAQ,EAAGA,EAAQ9E,EAAKrqB,OAAQmvB,IACrC,IAAKvB,EAAQxE,IAAIiB,EAAK8E,IAClB,MAAO,GAIf,MAAO,CAACnrB,MAGZ,OAAwB,IAApB8tJ,EAAS9xJ,OAEF2/G,EAGJmyC,EAOH1B,4BAA4B5G,GAChC,GAAIxkJ,KAAK8jJ,qBAAsB,CAC3B,MAAMiJ,EAAkBvI,EAAUzjJ,YAAY,KACxCisJ,EAAkBxI,EAAUzjJ,YAAY,KAE9C,GAAIgsJ,EAAkBC,EAClB,MAAO,CACH1B,eAAgB,IAChBC,YAAa/G,EAAUxiJ,OAAO+qJ,EAAkB,IAEjD,GAAIC,EAAkBD,EACzB,MAAO,CAAEzB,eAAgB,IAAKC,YAAa/G,EAAUxiJ,OAAOgrJ,EAAkB,IAMtF,MAAO,CAAEzB,iBADWzsJ,EACEwsJ,eAFCtrJ,KAAKujJ,cAAcp2E,gBAAgB4+E,iCAKtDhC,8BACJI,EACA3F,EACAC,EACAS,GAEA,IAAKiF,EACD,OAAO,EAGX,MAAM50B,EAAWv1H,KAAKypH,WAAW8D,QAAQ48B,EAAUhjF,gBACnD,IAAKouD,IAAapvB,GAAgBovB,GAC9B,OAAO,EAIX,IAAK3wB,GAAU0L,iBAAiBilB,GAC5B,OAAO,EAGX,MAAM3sG,EAAUopG,GAA4BhyH,KAAKypH,WAAY8L,GAA8B,GACrF41B,EAAa3G,EAAYxkJ,KAAKorJ,4BAA4B5G,QAAa1lJ,EAc7E,OAZA8pB,EAAQtD,SAAQ,CAAC7I,EAAGuF,KAChBhiB,KAAKwrJ,+BACDxpI,EACAmpI,EAAaA,EAAWI,iBAAczsJ,EACtC2lJ,EACA0G,EACMA,EAAWG,eACXtrJ,KAAKujJ,cAAcp2E,gBAAgB4+E,gCACzC7G,OAID,EAGHsG,+BACJluJ,EACA2vJ,EACAxI,EACA6G,EACApG,EACAphH,GAEA,GAAI,EAA8BmpH,GAAe,GAAI3vJ,GAAQ,CACzD,MAAM4vJ,EAAkB,GAAG5B,IAAiBhuJ,IAAQguJ,IACpD,GAAIpG,EAAc9gI,IAAI8oI,GAClB,OAGJ,MAAMrH,EAAiB,GAAAxnH,eAAA,OAAsB6uH,GAE7CrH,EAAe14H,KAAO,GAAA6Q,mBAAA,SACtB6nH,EAAel3E,SAAW3uE,KAAK8mJ,cAAc/D,GAAauH,aAAc4C,GACxE,IAAIC,EAAgBntJ,KAAKyjJ,UAAUtpH,eACfr7B,IAAhBmuJ,IACAE,GAAiBF,EAAYjyJ,OAAS,GAK1C,IAAIoyJ,EAAcptJ,KAAKyjJ,UAAUtpH,eAChBr7B,IAAb2lJ,GACIA,EAASjvF,WAAW81F,IACpB8B,IAIR,MAAM3gJ,EAAe,CACjB3Q,MAAO,CAAEo+B,KAAMl6B,KAAKyjJ,UAAUvpH,KAAMC,UAAWgzH,GAC/CpxJ,IAAK,CAAEm+B,KAAMl6B,KAAKyjJ,UAAUvpH,KAAMC,UAAWizH,IAEjDvH,EAAexqH,SAAW,GAAA9B,SAAA,QAAiB9sB,EAAOygJ,GAClDrH,EAAe/hH,OAASA,EAExBohH,EAAc//I,IAAI0gJ,IAIlBQ,0BACJ1B,EACA0I,EACAvD,EACA1D,G,UAEA,IACKA,EAAkBlB,gBAClBllJ,KAAKqzE,eAAei6E,wBACpBttJ,KAAKumB,SAASgnI,WAIf,OAGJ,MAAMC,EAAkBxtJ,KAAK6jJ,gBAAgB4J,sBAEvCC,EAAe,IAAIC,GACrB3tJ,KAAKwpH,SACLxpH,KAAKupH,gBACLvpH,KAAKujJ,cACLvjJ,KAAKyjJ,UACL2C,EAAkBlB,cAClBsI,EACA,CAAEI,WAAY5tJ,KAAK6jJ,gBAAgB+J,WAAY9D,aAG7CxB,EAA8B,GAC9BrsI,EAAmC,QAA5B,EAAAjc,KAAK6jJ,gBAAgBgK,eAAO,eAAEtpJ,IAAIogJ,GAC3C1oI,GAAQ0oI,EAAU3pJ,OAAS,IAAMorJ,EAAkBlB,cAAc9gI,IAAIugI,IACrE2D,EAAQjtJ,QAAQqyJ,EAAaI,+BAA+BnJ,EAAW1oI,EAAMjc,KAAKggJ,qBAGtFsI,EAAQjtJ,QACDqyJ,EAAaK,wBAAwBpJ,EAAW0I,OAAiBvuJ,EAAWkB,KAAKggJ,qBAGxF,MAAMgO,EAAWN,EAAaO,cAExBC,EAAmB,IAAI5tE,GAC7B,IAAK,MAAMtgE,KAAUsoI,EACbtoI,EAAO26D,OACP36E,KAAKqnJ,WAAWrnI,EAAO3T,KAAM2T,EAAO26D,OAAQgqE,EAAWyB,EAAkBlB,cAAe,CACpFiJ,iBAAkBnuI,EAAO2B,OACzBysI,gBAAiBpuI,EAAOmsD,MACxBnvC,MAAO,CACH3B,SAAUr7B,KAAKonJ,oBAAoBzC,OAAW7lJ,EAAWkhB,EAAOquI,eAChE/yH,oBAAqBtb,EAAOgd,SAIpCh9B,KAAKqqJ,sBACW,QAAZ,EAAArqI,EAAOmsD,aAAK,QAAInsD,EAAO3T,KACZ,QAAX,EAAA2T,EAAOmN,YAAI,QAAI,GAAA6Q,mBAAA,OACf2mH,EACAyB,EAAkBlB,cAClB,CACIa,eAAgB/lJ,KAAKsuJ,mBAAmBtuI,EAAO3T,KAAM2T,EAAO2B,OAAQ3B,EAAOmsD,OAC3EnvC,MAAO,CACH3B,SAAUr7B,KAAKonJ,oBAAoBzC,OAAW7lJ,EAAWkhB,EAAOquI,eAChE/yH,oBAAqBtb,EAAOgd,SAOhDopH,EAAkBmI,eAAiB,CAC/BC,UAAWR,EAASQ,UACpBC,cAAeT,EAASU,UAExBC,eAAgBX,EAASW,eACzBC,cAAeZ,EAASY,cACxBC,oBAAqBb,EAASa,oBAE9BC,UAAWxG,EAAQttJ,OACnB+zJ,YAAaf,EAASe,YACtBC,WAAYhB,EAASgB,WACrBC,iBAAkBjB,EAASiB,iBAE3BC,iBAAkBhB,EAAiB1tE,6BAInCilE,0BACJ0J,EACAxK,GAGA,GAAIwK,EAAenjF,iBACf,OAKJ,MAAMrE,EAAa,GAA+BwnF,EAAer9I,QACjE,IAAK61D,EACD,OAGJ,MAAMu9E,EAAgB,IAAIC,GAEpBx1I,EACFg4D,EAAWkD,cAAc7vE,OAAS,EAAI2sE,EAAWkD,cAAclD,EAAWkD,cAAc7vE,OAAS,GAAK,GAEpGo0J,EAAgBpvJ,KAAK2jJ,cAAch0I,GAyBzC,OAxBIy/I,GACApvJ,KAAKipJ,0BACDmG,EAAc3hD,aACd,CAAC9yB,EAAQtuE,IAGDsuE,EAAOy+B,kBAAkB3qD,MAAMlgD,KtBj1D9B,IsBi1D4DA,EtBj1DrEvP,UsBk1DSmwJ,EAAe7jF,QAAQC,MAAM8jF,GAAQA,EAAIhjJ,KAAK/O,QAAU+O,KAGjEs4I,GACiB,OACC7lJ,EAClBomJ,GAKRv9E,EAAWwD,gBAAgB7lD,SAASgqI,IAC3BH,EAAe7jF,QAAQC,MAAM8jF,GAAQA,EAAIhjJ,KAAK/O,QAAUgyJ,EAAWjjJ,QACpErM,KAAKqqJ,sBAAsBiF,EAAWjjJ,KAAM,GAAA2xB,mBAAA,OAA2B2mH,EAAWO,MAInF,CAAEA,iBAGL2E,sBAAsB0F,EAAuBC,GACjD,OAAOD,EAAY1mG,QAAQjH,IACnB4tG,GACO,EAA8BA,EAAc5tG,KAOvDkpG,oBAAoBH,EAAkChG,EAAmBO,GAC7E,MAAMuK,EAAa,IAAI3xI,IAEvB6sI,EAAcK,WAAW1lI,SAAS2lI,IAC9BjrJ,KAAK0vJ,yBAAyBzE,EAAUjsJ,KAAMywJ,MAIlD9E,EAAcpxD,SAAS75F,UAAW4lB,SAASroB,IACnCA,EAAIoP,MACJojJ,EAAW7sI,OAAO3lB,EAAIoP,KAAK/O,UAKnCmyJ,EAAWnqI,SAASqqI,IAChB,GAAI,EAA8BhL,EAAWgL,GAAU,CACnD,MAAMv0H,EAAQu0H,EAAU,IACxB,GAAIzK,EAAc9gI,IAAIgX,GAClB,OAGJ,MAAMyqH,EAAiB,GAAAxnH,eAAA,OAAsBjD,GAC7CyqH,EAAe14H,KAAO,GAAA6Q,mBAAA,SAEtB,MAAM8nH,EAAyC,CAC3C8J,cAAe5vJ,KAAKsjJ,eACpBznF,SAAU77D,KAAK0jJ,UACfjnH,SAAUz8B,KAAKyjJ,WAEnBoC,EAAe3mJ,KAAO4mJ,EACtBD,EAAel3E,SAAW3uE,KAAK8mJ,cAAc/D,GAAa8M,eAAgBF,GAE1EzK,EAAc//I,IAAI0gJ,OAKtB6J,yBAAyB1wJ,EAAoB8wJ,GACjD9wJ,EAAKunG,QAAQljE,WAAW/d,SAASlC,IACzBA,EAAM/W,OAAS+W,EAAM2vF,oBAGhB,GAAyC3vF,EAAM/W,OAChDyjJ,EAAS3qJ,IAAIie,EAAM/W,KAAM+W,EAAM/W,UAMvCu9I,YAAYliF,EAAiBi9E,EAAmBO,GACpD,IAAIj8E,EAAiCvB,EAErC,KAAOuB,GAAS,CAEZ,IAAIpB,EAAQq8B,GAAgBj7B,GAC5B,GAAIpB,EAAO,CACP,KAAOA,GACH7nE,KAAKipJ,0BACDphF,EAAM4lC,aACN,KAAM,GACNk3C,GACiB,OACC7lJ,EAClBomJ,GAEJr9E,EAAQA,EAAM1iC,OAIlB,GAAyB,KAArB8jC,EAAQxC,SAAkC,CAC1C,MAAMwnC,EAAYjuG,KAAKypH,WAAW4C,eAAepjD,GAC7CglC,GAAa/H,GAAoB+H,EAAUA,YAC3CA,EAAUA,UAAU1H,QAAQoI,IAAIrpF,SAAQ,CAACisF,EAAWpnF,KAC5C+7E,GAAoBqL,IACpBvxG,KAAKipJ,0BACD13C,EAAUhL,QAAQiE,QACjB7vB,KACQA,EAAOs9B,iBAKLt9B,EACFy+B,kBACA3qD,MAAMyZ,GAAuB,IAAdA,EAAKlpE,QAE7B2lJ,GACiB,OACC7lJ,EAClBomJ,MAMpB,MAGJj8E,EAAUA,EAAQ9jC,QAIlB8jH,0BACJx7C,EACAsiD,EACApL,EACAqL,EACAC,EACA/K,GAEAz3C,EAAYnoF,SAAQ,CAACq1D,EAAQtuE,OAKrBsuE,EAAOkzB,sBACNlzB,EAAOy+B,kBAAkB3qD,MAAMlgD,IAAM2hJ,OlBnjEtBhoF,EkBmjEsC35D,ElBnjEnBstD,EkBmjEsB77D,KAAK0jJ,UlBljEtE39D,GAAmB7d,IAIkB,QAA9B,EAAAoyB,GAAoBpyB,EAAKR,aAAK,eAAE7L,YAAaA,EAIjDqM,EAAKn5D,OAAS8sD,EATlB,IAAyBqM,EAAmBrM,E,OkBojExBk0F,EAAsBp1E,EAAQtuE,KAGpC64I,EAAc9gI,IAAI/X,IACnBrM,KAAKqnJ,WAAWh7I,EAAMsuE,EAAQgqE,EAAWO,EAAe,CACpD+K,qBACA/I,mBAAoB8I,QAOhC3I,WACJh7I,EACAsuE,EACAgqE,EACAO,EACAphH,G,UAIA,GAAI62C,EAAOk+B,yBACP,OAGJ,IAAIs3C,EAAc32C,GAA8B7+B,GAChD,IAAKw1E,EAAa,CACd,MAAM3P,EAAe7lE,EAAOy+B,kBACxBonC,EAAaxlJ,OAAS,IACtBm1J,EAAc3P,EAAaA,EAAaxlJ,OAAS,IAIzD,GAAIm1J,EAAa,CACb,IAAIC,EAA+B,GAAApyH,mBAAA,SAGnC,GADAmyH,EAAcnwJ,KAAKypH,WAAW4D,wBAAwB8iC,GAAqC,GACvFA,IACAC,EAAWpwJ,KAAKqwJ,kCAAkCF,GAMzB,IAArBA,EAAYnxJ,MACZ8kC,EAAOmsH,oBACP/pD,GAAoBpiE,EAAOmsH,qBAC3BrrD,GAAU4L,YAAY1sE,EAAOmsH,qBACI,KAAV,QAAvB,EAAAE,EAAYzoF,KAAKviC,cAAM,eAAEshC,YAEzB2pF,EAAW,GAAApyH,mBAAA,YAKXh+B,KAAKmmJ,gBAAgB,CACrB,MAAML,EAAqB9lJ,KAAKmmJ,eAAejnJ,KAE/C,GAAI4mJ,EAAmBI,cAAgB75I,IAASy5I,EAAmBC,eAAgB,CAG/E,MAAM/mJ,EAAOgB,KAAKypH,WAAWqK,yBAAyBn5C,GACtD,GAAI37E,EAAM,CACN,IAAIsxJ,EAEAC,EACAntH,EAEJ,OAAQ+sH,EAAYnxJ,MAChB,KAAK,EACL,KAAK,EACL,KAAK,EAA2B,CAC5B,IAAIk+I,GAAkB,EACtB,GAAIl+I,GAAQwlG,GAASgB,eAAexmG,GAAO,CACvC,MAAMioG,EAAgBD,GAAiBhoG,GACnCioG,GACIA,EAAc56F,OAASA,IACvB6wI,GAAkB,GAI9BoT,EAAajkJ,EAAO,KAAOrM,KAAKypH,WAAW4K,UAAUr1H,EAAMk+I,GAC3D,MAGJ,KAAK,EAA0B,CAC3B,MAAM1pC,EACF1vE,EAAOmsH,qBAAuBnpD,GAAW9nG,IAAS+nG,GAAqB/nG,IACjEgB,KAAKypH,WAAW+mC,4BACZ1sH,EAAOmsH,mBACPjxJ,GAEJA,EACV,GAAIw0G,EACA,GACImM,GAAWnM,IACX1vE,EAAOmsH,oBACP9pD,GAAgBriE,EAAOmsH,oBACzB,CACE,MAAMQ,EACFzwJ,KAAKypH,WAAWinC,0BACZl9C,GACwB,IACvB9O,GAAYvyF,SACrBm+I,EACIjkJ,EACA,KACArM,KAAKypH,WAAW4K,UAAUo8B,GAAoC,GAC9D,cACJF,EACIzsH,EAAOmsH,mBAAmB1pD,QAAQwG,SAAW,IAAM1gG,EAAO,mBACvD06F,GAAqByM,IAE5B88C,EAAarO,GACTzuC,EACAxzG,KAAKypH,WACiB,IAG1B8mC,EAAYI,GAAiCn9C,EAAajK,UAAU,MAEpE+mD,EACIjkJ,EACA,KACArM,KAAKypH,WAAW4K,UAAU7gB,GAAoC,GAC9D1M,GAAW0M,KACX+8C,EAAYI,GAAiCn9C,KAIzD,MAGJ,KAAK,EACL,KAAK,EACD88C,EAAa,SAAWjkJ,EAAO,KAC/B,MAGJ,KAAK,EAED,GADAikJ,EAAajkJ,EACT8jJ,EAAYphJ,KAAM,CAClB,MAAMqgJ,EAAgBpvJ,KAAK2jJ,cAAcwM,EAAYphJ,MACjDqgJ,IACAhsH,EAAgBgsH,EAAc/xD,WAGtC,MAGJ,QACIizD,EAAajkJ,EAKrB,GACyB,IAArB8jJ,EAAYnxJ,MACZmxJ,EAAYp0D,eACZo0D,EAAY9yD,UAEZj6D,EAAgB+sH,EAAY9yD,eACzB,GAAI+I,GAASpnG,GAChBokC,EAAgBk0F,GAAmBt4H,EAAMmxJ,EAAanwJ,KAAK4jJ,oBACxD,GAAI19C,GAAoBlnG,GAC3BokC,EAAgBq0F,GAAkBz4H,EAAMmxJ,EAAanwJ,KAAK4jJ,oBACvD,GAAI98C,GAAW9nG,GAAO,CACzB,MAAMw0G,EAAe1vE,EAAOmsH,mBACtBjwJ,KAAKypH,WAAW+mC,4BAA4B1sH,EAAOmsH,mBAAoBjxJ,GACvEA,EACFw0G,GAAgB1M,GAAW0M,KAC3BpwE,EAAgB++G,GACZ3uC,EACAxzG,KAAK4jJ,cACL5jJ,KAAKypH,kBAGV,GAAI1iB,GAAqB/nG,GAAO,CACnC,MAAMw0G,EAAe1vE,EAAOmsH,mBACtBjwJ,KAAKypH,WAAW+mC,4BAA4B1sH,EAAOmsH,mBAAoBjxJ,GACvEA,EACFw0G,GAAgBzM,GAAqByM,KACrCpwE,EAAgBq/G,GACZjvC,EACAxzG,KAAK4jJ,cACL5jJ,KAAKypH,YACPl+C,MAAMysD,GAAQA,UAEI,KAAjBm4B,aAAW,EAAXA,EAAanxJ,MAEpBokC,EAAgB0zF,GACZq5B,EACAnwJ,KAAK4jJ,cACL5jJ,KAAKypH,YAEe,KAAjB0mC,aAAW,EAAXA,EAAanxJ,QAKpBokC,EAAgBy0F,GAFsD,QAFxD,EAAAl9C,EACTy+B,kBACA7tC,MAAMh9D,GAAiB,IAAXA,EAAEvP,QAAuCuP,EAAE8uF,mBAAU,QAClE8yD,EACuCnwJ,KAAK4jJ,gBAEpD,IAAK2M,IAAcntH,EAEf,OAEJ,GAAIpjC,KAAKumB,SAASlV,SAAW,GAAAysB,WAAA,SAAqB,CAC9C,IAAI8yH,EAAiB,GACjBL,IACAK,GAAkB,cAAgBL,EAAY,WAE9CA,GAAantH,IACbwtH,GAAkB,SAElBxtH,IACAwtH,GAAkBxzD,GAA2Bh6D,IAGjDwtH,EAAiBA,EAAelzD,UAEhC19F,KAAKmmJ,eAAe/iH,cAAgB,CAChCjW,KAAM,GAAA2Q,WAAA,SACNxgC,MAAOszJ,QAER,GAAI5wJ,KAAKumB,SAASlV,SAAW,GAAAysB,WAAA,UAAsB,CACtD,IAAI+yH,EAAkB,GAClBN,IACAM,GAAmBN,EAAY,MAE/BA,GAAantH,IACbytH,GAAmB,MAEnBztH,IACAytH,GAAmBrzD,GAA4Bp6D,IAGnDytH,EAAkBA,EAAgBnzD,UAElC19F,KAAKmmJ,eAAe/iH,cAAgB,CAChCjW,KAAM,GAAA2Q,WAAA,UACNxgC,MAAOuzJ,QAGX3+F,EAAK,4BAA4BlyD,KAAKumB,SAASlV,YAOnE,MAAM00I,EAAiBjiH,EAAOqqH,iBACxBnuJ,KAAKsuJ,mBAAmBjiJ,EAAMy3B,EAAOqqH,iBAAkBrqH,EAAOsqH,sBAC9DtvJ,EAENkB,KAAKqqJ,sBAA4C,QAAtB,EAAAvmH,EAAOsqH,uBAAe,QAAI/hJ,EAAM+jJ,EAAUzL,EAAWO,EAAe,CAC3Fa,iBACAmB,mBAAoBpjH,EAAOojH,mBAC3BlqH,MAAO8G,EAAO9G,aAKlB,GADwB29C,EAAO4+B,qBACV,CACjB,MAAM62C,EAA+B,GAAApyH,mBAAA,SACrCh+B,KAAKqqJ,sBAAsBh+I,EAAM+jJ,EAAUzL,EAAWO,EAAe,CACjEgC,mBAAoBpjH,EAAOojH,mBAC3BlqH,MAAO8G,EAAO9G,SAMtBsxH,mBAAmB3hF,EAAoBV,EAAqB6kF,GAChE,MAAM/K,ED12EP,SAA2B15I,EAAchP,EAAe8uE,GAC3D,IAAI/0C,EAWJ,OAPIA,EAHC/5B,EAGM,QAAQA,YAAegP,IAFvB,UAAUA,IAKjB8/D,IACA/0C,EAAO,GAAGA,QAAW+0C,KAGlB/0C,EC81EoB25H,CAAkBpkF,EAAYV,EAAY6kF,GAEjE,OAAI9wJ,KAAKumB,SAASlV,SAAW,GAAAysB,WAAA,SAClB,WAAWioH,YACX/lJ,KAAKumB,SAASlV,SAAW,GAAAysB,WAAA,UACzBioH,OAEP7zF,EAAK,4BAA4BlyD,KAAKumB,SAASlV,UAI/Cg5I,sBACJh+I,EACA+jJ,EACAvnG,EACAq8F,EACAphH,G,UAIA,KADmBA,aAAM,EAANA,EAAQiiH,kBAAwB,EAA8Bl9F,EAAQx8C,GAErF,OAGJ,GAAI64I,EAAc9gI,IAAI/X,EAAM84I,GAAc6L,uBAAwBZ,EAAUtsH,aAAM,EAANA,EAAQiiH,gBAChF,OAGJ,MAAMF,EAAiB,GAAAxnH,eAAA,OAAsBhyB,GAC7Cw5I,EAAe14H,KAAOijI,EAEtB,MAAMtK,EAAyC,CAC3C8J,cAAe5vJ,KAAKsjJ,eACpBznF,SAAU77D,KAAK0jJ,UACfjnH,SAAUz8B,KAAKyjJ,WAkCnB,IA/BI3/G,aAAM,EAANA,EAAQojH,sBACRpB,EAAmBoB,oBAAqB,GAG5CrB,EAAe3mJ,KAAO4mJ,GAElBhiH,aAAM,EAANA,EAAQ6qC,YAAY7qC,aAAM,EAANA,EAAQymH,aAC5B1E,EAAel3E,SAAW7qC,EAAO6qC,SACjCk3E,EAAe/hH,OAASA,EAAOymH,aACxBzmH,aAAM,EAANA,EAAQiiH,iBAEfF,EAAel3E,SAAW3uE,KAAK8mJ,cAAc/D,GAAakO,WAAY5kJ,EAAMy3B,EAAOiiH,gBACnFD,EAAmBC,eAAiBjiH,EAAOiiH,eAC3CF,EAAe/hH,OAnuEK,eAouEbssH,IAAa,GAAApyH,mBAAA,WAEpB6nH,EAAel3E,SAAW3uE,KAAK8mJ,cAAc/D,GAAavgH,WAAYn2B,GAC/D,GAA6BA,GAEpCw5I,EAAel3E,SAAW3uE,KAAK8mJ,cAAc/D,GAAamO,aAAc7kJ,GACtD,KAAXw8C,GAAiB,GAAyCx8C,GAIjEw5I,EAAel3E,SAAW3uE,KAAK8mJ,cAAc/D,GAAaoO,cAAe9kJ,GAEzEw5I,EAAel3E,SAAW3uE,KAAK8mJ,cAAc/D,GAAaqO,aAAc/kJ,GAG5Ey5I,EAAmBI,YAAc75I,EAE7BrM,KAAKumB,SAASlV,SAAW,GAAAysB,WAAA,SAAqB,CAC9C,IAAI8yH,EAAiB,IAEjB9sH,aAAM,EAANA,EAAQiiH,kBACR6K,GAAkB9sH,EAAOiiH,gBACrBjiH,EAAOwsH,YAAcxsH,EAAOV,iBAE5BwtH,GAAkB,UAItB9sH,aAAM,EAANA,EAAQwsH,cACRM,GAAkB,cAAgB9sH,EAAOwsH,WAAa,YAGtDxsH,aAAM,EAANA,EAAQV,iBACRwtH,GAAkB,QAClBA,GAAkBxzD,GAA2Bt5D,EAAOV,gBAGxDwtH,EAAiBA,EAAelzD,UAE5BkzD,IACA/K,EAAeziH,cAAgB,CAC3BjW,KAAM,GAAA2Q,WAAA,SACNxgC,MAAOszJ,SAGZ,GAAI5wJ,KAAKumB,SAASlV,SAAW,GAAAysB,WAAA,UAAsB,CACtD,IAAI+yH,EAAkB,IAElB/sH,aAAM,EAANA,EAAQiiH,kBACR8K,GAAmB/sH,EAAOiiH,gBACtBjiH,EAAOwsH,YAAcxsH,EAAOV,iBAE5BytH,GAAmB,UAIvB/sH,aAAM,EAANA,EAAQwsH,cACRO,GAAmB/sH,EAAOwsH,WAAa,OAGvCxsH,aAAM,EAANA,EAAQV,iBACRytH,GAAmB,KAAOrzD,GAA4B15D,EAAOV,gBAGjEytH,EAAkBA,EAAgBnzD,UAE9BmzD,IACAhL,EAAeziH,cAAgB,CAC3BjW,KAAM,GAAA2Q,WAAA,UACNxgC,MAAOuzJ,SAIf3+F,EAAK,4BAA4BlyD,KAAKumB,SAASlV,WAGlC,QAAb,EAAAyyB,aAAM,EAANA,EAAQ9G,aAAK,eAAE3rB,UACfw0I,EAAewL,iBAAmBvtH,EAAO9G,MAAM3rB,SAGlC,QAAb,EAAAyyB,aAAM,EAANA,EAAQ9G,aAAK,eAAE3B,YACfwqH,EAAexqH,SAAWyI,EAAO9G,MAAM3B,WAG1B,QAAb,EAAAyI,aAAM,EAANA,EAAQ9G,aAAK,eAAE1B,uBACfuqH,EAAevqH,oBAAsBwI,EAAO9G,MAAM1B,oBAAoBxX,KAAKwtI,IAC5C,CACvB7kJ,MAAO,CACH3Q,MAAO,CAAEo+B,KAAMo3H,EAAG7kJ,MAAM3Q,MAAMo+B,KAAMC,UAAWm3H,EAAG7kJ,MAAM3Q,MAAMq+B,WAC9Dp+B,IAAK,CAAEm+B,KAAMo3H,EAAG7kJ,MAAM1Q,IAAIm+B,KAAMC,UAAWm3H,EAAG7kJ,MAAM1Q,IAAIo+B,YAE5DoC,QAAS+0H,EAAG7kF,oBAKhBzsE,KAAKmmJ,iBACQnmJ,KAAKmmJ,eAAejnJ,KACxB6mJ,iBAAmBD,EAAmBC,iBAC3C/lJ,KAAKmmJ,eAAe7qH,oBAAsBuqH,EAAevqH,qBAKrE4pH,EAAc//I,IAAI0gJ,GAGd0L,oBAAoBllJ,EAAc05I,GACtC,OAAO1C,GAAmB4C,uBAAuB12D,WAC5CvnE,GAASA,EAAKoT,QAAU/uB,GAAQ2b,EAAK+9H,iBAAmBA,IAIzDe,cAAc0K,EAA4BnlJ,EAAc05I,EAAiB,IAC7E,MAAM0L,EAAkBzxJ,KAAKuxJ,oBAAoBllJ,EAAM05I,GAuBvD,OAnBI0L,GAAmB,IACfD,IAAiBzO,GAAakO,WAC9BO,EAAezO,GAAa2O,iBACrBF,IAAiBzO,GAAa4O,iBACrCH,EAAezO,GAAa6O,uBAE5BJ,IAAiBzO,GAAa5gH,SAC9BqvH,IAAiBzO,GAAaqO,cAC9BI,IAAiBzO,GAAaoO,eAC9BK,IAAiBzO,GAAamO,eAE9BM,EAAezO,GAAa8O,wBAQ7B7xJ,KAAK8xJ,eAAeN,EAAc,GAAK,IAAMxxJ,KAAK8xJ,eAAeL,EAAiB,GAAK,IAAMplJ,EAGhGylJ,eAAenxJ,EAAaoxJ,GAChC,MAAMC,EAAe,IAAIn3J,WAAW,GAEpC,IAAImlB,EAAS,GACb,IAAK,IAAI1lB,EAAI,EAAGA,EAAIy3J,EAAQz3J,IAAK,CAE7B,IAAI23J,EAAQnvJ,KAAK+J,MAAMlM,EAAM,IACzBsxJ,EAAQ,IACRA,EAAQ,GAEZjyI,EAAS7e,OAAOuC,aAAauuJ,EAAQD,GAAgBhyI,EACrDrf,EAAMmC,KAAK+J,MAAMlM,EAAM,IAG3B,OAAOqf,EAGHqwI,kCAAkCroF,GACtC,MAAMkqF,EAAsBlyJ,KAAKypH,WAAW4D,wBAAwBrlD,GAAqC,GACzG,IAAKkqF,EACD,OAAO,GAAAl0H,mBAAA,SAGX,OAAQk0H,EAAoBlzJ,MACxB,KAAK,EACD,MAA6C,UAAtCkzJ,EAAoBC,cACrB,GAAAn0H,mBAAA,MACA,GAAAA,mBAAA,SAEV,KAAK,EACD,OAAO,GAAAA,mBAAA,SAEX,KAAK,EACD,OAAOk0H,EAAoBE,YAAcF,EAAoBv2D,QACvD,GAAA39D,mBAAA,SACA,GAAAA,mBAAA,SAEV,KAAK,EACD,GAAIh+B,KAAKqyJ,+BAA+BH,GAAsB,CAC1D,MAAM1+C,EAAexzG,KAAKypH,WAAW6oC,kBAAkBJ,EAAoBxqF,MAC3E,GAAI8rC,GAAgBmM,GAAWnM,EAAa++C,eACxC,OAAO,GAAAv0H,mBAAA,SAGf,OAAOk0H,EAAoB9mC,SAAW,GAAAptF,mBAAA,OAA4B,GAAAA,mBAAA,SAGtE,KAAK,EACL,KAAK,EACD,OAAO,GAAAA,mBAAA,MAEX,KAAK,EACD,OAAO,GAAAA,mBAAA,QAIX+mH,4BAA4Br9E,GAChC,MAAMmM,EAA6C,CAC/CpE,YAAa/H,EAAK+H,YAClB+O,eAAgB9W,EAAK8W,iBAAkB,EACvC9O,UAAWhI,EAAKgI,UAAU5rD,KAAK6rD,GAASA,EAAKryE,QAC7C21E,gBAAiB,IAGfu/E,EAAcxyJ,KAAKupH,gBAAgB9zC,yBACrCz1E,KAAK0jJ,UACL1jJ,KAAKwpH,SACL31C,GAGEqxE,EAAgB,IAAIC,GAI1B,IACKz9E,EAAK8W,gBACN9W,EAAKviC,QACoB,KAAzBuiC,EAAKviC,OAAOshC,UACZiB,EAAKviC,OAAOstH,qBACd,CACE,MAAM7wG,EAAU,SACVikG,EAAiB,GAAAxnH,eAAA,OAAsBujB,GAC7CikG,EAAe14H,KAAO,GAAA6Q,mBAAA,QACtB6nH,EAAel3E,SAAW3uE,KAAK8mJ,cAAc/D,GAAa5gH,QAASyf,GACnEsjG,EAAc//I,IAAI0gJ,GActB,OAXA2M,EAAYltI,SAASotI,IACjB,GAAIxN,EAAc9gI,IAAIsuI,GAClB,OAGJ,MAAM7M,EAAiB,GAAAxnH,eAAA,OAAsBq0H,GAC7C7M,EAAe14H,KAAO,GAAA6Q,mBAAA,OACtB6nH,EAAel3E,SAAW3uE,KAAK8mJ,cAAc/D,GAAa4O,iBAAkBe,GAC5ExN,EAAc//I,IAAI0gJ,MAGf,CAAEX,iBAGLmN,+BAA+BnqF,GAGnC,OAAOA,EAAKkjD,UAAYljD,EAAKR,KAAKwkB,WAAWlxF,OAAS,GAIvD,SAAS21J,GAAiCn9C,GAG7C,MAAMnwE,EAAamwE,EAAajN,QAAQljE,WAAWwlB,QAC/C,CAACr2C,EAAG2X,MAAW3X,EAAEsgG,YAA0B,IAAV3oF,GAA0B,SAAX3X,EAAEnG,QAEtD,OACImnG,EAAajN,QAAQwG,SACrB,IACA1pE,EACKvf,KAAKtR,GACiB,IAAfA,EAAE8rD,SACK,IAAM9rD,EAAEnG,KACO,IAAfmG,EAAE8rD,SACF,KAAO9rD,EAAEnG,KAEbmG,EAAEnG,OAEZ7Q,KAAK,MACV,IAp+EW,GAAAyqJ,uBAAiD,GAw+E7D,MAAMd,GAAb,cACY,KAAAwN,aAA+D,IAAI70I,IAE3E,WACI,OAAO9d,KAAK2yJ,aAAarzJ,KAG7B6F,IAAI7H,GACA,MAAMs1J,EAAW5yJ,KAAK2yJ,aAAapuJ,IAAIjH,EAAM89B,OACxCw3H,EAEMl3J,MAAMuD,QAAQ2zJ,GACrBA,EAASv3J,KAAKiC,GAEd0C,KAAK2yJ,aAAaxtJ,IAAI7H,EAAM89B,MAAO,CAACw3H,EAAUt1J,IAJ9C0C,KAAK2yJ,aAAaxtJ,IAAI7H,EAAM89B,MAAO99B,GAQ3CiH,IAAIyd,GACA,OAAOhiB,KAAK2yJ,aAAapuJ,IAAIyd,GAGjCoC,IACIgX,EACAszB,EAKAvhC,EACA0lI,GAEA,MAAMD,EAAW5yJ,KAAK2yJ,aAAapuJ,IAAI62B,GACvC,QAAKw3H,KAIDlkG,GACOA,EAAUkkG,EAAUzlI,EAAM0lI,IAKzChrI,QACI7nB,KAAK2yJ,aAAa9qI,QAGtBjF,OAAOZ,GACH,OAAOhiB,KAAK2yJ,aAAa/vI,OAAOZ,GAGpC8wI,U,MACI,MAAM/vH,EAA0B,GAUhC,OATiB,QAAjB,EAAA/iC,KAAK2yJ,oBAAY,SAAErtI,SAAShoB,IACpB5B,MAAMuD,QAAQ3B,GACdA,EAAMgoB,SAAS0C,IACX+a,EAAM1nC,KAAK2sB,MAGf+a,EAAM1nC,KAAKiC,MAGZylC,EAGX,8BACI6vH,EACAzlI,EACA44H,G,MAEA,QAAK6M,IAIAl3J,MAAMuD,QAAQ2zJ,KAGNA,EAASrnF,MAAM7oE,GAAMA,EAAEyqB,OAASA,GAAQzqB,EAAExD,KAAKquJ,aAAexH,IAFhE6M,EAASzlI,OAASA,IAAqB,QAAb,EAAAylI,EAAS1zJ,YAAI,eAAEquJ,cAAexH,GAMvE,oCACI6M,EACAG,EACAC,G,MAEA,IAAKJ,EACD,OAAO,EAGX,GAAIl3J,MAAMuD,QAAQ2zJ,IACd,GAAIA,EAASrnF,MAAM7oE,IAAK,MAAC,QAAO,QAAN,EAAAA,EAAExD,YAAI,eAAEquJ,eAC9B,OAAO,OAGX,KAAkB,QAAb,EAAAqF,EAAS1zJ,YAAI,eAAEquJ,YAChB,OAAO,EAGf,OAAO,GC9uFR,MAAMI,GAkBT1hJ,YACYgnJ,EACA1pC,EACAg6B,EACA2P,EACSC,EACTC,EACA7sI,GANA,KAAA0sI,mBACA,KAAA1pC,kBACA,KAAAg6B,gBACA,KAAA2P,sBACS,KAAAC,YACT,KAAAC,mBACA,KAAA7sI,WArBJ,KAAA8sI,WAAa,IAAI/yE,GACjB,KAAAgzE,UAAY,CAChB9E,WAAW,EACXE,UAAW,EAEXC,eAAgB,EAChBC,cAAe,EACfC,oBAAqB,EAErBE,YAAa,EACbC,WAAY,EACZC,iBAAkB,GAYlBjvJ,KAAKuzJ,kBAAoBtpF,GAAmBjqE,KAAKujJ,cAAcr5E,WAAW,GAE1ElqE,KAAKszJ,UAAU9E,YAAcxuJ,KAAKumB,SAASqnI,WAG/CE,+BAA+B0F,EAA0BC,EAA4BzyI,GACjF,MACMhB,EADMhgB,KAAK0zJ,eAAeD,EAAS9mF,WAAkC,EAAG6mF,EAAMxyI,GACjEzc,IAAIkvJ,EAAS9mF,YAChC,OAAK3sD,EAIEA,EAAO6oC,QAAQnkC,GAAMA,EAAE/C,SAAW8xI,EAASxnF,aAHvC,GAMf8hF,wBACI4F,EACAtG,EACAuG,EACA5yI,GAEA,MAAMsnI,EAA8B,GAIpC,OAHYtoJ,KAAK0zJ,eAAeC,EAAMtG,EAAiBuG,EAAe5yI,GAElEsE,SAAS8rC,GAAMk3F,EAAQjtJ,QAAQ+1D,KAC5Bk3F,EAGX2F,cAEI,OADAjuJ,KAAKszJ,UAAU5E,UAAY1uJ,KAAKqzJ,WAAW7yE,4BACpCxgF,KAAKszJ,UAGRI,eACJC,EACAtG,EACAuG,EACA5yI,GAEA,MAAM6yI,EAAY,IAAI/1I,IAChBg2I,EAAiB,IAAIh2I,IAM3B,OAJA9d,KAAK+zJ,yBAAyBJ,EAAMtG,EAAiBuG,EAAeE,EAAgBD,EAAW7yI,GAC/FhhB,KAAKg0J,0BAA0BL,EAAMtG,EAAiBuG,EAAeE,EAAgBD,EAAW7yI,GAChGhhB,KAAKi0J,8BAA8BH,EAAgBF,EAAeC,EAAW7yI,GAEtE6yI,EAGHG,0BACJL,EACAtG,EACAuG,EACAM,EACA5L,EACAtnI,G,MAEA,MAAMnB,EAAY7f,KAAKqzJ,WAAW7yE,4BAEV,QAAxB,EAAAxgF,KAAKumB,SAASqnI,kBAAU,SAAEtoI,SAAQ,CAAC6uI,EAAct4F,KAC7C,GAAIs4F,EAAaC,mBACb,OAGJ,GAAIp0J,KAAKozJ,iBAAiBhvI,IAAIy3C,GAG1B,OAIJ,MAAMw4F,EAAsBr0J,KAAKs0J,qBAAqBt0J,KAAKumB,SAASqnI,WAAa/xF,GACjF77D,KAAKu0J,0BACDC,GAAuCL,GAA4B,GACnEt4F,EACA83F,EACAtG,EACAgH,EACAT,EACAM,EACA5L,EACAtnI,MAIRhhB,KAAKszJ,UAAU1E,cAAgB5uJ,KAAKqzJ,WAAW7yE,4BAA8B3gE,EAGzEk0I,yBACJJ,EACAtG,EACAuG,EACAM,EACA5L,EACAtnI,GAEA,MAAMnB,EAAY7f,KAAKqzJ,WAAW7yE,4BAElCxgF,KAAKozJ,iBAAiB9tI,SAAQ,CAACmvI,EAAiB54F,KAE5C,MAAMw4F,EAAsBr0J,KAAKs0J,qBAAqBt0J,KAAKozJ,iBAAmBv3F,GAC9E77D,KAAKu0J,0BACDE,EACA54F,EACA83F,EACAtG,EACAgH,EACAT,EACAM,EACA5L,EACAtnI,MAIRhhB,KAAKszJ,UAAU3E,eAAiB3uJ,KAAKqzJ,WAAW7yE,4BAA8B3gE,EAG1Ey0I,qBAAwBxwI,EAAqB+3C,GACjD,MACM64F,EAAa3+F,GADH1B,EAAiBwH,GACQ,eACnC84F,EAAcD,EAAa,IAGjC,MAAO,CAAEE,OAFM/4F,EAAS5B,SAAS,QAEhB46F,QADD/wI,EAAIM,IAAIswI,IAAe5wI,EAAIM,IAAIuwI,IAI3CJ,0BACJE,EACA54F,EACA83F,EACAtG,EACAyH,EACAlB,EACAE,EACAxL,EACAtnI,GAEA,GAA6BA,GAE7B,MAAO+zI,EAAclnF,EAAagC,GAAqB7vE,KAAKg1J,0BAA0Bn5F,GACtF,IAAKk5F,EACD,OAGJ,MAAME,EAAW,EAA8BF,EAAc,KAmE7D,GAlEAN,EAAgBnvI,SAAQ,CAAC4vI,EAAkB7oJ,EAAM8oJ,K,MAG7C,GAFAn1J,KAAKo1J,gBAAgBF,EAAkBC,IAElCn1J,KAAKq1J,uBAAuBH,EAAkB7oJ,EAAMyoJ,EAAgBF,OAAQO,GAC7E,OAOJ,IADkBn1J,KAAKs1J,WAAW3B,EAAMtnJ,EAAMghJ,GAE1C,OAIJ,GADwBrtJ,KAAKu1J,cAAclpJ,EAAM0oJ,EAAczM,GAE3D,OAIJ,GAAI4M,EAAiBpE,YAmBjB,YAlBA9wJ,KAAKw1J,qBACDN,EAAiBpE,YACjB,CACI2E,YAAa,CACT3iG,WAAYzmD,EACZsgE,WAAYtgE,EACZ4/D,WAAY8oF,EACZl5F,WACAo5F,WACAplF,qBAEJhC,cACA8M,OAAQu6E,EAAiBv6E,OACzBxtD,KAAM+nI,EAAiBpE,YAAY3jI,KACnCijI,SAAU8E,EAAiBpE,YAAYV,UAE3C0D,GAKR,MAAM4B,EAAsB11J,KAAK21J,qCAC7BZ,EACA1oJ,EACAunJ,EACAvnJ,EACAwhE,EACAhS,GAGJ77D,KAAKghJ,WAAWsH,EAAS,CACrBj8I,OACA8/D,MAAOynF,EACPj5E,OAAQu6E,EAAiBv6E,OACzBh5D,OAAQozI,EACR5nI,KAA+B,QAAzB,EAAA+nI,EAAiB9E,gBAAQ,QAAIwF,GAAsCV,EAAiB/nI,MAC1FkhI,cAAeqH,EAAoBrH,cACnCrxH,MAAO04H,EAAoB14H,YAO9B83H,EAAgBF,SAAWE,EAAgBD,QAC5C,OAGJ,MAAMY,EAAcz1J,KAAK61J,gBAAgBh6F,GACpC45F,GAIaz1J,KAAKs1J,WAAW3B,EAAM8B,EAAY9oF,WAAY0gF,KAKxCrtJ,KAAKu1J,cAAcE,EAAY9oF,WAAY8oF,EAAYxpF,WAAYq8E,IAK3FtoJ,KAAKw1J,qBACD,CACIM,WAAYj6F,EACZk6F,aAAcN,EAAY9oF,WAC1Bx/C,KAAM,GAAA0R,WAAA,OACNuxH,SAAU,GAAApyH,mBAAA,QAEd,CAAEy3H,cAAa5nF,cAAa1gD,KAAM,GAAA0R,WAAA,OAAmBuxH,SAAU,GAAApyH,mBAAA,QAC/D81H,IAIAuB,uBACJH,EACA7oJ,EACAuoJ,EACAO,G,MAIA,SAAIP,GAAUM,EAAiB/nI,OAAS,GAAA0R,WAAA,cAIpC7+B,KAAKumB,SAASyvI,oBAAuBb,KAAkC,QAAvB,EAAAD,EAAiBv6E,cAAM,eAAE89B,mBlChZ9E,SAAqCpsG,GACxC,OAAQk9D,GAAyBl9D,KAAUo9D,GAAep9D,IAASq9D,GAAgBr9D,IkCmZxE,CAA4CA,GAG/C4nJ,8BACJH,EACAF,EACAtL,EACAtnI,GAEA,GAA6BA,GAE7B,MAAMnB,EAAY7f,KAAKqzJ,WAAW7yE,4BAElCszE,EAAexuI,SAAS2wI,IACpBj2J,KAAKszJ,UAAUrE,kBAAoBgH,EAAiB32J,KAEpD22J,EAAiB3wI,SAAS4wI,I,QACtB,GAAItC,EAAe,CAWf,GAAI5zJ,KAAKuzJ,kBAAkBjpF,cAAclmD,IAAI8xI,EAAgBT,YAAY55F,UACrE,OAMJ,GAAIq6F,EAAgBT,YAAYxpF,WAAY,CACxC,MAAMkqF,EAAWn2J,KAAKuzJ,kBAAkBlpF,eAAekB,MAClDjxE,GAAMA,EAAE0wE,aAAekrF,EAAgBT,YAAYxpF,aAExD,GACIkqF,GAC2B,KAA3BA,EAASzuF,KAAKjB,UACd0vF,EAASzuF,KAAK4D,QAAQ7c,MAAMn0D,GAAMA,EAAE+R,KAAK/O,QAAU44J,EAAgBT,YAAY3iG,aAE/E,QAUZ,GALwB9yD,KAAKu1J,cACzBW,EAAgBT,YAAY9oF,WAC5BupF,EAAgBT,YAAYxpF,WAC5Bq8E,GAGA,OAGJ,MAAMoN,EAAsB11J,KAAK21J,qCACS,QAAtC,EAAAO,EAAgBT,YAAYxpF,kBAAU,QAAIiqF,EAAgBT,YAAY9oF,WACtEupF,EAAgBT,YAAY3iG,WAC5B8gG,EACAsC,EAAgBT,YAAY9oF,WAC5BupF,EAAgBroF,YAChBqoF,EAAgBT,YAAY55F,UAGhC77D,KAAKghJ,WAAWsH,EAAS,CACrBj8I,KAAM6pJ,EAAgBT,YAAY9oF,WAClCR,MAAOynF,EACPj5E,OAAQu7E,EAAgBv7E,OACxBxtD,KAA8B,QAAxB,EAAA+oI,EAAgB9F,gBAAQ,QAAIwF,GAAsCM,EAAgB/oI,MACxFxL,OAAQu0I,EAAgBT,YAAYxpF,WACpCoiF,cAAeqH,EAAoBrH,cACnCrxH,MAAO04H,EAAoB14H,cAKvCh9B,KAAKszJ,UAAUzE,oBAAsB7uJ,KAAKqzJ,WAAW7yE,4BAA8B3gE,EAG/E21I,qBACJrpF,EACAjtE,EACA40J,GAKA,IAAKA,EAAe1vI,IAAI+nD,EAAM2pF,YAAa,CACvC,MAAMhyI,EAAM,IAAIhG,IAGhB,OAFAgG,EAAI3e,IAAIgnE,EAAM4pF,aAAc72J,QAC5B40J,EAAe3uJ,IAAIgnE,EAAM2pF,WAAYhyI,GAIzC,MAAMA,EAAMgwI,EAAevvJ,IAAI4nE,EAAM2pF,YACrC,IAAKhyI,EAAIM,IAAI+nD,EAAM4pF,cAEf,YADAjyI,EAAI3e,IAAIgnE,EAAM4pF,aAAc72J,GAIhC,MAAMk3J,EAAetyI,EAAIvf,IAAI4nE,EAAM4pF,cAChB/1J,KAAKq2J,wBAAwBD,EAAcl3J,IAC5C,GAMlB4kB,EAAI3e,IAAIgnE,EAAM4pF,aAAc72J,GAGxBm3J,wBAAwB9wH,EAAuBC,GACnD,MAAM8wH,EAAkB/wH,EAAKsoC,YAAcroC,EAAMqoC,YACjD,GAAwB,IAApByoF,EACA,OAAOA,EAGX,MAAMC,EAAgBhxH,EAAKkwH,YAAYR,SAAWzvH,EAAMiwH,YAAYR,SACpE,OAAsB,IAAlBsB,EACOA,EAGPhxH,EAAKo1C,SAAWn1C,EAAMm1C,QACd,GAGPp1C,EAAKo1C,QAAUn1C,EAAMm1C,OACf,EAGJ,IAAgCp1C,EAAKkwH,YAAY9oF,WAAYnnC,EAAMiwH,YAAY9oF,YAGlFqoF,0BAA0Bn5F,GAC9B,MAAMiP,EAAc9qE,KAAKuzJ,kBAAkBjpF,cAAc/lE,IAAIs3D,GAC7D,GAAIiP,EACA,MAAO,CACHA,EAAYE,WACZrB,GAAemB,GACf,CACIhB,WAAY,EACZC,oBAAoB,EACpBiB,WAAYF,EAAYE,aAG7B,CACH,MAAM6E,EAAoB7vE,KAAKw2J,kCAAkC36F,GACjE,MAAO,CACHgU,EAAkB7E,WAClB4E,GAAoCC,GACpCA,IAKJgmF,gBAAgBh6F,GAIpB,OAMA,SAA2B/pD,GACvB,MAAMk5D,EAAal5D,EAAOk5D,WAC1B,IAAKA,EACD,OAGJ,MAAM7gD,EAAQ6gD,EAAWjqE,YAAY,KAC/B01J,EAAiBtsI,EAAQ,EAAI6gD,EAAWxkC,UAAUrc,EAAQ,QAAKrrB,EAC/DmtE,EAAa9hD,EAAQ,EAAI6gD,EAAWxkC,UAAU,EAAGrc,QAASrrB,EAChE,MAAO,CACHg0D,WAAY2jG,EACZ9pF,WAAY8pF,UAAkBzrF,EAC9BiB,aACApQ,WACAo5F,SAAU,EAA8BjqF,EAAY,KACpD6E,kBAAmB/9D,GApBhB4kJ,CADE,aAHA/9F,GAAmBD,GAAYmD,IAIf77D,KAAKw2J,kCAAkCniG,EAAiBwH,IAG5D77D,KAAKw2J,kCAAkC36F,IAsB5Dy5F,WAAW3B,EAActnJ,EAAcghJ,GAC3C,GAAwB,IAApBA,EACA,OAAOsG,IAAStnJ,EAGpB,GAAIsnJ,EAAK34J,QAAU,GAAKqR,EAAKrR,QAAU,EACnC,OAAO,EAGX,IAAKgF,KAAKumB,SAASowI,eAAgB,CAC/B,MAAMxsI,EAAoB,MAAZwpI,EAAK,IAA0B,MAAZtnJ,EAAK,IAAcA,EAAKrR,OAAS,EAAI,EAAI,EAC1E,OAAI24J,EAAK,GAAG3gG,sBAAwB3mD,EAAK8d,GAAO6oC,qBAIzC,EAA8B2gG,EAAMtnJ,GAG/C,OAAOrM,KAAKumB,SAASowI,eAAehD,EAAMtnJ,GAGtCuqJ,eAAevqJ,GACnB,OAAOrM,KAAKmzJ,UAAU/uI,IAAI/X,EAAM84I,GAAc0R,8BAE1CtB,cAAclpJ,EAAcsV,EAA4B2mI,GAC5D,GAAItoJ,KAAK42J,eAAevqJ,GACpB,OAAO,EAGX,MAAMolD,EAAQ62F,EAAQ/jJ,IAAI8H,GAC1B,SAAIolD,aAAK,EAALA,EAAOhD,MAAM/pC,GAAMA,EAAE/C,SAAWA,KAUhC60I,kCAAkC36F,GACtC,OAAO77D,KAAKupH,gBAAgBryC,uBAAuBrb,EAAU77D,KAAKizJ,kBAG9D0C,qCACJ3qF,EACA2B,EACAinF,EACAvF,EACAxgF,EACAhS,G,gBAGA,MAAMgQ,EAAkB7rE,KAAKuzJ,kBAAkBjpF,cAAc/lE,IAAIs3D,GACjE,GAAIgQ,EAAiB,CAEjB,GAAsC,KAAlCA,EAAgBnE,KAAKjB,SAAmC,CAGxD,MAAMqqF,EAA4C,QAA9B,EAAuB,QAAvB,EAAAjlF,EAAgBd,eAAO,eAAEoB,aAAK,eAAE7uE,MACpD,GAAIqvE,EAGA,MAAO,CACH0hF,cAAe,GAAGyC,UAAejlF,EAAgBb,cAAc2B,IAC/D3vC,MAAO,IAER,GAAI8zH,EAGP,MAAO,CACHzC,cAAe,GAAGyC,IAClB9zH,MAAO,IAMnB,GACI2vC,GACkC,KAAlCd,EAAgBnE,KAAKjB,WACpBoF,EAAgBnE,KAAKsE,iBACxB,CAEE,MAAM8qF,EAAajrF,EAAgBnE,KAAK4D,QAAQC,MAAMjxE,GAAMA,EAAE+R,KAAK/O,QAAUqvE,IAC7E,GAAImqF,EAAY,CAGZ,MAAMhG,EAA8B,QAAhB,EAAAgG,EAAW3qF,aAAK,eAAE7uE,MACtC,MAAO,CACH+wJ,cAAe,GAAGyC,UAAenkF,IACjC3vC,MAAO,IAOf,GAAIguC,IAAea,EAAgBb,WAC/B,MAAO,CACHqjF,cAAeuF,UAAiBvF,EAChCrxH,MAAOh9B,KAAKumB,SAASujI,cACfhrJ,EACA6sE,GACI,CAAEt/D,KAAMsgE,EAAYR,MAAOynF,GAC3B/nF,EACA7rE,KAAKujJ,sBAKxB,GAAI52E,EAAY,CAGnB,MAAMwpF,EAAWn2J,KAAKuzJ,kBAAkBlpF,eAAekB,MAAMjxE,GAAMA,EAAE0wE,aAAeA,IACpF,GAAImrF,GAAuC,KAA3BA,EAASzuF,KAAKjB,WAA0C0vF,EAASzuF,KAAKsE,iBAAkB,CACpG,MAAMC,EAAakqF,EAASzuF,KAAK4D,QAAQC,MAAMjxE,GAAMA,EAAE+R,KAAK/O,QAAUqvE,IACtE,IAAIV,EAYA,MAAO,CACHoiF,cAAeuF,UAAiBvF,EAChCrxH,MAAOh9B,KAAKumB,SAASujI,cACfhrJ,EACA6sE,GACI,CAAEt/D,KAAMsgE,EAAYR,MAAOynF,GAC3BuC,EACAn2J,KAAKujJ,gBAnBP,CAGZ,MAAMuN,EAA8B,QAAhB,EAAA7kF,EAAWE,aAAK,eAAE7uE,MACtC,GAAIwzJ,EACA,MAAO,CACHzC,cAAe,GAAGyC,IAClB9zH,MAAO,KAmBvB,MAAMivC,EAAmD,QAAtC,EAAAjsE,KAAKuzJ,kBAAkBpoF,uBAAe,eAAE5mE,IAAIs3D,GAC/D,GAAIoQ,EAAY,CAGZ,MAAM6kF,EAA8B,QAAhB,EAAA7kF,EAAWE,aAAK,eAAE7uE,MACtC,MAAO,CACH+wJ,cAAe,GAAGyC,UAAe7kF,EAAW5/D,KAAK/O,SAASqvE,IAC1D3vC,MAAO,KAKnB,MAAO,CACHqxH,cAAeuF,UAAiBvF,EAChCrxH,MAAOh9B,KAAKumB,SAASujI,cACfhrJ,EACA6uE,GACI,CAAEthE,KAAMsgE,EAAYR,MAAOynF,GAC3B5zJ,KAAKuzJ,kBACLvoF,EACA6C,EACA7tE,KAAKujJ,cACLvjJ,KAAKkzJ,sBAKfkC,gBAAgBF,EAAoCC,GACpDD,EAAiBv6E,OACjB36E,KAAKszJ,UAAUvE,cACRoG,GACPn1J,KAAKszJ,UAAUtE,aAIfhO,WAAWsH,EAA8BtoI,GAC7C,IAAI4I,EAAU0/H,EAAQ/jJ,IAAIyb,EAAO3T,MAC5Buc,IACDA,EAAU,GACV0/H,EAAQnjJ,IAAI6a,EAAO3T,KAAMuc,IAG7BA,EAAQvtB,KAAK2kB,IAIrB,SAASw0I,GAAuCL,EAA4BgB,GACxE,MAAO,CACH7vI,QAAQgD,GACJ6rI,EAAa4C,QAAQzxI,SAASpmB,IACrBA,EAAK83J,mBAIV1uI,EACI,CACIwoI,YAAa5xJ,EAAKitE,MAClBh/C,KAAMjuB,EAAKiuB,KACXijI,SAAUlxJ,EAAKkxJ,UAEnBlxJ,EAAKmN,KACL8oJ,QAOb,SAASS,GAAsCzoI,GAClD,OAAQA,GACJ,KAAK,GAAA0R,WAAA,KACD,OAAO,GAAAb,mBAAA,KAEX,KAAK,GAAAa,WAAA,OACL,KAAK,GAAAA,WAAA,UACD,OAAO,GAAAb,mBAAA,OAEX,KAAK,GAAAa,WAAA,QACD,OAAO,GAAAb,mBAAA,OAEX,KAAK,GAAAa,WAAA,MACD,OAAO,GAAAb,mBAAA,MAEX,KAAK,GAAAa,WAAA,OACD,OAAO,GAAAb,mBAAA,OAEX,KAAK,GAAAa,WAAA,SACD,OAAO,GAAAb,mBAAA,SAEX,KAAK,GAAAa,WAAA,MACD,OAAO,GAAAb,mBAAA,MAEX,KAAK,GAAAa,WAAA,YACD,OAAO,GAAAb,mBAAA,YAEX,KAAK,GAAAa,WAAA,KACD,OAAO,GAAAb,mBAAA,KAEX,KAAK,GAAAa,WAAA,UACD,OAAO,GAAAb,mBAAA,UAEX,KAAK,GAAAa,WAAA,SACD,OAAO,GAAAb,mBAAA,SAEX,KAAK,GAAAa,WAAA,SACL,KAAK,GAAAA,WAAA,MACD,OAAO,GAAAb,mBAAA,SAEX,KAAK,GAAAa,WAAA,OACD,OAAO,GAAAb,mBAAA,SAEX,KAAK,GAAAa,WAAA,OACL,KAAK,GAAAA,WAAA,QACD,OAAO,GAAAb,mBAAA,MAEX,KAAK,GAAAa,WAAA,SACL,KAAK,GAAAA,WAAA,KACD,OAAO,GAAAb,mBAAA,SAEX,KAAK,GAAAa,WAAA,OACL,KAAK,GAAAA,WAAA,IACD,OAAO,GAAAb,mBAAA,MAEX,KAAK,GAAAa,WAAA,WACD,OAAO,GAAAb,mBAAA,WAEX,KAAK,GAAAa,WAAA,OACD,OAAO,GAAAb,mBAAA,OAEX,KAAK,GAAAa,WAAA,MACD,OAAO,GAAAb,mBAAA,MAEX,KAAK,GAAAa,WAAA,SACD,OAAO,GAAAb,mBAAA,SAEX,KAAK,GAAAa,WAAA,cACD,OAAO,GAAAb,mBAAA,cAEX,QACI,QCn3BL,MAAMi5H,GACT,6BACInkG,EACAkV,EACA8pD,EACA9wG,GAIA,GAFA,GAA6BA,GAEJ,IAArBgnD,EAAYhpE,MAA0D,IAArBgpE,EAAYhpE,KAQ7D,MAPoC,CAChCqN,KAAMymD,EACN3lC,KAAM+pI,GAAclvF,EAAa8pD,GACjCt3F,IAAKwtC,EAAYj5D,KACjBtC,MAAOu7D,EAAYv7D,MACnBs3B,eAAgBikC,EAAYv7D,OAQxC,sCACIovD,EACA/I,EACAkV,EACA8D,EACAgmD,EACA9wG,GAEA,GAA6BA,GAE7B,MASMm2I,EATa,IAAIC,GACnBv7F,EACA/I,EACAkV,EACA8D,EACAgmD,EACA9wG,GAG6Bq2I,YAEjC,OAAOF,EAAcn8J,OAAS,EAAIm8J,OAAgBr4J,EAGtD,sCACIkpE,EACA8D,EACAgmD,EACA9wG,GAKA,IAAIs2I,EACJ,GAJA,GAA6Bt2I,GAIJ,IAArBgnD,EAAYhpE,KACZs4J,EAAYtvF,EAAYN,UACrB,GAAyB,IAArBM,EAAYhpE,KAAgC,CAEnD,MAAMivG,EAAY6jB,EAAUoF,sBAAsBlvD,GAClD,GAAIimC,GAAa/H,GAAoB+H,GAAY,CAI7C,MAAMspD,EAAmB12C,GACrB5S,EACA,WACA,IAIJ,GAAIspD,EAAkB,CAClB,MAAMC,EAAiB1lC,EAAU2lC,gBAAgBF,GACjD,GAAIC,GAAkB1wD,GAAW0wD,GAAiB,CAC9C,MAAME,EAAYH,EAAiB58E,OAAOy+B,kBAC1C,GAAIs+C,GAAaA,EAAU18J,OAAS,EAAG,CACnC,MAAM28J,EAAkBD,EAAU,GACL,IAAzBC,EAAgB34J,OAChBs4J,EAAYK,EAAgBjwF,UAQpD,IAAK4vF,EACD,OAGJ,MAEMM,EAFa,IAAIC,GAA2BP,EAAWxrF,EAAcgmD,EAAW9wG,GAErDq2I,YAEjC,OAAOO,EAAc58J,OAAS,EAAI48J,OAAgB94J,EAGtD,4BAA4B0hJ,EAA6B94E,GAIrD,IAAIowF,EAAatX,EAAa,GAC9B,IAAK,MAAMt4E,KAAQs4E,EACf,IAAI,GAAuCt4E,KAAU,GAAuC4vF,MACtE,IAAd5vF,EAAKlpE,MAAmD,IAAdkpE,EAAKlpE,QAC/C84J,EAAa5vF,EAITA,EAAKR,OAASA,GACd,MAMhB,OAAOowF,GAIf,MAAMD,WAAmC,GAGrC5rJ,YACY8rJ,EACAxU,EACA95B,EACAu2B,GAER9zI,QALQ,KAAA6rJ,aACA,KAAAxU,gBACA,KAAA95B,aACA,KAAAu2B,qBANJ,KAAAgY,eAA8C,GAWtDX,YAEI,OADAr3J,KAAK+vF,KAAK/vF,KAAK+3J,YACR/3J,KAAKg4J,eAGPjnE,UAAUrpB,GAGf,IAAIuwF,EAQJ,GAVA,GAA6Bj4J,KAAKggJ,oBAIG,KAAjCt4E,EAAKhB,eAAeD,SACpBwxF,EAAWvwF,EAAKhB,eACwB,KAAjCgB,EAAKhB,eAAeD,WAC3BwxF,EAAWvwF,EAAKhB,eAAeW,YAG/B4wF,EAAU,CACV,MAAMzX,EAAexgJ,KAAKypH,WAAWmC,2BAA2BqsC,GAE5DzX,GAIAA,EAAal7H,SAAS4iD,IAClBloE,KAAKk4J,+BAA+BD,EAAW/vF,MAK3D,OAAO,EAGFyqB,kBAAkBjrB,GACvB,GAA6B1nE,KAAKggJ,oBAKlC,MAAMmY,EAAen4J,KAAKypH,WAAW8D,QAAQ7lD,EAAKhB,gBAgClD,OA/BIyxF,GACA/7C,GAAiB+7C,GAAeryD,IAC5B,IAAIyvB,EAAWzvB,EAKf,GAFAyvB,EAAWv1H,KAAKypH,WAAWo/B,6BAA6BtzB,IAEnDpvB,GAAgBovB,GACjB,OAGJ,MAAM6iC,EAAax3C,GAAmB2U,EAAU7tD,EAAKL,WAAW/pE,OAChE,IAAK86J,EACD,OAGJ,MAAMC,EAAar4J,KAAKypH,WAAWguC,gBAAgBW,GAC7CE,EAAgBF,EAAWz9E,OAAOy+B,kBAEnCi/C,GAIDlyD,GAAgBkyD,IAAezzD,GAAU6L,gBAAgB4nD,IACzDC,EAAchzI,SAAS4iD,IACnBloE,KAAKk4J,+BAA+BxwF,EAAKL,WAAYa,UAM9D,EAGHgwF,+BAA+BD,EAAoBjwF,GACvD,MAAMolD,EAAeptH,KAAKypH,WAAW4D,wBAAwBrlD,GAAqC,GAClG,IAAKolD,EACD,OAGJ,GAA0B,IAAtBA,EAAapuH,MAA2D,IAAtBouH,EAAapuH,KAC/D,OAGJ,MAAMu5J,EAA8B,CAChClsJ,KAAM4rJ,EAAS36J,MACf6vB,KAAM+pI,GAAc9pC,EAAcptH,KAAKypH,YACvCjvF,IAAK4yF,EAAar+G,KAClBtC,MAAO2gH,EAAa3gH,MACpBs3B,eAAgBqpF,EAAa3gH,OAKjC,IAAI+rJ,EAAsDx4J,KAAKg4J,eAAezsF,MACzEktF,GAAaA,EAASvoJ,GAAGsqB,MAAQ+9H,EAAS/9H,KAAOuqC,GAAe0zF,EAASvoJ,GAAGzD,MAAO8rJ,EAAS9rJ,SAG5F+rJ,IACDA,EAAe,CACXtoJ,GAAIqoJ,EACJG,WAAY,IAEhB14J,KAAKg4J,eAAe38J,KAAKm9J,IAG7B,MAAMG,EAAmBpzF,GACrB0yF,EAASn8J,MACTm8J,EAASn8J,MAAQm8J,EAASj9J,OAC1BgF,KAAKujJ,cAAcp2E,gBAAgB3lB,OAEvCgxG,EAAaE,WAAWr9J,KAAKs9J,IAIrC,MAAMvB,WAAmC,GAGrCnrJ,YACYy3I,EACA3D,EACA6Y,EACArV,EACA95B,EACAu2B,GAER9zI,QAPQ,KAAAw3I,YACA,KAAA3D,cACA,KAAA6Y,eACA,KAAArV,gBACA,KAAA95B,aACA,KAAAu2B,qBARJ,KAAA6Y,eAA8C,GAatDxB,YAEI,OADAr3J,KAAK+vF,KAAK/vF,KAAKujJ,cAAcr5E,WACtBlqE,KAAK64J,eAGP9nE,UAAUrpB,GAGf,IAAIuwF,EASJ,GAXA,GAA6Bj4J,KAAKggJ,oBAIG,KAAjCt4E,EAAKhB,eAAeD,SACpBwxF,EAAWvwF,EAAKhB,eACwB,KAAjCgB,EAAKhB,eAAeD,WAC3BwxF,EAAWvwF,EAAKhB,eAAeW,YAI/B4wF,GAAYA,EAAS36J,QAAU0C,KAAK+/I,YAAa,CACjD,MAAMS,EAAexgJ,KAAKypH,WAAWmC,2BAA2BqsC,GAE5DzX,GACsBA,EACjB18H,KAAKokD,GACKloE,KAAKypH,WAAW4D,wBAAwBnlD,GAA8B,KAEhFrf,QAAQqf,QAAkBppE,IAATopE,IACJzZ,MAAMyZ,GAAS,GAAqCA,EAAOloE,KAAK44J,iBAC9E54J,KAAK84J,+BAA+Bb,GAKhD,OAAO,EAGFtlE,kBAAkBjrB,GAGvB,GAFA,GAA6B1nE,KAAKggJ,oBAE9Bt4E,EAAKL,WAAW/pE,QAAU0C,KAAK+/I,YAAa,CAI5C,MAAMoY,EAAen4J,KAAKypH,WAAW8D,QAAQ7lD,EAAKhB,gBAC9CyxF,GACA/7C,GAAiB+7C,GAAeryD,IAC5B,IAAIyvB,EAAWzvB,EAKf,GAFAyvB,EAAWv1H,KAAKypH,WAAWo/B,6BAA6BtzB,IAEnDpvB,GAAgBovB,GACjB,OAGJ,MAAM6iC,EAAax3C,GAAmB2U,EAAU7tD,EAAKL,WAAW/pE,OAChE,IAAK86J,EACD,OAGJ,MAAMC,EAAar4J,KAAKypH,WAAWguC,gBAAgBW,GAC7CE,EAAgBF,EAAWz9E,OAAOy+B,kBAEnCi/C,GAIDC,EAAc7pG,MAAMyZ,GAAS,GAAqCA,EAAOloE,KAAK44J,iBAC9E54J,KAAK84J,+BAA+BpxF,EAAKL,eAMzD,OAAO,EAGHyxF,+BAA+Bb,GACnC,MAAMc,EAAgB,GAAqCd,GAC3D,IAAKc,EACD,OAGJ,IAAIC,EACJ,GAA+B,KAA3BD,EAActyF,SAAmC,CACjD,MAAMwyF,EAAc1zF,GAAsB,EAAG,EAAGvlE,KAAKujJ,cAAcp2E,gBAAgB3lB,OAC7E+Q,EAAWG,GAAY14D,KAAK0jJ,WAElCsV,EAAa,CACT3sJ,KAAM,YAAYksD,IAClBprC,KAAM,GAAA0R,WAAA,OACNrE,IAAKx6B,KAAK0jJ,UACVj3I,MAAOwsJ,EACPl1H,eAAgBk1H,QAEjB,GAA+B,KAA3BF,EAActyF,SAAmC,CACxD,MAAMyyF,EAAc3zF,GAChBwzF,EAAcj9J,MACdi9J,EAAcj9J,MAAQi9J,EAAc/9J,OACpCgF,KAAKujJ,cAAcp2E,gBAAgB3lB,OAGvCwxG,EAAa,CACT3sJ,KAAM,WACN8gB,KAAM,GAAA0R,WAAA,SACNrE,IAAKx6B,KAAK0jJ,UACVj3I,MAAOysJ,EACPn1H,eAAgBm1H,OAEjB,CACH,MAAMC,EAAgB5zF,GAClBwzF,EAAc1sJ,KAAKvQ,MACnBi9J,EAAc1sJ,KAAKvQ,MAAQi9J,EAAc1sJ,KAAKrR,OAC9CgF,KAAKujJ,cAAcp2E,gBAAgB3lB,OAGvCwxG,EAAa,CACT3sJ,KAAM0sJ,EAAc1sJ,KAAK/O,MACzB6vB,KAAM,GAAA0R,WAAA,SACNrE,IAAKx6B,KAAK0jJ,UACVj3I,MAAO0sJ,EACPp1H,eAAgBo1H,GAMxB,IAAIC,EAAsDp5J,KAAK64J,eAAettF,MACzE8tF,GAAaA,EAASh8J,KAAKm9B,MAAQw+H,EAAWx+H,KAAOuqC,GAAes0F,EAASh8J,KAAKoP,MAAOusJ,EAAWvsJ,SAGpG2sJ,IACDA,EAAe,CACX/7J,KAAM27J,EACNN,WAAY,IAEhB14J,KAAK64J,eAAex9J,KAAK+9J,IAG7B,MAAMT,EAAmBpzF,GACrB0yF,EAASn8J,MACTm8J,EAASn8J,MAAQm8J,EAASj9J,OAC1BgF,KAAKujJ,cAAcp2E,gBAAgB3lB,OAEvC4xG,EAAaV,WAAWr9J,KAAKs9J,IAIrC,SAASzB,GAAclvF,EAA0B8pD,GAC7C,IAAIwnC,EAEJ,OAAQtxF,EAAYhpE,MAChB,KAAK,EACL,KAAK,EACDs6J,EAAa,GAAAz6H,WAAA,MACb,MAEJ,KAAK,EACD,GAAImpC,EAAYojD,SAAU,CACtB,MAAMu3B,EAAW7wB,EAAUoF,sBAAsBlvD,GAE7CsxF,EADA3W,GAAYhjC,GAAWgjC,GACV,GAAA9jH,WAAA,SAEA,GAAAA,WAAA,YAGjBy6H,EAAa,GAAAz6H,WAAA,SAEjB,MAEJ,QACIy6H,EAAa,GAAAz6H,WAAA,SAIrB,OAAOy6H,EChcJ,MAAMC,GAGTttJ,YACautJ,EACAC,EACA3mG,EACA0tF,EACQkZ,GAJR,KAAAF,uBACA,KAAAC,eACA,KAAA3mG,aACA,KAAA0tF,eACQ,KAAAkZ,YAPJ,KAAAC,WAA8B,GAU/C,gBACI,OAAO35J,KAAK25J,WAGhBC,gBAAgBC,GACQ,IAAhBA,EAAK7+J,SAILgF,KAAK05J,WACL15J,KAAK05J,UAAUG,GAGnB75J,KAAK25J,WAAWt+J,QAAQw+J,KAIzB,MAAMC,GACT7tJ,YACYs3I,EACAG,EACAqW,EACAC,EACAvwC,EACAu2B,GALA,KAAAuD,gBACA,KAAAG,YACA,KAAAqW,oBACA,KAAAC,sBACA,KAAAvwC,aACA,KAAAu2B,qBAGZia,eAAeC,EAAWl6J,KAAKujJ,cAAcr5E,WACzC,MAAMiwF,EAAY,IAAIra,GAClB9/I,KAAK+5J,kBAAkBjnG,WACvB9yD,KAAK+5J,kBAAkBvZ,aACvBxgJ,KAAKypH,WACLzpH,KAAKggJ,mBACLka,GACkD,GAGhD5R,EAA2B,GACjC,IAAK,MAAMtoI,KAAUm6I,EAAUzZ,WAEvB1gJ,KAAKg6J,qBAAuBh6I,EAAO0nD,OAAS1nE,KAAK+5J,kBAAkBN,eACnEnR,EAAQjtJ,KAAK,CACT0T,KAAM/O,KAAK0jJ,UACXj3I,MAAO,CACH3Q,MAAOmpE,GAAwBjlD,EAAOvT,MAAM3Q,MAAOkE,KAAKujJ,cAAcp2E,gBAAgB3lB,OACtFzrD,IAAKkpE,GACDT,GAAUmB,OAAO3lD,EAAOvT,OACxBzM,KAAKujJ,cAAcp2E,gBAAgB3lB,UAOvD,OAAO8gG,GAIR,MAAM8R,GACT,6BACIrjC,EACAl7D,EACA6L,EACAoqD,EACAuoC,EACAr5I,GAEA,GAA6BA,GAE7B,MAAMw/H,EAAeV,GAAwBW,uBACzC/4E,EACAoqD,GACwB,EACxB9wG,EACA+1G,GAGJ,GAA4B,IAAxBypB,EAAaxlJ,OACb,OAMJ,MAAMw+J,EAAuBhZ,EAAa/xF,MAAMyZ,I,QAE5C,GAAIA,EAAKn5D,OAAS8sD,EACd,OAAO,EAGX,MAAMy+F,EAAY,GAAsCpyF,EAAKR,MAI7D,OAA2B,KAAvB4yF,EAAU7zF,UAA4D,KAAvB6zF,EAAU7zF,UAM9B,MAAV,QAAjB,EAAS,QAAT,EAAAyB,EAAKR,YAAI,eAAEviC,cAAM,eAAEshC,WACnByB,EAAKR,OAASQ,EAAKR,KAAKviC,OAAOkiC,cAQvC,OAAO,IAAIkyF,GAAiBC,EAAsB9xF,EAAMA,EAAKpqE,MAAOkjJ,EAAc6Z,GAGtF,iCACItjC,EACAjrD,EACAjQ,EACAp/B,EACAq1F,EACAuoC,EACAr5I,GAEA,GAA6BA,GAE7B,MAAMtf,EAAS,GAAwB+6B,EAAUqvC,EAAaqB,gBAAgB3lB,OAC9E,QAAe1oD,IAAX4C,EACA,OAGJ,MAAMgmE,EAAO,GAAgCoE,EAAa5B,UAAWxoE,GACrE,YAAa5C,IAAT4oE,GAKkB,KAAlBA,EAAKjB,SAIFzmE,KAAKu6J,sBAAsBxjC,EAAcl7D,EAAU6L,EAAMoqD,EAAWuoC,EAAUr5I,QATrF,EAYJ,qBACI8qD,EACAjQ,EACA2+F,EACAC,EACA3oC,EACA9wG,GAEA,MAAM05I,EAAgB,IAAIZ,GACtBhuF,EACAjQ,EACA2+F,EACAC,EACA3oC,EACA9wG,GAGJw5I,EAAiBZ,gBAAgBc,EAAcT,mBClHvD,IAAKU,GC+CMv1H,GCnGCw1H,GCDAC,GCwJKC,GAsBAC,GAmBAC,GA4BAC,GA4BAC,GAmBAC,GA8BAC,GA+BAC,GA4BAC,GAmBAC,IJnUjB,SAAKZ,GACD,mBACA,uBACA,uBAHJ,CAAKA,QAAU,KAMR,MAAMa,GA2IT,YACYC,EACAhyC,EACAiyC,EACRC,EACQC,EACAC,EACA13I,EACA40F,EACAt9F,GAQR,GAhBQ,KAAAggJ,MACA,KAAAhyC,aACA,KAAAiyC,kBAEA,KAAAE,qBACA,KAAAC,wBACA,KAAA13I,QACA,KAAA40F,gBACA,KAAAt9F,SAZK,KAAA0kI,SAAW,IAAIriI,IACf,KAAAg+I,iBAAmB,IAAIhrH,IAcpC9wC,KAAK+7J,mBAAqBzlG,GAAaqlG,GAEvC37J,KAAKg8J,aAAeh8J,KAAKi8J,YAAY1uJ,MAAM,KAC3CvN,KAAKk8J,gBAAkBl8J,KAAKm8J,eAAe5uJ,MAAM,KAE7CvN,KAAKg8J,aAAahhK,SAAWgF,KAAKk8J,gBAAgBlhK,OAElD,YADAgF,KAAKo8J,kBAAmB,GAI5B,IAAI9hK,EAAI,EACR,IAAKA,EAAI,EAAGA,EAAI0F,KAAKg8J,aAAahhK,OAAS,GACnCgF,KAAKg8J,aAAa1hK,KAAO0F,KAAKk8J,gBAAgB5hK,GADRA,KAM9C0F,KAAKo8J,iBAAmB9hK,IAAM0F,KAAKg8J,aAAahhK,OAAS,EACzD82D,EAAO9xD,KAAKmkB,QAAUw2I,GAAWp4H,QAAUviC,KAAKo8J,iBAAkB,4CAxKtE,uBACIC,EACAhrF,EACAygD,EACA/iH,EACAutJ,EACAt7I,GAEA,GAAKq7I,EAAer9F,WAAWhJ,WAAWjnD,GAA1C,CAIA,GAAI+pD,GAAOujG,EAAer9F,WAAYjwD,GAClC,OAAO/O,KAAKu8J,QAAQF,EAAgBhrF,EAAeygD,EAAW/iH,EAAMutJ,EAAS3B,GAAWt4H,KAAMrhB,GAC3F,GAAI43C,GAAYyjG,EAAer9F,WAAYjwD,GAAO,CAErD,GAAyE,YlDo1B9E,SACH6mD,EACA4mG,EACAC,GAEA,GAAI7mG,EAAG2L,aAAai7F,KAAkB5mG,EAAG2L,aAAak7F,GAClD,MAAO,OAGX,MAAMpsF,EAAgB1Y,GAAuC6kG,EAAcC,GAAenlH,GAAMse,EAAG2L,aAAajqB,KAGhH,OAA6B,IAAzB+4B,EAAcr1E,QAAqC,OAArBq1E,EAAc,IAAoC,OAArBA,EAAc,GAClE,UAGJ,QkDp2BKqsF,CAAuBL,EAAer9F,WAAYjwD,EAAMutJ,GACxD,OAKJ,IAAIK,EAAqB5mG,GAAahnD,EAAM,gBAC5C,IAAKstJ,EAAer9F,WAAWhJ,WAAW2mG,KACtCA,EAAqB5mG,GAAahnD,EAAM,gBACnCstJ,EAAer9F,WAAWhJ,WAAW2mG,IACtC,OAIR,OAAO38J,KAAKu8J,QACRF,EACAhrF,EACAygD,EACA6qC,EACA5mG,GAAaumG,EAAS5jG,GAAYikG,IAClChC,GAAWp4H,OACXvhB,KAOZ,uBACIq7I,EACAhrF,EACAygD,EACA/iH,EACAutJ,EACA9b,EACAx/H,GAEA,IAAKq7I,EAAer9F,WAAWhJ,WAAWjnD,GACtC,OAGJ,MAAM6tJ,EAAgBpc,EAAa33F,QAC9Bt6C,GAAMq3E,GAAmBr3E,IAAMo3E,GAAsBp3E,IAAMu3E,GAAsBv3E,KAGtF,OAA6B,IAAzBquJ,EAAc5hK,OAIXgF,KAAKu8J,QACRF,EACAhrF,EACAygD,EACA/iH,EACAutJ,EACA3B,GAAWt+J,OACXugK,EACA57I,QAZJ,EAgBI,eACJq7I,EACAhrF,EACAygD,EACA+qC,EACAlB,EACA38J,EACA89J,EACA97I,GAEA,MAAM+hD,EAAUsO,EAAc0yE,oBAAoB8Y,GAC5C7xF,EAAaqxF,EAAenlF,uBAAuB2lF,EAAgB95F,GACzE,IAAKiI,EAAWA,WACZ,OAGJ,MAAM+xF,EAAgBV,EAAenlF,uBAAuBykF,EAAmB54F,GAC/E,IAAKg6F,EAAc/xF,WACf,OAGJhqD,EAAQ,GAAAxI,kBAAA,GAAqBskJ,GAAuBA,EAAsB97I,EAC1E,MAAMw/H,EAAe,GAAAhoI,kBAAA,GAAqBskJ,GAAuB,GAAKA,EAmBtE,OAlB4B,IAAxBtc,EAAaxlJ,SAGbwlJ,EAAanlJ,KAAKghG,GAAkCwgE,IAChDjoF,GAAWioF,KAEXR,EAAezoF,cACXipF,EACA95F,EACAiQ,GAA+BhI,EAAWA,aAG9CqxF,EACKjmF,uBAAuBymF,EAAgB95F,GAAyB,GAChEz9C,SAAS9S,GAAMguI,EAAcnlJ,KAAKghG,GAAkC7pF,QAI1E,IAAIgpJ,GACPa,EAAer9F,WACf8yD,EACA+qC,EACAlB,EACA3wF,EACA+xF,EACA/9J,EACAwhJ,EACAx/H,GA4CRg8I,iBAAiBnhG,EAAkBiQ,GAC/B,OAAQ9rE,KAAKmkB,OACT,KAAKw2I,GAAWp4H,OACZ,OAAOviC,KAAKi9J,wBAAwBphG,EAAUiQ,GAClD,KAAK6uF,GAAWt4H,KACZ,OAAOriC,KAAKk9J,wBAAwBrhG,EAAUiQ,GAClD,KAAK6uF,GAAWt+J,OACZ,OAAO2D,KAAKm9J,wBAAwBthG,EAAUiQ,GAClD,QACI,OAAO3Z,EAAYnyD,KAAKmkB,MAAO,GAAGnkB,KAAKmkB,qBAI3Cg5I,wBAAwBthG,EAAkBiQ,G,YAC9C,MAAMquF,EAAY,IAAIra,GAC2B,QAA7C,EAAA9jD,GAAuBh8F,KAAK+4G,cAAc,WAAG,QAAI,GACjD/4G,KAAK+4G,cACL/4G,KAAKypH,WACLzpH,KAAKyb,OACLqwD,EAAa5B,WAC0B,GAIrC0D,EAAmB3D,GAAmB6B,EAAa5B,WAAsC,GAIzFisF,EAAWvoF,EAAiBvD,eAAekB,MAAMjxE,GAAMA,EAAE0wE,aAAehrE,KAAKm8J,iBAE7EiB,EAAc,IAAItsH,IAClBusH,EAAa,IAAIv/I,IACvB,IAAK,MAAMkC,KAAUm6I,EAAUzZ,UAAW,CACtC,MAAM4c,EAAYt9I,EAAO0nD,KAEzB,GAA2B,KAAvB41F,EAAU72F,SAGV,SAGJ,GAAIk0B,GAAiB2iE,GAAY,CAE7B,MAAMC,EAA2B,QAAhB,EAAAD,EAAUn4H,cAAM,eAAEA,OAC7B43H,EAAgB/8J,KAAKw9J,kBACvB3hG,EACA0hG,EAASzrJ,OAAO29D,YAAc,GACH,GAG/B,GAAgC,IAA5B8tF,EAASjyF,QAAQtwE,OAEjBgF,KAAKy9J,wBAAwB5hG,EAAU0hG,EAASzrJ,OAAQg6D,EAAcixF,OACnE,CAKH,MAAM1xF,EAAeiyF,EAAUn4H,OAC/BnlC,KAAK09J,2BACD7hG,EACAiQ,EACAsxF,EACAG,EAASjyF,QACTD,GAIJ,MAAMO,EAAiB,CACnBv/D,KAAMg/D,EAAah/D,KAAK/O,MACxB6uE,MAAyB,QAAlB,EAAAd,EAAac,aAAK,eAAE7uE,OAG/B0C,KAAK29J,gBACD39J,KAAK49J,wCACD/hG,EACA0hG,EACAzxF,EACAsxF,EACAxvF,EACAmvF,EACA,CAACnxF,KAKb,SAGJ,MAAMiyF,EAAa7iE,GAAqCsiE,GACxD,GAAIO,IAAeP,GAAqC,KAAxBO,EAAWp3F,SAWvC,SAGJ,MAAMuE,EACqC,KAAvC6yF,EAAWn3F,eAAeD,SACpBo3F,EAAWn3F,eAAeW,WACa,KAAvCw2F,EAAWn3F,eAAeD,SAC1Bo3F,EAAWn3F,oBACX5nE,EACV,IAAKksE,EAGD,SAGJ,MAAM8yF,EACqC,QADxB,EAAA99J,KAAKypH,WACnBmC,2BAA2B5gD,UAAW,eACrCniB,QACGt6C,GACGw3E,GAAmBx3E,KACE,KAApBA,EAAEm5D,KAAKjB,UAA2D,KAApBl4D,EAAEm5D,KAAKjB,YAE7Dq3F,GAAoC,IAAtBA,EAAW9iK,QAO9Bg0D,EAASquG,EADQS,EAAW,GAAGp2F,MACA,IAAM,KAAIrsE,KAAKwiK,GAKlD,IAAK,MAAO77I,EAAK1kB,KAAU+/J,EAAY,CACnC,IAAIU,EACJ,GAAI/9J,KAAKg+J,sBAAsBlyF,EAAc9pD,EAAK1kB,GAAQ,CACtD,MAAM0tE,EAAahrE,KAAKi+J,wBAAwBrwF,EAAkBuoF,GAClE,GAAqB,KAAjBn0I,EAAIykD,SACAuE,GACA+yF,EAAsB/yF,EACtBhrE,KAAKk+J,uBACDriG,EACAiQ,EACAsxF,EACCp7I,EAAImjB,OAAsBlgC,KAC3B+c,KAGJ+7I,EAAsB/7I,EAAImqD,MAAQnqD,EAAImqD,MAAM7uE,MAAQ0C,KAAKm8J,eACzDn8J,KAAKy9J,wBAAwB5hG,EAAU75C,EAAIlQ,OAAQg6D,EAAc9rE,KAAKm8J,sBAG1E,GAAInxF,EACA+yF,EAAsB/yF,EACtBhrE,KAAK09J,2BACD7hG,EACAiQ,EACAsxF,EACCp7I,EAAImjB,OAA0BmmC,QAC/BtpD,OAED,CACH,MAAMu7I,EAAWv7I,EAAImjB,OACf43H,EAAgB/8J,KAAKw9J,kBACvB3hG,EACA0hG,EAASzrJ,OAAO29D,YAAc,GACH,GAG/BsuF,EAAsB/7I,EAAImqD,MAAQnqD,EAAImqD,MAAM7uE,MAAQ0C,KAAKm+J,mBACzDn+J,KAAKy9J,wBAAwB5hG,EAAU0hG,EAASzrJ,OAAQg6D,EAAcixF,GACtE/8J,KAAKy9J,wBAAwB5hG,EAAU75C,EAAI3V,KAAMy/D,EAAc9rE,KAAKm+J,yBAGzE,CACH,MAAMnzF,EAAahrE,KAAKi+J,wBAAwBrwF,EAAkBuoF,GAC9DnrF,EACA+yF,EAAsB/yF,GAEtB+yF,EAAsB/9J,KAAKm8J,eAC3Bn8J,KAAK29J,gBACDhwF,GACI,GACAC,EACA5tE,KAAKm8J,eACLvsF,GAAoC5vE,KAAK67J,uBACzC/vF,EACA7G,GAAwB6G,EAAa5B,UAAUlvE,OAAQ8wE,EAAaqB,gBAAgB3lB,QACtF1jC,KAAK7f,IAAM,CAAG43D,WAAUpvD,MAAOxI,EAAEwI,MAAOggE,gBAAiBxoE,EAAEwoE,sBAKzE,IAAK,MAAM/E,KAAQpqE,EACf0C,KAAKy9J,wBAAwB5hG,EAAU6L,EAAKhB,eAAgBoF,EAAciyF,IAK9EE,wBACJrwF,EACAuoF,G,QAEA,GAAIA,GAAuC,KAA3BA,EAASzuF,KAAKjB,SAC1B,OAAuB,QAAhB,EAAA0vF,EAASprF,eAAO,eAAEoB,OAAQgqF,EAASprF,QAAQoB,MAAM7uE,MAAQ0C,KAAKm8J,eAClE,GAAoC,QAAhC,EAAAvuF,EAAiBzC,uBAAe,eAAE/mD,IAAIpkB,KAAK+7J,oBAAqB,CACvE,MAAMqC,EAAexwF,EAAiBzC,gBAAgB5mE,IAAIvE,KAAK+7J,oBAC/D,OAAOqC,EAAajyF,MAAQiyF,EAAajyF,MAAM7uE,MAAQ8gK,EAAa/xJ,KAAK/O,OAMzE0gK,sBACJlyF,EACAI,EACAmyF,G,MAEA,MAAMC,EACY,QAAd,EAAApyF,EAASC,aAAK,QACS,KAAtBD,EAASzF,SACJyF,EAASp6D,OAAO49D,UAAUxD,EAASp6D,OAAO49D,UAAU10E,OAAS,GAC7DkxE,EAAS7/D,KAEbm0I,EAAeV,GAAwBW,uBACzC6d,EACAt+J,KAAKypH,YACgB,EACrBzpH,KAAKyb,QAET,GAA4B,IAAxB+kI,EAAaxlJ,OACb,OAAO,EAGX,MAAMm/J,EAAY,IAAIra,GAClBwe,EAAWhhK,MACXkjJ,EACAxgJ,KAAKypH,WACLzpH,KAAKyb,OACLqwD,EAAa5B,WAC0B,GAG3C,IAAK,MAAMlqD,KAAUm6I,EAAUzZ,UAC3B,KACInmD,GAAmBv6E,EAAO0nD,OAC1B+yB,GAAcz6E,EAAO0nD,OACrBgzB,GAAuB16E,EAAO0nD,OAC9BizB,GAAiB36E,EAAO0nD,OACxBkzB,GAAkB56E,EAAO0nD,OAMxB22F,EAAiB5vG,MAAMjgD,GAAMg2D,GAAUuB,cAAcv3D,EAAGwR,EAAO0nD,SAChE,OAAO,EAIf,OAAO,EAGHu1F,wBAAwBphG,EAAkBiQ,GAC9C,MAAMquF,EAAY,IAAIra,GAClB9/I,KAAKu+J,eACLv+J,KAAK+4G,cACL/4G,KAAKypH,WACLzpH,KAAKyb,OACLqwD,EAAa5B,WAC0B,GAK3C,IAAK,MAAMlqD,KAAUm6I,EAAUzZ,UAC3B1gJ,KAAKy9J,wBAAwB5hG,EAAU77C,EAAOvT,MAAOq/D,EAAc9rE,KAAKm+J,oBAIxEjB,wBAAwBrhG,EAAkBiQ,GAC9C,MAAMquF,EAAY,IAAIra,GAClB9/I,KAAKu+J,eACLv+J,KAAK+4G,cACL/4G,KAAKypH,WACLzpH,KAAKyb,OACLqwD,EAAa5B,WAC0B,GAGrCkzF,EAAc,IAAItsH,IAClBw3G,EAAU6R,EAAUzZ,UAG1B1gJ,KAAKw+J,wBAAwB3iG,EAAUiQ,EAAcsxF,EAAa9U,GAGlEtoJ,KAAKy+J,8BAA8B5iG,EAAUiQ,EAAcsxF,EAAa9U,GAGpEmW,8BACJ5iG,EACAiQ,EACAsxF,EACA9U,GAEA,GAAIzsF,IAAa77D,KAAK07J,gBAElB,OAGJ,IAAI9tF,EAGJ,IAAK,MAAMluC,KAAQ1/B,KAAK0+J,uCACpB7iG,EACA8iG,GAAoBje,QAAQ50E,EAAa5B,WAAWrhB,QAC/CpoD,IAAO6nJ,EAAQ75F,MAAM/pC,GAAM8/C,GAAUuB,cAActlE,EAAE0kC,OAASzgB,EAAEgjD,WAEtE,CAGC,GAFA1nE,KAAKy9J,wBAAwB5hG,EAAUn8B,EAAKsrC,WAAYc,EAAcpsC,EAAKq9H,gBAEtEr9H,EAAKk/H,YACN,SAQJ,MAAMrB,EAAW79H,EAAKsrC,WAAW7lC,OAGjC,IAAK,MAAMkmC,KAAgB3rC,EAAKk/H,YAC5B5+J,KAAK09J,2BAA2B7hG,EAAUiQ,EAAcsxF,EAAaG,EAASjyF,QAASD,GAG3FuC,EACIA,UAAoB3D,GAAmB6B,EAAa5B,WAAsC,GAI9FlqE,KAAK29J,gBACD39J,KAAK49J,wCACD/hG,EACA0hG,EACAzxF,EACAsxF,EACAxvF,EACAkC,GACI9vE,KAAKy7J,IACLz7J,KAAK+7J,mBACL/7J,KAAK+7J,oBACqB,GACT,GAErBr8H,EAAKk/H,YAAY96I,KAAKxpB,I,MAClB,MAAO,CAAE+R,KAAM/R,EAAE+R,KAAK/O,MAAO6uE,MAAc,QAAP,EAAA7xE,EAAE6xE,aAAK,eAAE7uE,aAOzDkhK,wBACJ3iG,EACAiQ,EACAsxF,EACA9U,G,cAEA,IAAI16E,EACJ,IAAK,MAAM5tD,KAAUsoI,EAAS,CAC1B,MAAMgV,EAAYt9I,EAAO0nD,KAEzB,GAA2B,KAAvB41F,EAAU72F,SAAmC,CAE7CzmE,KAAKy9J,wBAAwB5hG,EAAU77C,EAAOvT,MAAOq/D,EAAc9rE,KAAKm+J,oBACxE,SAGJ,GAAI5jE,GAAmB+iE,GAAY,CAC/B,IAAKziE,GAAuByiE,GAExB,SAGJ,MAAMuB,EAAiBrkE,GAA6B8iE,EAAW,IAiB/D,GACwC,IAApCuB,EAAenvF,UAAU10E,QACM,MAAV,QAArB,EAAA6jK,EAAe15H,cAAM,eAAEshC,YACtBo4F,EAAe15H,OAAOgnC,OACvBnsE,KAAKk8J,gBAAgBlhK,OAAS,EAChC,CACEgF,KAAK87J,iBAAiBl2I,IAAIi5I,EAAe15H,QAEzCnlC,KAAKy9J,wBACD5hG,EACAgjG,EACA/yF,EACA,GAAG9rE,KAAKm8J,qBAAqBn8J,KAAKm+J,sBAEtC,SAKJn+J,KAAKy9J,wBAAwB5hG,EAAUgjG,EAAgB/yF,EAAc9rE,KAAKm8J,gBAC1E,SAGJ,GAAI1hE,GAAc6iE,GAAY,CAE1Bt9J,KAAKy9J,wBAAwB5hG,EAAU77C,EAAOvT,MAAOq/D,EAAc9rE,KAAKm+J,oBACxE,SAGJ,GAAIzjE,GAAuB4iE,GAAY,CACnC,IAAKziE,GAAuByiE,GAExB,SAGJ,MAAMuB,EAAiBrkE,GAA6B8iE,EAAW,IACzDC,EAAWsB,EAAe15H,OAK1B25H,EAAkB,GAClBC,EAAa,GACnB,IAAK,MAAM1zF,KAAgBkyF,EAASjyF,QAC5BtrE,KAAKg/J,kBAAkB3zF,EAAah/D,MACpCyyJ,EAAgBzjK,KAAKgwE,GAErB0zF,EAAW1jK,KAAKgwE,GAIxB,GAA0B,IAAtB0zF,EAAW/jK,OAAc,CAIzBgF,KAAKy9J,wBACD5hG,EACAgjG,EACA/yF,EACA9rE,KAAKw9J,kBACD3hG,EACAgjG,EAAepvF,YAAc,GACF,IAGnC,SAGJ,GAA+B,IAA3BqvF,EAAgB9jK,OAIhB,SAMJ,GAAIuiK,EAASzrJ,OAAO29D,YAAc,EAC9B,IAAK,MAAM/vC,KAAQ1/B,KAAK0+J,uCAAuC7iG,EAAU,CAAC0hG,EAASzrJ,SAC/E9R,KAAKy9J,wBAAwB5hG,EAAUn8B,EAAKsrC,WAAYc,EAAcpsC,EAAKq9H,eAKnF,IAAK,MAAM1xF,KAAgByzF,EACvB9+J,KAAK09J,2BACD7hG,EACAiQ,EACAsxF,EACAG,EAASjyF,QACTD,GAIRuC,EACIA,UAAoB3D,GAAmB6B,EAAa5B,WAAsC,GAI9FlqE,KAAK29J,gBACD39J,KAAK49J,wCACD/hG,EACA0hG,EACAzxF,EACAsxF,EACAxvF,EACA5tE,KAAKm8J,eACL2C,EAAgBh7I,KAAKxpB,I,MAUjB,MAAO,CAAE+R,KARLi8I,EAAQ/4D,WAAW7qE,GAAMA,EAAEgjD,OAASptE,EAAE+R,QAAS,EACzCrM,KAAKm+J,mBACL7jK,EAAE+R,KAAK/O,MAMF6uE,MAJXm8E,EAAQ/4D,WAAW7qE,GAAMA,EAAEgjD,OAASptE,EAAE6xE,SAAU,EAC1CnsE,KAAKm+J,mBACE,QAAP,EAAA7jK,EAAE6xE,aAAK,eAAE7uE,YAM/B,SAGJ,GAAIq9F,GAAiB2iE,GAAY,CAC7B,GAAIF,EAAYh5I,IAAIk5I,EAAU1gJ,IAE1B,SAGJ,MAAM2gJ,EAA2B,QAAhB,EAAAD,EAAUn4H,cAAM,eAAEA,OAC7B43H,EAAgB/8J,KAAKw9J,kBACvB3hG,EACA0hG,EAASzrJ,OAAO29D,YAAc,GACH,GAM/B,GAAIzvE,KAAKg/J,kBAAkB1B,GAAY,CACnCt9J,KAAKy9J,wBAAwB5hG,EAAU77C,EAAOvT,MAAOq/D,EAAc9rE,KAAKm+J,oBACxE,SAGJ,GAAgC,IAA5BZ,EAASjyF,QAAQtwE,OAEjBgF,KAAKy9J,wBAAwB5hG,EAAU0hG,EAASzrJ,OAAQg6D,EAAcixF,GACtE/8J,KAAKy9J,wBAAwB5hG,EAAU77C,EAAOvT,MAAOq/D,EAAc9rE,KAAKm+J,wBACrE,CAEH,MAAM9yF,EAAeiyF,EAAUn4H,OAG/B,GAAIo4H,EAASzrJ,OAAO29D,YAAc,EAC9B,IAAK,MAAM/vC,KAAQ1/B,KAAK0+J,uCAAuC7iG,EAAU,CAAC0hG,EAASzrJ,SAC/E9R,KAAKy9J,wBAAwB5hG,EAAUn8B,EAAKsrC,WAAYc,EAAcpsC,EAAKq9H,eAInF/8J,KAAK09J,2BACD7hG,EACAiQ,EACAsxF,EACAG,EAASjyF,QACTD,GAGJuC,EACIA,UACA3D,GAAmB6B,EAAa5B,WAAsC,GAY1E,MAAM0B,EAAiB,CACnBv/D,KAAMrM,KAAKm+J,mBACXhyF,OACsB,QAAlB,EAAAd,EAAac,aAAK,eAAE7uE,SAAU0C,KAAKu+J,eAC7Bv+J,KAAKm+J,mBACa,QAAlB,EAAA9yF,EAAac,aAAK,eAAE7uE,OAGlC0C,KAAK29J,gBACD39J,KAAK49J,wCACD/hG,EACA0hG,EACAzxF,EACAsxF,EACAxvF,EACAmvF,EACA,CAACnxF,KAIb,SAGJ,GAAIgvB,GAAkB0iE,GAAY,CAC9B,GAAIF,EAAYh5I,IAAIk5I,EAAU1gJ,IAE1B,SAIJ5c,KAAKy9J,wBAAwB5hG,EAAU77C,EAAOvT,MAAOq/D,EAAc9rE,KAAKm+J,oBACxE,SAIJ,MAAMjiE,EAAQ4jD,GAAwBW,uBAClC6c,EACAt9J,KAAKypH,YACgB,EACrBzpH,KAAKyb,QACPotC,QAAQt6C,GAAMw3E,GAAmBx3E,KAEnC,GAAIvO,KAAKo8J,iBAILp8J,KAAKy9J,wBAAwB5hG,EAAU77C,EAAOvT,MAAOq/D,EAAc9rE,KAAKm+J,yBAI5E,GACIjiE,aAAK,EAALA,EAAOztC,MACFlgD,KACIA,EAAEktF,eACDltF,EAAEm5D,MAA4B,KAApBn5D,EAAEm5D,KAAKjB,UAClBzmE,KAAK87J,iBAAiB13I,IAAI7V,EAAEm5D,SALzC,CAQI,MAAMm2F,EAAa7iE,GAAqCsiE,GACxD,GAA+B,MAAV,QAAjB,EAAAO,EAAW14H,cAAM,eAAEshC,UAAyC,CAE5DzmE,KAAKy9J,wBAAwB5hG,EAAUgiG,EAAY/xF,EAAc9rE,KAAKm8J,gBACtE,SAKJ,MAAM8C,EAAej/J,KAAKypH,WAAWmC,2BAA2BiyC,EAAW14H,OAAOkiC,YAClF,IAAK43F,GAAwC,IAAxBA,EAAajkK,OAK9B,SAMJgF,KAAKy9J,wBAAwB5hG,EAAUgiG,EAAY/xF,EAAc9rE,KAAKm8J,qBAItEn8I,EAAO0nD,KAAKpqE,QAAU0C,KAAKm+J,oBAC3Bn+J,KAAKy9J,wBAAwB5hG,EAAU77C,EAAOvT,MAAOq/D,EAAc9rE,KAAKm+J,qBAM5EO,uCAAuC7iG,EAAkBqjG,GAC7D,GAAIrjG,IAAa77D,KAAK07J,gBAElB,MAAO,GAGX,MACMyD,EAAoC,aADjBxmG,GAAmBD,GAAYmD,IAElDujG,EAAoB/qG,EAAiBwH,GAErCwjG,EAAsG,GAC5G,IAAK,MAAMr0F,KAAck0F,EAAa,CAElC,GAA+B,IAA3Bl0F,EAAWyE,YACX,SAGJ,MAAMzvD,EAAShgB,KAAKs/J,kCAAkCt0F,EAAYm0F,EAAcC,GAChF,IAAKp/I,EACD,SAGJ,MAAM+8I,EAAgBjtF,GAClB9vE,KAAKy7J,IACLz7I,EAAOvS,IACPuS,EAAOu/I,MACmB,GACT,GAGrBF,EAAShkK,KAAK,CAAE2vE,aAAY+xF,gBAAe6B,YAAa5+I,EAAO4+I,cAGnE,OAAOS,EAGHC,kCACJt0F,EACAm0F,EACAC,GAEA,MAAMz3F,EAAaF,GAAcuD,GACjC,IAAKrD,EACD,OAGJ,IAAImJ,EAAanJ,EAAWkD,cAAclD,EAAWkD,cAAc7vE,OAAS,GAC5E,IAAK81E,EAAY,CAGb,GAAoC,IAAhC9F,EAAW0E,UAAU10E,OASrB,OATmC,CACnC,MAAMm5D,EAAYoc,GAAgC6uF,EAAmBp0F,EAAWyE,aAChF,IAAKtb,EACD,OAIJ2c,EAAa/a,GAAa5B,EAAW,gBAO7C,GAAIn0D,KAAK07J,kBAAoB5qF,IAAequF,EACxC,MAAO,CAAE1xJ,IAAKzN,KAAK+7J,mBAAoBwD,KAAMzuF,GAQjD,MAAMguF,EAAkB,GAClBC,EAAa,GACnB,IAAK,MAAM1zF,KAAiBL,EAAW7lC,OAA0BmmC,QACzDtrE,KAAKg/J,kBAAkB3zF,EAAah/D,MACpCyyJ,EAAgBzjK,KAAKgwE,GAErB0zF,EAAW1jK,KAAKgwE,GAKxB,OAA0B,IAAtB0zF,EAAW/jK,OACJ,CAAEyS,IAAKzN,KAAK+7J,mBAAoBwD,KAAMv/J,KAAK+7J,oBAIvB,IAA3B+C,EAAgB9jK,OACT,CAAEyS,IAAKzN,KAAK+7J,mBAAoBwD,KAAMv/J,KAAK07J,iBAI/C,CACHjuJ,IAAKzN,KAAK+7J,mBACVwD,KAAMv/J,KAAK07J,gBACXkD,YAAa,IAAIE,IAIjBE,kBAAkB/G,GACtB,MAAM/7D,EAAQl8F,KAAKypH,WAAWmC,2BAA2BqsC,GACzD,QAAK/7D,IAKGA,EAAMztC,MAAMlgD,GAAMw3E,GAAmBx3E,IAAMA,EAAEixJ,oBAGjDhC,kBAAkBiC,EAAyBC,EAAyBC,GACxE,MAAM9jG,EAAW4jG,IAAoBz/J,KAAK07J,gBAAkB17J,KAAK+7J,mBAAqB0D,EAGhFz0F,EAAa00F,EACb5vF,GACI9vE,KAAKy7J,IACL5/F,EACA77D,KAAK+7J,mBACL4D,GACkB,GAEtB3/J,KAAKm8J,eAEX,GAAIwD,GAAwB30F,EAAW/Q,SAASj6D,KAAKm+J,oBAAqB,CACtE,MAAMyB,EACF50F,IAAehrE,KAAKm+J,mBACd,EACAnzF,EAAWhwE,OAASgF,KAAKm+J,mBAAmBnjK,OAAS,GACkB,MAAvEgwE,EAAWA,EAAWhwE,OAASgF,KAAKm+J,mBAAmBnjK,OAAS,GAC5D,EAEJ,EAEJA,EAASgwE,EAAWhwE,OAASgF,KAAKm+J,mBAAmBnjK,OAAS4kK,EAG9D7C,EAAgB/xF,EAAWhpE,OAAO,EAAGhH,GAC3C,OAAO+hK,EAAc/hK,OAAS,EAAI+hK,EAAgB,IAItD,OAAO/xF,EAGX60F,WACI,MAAM7iI,EAA0B,GAGhC,OAFAh9B,KAAKmgJ,SAAS76H,SAAS8rC,GAAMp0B,EAAM3hC,QAAQ+1D,KAEpCp0B,EAGX,qBACI,OAAOh9B,KAAKg8J,aAAah8J,KAAKg8J,aAAahhK,OAAS,GAGxD,kBACI,OAAOgF,KAAK47J,mBAAmB5wF,WAGnC,yBACI,OAAOhrE,KAAKk8J,gBAAgBl8J,KAAKk8J,gBAAgBlhK,OAAS,GAG9D,qBACI,OAAOgF,KAAK67J,sBAAsB7wF,WAG9BkzF,uBACJriG,EACAiQ,EACAsxF,EACA9xF,EACAw0F,GAEA9/J,KAAK+/J,+BACDlkG,EACAiQ,EACAsxF,EACA9xF,EACAw0F,EAAc,IAKlB1C,EAAYx3I,IAAIk6I,EAAehuJ,OAAO8K,IACtCkjJ,EAAehuJ,OAAO49D,UAAUpqD,SAAS9kB,GAAM48J,EAAYx3I,IAAIplB,EAAEoc,MAC7DkjJ,EAAe3zF,OACfixF,EAAYx3I,IAAIk6I,EAAe3zF,MAAMvvD,IAIrC8gJ,2BACJ7hG,EACAiQ,EACAsxF,EACA9xF,EACAw0F,GAEA9/J,KAAK+/J,+BACDlkG,EACAiQ,EACAsxF,EACA9xF,EACAw0F,EAAc,IAKlB1C,EAAYx3I,IAAIk6I,EAAezzJ,KAAKuQ,IAChCkjJ,EAAe3zF,OACfixF,EAAYx3I,IAAIk6I,EAAe3zF,MAAMvvD,IAIrCmjJ,+BACJlkG,EACAiQ,EACAsxF,EACA9xF,EACAw0F,EACAE,GAEA,MAAMvzJ,EpCtaP,SACHwzJ,EACAC,GAEA,IAAIC,EACJ,GAAyB,IAArBF,EAAUjlK,QAAkC,IAAlBklK,EAE1BC,EAAWF,EAAU,QAClB,GAAIC,IAAkBD,EAAUjlK,OAAS,EAAG,CAE/C,MAAMc,EAAQ0oE,GAAUmB,OAAOs6F,EAAUC,EAAgB,IAEzDC,EAAW,CAAErkK,QAAOd,OADLwpE,GAAUmB,OAAOs6F,EAAUC,IAAkBpkK,OAEzD,CAEH,MAAMA,EAAQmkK,EAAUC,GAAepkK,MAEvCqkK,EAAW,CAAErkK,QAAOd,OADLilK,EAAUC,EAAgB,GAAGpkK,MAAQA,GAIxD,OAAOqkK,EoCkZWC,CACV90F,EACAA,EAAQikB,WAAWn+B,GAAMA,IAAM0uG,KAGnC9/J,KAAKy9J,wBAAwB5hG,EAAUpvD,EAAOq/D,EAAc,IAG5DsxF,EAAYx3I,IAAIk6I,EAAeljJ,IAO/B,IAAIyjJ,EAA4B,EAChC,IACIA,EAA4B/0F,EAAQtwE,OAAS,EAC7CqlK,GAA6B,GAGxBjD,EAAYh5I,IAAIknD,EAAQ+0F,GAA2BzjJ,IAFxDyjJ,KAOJ,IAAmC,IAA/BA,EAAkC,CAGlC,MAAMx0F,EAAkB2uB,GAA6BslE,EAAgBE,GACjEn0F,GACA7rE,KAAKsgK,oBACDzkG,EvB80Bb,SAA+B0kG,EAA0BpzF,GAC5D,MAAM1gE,EAAQi5D,GAAwB66F,EAAepzF,EAAgB3lB,OAG/DiyC,EA2BV,SACIhtF,EACA+zJ,EACArzF,GAEA,MAAMq5E,EAAar5E,EAAgB7I,OAAOq1B,kBAAkB6mE,GAC5D,GAAIha,EAAa,EACb,OAGJ,IAAIia,EAAeja,EACnB,KAAOia,EAAetzF,EAAgB7I,OAAOt4C,MAAOy0I,IAAgB,CAChE,MACMC,EAAah7F,GADLyH,EAAgB7I,OAAOgB,UAAUm7F,GACGtzF,EAAgB3lB,OAClE,GAAI/6C,EAAM1Q,IAAIm+B,OAASwmI,EAAW5kK,MAAMo+B,KACpC,MAIR,IAAK,IAAI/P,EAAQq8H,EAAYr8H,EAAQs2I,EAAct2I,IAAS,CACxD,MAAMnJ,EAAQmsD,EAAgB7I,OAAOgB,UAAUn7C,GAC/C,GAAmB,KAAfnJ,EAAMhiB,MAA+C,IAAfgiB,EAAMhiB,KAKhD,OADmB0mE,GAAwB1kD,EAAOmsD,EAAgB3lB,OAChD1rD,OArDF6kK,CAChBl0J,EACA+3D,GAAUmB,OAAO46F,GACjBpzF,GAGJ,OAAIssB,EACO,CAAE39F,MAAO2Q,EAAM3Q,MAAOC,IAAK09F,GAIlChtF,EAAM1Q,IAAIm+B,OAASizC,EAAgB3lB,MAAMx7B,MAAQ,EAC1Cvf,EAGJ,CAAE3Q,MAAO2Q,EAAM3Q,MAAOC,IAAK,CAAEm+B,KAAMztB,EAAM1Q,IAAIm+B,KAAO,EAAGC,UAAW,IuBh2BzDymI,CAAsB/0F,EAAiBC,EAAaqB,iBACpD,SAGL,GAAIkzF,GAA6B,GAAKA,EAA4B/0F,EAAQtwE,OAAS,EAAG,CAGzF,MAAMc,EAAQ0oE,GAAUmB,OAAO2F,EAAQ+0F,IACjCrlK,EAASwpE,GAAUmB,OAAO2F,EAAQ+0F,EAA4B,IAAMvkK,EAC1EkE,KAAKy9J,wBAAwB5hG,EAAU,CAAE//D,QAAOd,UAAU8wE,EAAc,KAIxE2xF,wBAAwB5hG,EAAkBpvD,EAAkBq/D,EAA4B+0F,GAC3E/0F,EAAa10C,KAAKp1B,OAAOyK,EAAM3Q,MAAO2Q,EAAMzR,UAC5C6lK,GAKjB7gK,KAAKsgK,oBAAoBzkG,EAAU6J,GAAwBj5D,EAAOq/D,EAAaqB,gBAAgB3lB,OAAQq5G,GAGnGlD,gBAAgB3gI,GACpBA,EAAM1X,SAASrhB,GAAMjE,KAAKsgK,oBAAoBr8J,EAAE43D,SAAU53D,EAAEwI,MAAOxI,EAAEwoE,mBAGjEq0F,qBAAqBC,EAA2Ct0J,G,MAKpE,OAJIwhD,EAAS8yG,KACTA,EAAkD,QAAjC,EAAA/gK,KAAKmgJ,SAAS57I,IAAIw8J,UAAe,QAAI,IAGnDA,EAAel4G,QAAQ5kD,GAA4B,KAAtBA,EAAEwoE,iBAA0B9H,GAAkB1gE,EAAEwI,MAAOA,KAGvFu0J,aAAaD,EAA2C/jI,G,MACxDixB,EAAS8yG,KACTA,EAAkD,QAAjC,EAAA/gK,KAAKmgJ,SAAS57I,IAAIw8J,UAAe,QAAI,IAG1D5xG,EAAoB4xG,GAAiBzpH,GAAMta,EAAMuyD,WAAWtrF,GAAMA,IAAMqzC,KAAM,IAG1EgpH,oBAAoBzkG,EAAkBpvD,EAAcggE,GACxD,MAAMzvC,EAAQgyB,EAAShvD,KAAKmgJ,SAAUtkF,GAAU,IAAM,KACtD,GAAwB,KAApB4Q,EAAwB,CAExB,MAAMw0F,EAAYjhK,KAAK8gK,qBAAqB9jI,EAAOvwB,GAC/Cw0J,EAAUjmK,OAAS,IAEnBgF,KAAKghK,aAAahkI,EAAOikI,GAGzBj8F,GACIv4D,EACAw0J,EAAUn9I,KAAKvV,GAAMA,EAAE9B,UAQ/BuwB,EAAMyxB,MAAMxqD,GAAM8gE,GAAe9gE,EAAEwI,MAAOA,IAAUxI,EAAEwoE,kBAAoBA,KAI9EzvC,EAAM3hC,KAAK,CAAEwgE,WAAUpvD,QAAOggE,oBAG1BmxF,wCACJ/hG,EACAqlG,EACAp1F,EACAsxF,EACAxvF,EACA5C,EACAY,GAIA,MAAMuqF,EAAWvoF,EAAiBvD,eAAekB,MAAMjxE,GAAMA,EAAE0wE,aAAeA,IAC9E,GAAImrF,GAAuC,KAA3BA,EAASzuF,KAAKjB,WAA0C0vF,EAASzuF,KAAKsE,iBAAkB,CACpG,MAAMhvC,EAAQ2uC,GAAwCC,EAAgBuqF,EAAUrqF,GAChF,GAAIqqF,EAASzuF,OAASw5F,EAGlB,OAAOlkI,EAAMlZ,KAAK7f,IAAM,CAAG43D,WAAUpvD,MAAOxI,EAAEwI,MAAOggE,gBAAiBxoE,EAAEwoE,oBAM5E,GAAIzsE,KAAKo8J,kBAA8C,IAA1BxwF,EAAe5wE,QAAiC,IAAjBgiC,EAAMhiC,OAAc,CAC5E,MAAMimK,EAAYjhK,KAAK8gK,qBAAqBjlG,EAAU7+B,EAAM,GAAGvwB,OAC/D,GAAyB,IAArBw0J,EAAUjmK,OACV,MAAO,CAAC,CAAE6gE,WAAUpvD,MAAOuwB,EAAM,GAAGvwB,MAAOggE,gBAAiBzvC,EAAM,GAAGyvC,kBAClE,CACH,MAAMN,EACFP,EAAe,GAAGO,QAAUnsE,KAAKm+J,mBAC3Bn+J,KAAKu+J,eACL3yF,EAAe,GAAGO,MAEtBQ,EAAau0F,EAAkB51F,QAAQC,MACxCjxE,IAAK,MAAC,OAAAA,EAAE+R,KAAK/O,QAAU0C,KAAKu+J,iBAAyB,QAAP,EAAAjkK,EAAE6xE,aAAK,eAAE7uE,SAAU6uE,KAEtE,GAAIQ,EAMA,OALA3sE,KAAKghK,aAAanlG,EAAUolG,GACxBt0F,EAAWR,OACXixF,EAAYx6I,OAAO+pD,EAAWR,MAAMvvD,IAGjC,CACH,CACIi/C,WACApvD,MAAOi5D,GAAwBiH,EAAWtgE,KAAMy/D,EAAaqB,gBAAgB3lB,OAC7EilB,gBAAiBzsE,KAAKm+J,uBAQ9C,OAAOxwF,GACH/B,EACAgC,EACA5C,EACA4E,GAAoC5vE,KAAK67J,uBACzC/vF,EACA7G,GAAwB6G,EAAa5B,UAAUlvE,OAAQ8wE,EAAaqB,gBAAgB3lB,QACtF1jC,KAAK7f,IAAM,CAAG43D,WAAUpvD,MAAOxI,EAAEwI,MAAOggE,gBAAiBxoE,EAAEwoE,qBAIrE,MAAMkyF,WAA4B,GAAlC,c,oBACqB,KAAA1sH,QAA4B,GAEpC89C,KAAKroB,GACNmjB,GAAiBnjB,IAIrBx7D,MAAM6jF,KAAKroB,GAGNmrB,gBAAgBnrB,GAErB,OADA1nE,KAAKiyC,QAAQ52C,KAAKqsE,IACX,EAGJ,eAAel2D,GAClB,MAAM2oJ,EAAY,IAAIwE,GAGtB,OAFAxE,EAAUpqE,KAAKv+E,GAER2oJ,EAAUloH,SK1zClB,MAAMkvH,GAAb,cACY,KAAAC,OAAmB,GAE3BC,WAAWtyJ,GACP/O,KAAKohK,OAAO/lK,KAAK0T,GAGrBuyJ,WACI,OAAOthK,KAAKohK,OAGhBG,iBAGI,IAAIC,EAAa,EACjBxhK,KAAKohK,OAAO97I,SAAQ,CAACvW,EAAMob,KACnBpb,EAAO/O,KAAKohK,OAAOI,KACnBA,EAAar3I,MAIF,IAAfq3I,IACAxhK,KAAKohK,OAASphK,KAAKohK,OAAOxjK,MAAM4jK,GAAYx8J,OAAOhF,KAAKohK,OAAOxjK,MAAM,EAAG4jK,KAIhFC,QAAQC,GACJ,GAAIA,EAAeN,OAAOpmK,SAAWgF,KAAKohK,OAAOpmK,OAC7C,OAAO,EAGX,IAAK,IAAIV,EAAI,EAAGA,EAAI0F,KAAKohK,OAAOpmK,OAAQV,IACpC,GAAI0F,KAAKohK,OAAO9mK,KAAOonK,EAAeN,OAAO9mK,GACzC,OAAO,EAIf,OAAO,GJ5Cf,MAAMsrC,GACF35B,YAAYuuB,EAAK4G,EAAY5jB,EAASmoB,GAClC3lC,KAAKymC,KAAOjM,EACZx6B,KAAK0mC,YAActF,EACnBphC,KAAK2mC,SAAWnpB,EAChBxd,KAAK4mC,SAAWjB,EAChB3lC,KAAK6mC,kBAAe/nC,EAExB,UACI,OAAOkB,KAAKymC,KAEhB,iBACI,OAAOzmC,KAAK0mC,YAEhB,cACI,OAAO1mC,KAAK2mC,SAEhBb,QAAQr5B,GACJ,GAAIA,EAAO,CACP,MAAM3Q,EAAQkE,KAAKgmC,SAASv5B,EAAM3Q,OAC5BC,EAAMiE,KAAKgmC,SAASv5B,EAAM1Q,KAChC,OAAOiE,KAAK4mC,SAASJ,UAAU1qC,EAAOC,GAE1C,OAAOiE,KAAK4mC,SAEhBE,OAAOtJ,EAAShgB,GACZ,IAAK,IAAIkgB,KAAUF,EACf,GAAIoI,GAAiBzO,cAAcuG,GAAS,CAExC,MAAMjxB,EAAQk1J,GAAmBjkI,EAAOjxB,OAElC65B,EAActmC,KAAKgmC,SAASv5B,EAAM3Q,OAClCyqC,EAAYvmC,KAAKgmC,SAASv5B,EAAM1Q,KACtCiE,KAAK4mC,SAAW5mC,KAAK4mC,SAASJ,UAAU,EAAGF,GAAe5I,EAAOtG,KAAOp3B,KAAK4mC,SAASJ,UAAUD,EAAWvmC,KAAK4mC,SAAS5rC,QAEzH,MAAMugC,EAAYz4B,KAAK4C,IAAI+G,EAAM3Q,MAAMo+B,KAAM,GACvCsB,EAAU14B,KAAK4C,IAAI+G,EAAM1Q,IAAIm+B,KAAM,GACzC,IAAI8M,EAAchnC,KAAK6mC,aACvB,MAAM+6H,EAAmBC,GAAmBnkI,EAAOtG,MAAM,EAAOkP,GAChE,GAAI9K,EAAUD,IAAcqmI,EAAiB5mK,OACzC,IAAK,IAAIV,EAAI,EAAGK,EAAMinK,EAAiB5mK,OAAQV,EAAIK,EAAKL,IACpD0sC,EAAY1sC,EAAIihC,EAAY,GAAKqmI,EAAiBtnK,QAIlDsnK,EAAiB5mK,OAAS,IAC1BgsC,EAAY9gB,OAAOqV,EAAY,EAAGC,EAAUD,KAAcqmI,GAG1D5hK,KAAK6mC,aAAeG,EAAcA,EAAYppC,MAAM,EAAG29B,EAAY,GAAGv2B,OAAO48J,EAAkB56H,EAAYppC,MAAM49B,EAAU,IAGnI,MAAM4K,EAAO1I,EAAOtG,KAAKp8B,QAAUurC,EAAYD,GAC/C,GAAa,IAATF,EACA,IAAK,IAAI9rC,EAAIihC,EAAY,EAAIqmI,EAAiB5mK,OAAQL,EAAMqsC,EAAYhsC,OAAQV,EAAIK,EAAKL,IACrF0sC,EAAY1sC,GAAK0sC,EAAY1sC,GAAK8rC,MAIzC,KAAIR,GAAiBtO,OAAOoG,GAK7B,MAAM,IAAI9hC,MAAM,iCAJhBoE,KAAK4mC,SAAWlJ,EAAOtG,KACvBp3B,KAAK6mC,kBAAe/nC,EAM5BkB,KAAK2mC,SAAWnpB,EAEpBupB,iBAII,YAH0BjoC,IAAtBkB,KAAK6mC,eACL7mC,KAAK6mC,aAAeg7H,GAAmB7hK,KAAK4mC,UAAU,IAEnD5mC,KAAK6mC,aAEhBd,WAAWrkC,GACPA,EAASoB,KAAK4C,IAAI5C,KAAKC,IAAIrB,EAAQ1B,KAAK4mC,SAAS5rC,QAAS,GAC1D,IAAIgsC,EAAchnC,KAAK+mC,iBACnBK,EAAM,EAAGC,EAAOL,EAAYhsC,OAChC,GAAa,IAATqsC,EACA,MAAO,CAAEnN,KAAM,EAAGC,UAAWz4B,GAEjC,KAAO0lC,EAAMC,GAAM,CACf,IAAIC,EAAMxkC,KAAK+J,OAAOu6B,EAAMC,GAAQ,GAChCL,EAAYM,GAAO5lC,EACnB2lC,EAAOC,EAGPF,EAAME,EAAM,EAKpB,IAAIpN,EAAOkN,EAAM,EACjB,MAAO,CAAElN,OAAMC,UAAWz4B,EAASslC,EAAY9M,IAEnD8L,SAASvJ,GACL,IAAIuK,EAAchnC,KAAK+mC,iBACvB,GAAItK,EAASvC,MAAQ8M,EAAYhsC,OAC7B,OAAOgF,KAAK4mC,SAAS5rC,OAEpB,GAAIyhC,EAASvC,KAAO,EACrB,OAAO,EAEX,IAAIqN,EAAaP,EAAYvK,EAASvC,MAClCsN,EAAkB/K,EAASvC,KAAO,EAAI8M,EAAYhsC,OAAUgsC,EAAYvK,EAASvC,KAAO,GAAKl6B,KAAK4mC,SAAS5rC,OAC/G,OAAO8H,KAAK4C,IAAI5C,KAAKC,IAAIwkC,EAAa9K,EAAStC,UAAWqN,GAAiBD,GAE/E,gBACI,OAAOvnC,KAAK+mC,iBAAiB/rC,OAEjC,qBAAqBqY,GACjB,IAAI2H,EAAY3H,EAChB,OAAO2H,SACuB,iBAAnBA,EAAUoc,WAAyCt4B,IAApBkc,EAAUvO,aACrB3N,IAA1Bkc,EAAUqc,aAA8D,iBAA1Brc,EAAUqc,aAEjE,cAAchkB,GACV,IAAI2H,EAAY3H,EAChB,OAAO2H,SACuB,iBAAnBA,EAAUoc,WAAyCt4B,IAApBkc,EAAUvO,YAAiD3N,IAA1Bkc,EAAUqc,aAiE7F,SAASiO,GAAUpmC,EAAM0F,GACrB,GAAI1F,EAAKlE,QAAU,EAEf,OAAOkE,EAEX,MAAMsT,EAAKtT,EAAKlE,OAAS,EAAK,EACxBuqC,EAAOrmC,EAAKtB,MAAM,EAAG4U,GACrBgzB,EAAQtmC,EAAKtB,MAAM4U,GACzB8yB,GAAUC,EAAM3gC,GAChB0gC,GAAUE,EAAO5gC,GACjB,IAAI6gC,EAAU,EACVC,EAAW,EACXprC,EAAI,EACR,KAAOmrC,EAAUF,EAAKvqC,QAAU0qC,EAAWF,EAAMxqC,QAAQ,CACrD,IAAIsL,EAAM1B,EAAQ2gC,EAAKE,GAAUD,EAAME,IAGnCxmC,EAAK5E,KAFLgM,GAAO,EAEKi/B,EAAKE,KAILD,EAAME,KAG1B,KAAOD,EAAUF,EAAKvqC,QAClBkE,EAAK5E,KAAOirC,EAAKE,KAErB,KAAOC,EAAWF,EAAMxqC,QACpBkE,EAAK5E,KAAOkrC,EAAME,KAEtB,OAAOxmC,EAEX,SAAS2iK,GAAmBzqI,EAAM0qI,EAAeC,EAAa,GAC1D,MAAM/hJ,EAAS8hJ,EAAgB,CAACC,GAAc,GAC9C,IAAK,IAAIznK,EAAI,EAAGA,EAAI88B,EAAKp8B,OAAQV,IAAK,CAClC,IAAI4sC,EAAK9P,EAAKv8B,WAAWP,GACd,KAAP4sC,GAAyC,KAAPA,IACvB,KAAPA,GAAkC5sC,EAAI,EAAI88B,EAAKp8B,QAAqC,KAA3Bo8B,EAAKv8B,WAAWP,EAAI,IAC7EA,IAEJ0lB,EAAO3kB,KAAK0mK,EAAaznK,EAAI,IAGrC,OAAO0lB,EAEX,SAAS2hJ,GAAmBl1J,GACxB,MAAM3Q,EAAQ2Q,EAAM3Q,MACdC,EAAM0Q,EAAM1Q,IAClB,OAAID,EAAMo+B,KAAOn+B,EAAIm+B,MAASp+B,EAAMo+B,OAASn+B,EAAIm+B,MAAQp+B,EAAMq+B,UAAYp+B,EAAIo+B,UACpE,CAAEr+B,MAAOC,EAAKA,IAAKD,GAEvB2Q,EAEX,SAASu1J,GAAkB3mI,GACvB,MAAM5uB,EAAQk1J,GAAmBtmI,EAAS5uB,OAC1C,OAAIA,IAAU4uB,EAAS5uB,MACZ,CAAE8vB,QAASlB,EAASkB,QAAS9vB,SAEjC4uB,GAvHX,SAAW+J,GAYPA,EAAajzB,OAHb,SAAgBqoB,EAAK4G,EAAY5jB,EAASmoB,GACtC,OAAO,IAAIC,GAAiBpL,EAAK4G,EAAY5jB,EAASmoB,IAqB1DP,EAAa0B,OATb,SAAgBZ,EAAU1I,EAAShgB,GAC/B,GAAI0oB,aAAoBN,GAEpB,OADAM,EAASY,OAAOtJ,EAAShgB,GAClB0oB,EAGP,MAAM,IAAItqC,MAAM,yEA+BxBwpC,EAAaa,WA3Bb,SAAoBC,EAAUlJ,GAC1B,IAAI5F,EAAO8O,EAASJ,UAChBK,EAAcb,GAAUtI,EAAMlZ,IAAIk+I,KAAoB,CAACn9J,EAAGnG,KAC1D,IAAI0nC,EAAOvhC,EAAE4H,MAAM3Q,MAAMo+B,KAAOx7B,EAAE+N,MAAM3Q,MAAMo+B,KAC9C,OAAa,IAATkM,EACOvhC,EAAE4H,MAAM3Q,MAAMq+B,UAAYz7B,EAAE+N,MAAM3Q,MAAMq+B,UAE5CiM,KAEPC,EAAqB,EACzB,MAAM47H,EAAQ,GACd,IAAK,MAAMh+J,KAAKkiC,EAAa,CACzB,IAAIG,EAAcJ,EAASF,SAAS/hC,EAAEwI,MAAM3Q,OAC5C,GAAIwqC,EAAcD,EACd,MAAM,IAAIzqC,MAAM,oBAEX0qC,EAAcD,GACnB47H,EAAM5mK,KAAK+7B,EAAKoP,UAAUH,EAAoBC,IAE9CriC,EAAEs4B,QAAQvhC,QACVinK,EAAM5mK,KAAK4I,EAAEs4B,SAEjB8J,EAAqBH,EAASF,SAAS/hC,EAAEwI,MAAM1Q,KAGnD,OADAkmK,EAAM5mK,KAAK+7B,EAAKp1B,OAAOqkC,IAChB47H,EAAMzmK,KAAK,KAzD1B,CA4DG4pC,KAAiBA,GAAe,KChKnC,SAAYw1H,GACR,kBACA,oBACA,gBAHJ,CAAYA,QAAc,KAMnB,MAAMsH,GAETj2J,YACIuF,EACA2wJ,EACAC,EACAC,GAoBJ,KAAArsF,WAAuB,GAlBnBh2E,KAAKwR,KAAOA,QAAQ1S,EACpBkB,KAAK+8E,cAAgBolF,GAAwB9lG,GAC7Cr8D,KAAKsiK,eAAiBF,EACtBpiK,KAAKg2E,WAAa,IAAKqsF,UAAqB,KA6P7C,SAASE,GAA0BC,GAAwB,GAC9D,MAAMC,EAAY,CACd/lD,GAAegmD,oBACfhmD,GAAeimD,mBACfjmD,GAAekmD,0BACflmD,GAAemmD,0BAUnB,OAPIL,GAIAC,EAAUpnK,KAAKqhH,GAAeomD,0BAG3BL,EAKJ,SAASM,KACZ,MAAO,CACHrmD,GAAe+X,wBACf/X,GAAesmD,2BACftmD,GAAeumD,2BACfvmD,GAAewmD,qBACfxmD,GAAeymD,0BACfzmD,GAAe0mD,uBACf1mD,GAAe2mD,mBACf3mD,GAAe4mD,mBACf5mD,GAAe6mD,kBACf7mD,GAAe8mD,qBACf9mD,GAAe+mD,qBACf/mD,GAAegnD,sBACfhnD,GAAeinD,gCACfjnD,GAAeknD,wBACflnD,GAAemnD,2BACfnnD,GAAeonD,mBACfpnD,GAAeqnD,uBACfrnD,GAAesnD,6BACftnD,GAAeunD,sBACfvnD,GAAeka,iCACfla,GAAewnD,+BACfxnD,GAAeynD,4BACfznD,GAAe0nD,uBACf1nD,GAAe2nD,wBACf3nD,GAAe4nD,mBACf5nD,GAAe6nD,yBACf7nD,GAAe8nD,2BACf9nD,GAAe+nD,iCACf/nD,GAAegoD,mCACfhoD,GAAeioD,8BACfjoD,GAAekoD,0BACfloD,GAAemoD,uBACfnoD,GAAeooD,oCACfpoD,GAAeqoD,kCACfroD,GAAesoD,2BACftoD,GAAeuoD,0BACfvoD,GAAewoD,wBACfxoD,GAAeyoD,0BACfzoD,GAAe0oD,wBACf1oD,GAAe2oD,2BACf3oD,GAAe4oD,0BACf5oD,GAAe6oD,wBACf7oD,GAAe8oD,+BACf9oD,GAAe+oD,4BACf/oD,GAAegpD,sBACfhpD,GAAeipD,4BACfjpD,GAAekpD,uBACflpD,GAAempD,2BACfnpD,GAAeopD,kCACfppD,GAAeqpD,wBACfrpD,GAAespD,sBACftpD,GAAeupD,2BACfvpD,GAAewpD,qBACfxpD,GAAeypD,2BACfzpD,GAAe0pD,uBACf1pD,GAAe2pD,sBACf3pD,GAAe4pD,mCACf5pD,GAAe6pD,yBACf7pD,GAAe8pD,qCAgPhB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","file":"pyright-main-fead31ca35819bebaf64.worker.js","sourceRoot":""} \ No newline at end of file diff --git a/src/language-server/pyright.ts b/src/language-server/pyright.ts index 13ad0af77..0b8591b86 100644 --- a/src/language-server/pyright.ts +++ b/src/language-server/pyright.ts @@ -13,7 +13,7 @@ import { createUri, LanguageServerClient } from "./client"; import { CreateToastFnReturn } from "@chakra-ui/react"; // This is modified by bin/update-pyright.sh -const workerScriptName = "pyright-main-c53c357c089fab5f5c10.worker.js"; +const workerScriptName = "pyright-main-fead31ca35819bebaf64.worker.js"; // Very simple cache to avoid React re-creating pointlessly in development. let counter = 0; diff --git a/src/messages/ui.de.json b/src/messages/ui.de.json index 4a226ded7..748857ca2 100644 --- a/src/messages/ui.de.json +++ b/src/messages/ui.de.json @@ -340,7 +340,7 @@ "confirm-replace-body": [ { "type": 0, - "value": "Alle Dateien durch die in der hex-Datei ersetzen?" + "value": "Alle Dateien durch die in der HEX-Datei ersetzen?" } ], "confirm-replace-reset": [ @@ -513,12 +513,12 @@ ], "delete-file-action": [ { - "type": 1, - "value": "name" + "type": 0, + "value": "Lösche " }, { - "type": 0, - "value": " löschen" + "type": 1, + "value": "name" } ], "deleted-file": [ @@ -1080,7 +1080,7 @@ "name-used-when": [ { "type": 0, - "value": "Der Name wird verwendet, wenn du die hex-Datei speicherst." + "value": "Dieser Name wird verwendet, wenn du die HEX-Datei speicherst." } ], "new-file-hint": [ @@ -1226,7 +1226,7 @@ "open-file-action": [ { "type": 0, - "value": "Öffnen..." + "value": "Öffnen …" } ], "open-file-dropped": [ @@ -1474,7 +1474,7 @@ "reset-project-hover": [ { "type": 0, - "value": "Setzt das Projekt auf den Standard-Startcode zurück und verwirft deine Arbeit" + "value": "Setzt das Projekt auf den Standard-Startcode zurück und verwirft deine Arbeit." } ], "results-count": [ @@ -1542,7 +1542,7 @@ "save-hover": [ { "type": 0, - "value": "Speichere die hex-Datei des Projektes auf deinem Computer" + "value": "Speichere die HEX-Datei des Projektes auf deinem Computer." } ], "save-python-action": [ @@ -1764,7 +1764,7 @@ "setting-warn-on-v2-only-features-info": [ { "type": 0, - "value": "Warnungen werden im Editor angezeigt, wenn ein micro:bit V1 verbunden ist" + "value": "Warnungen werden im Editor angezeigt, wenn ein micro:bit V1 verbunden ist." } ], "settings": [ diff --git a/src/messages/ui.pl.json b/src/messages/ui.pl.json index 485e2ff47..1fc05eb40 100644 --- a/src/messages/ui.pl.json +++ b/src/messages/ui.pl.json @@ -72,13 +72,13 @@ "api-description": [ { "type": 0, - "value": "Aby użyć i dla przykładów zobacz " + "value": "Aby poznać zastosowania i przykłady, zobacz " }, { "children": [ { "type": 0, - "value": "Odniesienie" + "value": "Referencje" } ], "type": 8, diff --git a/src/micropython/main/typeshed.ca.json b/src/micropython/main/typeshed.ca.json index a1439b3f0..9e3ff098a 100644 --- a/src/micropython/main/typeshed.ca.json +++ b/src/micropython/main/typeshed.ca.json @@ -7,23 +7,23 @@ "/typeshed/stdlib/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\n# Re-export for V1 compatibility.\nfrom .microbit.audio import (\n is_playing as is_playing,\n play as play,\n stop as stop,\n AudioFrame as AudioFrame,\n SoundEffect as SoundEffect,\n)\n", "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", - "/typeshed/stdlib/gc.pyi": "\"\"\"Control the garbage collector\"\"\"\n\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"Enable automatic garbage collection.\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"Disable automatic garbage collection.\n\n Heap memory can still be allocated,\n and garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Run a garbage collection.\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Get the number of bytes of heap RAM that are allocated.\n\n :return: The number of bytes allocated.\n\n This function is MicroPython extension.\n \"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Get the number of bytes of available heap RAM, or -1 if this amount is not known.\n\n :return: The number of bytes free.\n\n This function is MicroPython extension.\n \"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Query the additional GC allocation threshold.\n\n :return: The GC allocation threshold.\n\n This function is a MicroPython extension. CPython has a similar\n function - ``set_threshold()``, but due to different GC\n implementations, its signature and semantics are different.\n \"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Set the additional GC allocation threshold.\n\n Normally, a collection is triggered only when a new allocation\n cannot be satisfied, i.e. on an out-of-memory (OOM) condition.\n If this function is called, in addition to OOM, a collection\n will be triggered each time after ``amount`` bytes have been\n allocated (in total, since the previous time such an amount of bytes\n have been allocated). ``amount`` is usually specified as less than the\n full heap size, with the intention to trigger a collection earlier than when the\n heap becomes exhausted, and in the hope that an early collection will prevent\n excessive memory fragmentation. This is a heuristic measure, the effect\n of which will vary from application to application, as well as\n the optimal value of the ``amount`` parameter.\n\n A value of -1 means a disabled allocation threshold.\n\n This function is a MicroPython extension. CPython has a similar\n function - ``set_threshold()``, but due to different GC\n implementations, its signature and semantics are different.\n\n :param amount: The number of bytes after which a garbage collection should be triggered.\n \"\"\"\n ...\n", - "/typeshed/stdlib/log.pyi": "\"\"\"Log data to your micro:bit V2.\"\"\"\n\nfrom typing import Literal, Mapping, Optional, Union, overload\n\nMILLISECONDS = 1\n\"\"\"Milliseconds timestamp format.\"\"\"\n\nSECONDS = 10\n\"\"\"Seconds timestamp format.\"\"\"\n\nMINUTES = 600\n\"\"\"Minutes timestamp format.\"\"\"\n\nHOURS = 36000\n\"\"\"Hours timestamp format.\"\"\"\n\nDAYS = 864000\n\"\"\"Days timestamp format.\"\"\"\n\ndef set_labels(\n *labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]] = SECONDS\n) -> None:\n \"\"\"Set up the log file header.\n\n Example: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\n Ideally this function should be called a single time, before any data is\n logged, to configure the data table header once.\n\n If a log file already exists when the program starts, or if this function\n is called multiple times, it will check the labels already defined in the\n log file. If this function call contains any new labels not already\n present, it will generate a new header row with the additional columns.\n\n By default the first column contains a timestamp for each row. The time\n unit can be selected via the timestamp argument.\n\n :param *labels: Any number of positional arguments, each corresponding to an entry in the log header.\n :param timestamp: Select the timestamp unit that will be automatically added as the first column in every row. Timestamp values can be one of ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` or ``None`` to disable the timestamp. The default value is ``log.SECONDS``.\n \"\"\"\n ...\n\n@overload\ndef add(\n data_dictionary: Optional[Mapping[str, Union[str, int, float]]],\n) -> None:\n \"\"\"Add a data row to the log by passing a dictionary of headers and values.\n\n Example: ``log.add({ 'temp': temperature() })``\n\n Each call to this function adds a row to the log.\n\n New labels not previously specified via the set_labels function, or by a\n previous call to this function, will trigger a new header entry to be added\n to the log with the extra labels.\n\n Labels previously specified and not present in a call to this function will\n be skipped with an empty value in the log row.\n\n :param data_dictionary: The data to log as a dictionary with a key for each header.\n \"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"Add a data row to the log using keyword arguments.\n\n Example: ``log.add(temp=temperature())``\n\n Each call to this function adds a row to the log.\n\n New labels not previously specified via the set_labels function, or by a\n previous call to this function, will trigger a new header entry to be added\n to the log with the extra labels.\n\n Labels previously specified and not present in a call to this function will\n be skipped with an empty value in the log row.\n \"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"Deletes the contents of the log, including headers.\n\n Example: ``log.delete()``\n\n To add the log headers again the ``set_labels`` function should to be called after this function.\n\n There are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\n and \u201cfast\u201d invalidates the data without removing it.\n\n :param full: ``True`` selects a \u201cfull\u201d erase and ``False`` selects the \u201cfast\u201d erase method.\n \"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Configure mirroring of the data logging activity to the serial output.\n\n Example: ``log.set_mirroring(True)``\n\n Serial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n :param serial: ``True`` enables mirroring data to the serial output.\n \"\"\"\n ...\n", + "/typeshed/stdlib/gc.pyi": "\"\"\"Controla el recol\u00b7lector de mem\u00f2ria brossa\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"Habilita la recol\u00b7lecci\u00f3 autom\u00e0tica de la mem\u00f2ria brossa (habilita)\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"Inhabilita la recol\u00b7lecci\u00f3 autom\u00e0tica de la mem\u00f2ria brossa (desactiva)\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Executa la recol\u00b7lecci\u00f3 autom\u00e0tica de la mem\u00f2ria brossa (Recull)\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Obt\u00e9 el nombre de bytes assignats a la mem\u00f2ria din\u00e0mica. (espai de mem\u00f2ria)\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Obt\u00e9 el nombre disponible de bytes de la mem\u00f2ria din\u00e0mica, o -1 si no es coneix la quantitat. (mem\u00f2ria lliure)\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Consulta l'assignaci\u00f3 del llindar del col\u00b7lector d'escombraries. (llindar)\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Assigna un espai adicional al llindar del col\u00b7lector d'escombraries. (llindar)\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: (quantitat) El nombre de bytes despr\u00e9s del qual s'activar\u00e0 la recol\u00b7lecci\u00f3 de la mem\u00f2ria brossa.\"\"\"\n ...", + "/typeshed/stdlib/log.pyi": "\"\"\"Registre dades en la micro:bit V2 (registre)\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"Format de marca de temps de mil\u00b7lisegons. (mil\u00b7lisegons)\"\"\"\nSECONDS = 10\n\"\"\"Format de marca de temps de segons. (segons)\"\"\"\nMINUTES = 600\n\"\"\"Format de marca de temps de minuts. (minuts)\"\"\"\nHOURS = 36000\n\"\"\"Format de marca de temps d'hores. (hores)\"\"\"\nDAYS = 864000\n\"\"\"Format de marca de temps de dies. (dies)\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"Defineix la cap\u00e7alera del fitxer de registre. (Defineix l'etiqueta)\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: Qualsevol nombre d'arguments posicionals, corresponent cadascun a una entrada en la cap\u00e7alera del registre.\n:param timestamp: (marca hor\u00e0ria) Selecciona la unitat de la marca del temps que ser\u00e0 automaticament afegida com a primera columna de cada fila. Els valors de la marca del temps pot ser un de ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` o ``None`` per desactivar la marca del temps. El valor per defecte es ``log.SECONDS``.\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"Afegeix una fila de dades al registre passant un diccionari de cap\u00e7aleres i valors. (afegeix)\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: (diccionari de dades) Les dades a ser registrades com un diccionari amb una clau per cada cap\u00e7alera.\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"Afegeix una fila de dades al registre fent servir arguments de paraula clau. (afegeix)\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"Suprimeix el contingut del registre, incloses les cap\u00e7aleres. (suprimeix)\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: (ple) ``True`` selecciona un esborrat \"total\" ``False`` selecciona un m\u00e8tode d'esborrat \"r\u00e0pid\".\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Configura la duplicaci\u00f3 de l'activitat de registre de dades a la sortida en s\u00e8rie. (estableix mirall)\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: ``True`` permet la duplicaci\u00f3 de les dades a la sortida s\u00e8rie.\"\"\"\n ...", "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", - "/typeshed/stdlib/machine.pyi": "\"\"\"Low-level utilities.\n\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"Get a byte string with a unique identifier of a board.\n\n Example: ``machine.unique_id()``\n\n :return: An identifier that varies from one board instance to another.\n \"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset the device in a manner similar to pushing the external RESET button.\n\n Example: ``machine.reset()``\n \"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"Get the CPU frequency in hertz.\n\n Example: ``machine.freq()``\n\n :return: The CPU frequency.\n \"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"Disable interrupt requests.\n\n Example: ``interrupt_state = machine.disable_irq()``\n\n :return: the previous IRQ state which should be considered an opaque value\n\n The return value should be passed to the ``enable_irq`` function to restore\n interrupts to their original state.\n \"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"Re-enable interrupt requests.\n\n Example: ``machine.enable_irq(interrupt_state)``\n\n :param state: The value that was returned from the most recent call to the ``disable_irq`` function.\n \"\"\"\n ...\n\ndef time_pulse_us(\n pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int = 1000000\n) -> int:\n \"\"\"Time a pulse on a pin.\n\n Example: ``time_pulse_us(pin0, 1)``\n\n If the current input value of the pin is different to ``pulse_level``, the\n function first waits until the pin input becomes equal to\n ``pulse_level``, then times the duration that the pin is equal to\n ``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\n starts straight away.\n\n :param pin: The pin to use\n :param pulse_level: 0 to time a low pulse or 1 to time a high pulse\n :param timeout_us: A microsecond timeout\n :return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\n \"\"\"\n ...\n\nclass mem:\n \"\"\"The class for the ``mem8``, ``mem16`` and ``mem32`` memory views.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Access a value from memory.\n\n :param address: The memory address.\n :return: The value at that address as an integer.\n \"\"\"\n ...\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"Set a value at the given address.\n\n :param address: The memory address.\n :param value: The integer value to set.\n \"\"\"\n ...\n\nmem8: mem\n\"\"\"8-bit (byte) view of memory.\"\"\"\n\nmem16: mem\n\"\"\"16-bit view of memory.\"\"\"\n\nmem32: mem\n\"\"\"32-bit view of memory.\"\"\"\n", - "/typeshed/stdlib/math.pyi": "\"\"\"Mathematical functions.\n\"\"\"\n\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Calculate the inverse cosine.\n\n Example: ``math.acos(1)``\n\n :param x: A number\n :return: The inverse cosine of ``x``\n \"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Calculate the inverse sine.\n\n Example: ``math.asin(0)``\n\n :param x: A number\n :return: The inverse sine of ``x``\n \"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Calculate the inverse tangent.\n\n Example: ``math.atan(0)``\n\n :param x: A number\n :return: The inverse tangent of ``x``\n \"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Calculate the principal value of the inverse tangent of ``y/x``.\n\n Example: ``math.atan2(0, -1)``\n\n :param y: A number\n :param x: A number\n :return: The principal value of the inverse tangent of ``y/x``\n \"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Round a number towards positive infinity.\n\n Example: ``math.ceil(0.1)``\n\n :param x: A number\n :return: ``x`` rounded towards positive infinity.\n \"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Calculate ``x`` with the sign of ``y``.\n\n Example: ``math.copysign(1, -1)``\n\n :param x: A number\n :param y: The source of the sign for the return value\n :return: ``x`` with the sign of ``y``\n \"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Calculate the cosine of ``x``.\n\n Example: ``math.cos(0)``\n\n :param x: A number\n :return: The cosine of ``x``\n \"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Convert radians to degrees.\n\n Example: ``math.degrees(2 * math.pi)``\n\n :param x: A value in radians\n :return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Calculate the exponential of ``x``.\n\n Example: ``math.exp(1)``\n\n :param x: A number\n :return: The exponential of ``x``.\n \"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Return the absolute value of ``x``.\n\n Example: ``math.fabs(-0.1)``\n\n :param x: A number\n :return: The absolute value of ``x``\n \"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Round a number towards negative infinity.\n\n Example: ``math.floor(0.9)``\n\n :param x: A number\n :return: ``x`` rounded towards negative infinity.\n \"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Calculate the remainder of ``x/y``.\n\n Example: ``math.fmod(10, 3)``\n\n :param x: The numerator\n :param y: The denominator\n \"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Decomposes a floating-point number into its mantissa and exponent.\n\n Example: ``mantissa, exponent = math.frexp(2)``\n\n The returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\n exactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\n the relation ``0.5 <= abs(m) < 1`` holds.\n\n :param x: A floating-point number\n :return: A tuple of length two containing its mantissa then exponent\n \"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"Check if a value is finite.\n\n Example: ``math.isfinite(float('inf'))``\n\n :param x: A number.\n :return: ``True`` if ``x`` is finite, ``False`` otherwise.\n \"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"Check if a value is infinite.\n\n Example: ``math.isinf(float('-inf'))``\n\n :param x: A number.\n :return: ``True`` if ``x`` is infinite, ``False`` otherwise.\n \"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Check if a value is not-a-number (NaN).\n\n Example: ``math.isnan(float('nan'))``\n\n :param x: A number\n :return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Calculate ``x * (2**exp)``.\n\n Example: ``math.ldexp(0.5, 2)``\n\n :param x: A number\n :param exp: Integer exponent\n :return: ``x * (2**exp)``\n \"\"\"\n ...\n\ndef log(x: float, base: float = e) -> float:\n \"\"\"Calculate the logarithm of ``x`` to the given base (defaults to natural logorithm).\n\n Example: ``math.log(math.e)``\n\n With one argument, return the natural logarithm of x (to base e).\n\n With two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n :param x: A number\n :param base: The base to use\n :return: The natural logarithm of ``x``\n \"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Calculate the fractional and integral parts of ``x``.\n\n Example: ``fractional, integral = math.modf(1.5)``\n\n :param x: A number\n :return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\n Both the fractional and integral values have the same sign as ``x``.\n \"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Returns ``x`` to the power of ``y``.\n\n Example: ``math.pow(4, 0.5)``\n\n :param x: A number\n :param y: The exponent\n :return: ``x`` to the power of ``y``\n \"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Convert a degrees to radians.\n\n Example: ``math.radians(360)``\n\n :param x: A value in degrees\n :return: The value converted to radians\n \"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Calculate the sine of ``x``.\n\n Example: ``math.sin(math.pi/2)``\n\n :param x: A number\n :return: The sine of ``x``\n \"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Calculate the square root of ``x``.\n\n Example: ``math.sqrt(4)``\n\n :param x: A number\n :return: The square root of ``x``\n \"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Calculate the tangent of ``x``.\n\n Example: ``math.tan(0)``\n\n :param x: A number\n :return: The tangent of ``x``.\n \"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Round a number towards 0.\n\n Example: ``math.trunc(-0.9)``\n\n :param x: A number\n :return: ``x`` rounded towards zero.\n \"\"\"\n ...\n\ne: float\n\"\"\"Base of the natural logarithm\"\"\"\n\npi: float\n\"\"\"The ratio of a circle's circumference to its diameter\"\"\"\n", - "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython internals.\"\"\"\n\nfrom typing import Any, TypeVar, overload\n\n_T = TypeVar(\"_T\")\n\ndef const(expr: _T) -> _T:\n \"\"\"Used to declare that the expression is a constant so that the compiler can\n optimise it.\n\n The use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\n Constants declared this way are still accessible as global variables from\n outside the module they are declared in. On the other hand, if a constant\n begins with an underscore then it is hidden, it is not available as a\n global variable, and does not take up any memory during execution.\n\n :param expr: A constant expression.\n \"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Get the current optimisation level for the compilation of scripts.\n\n Example: ``micropython.opt_level()``\n\n The optimisation level controls the following compilation features:\n\n - Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n - Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n - Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n :return: An integer representing the current level.\n \"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Sets the optimisation level for subsequent compilation of scripts.\n\n Example: ``micropython.opt_level(1)``\n\n The optimisation level controls the following compilation features:\n\n - Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n - Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n - Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n The default optimisation level is usually level 0.\n\n :param level: An integer optimisation level.\n \"\"\"\n ...\n\ndef mem_info(verbose: Any = None) -> None:\n \"\"\"Print information about currently used memory.\n\n Example: ``micropython.mem_info()``\n\n :param verbose: If the ``verbose`` argument is given then extra information is printed.\n \"\"\"\n ...\n\ndef qstr_info(verbose: Any = None) -> None:\n \"\"\"Print information about currently interned strings.\n\n Example: ``micropython.qstr_info()``\n\n :param verbose: If the ``verbose`` argument is given then extra information is printed.\n\n The information that is printed is implementation dependent, but currently\n includes the number of interned strings and the amount of RAM they use. In\n verbose mode it prints out the names of all RAM-interned strings.\n \"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Return an integer representing the current amount of stack that is being\n used.\n\n Example: ``micropython.stack_use()``\n\n The absolute value of this is not particularly useful, rather it\n should be used to compute differences in stack usage at different points.\n\n :return: An integer representing current stack use.\n \"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Lock the heap.\n\n Example: ``micropython.heap_lock()``\n\n When locked no memory allocation can occur and a ``MemoryError`` will be\n raised if any heap allocation is attempted.\n \"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Unlock the heap.\n\n Example: ``micropython.heap_unlock()``\n\n When locked no memory allocation can occur and a ``MemoryError`` will be\n raised if any heap allocation is attempted.\n \"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Set the character that will raise a ``KeyboardInterrupt`` exception.\n\n Example: ``micropython.kbd_intr(-1)``\n\n :param chr: Character code to raise the interrupt or -1 to disable capture of Ctrl-C.\n\n By default this is set to 3 during script execution, corresponding to Ctrl-C.\n Passing -1 to this function will disable capture of Ctrl-C, and passing 3\n will restore it.\n\n This function can be used to prevent the capturing of Ctrl-C on the\n incoming stream of characters that is usually used for the REPL, in case\n that stream is used for other purposes.\n \"\"\"\n ...\n", - "/typeshed/stdlib/music.pyi": "\"\"\"Create and play melodies.\n\"\"\"\nfrom typing import Optional, Tuple, Union, List\n\nfrom .microbit import MicroBitDigitalPin, pin0\n\nDADADADUM: Tuple[str, ...]\n\"\"\"Melody: the opening to Beethoven\u2019s 5th Symphony in C minor.\"\"\"\n\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melody: the opening fragment of Scott Joplin\u2019s Ragtime classic \u201cThe Entertainer\u201d.\"\"\"\n\nPRELUDE: Tuple[str, ...]\n\"\"\"Melody: the opening of the first Prelude in C Major of J.S.Bach\u2019s 48 Preludes and Fugues.\"\"\"\n\nODE: Tuple[str, ...]\n\"\"\"Melody: the \u201cOde to Joy\u201d theme from Beethoven\u2019s 9th Symphony in D minor.\"\"\"\n\nNYAN: Tuple[str, ...]\n\"\"\"Melody: the Nyan Cat theme (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\n\nRINGTONE: Tuple[str, ...]\n\"\"\"Melody: something that sounds like a mobile phone ringtone.\n\nTo be used to indicate an incoming message.\n\"\"\"\n\nFUNK: Tuple[str, ...]\n\"\"\"Melody: a funky bass line for secret agents and criminal masterminds.\"\"\"\n\nBLUES: Tuple[str, ...]\n\"\"\"Melody: a boogie-woogie 12-bar blues walking bass.\"\"\"\n\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melody: \u201cHappy Birthday to You\u2026\u201d\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\n\nWEDDING: Tuple[str, ...]\n\"\"\"Melody: the bridal chorus from Wagner\u2019s opera \u201cLohengrin\u201d.\"\"\"\n\nFUNERAL: Tuple[str, ...]\n\"\"\"Melody: the \u201cfuneral march\u201d otherwise known as Fr\u00e9d\u00e9ric Chopin\u2019s Piano Sonata No. 2 in B\u266d minor, Op. 35.\"\"\"\n\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melody: a fun fragment that signifies a joke has been made.\"\"\"\n\nPYTHON: Tuple[str, ...]\n\"\"\"Melody: John Philip Sousa\u2019s march \u201cLiberty Bell\u201d aka, the theme for \u201cMonty Python\u2019s Flying Circus\u201d (after which the Python programming language is named).\"\"\"\n\nBADDY: Tuple[str, ...]\n\"\"\"Melody: silent movie era entrance of a baddy.\"\"\"\n\nCHASE: Tuple[str, ...]\n\"\"\"Melody: silent movie era chase scene.\"\"\"\n\nBA_DING: Tuple[str, ...]\n\"\"\"Melody: a short signal to indicate something has happened.\"\"\"\n\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melody: a very sad trombone.\"\"\"\n\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melody: for use in a game, indicating upward movement.\"\"\"\n\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melody: for use in a game, indicating downward movement.\"\"\"\n\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melody: a fanfare to indicate an achievement unlocked.\"\"\"\n\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melody: a sad fanfare to indicate an achievement lost.\"\"\"\n\ndef set_tempo(ticks: int = 4, bpm: int = 120) -> None:\n \"\"\"Sets the approximate tempo for playback.\n\n Example: ``music.set_tempo(bpm=120)``\n\n :param ticks: The number of ticks constituting a beat.\n :param bpm: An integer determining how many beats per minute.\n\n Suggested default values allow the following useful behaviour:\n\n - music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n - music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n - music.set_tempo(bpm=180) \u2013 just change the tempo\n\n To work out the length of a tick in milliseconds is very simple arithmetic:\n 60000/bpm/ticks_per_beat. For the default values that\u2019s\n 60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\n \"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Gets the current tempo as a tuple of integers: ``(ticks, bpm)``.\n\n Example: ``ticks, beats = music.get_tempo()``\n\n :return: The temp as a tuple with two integer values, the ticks then the beats per minute.\n \"\"\"\n ...\n\ndef play(\n music: Union[str, List[str], Tuple[str, ...]],\n pin: Optional[MicroBitDigitalPin] = pin0,\n wait: bool = True,\n loop: bool = False,\n) -> None:\n \"\"\"Plays music.\n\n Example: ``music.play(music.NYAN)``\n\n :param music: music specified in `a special notation `_\n :param pin: the output pin for use with an external speaker (default ``pin0``), ``None`` for no sound.\n :param wait: If ``wait`` is set to ``True``, this function is blocking.\n :param loop: If ``loop`` is set to ``True``, the tune repeats until ``stop`` is called or the blocking call is interrupted.\n\n Many built-in melodies are defined in this module.\n \"\"\"\n ...\n\ndef pitch(\n frequency: int,\n duration: int = -1,\n pin: Optional[MicroBitDigitalPin] = pin0,\n wait: bool = True,\n) -> None:\n \"\"\"Play a note.\n\n Example: ``music.pitch(185, 1000)``\n\n :param frequency: An integer frequency\n :param duration: A millisecond duration. If negative then sound is continuous until the next call or a call to ``stop``.\n :param pin: Optional output pin (default ``pin0``).\n :param wait: If ``wait`` is set to ``True``, this function is blocking.\n\n For example, if the frequency is set to 440 and the length to\n 1000 then we hear a standard concert A for one second.\n\n You can only play one pitch on one pin at any one time.\n \"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin] = pin0) -> None:\n \"\"\"Stops all music playback on the built-in speaker and any pin outputting sound.\n\n Example: ``music.stop()``\n\n :param pin: An optional argument can be provided to specify a pin, e.g. ``music.stop(pin1)``.\n \"\"\"\n\ndef reset() -> None:\n \"\"\"Resets ticks, bpm, duration and octave to their default values.\n\n Example: ``music.reset()``\n\n Values:\n - ``ticks = 4``\n - ``bpm = 120``\n - ``duration = 4``\n - ``octave = 4``\n \"\"\"\n ...\n", - "/typeshed/stdlib/neopixel.pyi": "\"\"\"Individually addressable RGB and RGBW LED strips.\n\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int = 3) -> None:\n \"\"\"Initialise a new strip of neopixel LEDs controlled via a pin.\n\n Example: ``np = neopixel.NeoPixel(pin0, 8)``\n\n To support RGBW neopixels, a third argument can be passed to\n ``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\n For RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\n Each pixel is addressed by a position (starting from 0). Neopixels are\n given RGB (red, green, blue) / RGBW (red, green, blue, white) values\n between 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\n white. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\n See `the online docs `_ for warnings and other advice.\n\n :param pin: The pin controlling the neopixel strip.\n :param n: The number of neopixels in the strip.\n :param bpp: Bytes per pixel. For RGBW neopixel support, pass 4 rather than the default of 3 for RGB and GRB.\n \"\"\"\n ...\n def clear(self) -> None:\n \"\"\"Clear all the pixels.\n\n Example: ``np.clear()``\n \"\"\"\n ...\n def show(self) -> None:\n \"\"\"Show the pixels.\n\n Example: ``np.show()``\n\n Must be called for any updates to become visible.\n \"\"\"\n ...\n def write(self) -> None:\n \"\"\"Show the pixels (micro:bit V2 only).\n\n Example: ``np.write()``\n\n Must be called for any updates to become visible.\n\n Equivalent to ``show``.\n \"\"\"\n ...\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Colour all pixels a given RGB/RGBW value (micro:bit V2 only).\n\n Example: ``np.fill((0, 0, 255))``\n\n :param colour: A tuple of the same length as the number of bytes per pixel (bpp).\n\n Use in conjunction with ``show()`` to update the neopixels.\n \"\"\"\n ...\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Set a pixel colour.\n\n Example: ``np[0] = (255, 0, 0)``\n\n :param key: The pixel number.\n :param value: The colour.\n \"\"\"\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Get a pixel colour.\n\n Example: ``r, g, b = np[0]``\n\n :param key: The pixel number.\n :return: The colour tuple.\n \"\"\"\n def __len__(self) -> int:\n \"\"\"Get length of this pixel strip.\n\n Example: ``len(np)``\n \"\"\"\n", - "/typeshed/stdlib/os.pyi": "\"\"\"Access the file system.\n\"\"\"\n\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"List files.\n\n Example: ``os.listdir()``\n\n :return: A list of the names of all the files contained within the local\n persistent on-device file system.\n \"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Remove (delete) a file.\n\n Example: ``os.remove('data.txt')``\n\n :param filename: The file to delete.\n\n If the file does not exist an ``OSError`` exception will occur.\n \"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Returns the size of a file.\n\n Example: ``os.size('data.txt')``\n\n :param filename: The file\n :return: The size in bytes.\n\n If the file does not exist an ``OSError`` exception will occur.\n \"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Result of ``os.uname()``\"\"\"\n sysname: str\n \"\"\"Operating system name.\"\"\"\n\n nodename: str\n \"\"\"Name of machine on network (implementation-defined).\"\"\"\n\n release: str\n \"\"\"Operating system release.\"\"\"\n \n version: str\n \"\"\"Operating system version.\"\"\"\n \n machine: str\n \"\"\"Hardware identifier.\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Returns information identifying the current operating system.\n\n Example: ``os.uname()``\n\n The return value is an object with five attributes:\n\n - ``sysname`` - operating system name\n - ``nodename`` - name of machine on network (implementation-defined)\n - ``release`` - operating system release\n - ``version`` - operating system version\n - ``machine`` - hardware identifier\n\n There is no underlying operating system in MicroPython. As a result the\n information returned by the ``uname`` function is mostly useful for\n versioning details.\n \"\"\"\n ...\n", + "/typeshed/stdlib/machine.pyi": "\"\"\"Utilitats de baix nivell. (m\u00e0quina)\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"Obt\u00e9 una cadena de bytes amb un identificador \u00fanic d'una placa.\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reinicia el dispositiu d'una manera semblant a la de pr\u00e9mer el bot\u00f3 extern de REINICI. (reiniciar)\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"Obt\u00e9 la freq\u00fc\u00e8ncia en Hertz de la CPU\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"Desactiva les sol\u00b7licituds d'interrupci\u00f3. (desabilita irq)\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"Torna a habilitar les sol\u00b7licituds d'interrupci\u00f3. (habilita irq)\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: (estat) El valor retornat per la crida m\u00e9s recent a la funci\u00f3 ``disable_irq``.\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"Cronometra una pulsaci\u00f3 en un pin. (mesura la durada d'una pulsaci\u00f3 en un pin)\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: El pin a utilitzar\n:param pulse_level: (nivell de pulsaci\u00f3) 0 per cronometrar la durada de l'estat baix o 1 per cronometrar la durada de l'estat alt\n:param timeout_us: (temps d'espera a la resposta excedit en microsegons) Temps d'espera d'un microsegon\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"La classe per a les vistes de la mem\u00f2ria ``mem8``, ``mem16`` i ``mem32``.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Accedeix a un valor de la mem\u00f2ria\n\n:param address: (adre\u00e7a) L'adre\u00e7a de la mem\u00f2ria\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"Assigna un valor a l'adre\u00e7a donada\n\n:param address: (adre\u00e7a) L'adre\u00e7a de la mem\u00f2ria\n:param value: (valor) El valor enter que cal assignar.\"\"\"\n ...\nmem8: mem\n\"\"\"vista de la mem\u00f2ria 8-bit (byte)\"\"\"\nmem16: mem\n\"\"\"vista de la mem\u00f2ria 16-bit\"\"\"\nmem32: mem\n\"\"\"vista de la mem\u00f2ria 32-bit\"\"\"", + "/typeshed/stdlib/math.pyi": "\"\"\"Funcions matem\u00e0tiques (matem\u00e0tiques)\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Calcula l'invers del cosinus (arc cosinus)\n\nExample: ``math.acos(1)``\n\n:param x: Un nombre\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Calcula l'invers del sinus (arc sinus)\n\nExample: ``math.asin(0)``\n\n:param x: Un nombre\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Calcula l'invers de la tangent (arc tangent)\n\nExample: ``math.atan(0)``\n\n:param x: Un nombre\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Calcula el valor principal de l'invers de la tangent de ``y/x``. (arc tangent 2)\n\nExample: ``math.atan2(0, -1)``\n\n:param y: Un nombre\n:param x: Un nombre\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Arrodoneix un nombre cap a l'infinit positiu. (arrodoniment per exc\u00e9s)\n\nExample: ``math.ceil(0.1)``\n\n:param x: Un nombre\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Calcula ``x`` amb el signe de ``y``.\n\nExample: ``math.copysign(1, -1)``\n\n:param x: Un nombre\n:param y: L'origen del signe pel valor retornat.\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Calcula el cosinus de ``x``. (cosinus)\n\nExample: ``math.cos(0)``\n\n:param x: Un nombre\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Convertir radiants a graus (graus)\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: Un valor en radians\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Calcula l'exponencial de ``x``.\n\nExample: ``math.exp(1)``\n\n:param x: Un nombre\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Retorna el valor absolut de ``x``.\n\nExample: ``math.fabs(-0.1)``\n\n:param x: Un nombre\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Arrodoneix un nombre cap a l'infinit negatiu. (arrodoniment per defecte)\n\nExample: ``math.floor(0.9)``\n\n:param x: Un nombre\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Calcula el residu de ``x/y``.\n\nExample: ``math.fmod(10, 3)``\n\n:param x: El numerador\n:param y: El denominador\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Descompon un nombre de coma flotant en la seva mantissa i el seu exponent.\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: Un nombre de coma flotant\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"Verifica si un valor \u00e9s finit.\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: Un nombre.\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"Verifica si un valor \u00e9s infinit.\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: Un nombre.\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Verifica si un valor \u00e9s un \"no nombre\" (NaN)\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: Un nombre\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Calcula ``x * (2**exp)``. (ldexp (Calcula ``x * (2**exp)``))\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: Un nombre\n:param exp: Exponent enter\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"Calcula el logaritme ``x`` d'una base donada (per defecte al logaritme natural). (registre)\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: Un nombre\n:param base: La base a utilitzar\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Calcula les parts fraccion\u00e0ries i integrals de ``x``.\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: Un nombre\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Retorna ``x`` a la pot\u00e8ncia de ``y``.\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: Un nombre\n:param y: L'exponent\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Converteix graus a radians\n\nExample: ``math.radians(360)``\n\n:param x: Un valor en graus\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Calcula el sinus de ``x``. (sinus)\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: Un nombre\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Calcula l'arrel quadrada de ``x``.\n\nExample: ``math.sqrt(4)``\n\n:param x: Un nombre\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Calcula la tangent de ``x``.\n\nExample: ``math.tan(0)``\n\n:param x: Un nombre\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Arrodoneix un nombre cap al 0. (trunca)\n\nExample: ``math.trunc(-0.9)``\n\n:param x: Un nombre\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"Base del logaritme natural\"\"\"\npi: float\n\"\"\"La relaci\u00f3 entre la circumfer\u00e8ncia d'un cercle i el seu di\u00e0metre\"\"\"", + "/typeshed/stdlib/micropython.pyi": "\"\"\"Components interns de MicroPython.\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"S'utilitza per declarar que l'expressi\u00f3 \u00e9s una constant perqu\u00e8 el compilador pugui\noptimitzar-la.\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: Una expressi\u00f3 constant\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Obt\u00e9 el nivell d'optimitzaci\u00f3 actual per a la compilaci\u00f3 d'scripts.\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Estableix el nivell d'optimitzaci\u00f3 per a la compilaci\u00f3 posterior dels scripts.\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: Un nivell d'optimitzaci\u00f3 enter.\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"Imprimeix informaci\u00f3 sobre la mem\u00f2ria utilitzada actualment. (informaci\u00f3 de la mem\u00f2ria)\n\nExample: ``micropython.mem_info()``\n\n:param verbose: Si es dona l'argument ``verbose``, s'imprimeix informaci\u00f3 addicional.\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"Imprimeix informaci\u00f3 sobre les cadenes internades actualment.\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: Si es dona l'argument ``verbose``, s'imprimeix informaci\u00f3 addicional.\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Retorna un nombre enter que representa la quantitat actual de pila que est\u00e0 sent\nutilitzada.\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Bloqueja el munt.\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Desbloqueja el munt.\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Estableix el car\u00e0cter que generar\u00e0 una excepci\u00f3 ``KeyboardInterrupt``.\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: Codi de car\u00e0cter per augmentar la interrupci\u00f3 o -1 per desactivar la captura de Ctrl-C.\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", + "/typeshed/stdlib/music.pyi": "\"\"\"Crea i toca melodies. (m\u00fasica)\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"Melodia: l'obertura de la cinquena simfonia de Beethoven en Do menor.\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melodia: el fragment inicial del cl\u00e0ssic Ragtime de Scott Joplin \"The Entertainer\".\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"Melodia: obertura del primer Preludi en Do Major dels 48 Preludis i Fugues de J.S. Bach. (preludi)\"\"\"\nODE: Tuple[str, ...]\n\"\"\"Melodia: el tema \"Oda a l'alegria\" de la 9a simfonia en Re menor de Beethoven. (oda)\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"Melodia: el tema Nyan Cat (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"Melodia: quelcom que sona com un to de trucada de tel\u00e8fon m\u00f2bil. (to de trucada)\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"Melodia: una l\u00ednia de baix funky per a agents secrets i cervells criminals.\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"Melodia: un blues walking bass boogie-woogie de dotze compassos.\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melodia: \u201cFeli\u00e7 aniversari\u2026\u201d (aniversari)\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"Melodia: el cor nupcial de l'\u00f2pera Lohengrin de Wagner. (casament)\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"Melodia: la \u201cmarxa f\u00fanebre\u201d com es coneix la Sonata per a piano No 2. en Si bemoll menor Op. 35 de Fr\u00e9d\u00e9ric Chopin .\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melodia: un fragment divertit que significa que s'ha fet una broma.\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"Melodia: la marxa de John Philip Sousa \"Liberty Bell\", tamb\u00e9 conegut com, el tema de \"Monty Python's Flying Circus\" (a partir de la qual s'anomena el llenguatge de programaci\u00f3 Python).\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"Melodia: entrada d'un dolent a l'era del cinema mut. (dolent)\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"Melodia: escena de persecuci\u00f3 de l'era del cinema mut. (persecuci\u00f3)\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"Melodia: senyal breu per indicar que alguna cosa ha passat.\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melodia: un tromb\u00f3 molt trist.\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melodia: per utilitzar-se en un joc, indicant moviment cap amunt. (saltar cap amunt)\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melodia: per utilitzar en un joc, que indica moviment cap avall. (saltar cap avall)\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melodia: una fanf\u00e0rria per indicar un assoliment desbloquejat. (engegar)\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melodia: una trista fanf\u00e0rria per indicar un assoliment perdut. (apagar)\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"Estableix el tempo aproximat per la reproducci\u00f3.\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: El nombre de tics que constitueixen un ritme.\n:param bpm: Un nombre enter determinant quantes pulsacions per minut.\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Obt\u00e9 el tempo actual com una tupla d'enters:``(ticks, bpm)``. (obt\u00e9 el tempo)\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"Tocar m\u00fasica\n\nExample: ``music.play(music.NYAN)``\n\n:param music: (m\u00fasica) m\u00fasica especificada en `una notaci\u00f3 especial `_\n:param pin: el pin de sortida per utilitzar-lo amb un altaveu extern (``pin0`` per defecte), ``None`` per no fer so.\n:param wait: (espera) Si ``wait`` s'estableix en ``True``, aquesta funci\u00f3 est\u00e0 bloquejant.\n:param loop: (bucle) Si el ``loop`` s'estableix en ``True``, la melodia es repeteix fins que es crida ``stop`` o s'interromp la trucada de bloqueig.\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"Toca una nota. (altura del to)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (freq\u00fc\u00e8ncia) Una freq\u00fc\u00e8ncia de nombre enter\n:param duration: (Durada - duraci\u00f3) Una duraci\u00f3 d'un mil\u00b7lisegon. Si \u00e9s negativa, el so \u00e9s continu fins a la nova crida o una crida a ``stop``.\n:param pin: Pin de sortida opcional (``pin0`` per defecte).\n:param wait: (espera) Si ``wait`` s'estableix en ``True``, aquesta funci\u00f3 est\u00e0 bloquejant.\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Atura tota la reproducci\u00f3 de m\u00fasica a l'altaveu integrat i qualsevol so de sortida de pin. (atura)\n\nExample: ``music.stop()``\n\n:param pin: Es pot proporcionar un argument opcional per especificar un pin, per exemple ``music.stop(pin1)``.\"\"\"\n\ndef reset() -> None:\n \"\"\"Restableix els tics, ppm, duraci\u00f3 i octava al seu valor per defecte. (reiniciar)\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"Cintes LED RGB i RGBW adre\u00e7ables individualment.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"Inicialitza una nova tira de LED de neopixel controlada mitjan\u00e7ant un pin.\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: El pin que controla la tira de neop\u00edxels.\n:param n: El nombre de neop\u00edxels de la tira.\n:param bpp: Bytes per p\u00edxel. Per al suport del neopixel RGBW , passa 4 en lloc dels 3 per defecte per a RGB i GRB.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"Esborra tots els p\u00edxels.\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"mostra els p\u00edxels.\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"Mostra els p\u00edxels (nom\u00e9s micro:bit V2) (escriu)\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Acoloreix tots els p\u00edxels amb un valor RGB/RGBW determinat (nom\u00e9s micro:bit V2). (omple)\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: (color) Una tupla de la mateixa longitud que el nombre de bytes per p\u00edxel (bpp).\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Estableix un color de p\u00edxel.\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: El nombre de p\u00edxels.\n:param value: (valor) El color.\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Obt\u00e9 un color de p\u00edxel.\n\nExample: ``r, g, b = np[0]``\n\n:param key: El nombre de p\u00edxels.\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"Obt\u00e9 la longitud d'aquesta cinta de p\u00edxels.\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/os.pyi": "\"\"\"Accedeix al sistema de fitxers.\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"Llista dels fitxers.\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Eliminar (suprimir) un fitxer. (eliminar)\n\nExample: ``os.remove('data.txt')``\n\n:param filename: (nom del fitxer) El fitxer a suprimir.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Retorna la mida d'un fitxer (mida)\n\nExample: ``os.size('data.txt')``\n\n:param filename: (nom del fitxer) El fitxer\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Resultat de ``os.uname()``\"\"\"\n sysname: str\n \"\"\"Nom del sistema operatiu.\"\"\"\n nodename: str\n \"\"\"Nom de la m\u00e0quina a la xarxa (definida per la implementaci\u00f3).\"\"\"\n release: str\n \"\"\"Versi\u00f3 del sistema operatiu. (versi\u00f3)\"\"\"\n version: str\n \"\"\"Versi\u00f3 del sistema operatiu. (versi\u00f3)\"\"\"\n machine: str\n \"\"\"Identificador del maquinari. (m\u00e0quina)\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Retorna informaci\u00f3 que identifica el sistema operatiu actual.\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", - "/typeshed/stdlib/radio.pyi": "\"\"\"Communicate between micro:bits with the built-in radio.\n\"\"\"\n\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\n\nRATE_1MBIT: int\n\"\"\"Constant used to indicate a throughput of 1 MBit a second.\"\"\"\n\nRATE_2MBIT: int\n\"\"\"Constant used to indicate a throughput of 2 MBit a second.\"\"\"\n\ndef on() -> None:\n \"\"\"Turns the radio on.\n\n Example: ``radio.on()``\n\n This needs to be explicitly called since the radio draws power and takes\n up memory that you may otherwise need.\n \"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Turns off the radio, saving power and memory.\n\n Example: ``radio.off()``\n \"\"\"\n ...\n\ndef config(\n length: int = 32,\n queue: int = 3,\n channel: int = 7,\n power: int = 6,\n address: int = 0x75626974,\n group: int = 0,\n data_rate: int = RATE_1MBIT,\n) -> None:\n \"\"\"Configures the radio.\n\n Example: ``radio.config(group=42)``\n\n The default configuration is suitable for most use.\n\n :param length: (default=32) defines the maximum length, in bytes, of a message sent via the radio.\n It can be up to 251 bytes long (254 - 3 bytes for S0, LENGTH and S1 preamble).\n :param queue: (default=3) specifies the number of messages that can be stored on the incoming message queue.\n If there are no spaces left on the queue for incoming messages, then the incoming message is dropped.\n :param channel: (default=7) an integer value from 0 to 83 (inclusive) that defines an arbitrary \"channel\" to which the radio is tuned.\n Messages will be sent via this channel and only messages received via this channel will be put onto the incoming message queue. Each step is 1MHz wide, based at 2400MHz.\n :param power: (default=6) is an integer value from 0 to 7 (inclusive) to indicate the strength of signal used when broadcasting a message.\n The higher the value the stronger the signal, but the more power is consumed by the device. The numbering translates to positions in the following list of dBm (decibel milliwatt) values: -30, -20, -16, -12, -8, -4, 0, 4.\n :param address: (default=0x75626974) an arbitrary name, expressed as a 32-bit address, that's used to filter incoming packets at the hardware level, keeping only those that match the address you set.\n The default used by other micro:bit related platforms is the default setting used here.\n :param group: (default=0) an 8-bit value (0-255) used with the ``address`` when filtering messages.\n Conceptually, \"address\" is like a house/office address and \"group\" is like the person at that address to which you want to send your message.\n :param data_rate: (default=``radio.RATE_1MBIT``) indicates the speed at which data throughput takes place.\n Can be one of the following constants defined in the ``radio`` module: ``RATE_250KBIT``, ``RATE_1MBIT`` or ``RATE_2MBIT``.\n\n If ``config`` is not called then the defaults described above are assumed.\n \"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset the settings to their default values.\n\n Example: ``radio.reset()``\n\n The defaults as as per the ``config`` function above.\n \"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Sends a message containing bytes.\n\n Example: ``radio.send_bytes(b'hello')``\n\n :param message: The bytes to send.\n \"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Receive the next incoming message on the message queue.\n\n Example: ``radio.receive_bytes()``\n\n :return: The message bytes if any, otherwise ``None``.\n \"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Copy the next incoming message on the message queue into a buffer.\n\n Example: ``radio.receive_bytes_info(buffer)``\n\n :param buffer: The target buffer. The message is truncated if larger than the buffer.\n :return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\n \"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Sends a message string.\n\n Example: ``radio.send('hello')``\n\n This is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\n prepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n :param message: The string to send.\n \"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Works in exactly the same way as ``receive_bytes`` but returns whatever was sent.\n\n Example: ``radio.receive()``\n\n Equivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\n three bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\n may target the micro:bit).\n\n :return: The message with the prepended bytes stripped and converted to a string.\n\n A ``ValueError`` exception is raised if conversion to string fails.\n \"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Returns a tuple containing three values representing the next incoming message on the message queue.\n\n Example: ``radio.receive_full()``\n\n If there are no pending messages then ``None`` is returned.\n\n The three values in the tuple represent:\n\n - the next incoming message on the message queue as bytes.\n - the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n - a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\n For example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\n This function is useful for providing information needed for triangulation\n and/or trilateration with other micro:bit devices.\n\n :return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\n \"\"\"\n ...\n", - "/typeshed/stdlib/random.pyi": "\"\"\"Generate random numbers.\n\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"Generate an integer with ``n`` random bits.\n\n Example: ``random.getrandbits(1)``\n\n :param n: A value between 1-30 (inclusive).\n \"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Initialize the random number generator.\n\n Example: ``random.seed(0)``\n\n :param n: The integer seed\n\n This will give you reproducibly deterministic randomness from a given starting\n state (``n``).\n \"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"Choose a random integer between ``a`` and ``b`` inclusive.\n\n Example: ``random.randint(0, 9)``\n\n :param a: Start value for the range (inclusive)\n :param b: End value for the range (inclusive)\n\n Alias for ``randrange(a, b + 1)``.\n \"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"Choose a randomly selected integer between zero and up to (but not\n including) ``stop``.\n\n Example: ``random.randrange(10)``\n\n :param stop: End value for the range (exclusive)\n \"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int = 1) -> int:\n \"\"\"\n Choose a randomly selected element from ``range(start, stop, step)``.\n\n Example: ``random.randrange(0, 10)``\n\n :param start: The start of the range (inclusive)\n :param stop: The end of the range (exclusive)\n :param step: The step.\n \"\"\"\n ...\n\n_T = TypeVar(\"_T\")\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"Choose a random element from the non-empty sequence ``seq``.\n\n Example: ``random.choice([Image.HAPPY, Image.SAD])``\n\n :param seq: A sequence.\n\n If ``seq`` is empty, raises ``IndexError``.\n \"\"\"\n ...\n\ndef random() -> float:\n \"\"\"Generate a random floating point number in the range [0.0, 1.0).\n\n Example: ``random.random()``\n\n :return: The random floating point number\n \"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"\n Return a random floating point number between ``a`` and ``b`` inclusive.\n\n Example: ``random.uniform(0, 9)``\n\n :param a: Start value for the range (inclusive)\n :param b: End value for the range (inclusive)\n \"\"\"\n ...\n", - "/typeshed/stdlib/speech.pyi": "\"\"\"Make the micro:bit talk, sing and make other speech like sounds.\n\"\"\"\n\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"Translate English words to phonemes.\n\n Example: ``speech.translate('hello world')``\n\n :param words: A string of English words.\n :return: A string containing a best guess at the appropriate phonemes to pronounce.\n The output is generated from this `text to phoneme translation table `_.\n\n This function should be used to generate a first approximation of phonemes\n that can be further hand-edited to improve accuracy, inflection and\n emphasis.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef pronounce(\n phonemes: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: Optional[MicroBitDigitalPin] = pin0,\n) -> None:\n \"\"\"Pronounce phonemes.\n\n Example: ``speech.pronounce(' /HEHLOW WERLD')``\n\n :param phonemes: The string of phonemes to pronounce\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n Override the optional pitch, speed, mouth and throat settings to change the\n timbre (quality) of the voice.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef say(\n words: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: MicroBitDigitalPin = pin0,\n) -> None:\n \"\"\"Say English words.\n\n Example: ``speech.say('hello world')``\n\n :param words: The string of words to say.\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n The result is semi-accurate for English. Override the optional pitch, speed,\n mouth and throat settings to change the timbre (quality) of the voice.\n\n This is a short-hand equivalent of:\n ``speech.pronounce(speech.translate(words))``\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef sing(\n phonemes: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: MicroBitDigitalPin = pin0,\n) -> None:\n \"\"\"Sing phonemes.\n\n Example: ``speech.sing(' /HEHLOW WERLD')``\n\n :param phonemes: The string of words to sing.\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n Override the optional pitch, speed, mouth and throat settings to change\n the timbre (quality) of the voice.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n", - "/typeshed/stdlib/struct.pyi": "\"\"\"Pack and unpack primitive data types.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"Get the number of bytes needed to store the given ``fmt``.\n\n Example: ``struct.calcsize('hf')``\n\n :param fmt: A format string.\n :return The number of bytes needed to store such a value.\n \"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"Pack values according to a format string.\n\n Example: ``struct.pack('hf', 1, 3.1415)``\n\n :param fmt: The format string.\n :param v1: The first value.\n :param *vn: The remaining values.\n :return A bytes object encoding the values.\n \"\"\"\n ...\n\ndef pack_into(\n fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any\n) -> None:\n \"\"\"Pack values according to a format string.\n\n Example: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n :param fmt: The format string.\n :param buffer: The target buffer to write into.\n :param offset: The offset into the buffer. May be negative to count from the end of the buffer.\n :param v1: The first value.\n :param *vn: The remaining values.\n \"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"Unpack data according to a format string.\n\n Example: ``v1, v2 = struct.unpack('hf', buffer)``\n\n :param fmt: The format string.\n :param data: The data.\n :return: A tuple of the unpacked values.\n \"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int = 0) -> Tuple:\n \"\"\"Unpack data from a buffer according to a format string.\n\n Example: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n :param fmt: The format string.\n :param buffer: The source buffer to read from.\n :param offset: The offset into the buffer. May be negative to count from the end of the buffer.\n :return: A tuple of the unpacked values.\n \"\"\"\n ...\n", - "/typeshed/stdlib/sys.pyi": "\"\"\"System specific functions\"\"\"\n\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object = ...) -> NoReturn:\n \"\"\"Terminate current program with a given exit code.\n\n Example: ``sys.exit(1)``\n\n This function raises a ``SystemExit`` exception. If an argument is given, its\n value given as an argument to ``SystemExit``.\n\n :param retval: The exit code or message.\n \"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"\n Print an exception with a traceback.\n\n Example: ``sys.print_exception(e)``\n\n :param exc: The exception to print\n\n This is simplified version of a function which appears in the\n ``traceback`` module in CPython.\n \"\"\"\n\nargv: List[str]\n\"\"\"A mutable list of arguments the current program was started with.\"\"\"\n\nbyteorder: str\n\"\"\"The byte order of the system (``\"little\"`` or ``\"big\"``).\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\n\nimplementation: _implementation\n\"\"\"Object with information about the current Python implementation.\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\n\nmaxsize: int\n\"\"\"\nMaximum value which a native integer type can hold on the current platform,\nor maximum value representable by MicroPython integer type, if it's smaller\nthan platform max value (that is the case for MicroPython ports without\nlong int support).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\n\nmodules: Dict[str, Any]\n\"\"\"Dictionary of loaded modules. \n\nOn some ports, it may not include builtin modules.\"\"\"\n\npath: List[str]\n\"\"\"A mutable list of directories to search for imported modules.\"\"\"\n\nplatform: str\n\"\"\"The platform that MicroPython is running on. \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\n\nversion: str\n\"\"\"Python language version that this implementation conforms to, as a string.\"\"\"\n\nversion_info: Tuple[int, int, int]\n\"\"\"Python language version that this implementation conforms to, as a tuple of ints.\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"\n", + "/typeshed/stdlib/radio.pyi": "\"\"\"Comunicar-se entre micro:bits amb la r\u00e0dio integrada. (r\u00e0dio)\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"La constant utilitzada per indicar un rendiment d'1 Mbit per segon. (velocitat de transmissi\u00f3 1mbit)\"\"\"\nRATE_2MBIT: int\n\"\"\"La constant utilitzada per indicar un rendiment de 2 Mbit per segon. (velocitat de transmissi\u00f3 2mbit)\"\"\"\n\ndef on() -> None:\n \"\"\"Enc\u00e9n la r\u00e0dio.\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Apaga la r\u00e0dio, estalviant energia i mem\u00f2ria.\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"Configura la r\u00e0dio.\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (llargada) (per defecte=32) defineix la longitud m\u00e0xima, en bytes, d'un missatge enviat a trav\u00e9s de la r\u00e0dio.\nPot tenir una longitud de fins a 251 bytes (254 - 3 bytes per al pre\u00e0mbul S0, LENGTH i S1).\n:param queue: (cua) (per defecte=3) especifica el nombre de missatges que es poden emmagatzemar a la cua de missatges entrants.\nSi no queden espais a la cua per als missatges entrants, s'elimina el missatge entrant.\n:param channel: (canal) (per defecte=7) un valor enter de 0 a 83 (inclosos) que defineix un \"canal\" arbitrari al qual est\u00e0 sintonitzada la r\u00e0dio.\nEls missatges s'enviaran a trav\u00e9s d'aquest canal i nom\u00e9s els missatges rebuts per aquest canal es posaran a la cua de missatges entrants. Cada pas t\u00e9 una amplada d'1MHz, basat en 2400MHz.\n:param power: (per defecte=6) \u00e9s un valor enter de 0 a 7 (inclosos) per indicar la intensitat del senyal utilitzat quan s'emet un missatge.\nCom m\u00e9s alt sigui el valor, m\u00e9s fort \u00e9s el senyal, per\u00f2 m\u00e9s pot\u00e8ncia consumeix el dispositiu. La numeraci\u00f3 es tradueix en posicions a la llista seg\u00fcent de valors en dBm (decibels mil\u00b7liwatts): -30, -20, -16, -12, -8, -4, 0, 4.\n:param address: (adre\u00e7a) (per defecte=0x75626974) un nom arbitrari, expressat com una adre\u00e7a de 32 bits, que s'utilitza per filtrar els paquets entrants a nivell de maquinari, conservant nom\u00e9s els que coincideixen amb l'adre\u00e7a que has establert.\nLa configuraci\u00f3 predeterminada utilitzada per altres plataformes relacionades amb micro:bit \u00e9s la configuraci\u00f3 predeterminada que s'utilitza aqu\u00ed.\n:param group: (grup) (per defecte=0) un valor de 8 bits (0-255) utilitzat amb l'``address`` (adre\u00e7a) en filtrar missatges.\nConceptualment, \"adre\u00e7a\" \u00e9s com una adre\u00e7a de casa/oficina i \"grup\" \u00e9s com la persona a aquesta adre\u00e7a a la qual vols enviar el teu missatge.\n:param data_rate: (velocitat de dades) (per defecte=``radio.RATE_1MBIT``) indica la velocitat a la qual es produeix la transmissi\u00f3 de les dades.\nPot ser una de les constants seg\u00fcents definides al m\u00f2dul ``radio``: ``RATE_250KBIT``, ``RATE_1MBIT`` o ``RATE_2MBIT``.\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Restableix la configuraci\u00f3 als seus valors predeterminats. (reiniciar)\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Envia un missatge que cont\u00e9 bytes. (enviar bytes)\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: (missatge) Els bytes a ser enviats.\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Rebr\u00e0s el seg\u00fcent missatge entrant a la cua de missatges. (rebre bytes)\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Copia el seg\u00fcent missatge entrant de la cua de missatges a una mem\u00f2ria interm\u00e8dia. (rebre bytes a)\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: (mem\u00f2ria interm\u00e8dia) La mem\u00f2ria interm\u00e8dia objectiu. El missatge es trunca si \u00e9s m\u00e9s gran que la mem\u00f2ria interm\u00e8dia.\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Envia una cadena de missatge. (envia)\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: (missatge) La cadena a enviar.\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Funciona exactament de la mateixa manera que ``receive_bytes`` per\u00f2 retorna el que s'ha enviat.\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Retorna una tupla que cont\u00e9 tres valors que representen el seg\u00fcent missatge entrant a la cua de missatges. (rebre ple)\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", + "/typeshed/stdlib/random.pyi": "\"\"\"Genera nombres aleatoris. (aleatori)\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"Genera un nombre enter amb ``n`` bits aleatoris.\n\nExample: ``random.getrandbits(1)``\n\n:param n: Un valor entre 1-30 (inclusiu).\"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Inicialitza el generador de nombres aleatoris. (llavor)\n\nExample: ``random.seed(0)``\n\n:param n: The integer seed\n\nThis will give you reproducibly deterministic randomness from a given starting\nstate (``n``).\"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"Tria un nombre enter aleatori entre ``a`` i ``b`` inclosos.\n\nExample: ``random.randint(0, 9)``\n\n:param a: Valor inicial de l'interval (incl\u00f2s)\n:param b: Valor final de l'interval (incl\u00f2s)\n\nAlias for ``randrange(a, b + 1)``.\"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"Tria un nombre enter seleccionat aleat\u00f2riament entre zero i fins a (per\u00f2 no\nincl\u00f2s) ``stop``.\n\nExample: ``random.randrange(10)``\n\n:param stop: (atura) Valor final de l'interval (excl\u00f2s)\"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int=1) -> int:\n \"\"\"Tria un element seleccionat aleat\u00f2riament de ``range(start, stop, step)``.\n\nExample: ``random.randrange(0, 10)``\n\n:param start: L'inici de l'interval (incl\u00f2s)\n:param stop: (atura) El final de l'interval (exclusiu)\n:param step: El pas.\"\"\"\n ...\n_T = TypeVar('_T')\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"Tria un element aleatori de la seq\u00fc\u00e8ncia no buida ``seq``.\n\nExample: ``random.choice([Image.HAPPY, Image.SAD])``\n\n:param seq: Una seq\u00fc\u00e8ncia.\n\nIf ``seq`` is empty, raises ``IndexError``.\"\"\"\n ...\n\ndef random() -> float:\n \"\"\"Genera un nombre aleatori de coma flotant en l'interval [0.0, 1.0). (aleatori)\n\nExample: ``random.random()``\n\n:return: The random floating point number\"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"Retorna un nombre de coma flotant aleatori entre ``a`` i ``b`` inclosos. (uniforme)\n\nExample: ``random.uniform(0, 9)``\n\n:param a: Valor inicial de l'interval (incl\u00f2s)\n:param b: Valor final de l'interval (incl\u00f2s)\"\"\"\n ...", + "/typeshed/stdlib/speech.pyi": "\"\"\"Fes que la micro:bit parli, canti i fer altres expressions com els sons.\"\"\"\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"Tradueix paraules angleses a fonemes. (tradueix)\n\nExample: ``speech.translate('hello world')``\n\n:param words: (paraules) Una cadena de paraules angleses.\n:return: A string containing a best guess at the appropriate phonemes to pronounce.\nThe output is generated from this `text to phoneme translation table `_.\n\nThis function should be used to generate a first approximation of phonemes\nthat can be further hand-edited to improve accuracy, inflection and\nemphasis.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef pronounce(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Pronuncia fonemes. (pronuncia)\n\nExample: ``speech.pronounce(' /HEHLOW WERLD')``\n\n:param phonemes: (fonemes) La cadena de fonemes a pronunciar\n:param pitch: (to) Un nombre que representa la freq\u00fc\u00e8ncia de la veu\n:param speed: (velocitat) Un nombre que representa la velocitat de la veu\n:param mouth: (boca) Un nombre que representa la boca de la veu\n:param throat: Un nombre que representa la gola de la veu\n:param pin: L'argument opcional per especificar el pin de sortida es pot utilitzar per anul\u00b7lar el valor predeterminat de ``pin0``.\nSi no vols que es reprodueixi cap so en els pins, podts utilitzar ``pin=None``. Nom\u00e9s micro:bit V2.\n\nOverride the optional pitch, speed, mouth and throat settings to change the\ntimbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef say(words: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Digues paraules en angl\u00e8s.\n\nExample: ``speech.say('hello world')``\n\n:param words: (paraules) La cadena de paraules a dir.\n:param pitch: (to) Un nombre que representa la freq\u00fc\u00e8ncia de la veu\n:param speed: (velocitat) Un nombre que representa la velocitat de la veu\n:param mouth: (boca) Un nombre que representa la boca de la veu\n:param throat: Un nombre que representa la gola de la veu\n:param pin: L'argument opcional per especificar el pin de sortida es pot utilitzar per anul\u00b7lar el valor predeterminat del ``pin0``.\nSi no vols que es reprodueixi cap so en els pins, pots utilitzar ``pin=None``. Nom\u00e9s micro:bit V2.\n\nThe result is semi-accurate for English. Override the optional pitch, speed,\nmouth and throat settings to change the timbre (quality) of the voice.\n\nThis is a short-hand equivalent of:\n``speech.pronounce(speech.translate(words))``\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef sing(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Cantar fonemes.\n\nExample: ``speech.sing(' /HEHLOW WERLD')``\n\n:param phonemes: (fonemes) La cadena de paraules a cantar.\n:param pitch: (to) Un nombre que representa la freq\u00fc\u00e8ncia de la veu\n:param speed: (velocitat) Un nombre que representa la velocitat de la veu\n:param mouth: (boca) Un nombre que representa la boca de la veu\n:param throat: Un nombre que representa la gola de la veu\n:param pin: L'argument opcional per especificar el pin de sortida es pot utilitzar per anul\u00b7lar el valor predeterminat de ``pin0``.\nSi no vols que es reprodueixi cap so en els pins, podts utilitzar ``pin=None``. Nom\u00e9s micro:bit V2.\n\nOverride the optional pitch, speed, mouth and throat settings to change\nthe timbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...", + "/typeshed/stdlib/struct.pyi": "\"\"\"Empaquetar i desempaquetar tipus de dades primitius.\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"Obt\u00e9 el nombre de bytes necessaris per emmagatzemar el ``fmt`` donat.\n\nExample: ``struct.calcsize('hf')``\n\n:param fmt: Una cadena de format.\n:return The number of bytes needed to store such a value.\"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"Empaqueta els valors segons una cadena de format.\n\nExample: ``struct.pack('hf', 1, 3.1415)``\n\n:param fmt: La cadena de format.\n:param v1: El primer valor.\n:param *vn: La resta de valors.\n:return A bytes object encoding the values.\"\"\"\n ...\n\ndef pack_into(fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any) -> None:\n \"\"\"Empaqueta els valors segons una cadena de format.\n\nExample: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n:param fmt: La cadena de format.\n:param buffer: (mem\u00f2ria interm\u00e8dia) La mem\u00f2ria interm\u00e8dia de destinaci\u00f3 on escriure.\n:param offset: El despla\u00e7ament a la mem\u00f2ria interm\u00e8dia. Pot ser negatiu per comptar des del final de la mem\u00f2ria interm\u00e8dia.\n:param v1: El primer valor.\n:param *vn: La resta de valors.\"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"Desempaqueta les dades segons una cadena de format.\n\nExample: ``v1, v2 = struct.unpack('hf', buffer)``\n\n:param fmt: La cadena de format.\n:param data: Les dades.\n:return: A tuple of the unpacked values.\"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int=0) -> Tuple:\n \"\"\"Desempaqueta les dades d'una mem\u00f2ria interm\u00e8dia segons una cadena de format. (desempaqueta des de)\n\nExample: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n:param fmt: La cadena de format.\n:param buffer: (mem\u00f2ria interm\u00e8dia) La mem\u00f2ria interm\u00e8dia d'origen d'on llegir.\n:param offset: El despla\u00e7ament a la mem\u00f2ria interm\u00e8dia. Pot ser negatiu per comptar des del final de la mem\u00f2ria interm\u00e8dia.\n:return: A tuple of the unpacked values.\"\"\"\n ...", + "/typeshed/stdlib/sys.pyi": "\"\"\"Funcions espec\u00edfiques del sistema\"\"\"\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object=...) -> NoReturn:\n \"\"\"Finalitza el programa actual amb un codi de sortida determinat.\n\nExample: ``sys.exit(1)``\n\nThis function raises a ``SystemExit`` exception. If an argument is given, its\nvalue given as an argument to ``SystemExit``.\n\n:param retval: El codi o missatge de sortida.\"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"Imprimeix una excepci\u00f3 amb un rastreig.\n\nExample: ``sys.print_exception(e)``\n\n:param exc: L'excepci\u00f3 a imprimir\n\nThis is simplified version of a function which appears in the\n``traceback`` module in CPython.\"\"\"\nargv: List[str]\n\"\"\"Una llista mutable d'arguments amb qu\u00e8 s'ha iniciat el programa actual.\"\"\"\nbyteorder: str\n\"\"\"L'ordre dels bytes del sistema (``\"little\"`` o ``\"big\"``).\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\nimplementation: _implementation\n\"\"\"Objecte amb informaci\u00f3 sobre la implementaci\u00f3 actual de Python. (implementaci\u00f3)\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\nmaxsize: int\n\"\"\"\nValor m\u00e0xim que pot tenir un tipus d'enter natiu a la plataforma actual,\no valor m\u00e0xim representable pel tipus d'enter MicroPython, si \u00e9s m\u00e9s petit\nque el valor m\u00e0xim de la plataforma (\u00e9s el cas dels ports MicroPython sense\nsuport d'enter llarg - long int support).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\nmodules: Dict[str, Any]\n\"\"\"Diccionari de m\u00f2duls carregats. (m\u00f2duls) \n\nOn some ports, it may not include builtin modules.\"\"\"\npath: List[str]\n\"\"\"Una llista mutable de directoris per cercar m\u00f2duls importats.\"\"\"\nplatform: str\n\"\"\"La plataforma en qu\u00e8 s'executa MicroPython. (plataforma) \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\nversion: str\n\"\"\"Versi\u00f3 del llenguatge Python a la qual s'ajusta aquesta implementaci\u00f3, com a cadena. (versi\u00f3)\"\"\"\nversion_info: Tuple[int, int, int]\n\"\"\"Versi\u00f3 del llenguatge Python a la qual s'ajusta aquesta implementaci\u00f3, com una tupla d'enters. (informaci\u00f3 de la versi\u00f3)\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"", "/typeshed/stdlib/this.pyi": "def authors() -> str: ...\n", - "/typeshed/stdlib/time.pyi": "\"\"\"Measure time and add delays to programs.\n\"\"\"\n\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"\n Delay a number of seconds.\n\n Example: ``time.sleep(1)``\n\n :param seconds: The number of seconds to sleep for.\n Use a floating-point number to sleep for a fractional number of seconds.\n \"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"\n Delay for given number of milliseconds.\n\n Example: ``time.sleep_ms(1_000_000)``\n\n :param ms: The number of milliseconds delay (>= 0).\n \"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"\n Delay for given number of microseconds.\n\n Example: ``time.sleep_us(1000)``\n\n :param us: The number of microseconds delay (>= 0).\n \"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"\n Get an increasing, millisecond counter with an arbitrary reference point,\n that wraps around after some value.\n\n Example: ``time.ticks_ms()``\n\n :return: The counter value in milliseconds.\n \"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"\n Get an increasing, microsecond counter with an arbitrary reference point,\n that wraps around after some value.\n\n Example: ``time.ticks_us()``\n\n :return: The counter value in microseconds.\n \"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"\n Offset ticks value by a given number, which can be either positive or\n negative.\n\n Example: ``time.ticks_add(time.ticks_ms(), 200)``\n\n Given a ticks value, this function allows to calculate ticks\n value delta ticks before or after it, following modular-arithmetic\n definition of tick values.\n\n :param ticks: A ticks value\n :param delta: An integer offset\n\n Example::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\n \"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"\n Measure ticks difference between values returned from\n ``time.ticks_ms()`` or ``ticks_us()``, as a signed value\n which may wrap around.\n\n Example: ``time.ticks_diff(scheduled_time, now)``\n\n :param ticks1: The value to subtract from\n :param ticks2: The value to subtract\n\n The argument order is the same as for subtraction operator,\n ``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n ``ticks_diff()`` is designed to accommodate various usage\n patterns, among them:\n\n Polling with timeout. In this case, the order of events is known, and you\n will deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\n Scheduling events. In this case, :func:`time.ticks_diff()` result may be\n negative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\n \"\"\"\n ...\n", + "/typeshed/stdlib/time.pyi": "\"\"\"Mesura el temps i afegeix retards als programes. (temps)\"\"\"\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"Retarda uns segons. (dormir)\n\nExample: ``time.sleep(1)``\n\n:param seconds: (segons) El nombre de segons per posar en pausa.\nUtilitza un nombre de coma flotant per posar en pausa durant una fracci\u00f3 de segons.\"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"Retard per a un nombre determinat de mil\u00b7lisegons. (retard en mil\u00b7lisegons)\n\nExample: ``time.sleep_ms(1_000_000)``\n\n:param ms: El nombre de mil\u00b7lisegons de retard (>= 0).\"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"Retard per a un nombre determinat de microsegons.\n\nExample: ``time.sleep_us(1000)``\n\n:param us: El nombre de microsegons de retard (>= 0).\"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"Obt\u00e9 un comptador creixent de mil\u00b7lisegons amb un punt de refer\u00e8ncia arbitrari,\nque es desborda despr\u00e9s d'algun valor. (tics mil\u00b7lisegons)\n\nExample: ``time.ticks_ms()``\n\n:return: The counter value in milliseconds.\"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"Obt\u00e9 un comptador creixent de microsegons amb un punt de refer\u00e8ncia arbitrari,\nque es desborda despr\u00e9s d'algun valor. (tics microsegons)\n\nExample: ``time.ticks_us()``\n\n:return: The counter value in microseconds.\"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"Afegeix al valor de tics un despla\u00e7ament determinat, que pot ser positiu o\nnegatiu. (tics compensa)\n\nExample: ``time.ticks_add(time.ticks_ms(), 200)``\n\nGiven a ticks value, this function allows to calculate ticks\nvalue delta ticks before or after it, following modular-arithmetic\ndefinition of tick values.\n\n:param ticks: Un valor de tics\n:param delta: Un despla\u00e7ament enter\n\nExample::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"Mesura la difer\u00e8ncia dels tics entre els valors retornats\n``time.ticks_ms()`` o ``ticks_us()``, com a valor amb signe\nque pot desbordar-se.\n\nExample: ``time.ticks_diff(scheduled_time, now)``\n\n:param ticks1: El valor a restar de\n:param ticks2: El valor a restar\n\nThe argument order is the same as for subtraction operator,\n``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n``ticks_diff()`` is designed to accommodate various usage\npatterns, among them:\n\nPolling with timeout. In this case, the order of events is known, and you\nwill deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\nScheduling events. In this case, :func:`time.ticks_diff()` result may be\nnegative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\"\"\"\n ...", "/typeshed/stdlib/types.pyi": "import sys\nfrom typing import (\n Any,\n AsyncGenerator,\n Awaitable,\n Callable,\n Generator,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n Tuple,\n Type,\n TypeVar,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, final\n\n# Note, all classes \"defined\" here require special handling.\n\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_V_co = TypeVar(\"_V_co\", covariant=True)\n\n@final\nclass _Cell:\n __hash__: None # type: ignore\n cell_contents: Any\n\n@final\nclass FunctionType:\n __closure__: Tuple[_Cell, ...] | None\n __code__: CodeType\n __defaults__: Tuple[Any, ...] | None\n __dict__: dict[str, Any]\n __globals__: dict[str, Any]\n __name__: str\n __qualname__: str\n __annotations__: dict[str, Any]\n __kwdefaults__: dict[str, Any]\n def __init__(\n self,\n code: CodeType,\n globals: dict[str, Any],\n name: str | None = ...,\n argdefs: Tuple[object, ...] | None = ...,\n closure: Tuple[_Cell, ...] | None = ...,\n ) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: object | None, type: type | None) -> MethodType: ...\n\nLambdaType = FunctionType\n\n@final\nclass CodeType:\n \"\"\"Create a code object. Not for the faint of heart.\"\"\"\n\n co_argcount: int\n if sys.version_info >= (3, 8):\n co_posonlyargcount: int\n co_kwonlyargcount: int\n co_nlocals: int\n co_stacksize: int\n co_flags: int\n co_code: bytes\n co_consts: Tuple[Any, ...]\n co_names: Tuple[str, ...]\n co_varnames: Tuple[str, ...]\n co_filename: str\n co_name: str\n co_firstlineno: int\n co_lnotab: bytes\n co_freevars: Tuple[str, ...]\n co_cellvars: Tuple[str, ...]\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n argcount: int,\n posonlyargcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n else:\n def __init__(\n self,\n argcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n if sys.version_info >= (3, 8):\n def replace(\n self,\n *,\n co_argcount: int = ...,\n co_posonlyargcount: int = ...,\n co_kwonlyargcount: int = ...,\n co_nlocals: int = ...,\n co_stacksize: int = ...,\n co_flags: int = ...,\n co_firstlineno: int = ...,\n co_code: bytes = ...,\n co_consts: Tuple[Any, ...] = ...,\n co_names: Tuple[str, ...] = ...,\n co_varnames: Tuple[str, ...] = ...,\n co_freevars: Tuple[str, ...] = ...,\n co_cellvars: Tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_lnotab: bytes = ...,\n ) -> CodeType: ...\n\n@final\nclass MappingProxyType(Mapping[_KT, _VT_co], Generic[_KT, _VT_co]):\n __hash__: None # type: ignore\n def __init__(self, mapping: Mapping[_KT, _VT_co]) -> None: ...\n def __getitem__(self, k: _KT) -> _VT_co: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __len__(self) -> int: ...\n def copy(self) -> dict[_KT, _VT_co]: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def items(self) -> ItemsView[_KT, _VT_co]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def __or__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n def __ror__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n\nclass SimpleNamespace:\n __hash__: None # type: ignore\n def __init__(self, **kwargs: Any) -> None: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __delattr__(self, name: str) -> None: ...\n\nclass ModuleType:\n __name__: str\n __file__: str\n __dict__: dict[str, Any]\n __package__: str | None\n def __init__(self, name: str, doc: str | None = ...) -> None: ...\n\n@final\nclass GeneratorType(Generator[_T_co, _T_contra, _V_co]):\n gi_code: CodeType\n gi_frame: FrameType\n gi_running: bool\n gi_yieldfrom: GeneratorType[_T_co, _T_contra, Any] | None\n def __iter__(self) -> GeneratorType[_T_co, _T_contra, _V_co]: ...\n def __next__(self) -> _T_co: ...\n def close(self) -> None: ...\n def send(self, __arg: _T_contra) -> _T_co: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> _T_co: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> _T_co: ...\n\n@final\nclass AsyncGeneratorType(AsyncGenerator[_T_co, _T_contra]):\n ag_await: Awaitable[Any] | None\n ag_frame: FrameType\n ag_running: bool\n ag_code: CodeType\n def __aiter__(self) -> AsyncGeneratorType[_T_co, _T_contra]: ...\n def __anext__(self) -> Awaitable[_T_co]: ...\n def asend(self, __val: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Awaitable[_T_co]: ...\n def aclose(self) -> Awaitable[None]: ...\n\n@final\nclass CoroutineType:\n cr_await: Any | None\n cr_code: CodeType\n cr_frame: FrameType\n cr_running: bool\n def close(self) -> None: ...\n def send(self, __arg: Any) -> Any: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Any: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Any: ...\n\nclass _StaticFunctionType:\n \"\"\"Fictional type to correct the type of MethodType.__func__.\n\n FunctionType is a descriptor, so mypy follows the descriptor protocol and\n converts MethodType.__func__ back to MethodType (the return type of\n FunctionType.__get__). But this is actually a special case; MethodType is\n implemented in C and its attribute access doesn't go through\n __getattribute__.\n\n By wrapping FunctionType in _StaticFunctionType, we get the right result;\n similar to wrapping a function in staticmethod() at runtime to prevent it\n being bound as a method.\n \"\"\"\n\n def __get__(self, obj: object | None, type: type | None) -> FunctionType: ...\n\n@final\nclass MethodType:\n __closure__: Tuple[_Cell, ...] | None # inherited from the added function\n __defaults__: Tuple[Any, ...] | None # inherited from the added function\n __func__: _StaticFunctionType\n __self__: object\n __name__: str # inherited from the added function\n __qualname__: str # inherited from the added function\n def __init__(self, func: Callable[..., Any], obj: object) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\n@final\nclass BuiltinFunctionType:\n __self__: object | ModuleType\n __name__: str\n __qualname__: str\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\nBuiltinMethodType = BuiltinFunctionType\n\nif sys.version_info >= (3, 7):\n @final\n class WrapperDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class MethodWrapperType:\n __self__: object\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, other: Any) -> bool: ...\n def __ne__(self, other: Any) -> bool: ...\n @final\n class MethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class ClassMethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n\n@final\nclass TracebackType:\n if sys.version_info >= (3, 7):\n def __init__(\n self,\n tb_next: TracebackType | None,\n tb_frame: FrameType,\n tb_lasti: int,\n tb_lineno: int,\n ) -> None: ...\n tb_next: TracebackType | None\n else:\n @property\n def tb_next(self) -> TracebackType | None: ...\n # the rest are read-only even in 3.7\n @property\n def tb_frame(self) -> FrameType: ...\n @property\n def tb_lasti(self) -> int: ...\n @property\n def tb_lineno(self) -> int: ...\n\n@final\nclass FrameType:\n f_back: FrameType | None\n f_builtins: dict[str, Any]\n f_code: CodeType\n f_globals: dict[str, Any]\n f_lasti: int\n f_lineno: int\n f_locals: dict[str, Any]\n f_trace: Callable[[FrameType, str, Any], Any] | None\n if sys.version_info >= (3, 7):\n f_trace_lines: bool\n f_trace_opcodes: bool\n def clear(self) -> None: ...\n\n@final\nclass GetSetDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\n@final\nclass MemberDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nif sys.version_info >= (3, 7):\n def new_class(\n name: str,\n bases: Iterable[object] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n def resolve_bases(bases: Iterable[object]) -> Tuple[Any, ...]: ...\n\nelse:\n def new_class(\n name: str,\n bases: Tuple[type, ...] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n\ndef prepare_class(\n name: str, bases: Tuple[type, ...] = ..., kwds: dict[str, Any] | None = ...\n) -> Tuple[type, dict[str, Any], dict[str, Any]]: ...\n\n# Actually a different type, but `property` is special and we want that too.\nDynamicClassAttribute = property\n\ndef coroutine(func: Callable[..., Any]) -> CoroutineType: ...\n\nif sys.version_info >= (3, 8):\n CellType = _Cell\n\nif sys.version_info >= (3, 9):\n class GenericAlias:\n __origin__: type\n __args__: Tuple[Any, ...]\n __parameters__: Tuple[Any, ...]\n def __init__(self, origin: type, args: Any) -> None: ...\n def __getattr__(self, name: str) -> Any: ... # incomplete\n\nif sys.version_info >= (3, 10):\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n EllipsisType = ellipsis # noqa F811 from builtins\n from builtins import _NotImplementedType\n\n NotImplementedType = _NotImplementedType # noqa F811 from builtins\n @final\n class UnionType:\n __args__: Tuple[Any, ...]\n def __or__(self, obj: Any) -> UnionType: ...\n def __ror__(self, obj: Any) -> UnionType: ...\n", "/typeshed/stdlib/typing.pyi": "import collections # Needed by aliases like DefaultDict, see mypy issue 2986\nimport sys\nfrom abc import ABCMeta, abstractmethod\nfrom types import BuiltinFunctionType, CodeType, FrameType, FunctionType, MethodType, ModuleType, TracebackType\nfrom typing_extensions import Literal as _Literal\n\nif sys.version_info >= (3, 7):\n from types import MethodDescriptorType, MethodWrapperType, WrapperDescriptorType\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n# Definitions of special type checking related constructs. Their definitions\n# are not used, so their value does not matter.\n\nAny = object()\n\nclass TypeVar:\n __name__: str\n __bound__: Optional[Type[Any]]\n __constraints__: Tuple[Type[Any], ...]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self,\n name: str,\n *constraints: Type[Any],\n bound: Union[None, Type[Any], str] = ...,\n covariant: bool = ...,\n contravariant: bool = ...,\n ) -> None: ...\n\n_promote = object()\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> object: ...\n\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n\ndef overload(func: _F) -> _F: ...\n\nUnion: _SpecialForm = ...\nOptional: _SpecialForm = ...\nTuple: _SpecialForm = ...\nGeneric: _SpecialForm = ...\n# Protocol is only present in 3.8 and later, but mypy needs it unconditionally\nProtocol: _SpecialForm = ...\nCallable: _SpecialForm = ...\nType: _SpecialForm = ...\nClassVar: _SpecialForm = ...\nif sys.version_info >= (3, 8):\n Final: _SpecialForm = ...\n def final(f: _F) -> _F: ...\n Literal: _SpecialForm = ...\n # TypedDict is a (non-subscriptable) special form.\n TypedDict: object\n\nif sys.version_info < (3, 7):\n class GenericMeta(type): ...\n\nif sys.version_info >= (3, 10):\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Optional[Type[Any]]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: Union[None, Type[Any], str] = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n\n# Return type that indicates a function does not return.\n# This type is equivalent to the None type, but the no-op Union is necessary to\n# distinguish the None type from the None value.\nNoReturn = Union[None]\n\n# These type variables are used by the container types.\n_T = TypeVar(\"_T\")\n_S = TypeVar(\"_S\")\n_KT = TypeVar(\"_KT\") # Key type.\n_VT = TypeVar(\"_VT\") # Value type.\n_T_co = TypeVar(\"_T_co\", covariant=True) # Any type covariant containers.\n_V_co = TypeVar(\"_V_co\", covariant=True) # Any type covariant containers.\n_KT_co = TypeVar(\"_KT_co\", covariant=True) # Key type covariant containers.\n_VT_co = TypeVar(\"_VT_co\", covariant=True) # Value type covariant containers.\n_T_contra = TypeVar(\"_T_contra\", contravariant=True) # Ditto contravariant.\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\ndef no_type_check(arg: _F) -> _F: ...\ndef no_type_check_decorator(decorator: _F) -> _F: ...\n\n# Type aliases and type constructors\n\nclass _Alias:\n # Class for defining generic aliases for library types.\n def __getitem__(self, typeargs: Any) -> Any: ...\n\nList = _Alias()\nDict = _Alias()\nDefaultDict = _Alias()\nSet = _Alias()\nFrozenSet = _Alias()\nCounter = _Alias()\nDeque = _Alias()\nChainMap = _Alias()\n\nif sys.version_info >= (3, 7):\n OrderedDict = _Alias()\n\nif sys.version_info >= (3, 9):\n Annotated: _SpecialForm = ...\n\n# Predefined type variables.\nAnyStr = TypeVar(\"AnyStr\", str, bytes)\n\n# Abstract base classes.\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n@runtime_checkable\nclass SupportsInt(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __int__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsFloat(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __float__(self) -> float: ...\n\n@runtime_checkable\nclass SupportsComplex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __complex__(self) -> complex: ...\n\n@runtime_checkable\nclass SupportsBytes(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __bytes__(self) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n @runtime_checkable\n class SupportsIndex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __index__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsAbs(Protocol[_T_co]):\n @abstractmethod\n def __abs__(self) -> _T_co: ...\n\n@runtime_checkable\nclass SupportsRound(Protocol[_T_co]):\n @overload\n @abstractmethod\n def __round__(self) -> int: ...\n @overload\n @abstractmethod\n def __round__(self, ndigits: int) -> _T_co: ...\n\n@runtime_checkable\nclass Sized(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __len__(self) -> int: ...\n\n@runtime_checkable\nclass Hashable(Protocol, metaclass=ABCMeta):\n # TODO: This is special, in that a subclass of a hashable class may not be hashable\n # (for example, list vs. object). It's not obvious how to represent this. This class\n # is currently mostly useless for static checking.\n @abstractmethod\n def __hash__(self) -> int: ...\n\n@runtime_checkable\nclass Iterable(Protocol[_T_co]):\n @abstractmethod\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Iterator(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __next__(self) -> _T_co: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Reversible(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass Generator(Iterator[_T_co], Generic[_T_co, _T_contra, _V_co]):\n def __next__(self) -> _T_co: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n def close(self) -> None: ...\n def __iter__(self) -> Generator[_T_co, _T_contra, _V_co]: ...\n @property\n def gi_code(self) -> CodeType: ...\n @property\n def gi_frame(self) -> FrameType: ...\n @property\n def gi_running(self) -> bool: ...\n @property\n def gi_yieldfrom(self) -> Optional[Generator[Any, Any, Any]]: ...\n\n@runtime_checkable\nclass Awaitable(Protocol[_T_co]):\n @abstractmethod\n def __await__(self) -> Generator[Any, None, _T_co]: ...\n\nclass Coroutine(Awaitable[_V_co], Generic[_T_co, _T_contra, _V_co]):\n __name__: str\n __qualname__: str\n @property\n def cr_await(self) -> Optional[Any]: ...\n @property\n def cr_code(self) -> CodeType: ...\n @property\n def cr_frame(self) -> FrameType: ...\n @property\n def cr_running(self) -> bool: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n @abstractmethod\n def close(self) -> None: ...\n\n# NOTE: This type does not exist in typing.py or PEP 484.\n# The parameters correspond to Generator, but the 4th is the original type.\nclass AwaitableGenerator(\n Awaitable[_V_co], Generator[_T_co, _T_contra, _V_co], Generic[_T_co, _T_contra, _V_co, _S], metaclass=ABCMeta\n): ...\n\n@runtime_checkable\nclass AsyncIterable(Protocol[_T_co]):\n @abstractmethod\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\n@runtime_checkable\nclass AsyncIterator(AsyncIterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\nclass AsyncGenerator(AsyncIterator[_T_co], Generic[_T_co, _T_contra]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n @abstractmethod\n def asend(self, __value: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> Awaitable[_T_co]: ...\n @abstractmethod\n def aclose(self) -> Awaitable[None]: ...\n @abstractmethod\n def __aiter__(self) -> AsyncGenerator[_T_co, _T_contra]: ...\n @property\n def ag_await(self) -> Any: ...\n @property\n def ag_code(self) -> CodeType: ...\n @property\n def ag_frame(self) -> FrameType: ...\n @property\n def ag_running(self) -> bool: ...\n\n@runtime_checkable\nclass Container(Protocol[_T_co]):\n @abstractmethod\n def __contains__(self, __x: object) -> bool: ...\n\n@runtime_checkable\nclass Collection(Iterable[_T_co], Container[_T_co], Protocol[_T_co]):\n # Implement Sized (but don't have it as a base class).\n @abstractmethod\n def __len__(self) -> int: ...\n\n_Collection = Collection[_T_co]\n\nclass Sequence(_Collection[_T_co], Reversible[_T_co], Generic[_T_co]):\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T_co: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> Sequence[_T_co]: ...\n # Mixin methods\n def index(self, value: Any, start: int = ..., stop: int = ...) -> int: ...\n def count(self, value: Any) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass MutableSequence(Sequence[_T], Generic[_T]):\n @abstractmethod\n def insert(self, index: int, value: _T) -> None: ...\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> MutableSequence[_T]: ...\n @overload\n @abstractmethod\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n @abstractmethod\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: int) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: slice) -> None: ...\n # Mixin methods\n def append(self, value: _T) -> None: ...\n def clear(self) -> None: ...\n def extend(self, values: Iterable[_T]) -> None: ...\n def reverse(self) -> None: ...\n def pop(self, index: int = ...) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __iadd__(self, x: Iterable[_T]) -> MutableSequence[_T]: ...\n\nclass AbstractSet(_Collection[_T_co], Generic[_T_co]):\n @abstractmethod\n def __contains__(self, x: object) -> bool: ...\n # Mixin methods\n def __le__(self, s: AbstractSet[Any]) -> bool: ...\n def __lt__(self, s: AbstractSet[Any]) -> bool: ...\n def __gt__(self, s: AbstractSet[Any]) -> bool: ...\n def __ge__(self, s: AbstractSet[Any]) -> bool: ...\n def __and__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def __sub__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def isdisjoint(self, other: Iterable[Any]) -> bool: ...\n\nclass MutableSet(AbstractSet[_T], Generic[_T]):\n @abstractmethod\n def add(self, value: _T) -> None: ...\n @abstractmethod\n def discard(self, value: _T) -> None: ...\n # Mixin methods\n def clear(self) -> None: ...\n def pop(self) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __ior__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __iand__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __isub__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n\nclass MappingView(Sized):\n def __init__(self, mapping: Mapping[Any, Any]) -> None: ... # undocumented\n def __len__(self) -> int: ...\n\nclass ItemsView(MappingView, AbstractSet[Tuple[_KT_co, _VT_co]], Generic[_KT_co, _VT_co]):\n def __init__(self, mapping: Mapping[_KT_co, _VT_co]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n\nclass KeysView(MappingView, AbstractSet[_KT_co], Generic[_KT_co]):\n def __init__(self, mapping: Mapping[_KT_co, Any]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT_co]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n\nclass ValuesView(MappingView, Iterable[_VT_co], Generic[_VT_co]):\n def __init__(self, mapping: Mapping[Any, _VT_co]) -> None: ... # undocumented\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_VT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\n@runtime_checkable\nclass ContextManager(Protocol[_T_co]):\n def __enter__(self) -> _T_co: ...\n def __exit__(\n self,\n __exc_type: Optional[Type[BaseException]],\n __exc_value: Optional[BaseException],\n __traceback: Optional[TracebackType],\n ) -> Optional[bool]: ...\n\n@runtime_checkable\nclass AsyncContextManager(Protocol[_T_co]):\n def __aenter__(self) -> Awaitable[_T_co]: ...\n def __aexit__(\n self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Awaitable[Optional[bool]]: ...\n\nclass Mapping(_Collection[_KT], Generic[_KT, _VT_co]):\n # TODO: We wish the key type could also be covariant, but that doesn't work,\n # see discussion in https: //github.com/python/typing/pull/273.\n @abstractmethod\n def __getitem__(self, k: _KT) -> _VT_co: ...\n # Mixin methods\n @overload\n def get(self, key: _KT) -> Optional[_VT_co]: ...\n @overload\n def get(self, key: _KT, default: Union[_VT_co, _T]) -> Union[_VT_co, _T]: ...\n def items(self) -> AbstractSet[Tuple[_KT, _VT_co]]: ...\n def keys(self) -> AbstractSet[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def __contains__(self, o: object) -> bool: ...\n\nclass MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):\n @abstractmethod\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n @abstractmethod\n def __delitem__(self, v: _KT) -> None: ...\n def clear(self) -> None: ...\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...\n # 'update' used to take a Union, but using overloading is better.\n # The second overloaded type here is a bit too general, because\n # Mapping[Tuple[_KT, _VT], W] is a subclass of Iterable[Tuple[_KT, _VT]],\n # but will always have the behavior of the first overloaded type\n # at runtime, leading to keys of a mix of types _KT and Tuple[_KT, _VT].\n # We don't currently have any way of forcing all Mappings to use\n # the first overload, but by using overloading rather than a Union,\n # mypy will commit to using the first overload when the argument is\n # known to be a Mapping with unknown type parameters, which is closer\n # to the behavior we want. See mypy issue #1430.\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n\nText = str\n\nTYPE_CHECKING = True\n\nclass IO(Iterator[AnyStr], Generic[AnyStr]):\n # TODO use abstract properties\n @property\n def mode(self) -> str: ...\n @property\n def name(self) -> str: ...\n @abstractmethod\n def close(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n @abstractmethod\n def fileno(self) -> int: ...\n @abstractmethod\n def flush(self) -> None: ...\n @abstractmethod\n def isatty(self) -> bool: ...\n @abstractmethod\n def read(self, n: int = ...) -> AnyStr: ...\n @abstractmethod\n def readable(self) -> bool: ...\n @abstractmethod\n def readline(self, limit: int = ...) -> AnyStr: ...\n @abstractmethod\n def readlines(self, hint: int = ...) -> list[AnyStr]: ...\n @abstractmethod\n def seek(self, offset: int, whence: int = ...) -> int: ...\n @abstractmethod\n def seekable(self) -> bool: ...\n @abstractmethod\n def tell(self) -> int: ...\n @abstractmethod\n def truncate(self, size: Optional[int] = ...) -> int: ...\n @abstractmethod\n def writable(self) -> bool: ...\n @abstractmethod\n def write(self, s: AnyStr) -> int: ...\n @abstractmethod\n def writelines(self, lines: Iterable[AnyStr]) -> None: ...\n @abstractmethod\n def __next__(self) -> AnyStr: ...\n @abstractmethod\n def __iter__(self) -> Iterator[AnyStr]: ...\n @abstractmethod\n def __enter__(self) -> IO[AnyStr]: ...\n @abstractmethod\n def __exit__(\n self, t: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Optional[bool]: ...\n\nclass BinaryIO(IO[bytes]):\n @abstractmethod\n def __enter__(self) -> BinaryIO: ...\n\nclass TextIO(IO[str]):\n # TODO use abstractproperty\n @property\n def buffer(self) -> BinaryIO: ...\n @property\n def encoding(self) -> str: ...\n @property\n def errors(self) -> Optional[str]: ...\n @property\n def line_buffering(self) -> int: ... # int on PyPy, bool on CPython\n @property\n def newlines(self) -> Any: ... # None, str or tuple\n @abstractmethod\n def __enter__(self) -> TextIO: ...\n\nclass ByteString(Sequence[int], metaclass=ABCMeta): ...\n\nclass Match(Generic[AnyStr]):\n pos: int\n endpos: int\n lastindex: Optional[int]\n lastgroup: Optional[AnyStr]\n string: AnyStr\n\n # The regular expression object whose match() or search() method produced\n # this match instance.\n re: Pattern[AnyStr]\n def expand(self, template: AnyStr) -> AnyStr: ...\n # group() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def group(self, __group: _Literal[0] = ...) -> AnyStr: ...\n @overload\n def group(self, __group: str | int) -> AnyStr | Any: ...\n @overload\n def group(self, __group1: str | int, __group2: str | int, *groups: str | int) -> Tuple[AnyStr | Any, ...]: ...\n # Each item of groups()'s return tuple is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groups(self) -> Tuple[AnyStr | Any, ...]: ...\n @overload\n def groups(self, default: _T) -> Tuple[AnyStr | _T, ...]: ...\n # Each value in groupdict()'s return dict is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groupdict(self) -> dict[str, AnyStr | Any]: ...\n @overload\n def groupdict(self, default: _T) -> dict[str, AnyStr | _T]: ...\n def start(self, __group: Union[int, str] = ...) -> int: ...\n def end(self, __group: Union[int, str] = ...) -> int: ...\n def span(self, __group: Union[int, str] = ...) -> Tuple[int, int]: ...\n @property\n def regs(self) -> Tuple[Tuple[int, int], ...]: ... # undocumented\n # __getitem__() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def __getitem__(self, __key: _Literal[0]) -> AnyStr: ...\n @overload\n def __getitem__(self, __key: int | str) -> AnyStr | Any: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Pattern(Generic[AnyStr]):\n flags: int\n groupindex: Mapping[str, int]\n groups: int\n pattern: AnyStr\n def search(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def match(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def fullmatch(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def split(self, string: AnyStr, maxsplit: int = ...) -> list[AnyStr]: ...\n def findall(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> list[Any]: ...\n def finditer(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Iterator[Match[AnyStr]]: ...\n @overload\n def sub(self, repl: AnyStr, string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def sub(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def subn(self, repl: AnyStr, string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n @overload\n def subn(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# Functions\n\nif sys.version_info >= (3, 7):\n _get_type_hints_obj_allowed_types = Union[\n object,\n Callable[..., Any],\n FunctionType,\n BuiltinFunctionType,\n MethodType,\n ModuleType,\n WrapperDescriptorType,\n MethodWrapperType,\n MethodDescriptorType,\n ]\nelse:\n _get_type_hints_obj_allowed_types = Union[\n object, Callable[..., Any], FunctionType, BuiltinFunctionType, MethodType, ModuleType,\n ]\n\nif sys.version_info >= (3, 9):\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types,\n globalns: Optional[Dict[str, Any]] = ...,\n localns: Optional[Dict[str, Any]] = ...,\n include_extras: bool = ...,\n ) -> Dict[str, Any]: ...\n\nelse:\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types, globalns: Optional[Dict[str, Any]] = ..., localns: Optional[Dict[str, Any]] = ...\n ) -> Dict[str, Any]: ...\n\nif sys.version_info >= (3, 8):\n def get_origin(tp: Any) -> Optional[Any]: ...\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n\n@overload\ndef cast(typ: Type[_T], val: Any) -> _T: ...\n@overload\ndef cast(typ: str, val: Any) -> Any: ...\n@overload\ndef cast(typ: object, val: Any) -> Any: ...\n\n# Type constructors\n\n# NamedTuple is special-cased in the type checker\nclass NamedTuple(Tuple[Any, ...]):\n _field_types: collections.OrderedDict[str, Type[Any]]\n _field_defaults: Dict[str, Any] = ...\n _fields: Tuple[str, ...]\n _source: str\n def __init__(self, typename: str, fields: Iterable[Tuple[str, Any]] = ..., **kwargs: Any) -> None: ...\n @classmethod\n def _make(cls: Type[_T], iterable: Iterable[Any]) -> _T: ...\n if sys.version_info >= (3, 8):\n def _asdict(self) -> Dict[str, Any]: ...\n else:\n def _asdict(self) -> collections.OrderedDict[str, Any]: ...\n def _replace(self: _T, **kwargs: Any) -> _T: ...\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __or__(self: _T, __value: _T) -> _T: ...\n def __ior__(self: _T, __value: _T) -> _T: ...\n\ndef NewType(name: str, tp: Type[_T]) -> Type[_T]: ...\n\n# This itself is only available during type checking\ndef type_check_only(func_or_cls: _F) -> _F: ...\n\nif sys.version_info >= (3, 7):\n class ForwardRef:\n __forward_arg__: str\n __forward_code__: CodeType\n __forward_evaluated__: bool\n __forward_value__: Optional[Any]\n __forward_is_argument__: bool\n def __init__(self, arg: str, is_argument: bool = ...) -> None: ...\n def _evaluate(self, globalns: Optional[Dict[str, Any]], localns: Optional[Dict[str, Any]]) -> Optional[Any]: ...\n def __eq__(self, other: Any) -> bool: ...\n def __hash__(self) -> int: ...\n def __repr__(self) -> str: ...\n\nif sys.version_info >= (3, 10):\n def is_typeddict(tp: Any) -> bool: ...\n", "/typeshed/stdlib/typing_extensions.pyi": "import abc\nimport sys\nfrom typing import (\n TYPE_CHECKING as TYPE_CHECKING,\n Any,\n AsyncContextManager as AsyncContextManager,\n AsyncGenerator as AsyncGenerator,\n AsyncIterable as AsyncIterable,\n AsyncIterator as AsyncIterator,\n Awaitable as Awaitable,\n Callable,\n ChainMap as ChainMap,\n ClassVar as ClassVar,\n ContextManager as ContextManager,\n Coroutine as Coroutine,\n Counter as Counter,\n DefaultDict as DefaultDict,\n Deque as Deque,\n ItemsView,\n KeysView,\n Mapping,\n NewType as NewType,\n NoReturn as NoReturn,\n Text as Text,\n Tuple,\n Type as Type,\n TypeVar,\n ValuesView,\n _Alias,\n overload as overload,\n)\n\n_T = TypeVar(\"_T\")\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> Any: ...\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n\n# This alias for above is kept here for backwards compatibility.\nruntime = runtime_checkable\nProtocol: _SpecialForm = ...\nFinal: _SpecialForm = ...\n\ndef final(f: _F) -> _F: ...\n\nLiteral: _SpecialForm = ...\n\ndef IntVar(name: str) -> Any: ... # returns a new TypeVar\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n\n# TypedDict is a (non-subscriptable) special form.\nTypedDict: object = ...\n\nOrderedDict = _Alias()\n\ndef get_type_hints(\n obj: Callable[..., Any],\n globalns: dict[str, Any] | None = ...,\n localns: dict[str, Any] | None = ...,\n include_extras: bool = ...,\n) -> dict[str, Any]: ...\n\nif sys.version_info >= (3, 7):\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n def get_origin(tp: Any) -> Any | None: ...\n\nAnnotated: _SpecialForm = ...\n_AnnotatedAlias: Any = ... # undocumented\n\n@runtime_checkable\nclass SupportsIndex(Protocol, metaclass=abc.ABCMeta):\n @abc.abstractmethod\n def __index__(self) -> int: ...\n\n# PEP 612 support for Python < 3.9\nif sys.version_info >= (3, 10):\n from typing import Concatenate as Concatenate, ParamSpec as ParamSpec, TypeAlias as TypeAlias, TypeGuard as TypeGuard\nelse:\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Type[Any] | None\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: None | Type[Any] | str = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n", @@ -35,16 +35,16 @@ "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", - "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pins, images, sounds, temperature and volume.\n\"\"\"\n\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\n\nfrom _typeshed import ReadableBuffer\n\n# V2 only\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(\n callback: Optional[Callable[[], None]] = None,\n days: int = 0,\n h: int = 0,\n min: int = 0,\n s: int = 0,\n ms: int = 0,\n) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Schedule to run a function at the interval specified by the time arguments **V2 only**.\n\n Example: ``run_every(my_logging, min=5)``\n\n ``run_every`` can be used in two ways:\n\n As a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\n As a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\n Each argument corresponds to a different time unit and they are additive.\n So ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\n When an exception is thrown inside the callback function it deschedules the\n function. To avoid this you can catch exceptions with ``try/except``.\n\n :param callback: Function to call at the provided interval. Omit when using as a decorator.\n :param days: Sets the day mark for the scheduling.\n :param h: Sets the hour mark for the scheduling.\n :param min: Sets the minute mark for the scheduling.\n :param s: Sets the second mark for the scheduling.\n :param ms: Sets the millisecond mark for the scheduling.\n \"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Enter a panic mode.\n\n Example: ``panic(127)``\n\n :param n: An arbitrary integer <= 255 to indicate a status.\n\n Requires restart.\n \"\"\"\n\ndef reset() -> None:\n \"\"\"Restart the board.\"\"\"\n\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converts a value from a range to an integer range.\n\n Example: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\n For example, to convert an accelerometer X value to a speaker volume.\n\n If one of the numbers in the ``to`` parameter is a floating point\n (i.e a decimal number like ``10.0``), this function will return a\n floating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n :param value: A number to convert.\n :param from_: A tuple to define the range to convert from.\n :param to: A tuple to define the range to convert to.\n :return: The ``value`` converted to the ``to`` range.\n \"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converts a value from a range to a floating point range.\n\n Example: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\n For example, to convert temperature from a Celsius scale to Fahrenheit.\n\n If one of the numbers in the ``to`` parameter is a floating point\n (i.e a decimal number like ``10.0``), this function will return a\n floating point number.\n If they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n :param value: A number to convert.\n :param from_: A tuple to define the range to convert from.\n :param to: A tuple to define the range to convert to.\n :return: The ``value`` converted to the ``to`` range.\n \"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Wait for ``n`` milliseconds.\n\n Example: ``sleep(1000)``\n\n :param n: The number of milliseconds to wait\n\n One second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\n will pause the execution for one second.\n \"\"\"\n\ndef running_time() -> int:\n \"\"\"Get the running time of the board.\n\n :return: The number of milliseconds since the board was switched on or restarted.\n \"\"\"\n\ndef temperature() -> int:\n \"\"\"Get the temperature of the micro:bit in degrees Celsius.\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Sets the volume.\n\n Example: ``set_volume(127)``\n\n :param v: a value between 0 (low) and 255 (high).\n\n Out of range values will be clamped to 0 or 255.\n\n **V2** only.\n \"\"\"\n ...\n\nclass Button:\n \"\"\"The class for the buttons ``button_a`` and ``button_b``.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Check if the button is pressed.\n\n :return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\n \"\"\"\n ...\n def was_pressed(self) -> bool:\n \"\"\"Check if the button was pressed since the device started or the last time this method was called.\n\n Calling this method will clear the press state so\n that the button must be pressed again before this method will return\n ``True`` again.\n\n :return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\n \"\"\"\n ...\n def get_presses(self) -> int:\n \"\"\"Get the running total of button presses, and resets this total\n to zero before returning.\n\n :return: The number of presses since the device started or the last time this method was called\n \"\"\"\n ...\n\nbutton_a: Button\n\"\"\"The left button ``Button`` object.\"\"\"\n\nbutton_b: Button\n\"\"\"The right button ``Button`` object.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"A digital pin.\n\n Some pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\n \"\"\"\n\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n def read_digital(self) -> int:\n \"\"\"Get the digital value of the pin.\n\n Example: ``value = pin0.read_digital()``\n\n :return: 1 if the pin is high, and 0 if it's low.\n \"\"\"\n ...\n def write_digital(self, value: int) -> None:\n \"\"\"Set the digital value of the pin.\n\n Example: ``pin0.write_digital(1)``\n\n :param value: 1 to set the pin high or 0 to set the pin low\"\"\"\n ...\n def set_pull(self, value: int) -> None:\n \"\"\"Set the pull state to one of three possible values: ``PULL_UP``, ``PULL_DOWN`` or ``NO_PULL``.\n\n Example: ``pin0.set_pull(pin0.PULL_UP)``\n\n :param value: The pull state from the relevant pin, e.g. ``pin0.PULL_UP``.\n \"\"\"\n ...\n def get_pull(self) -> int:\n \"\"\"Get the pull state on a pin.\n\n Example: ``pin0.get_pull()``\n\n :return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\n These are set using the ``set_pull()`` method or automatically configured\n when a pin mode requires it.\n \"\"\"\n ...\n def get_mode(self) -> str:\n \"\"\"Returns the pin mode.\n\n Example: ``pin0.get_mode()``\n\n When a pin is used for a specific function, like\n writing a digital value, or reading an analog value, the pin mode\n changes.\n\n :return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\n \"\"\"\n ...\n def write_analog(self, value: int) -> None:\n \"\"\"Output a PWM signal on the pin, with the duty cycle proportional to ``value``.\n\n Example: ``pin0.write_analog(254)``\n\n :param value: An integer or a floating point number between 0 (0% duty cycle) and 1023 (100% duty).\n \"\"\"\n def set_analog_period(self, period: int) -> None:\n \"\"\"Set the period of the PWM signal being output to ``period`` in milliseconds.\n\n Example: ``pin0.set_analog_period(10)``\n\n :param period: The period in milliseconds with a minimum valid value of 1ms.\n \"\"\"\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Set the period of the PWM signal being output to ``period`` in microseconds.\n\n Example: ``pin0.set_analog_period_microseconds(512)``\n\n :param period: The period in microseconds with a minimum valid value of 256\u00b5s.\n \"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"A pin with analog and digital features.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Read the voltage applied to the pin.\n\n Example: ``pin0.read_analog()``\n\n :return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\n \"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"A pin with analog, digital and touch features.\"\"\"\n\n CAPACITIVE: int\n RESISTIVE: int\n def is_touched(self) -> bool:\n \"\"\"Check if the pin is being touched.\n\n Example: ``pin0.is_touched()``\n\n The default touch mode for the pins on the edge connector is ``resistive``.\n The default for the logo pin **V2** is ``capacitive``.\n\n **Resistive touch**\n This test is done by measuring how much resistance there is between the\n pin and ground. A low resistance gives a reading of ``True``. To get\n a reliable reading using a finger you may need to touch the ground pin\n with another part of your body, for example your other hand.\n\n **Capacitive touch**\n This test is done by interacting with the electric field of a capacitor\n using a finger as a conductor. `Capacitive touch\n `_\n does not require you to make a ground connection as part of a circuit.\n\n :return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\n \"\"\"\n ...\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Set the touch mode for the pin.\n\n Example: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\n The default touch mode for the pins on the edge connector is\n ``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n :param value: ``CAPACITIVE`` or ``RESISTIVE`` from the relevant pin.\n \"\"\"\n ...\n\npin0: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin1: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin2: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin5: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin6: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin7: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin8: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin9: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin11: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin12: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin13: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin14: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin15: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin16: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin19: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin20: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin_logo: MicroBitTouchPin\n\"\"\"A touch sensitive logo pin on the front of the micro:bit, which by default is set to capacitive touch mode.\"\"\"\n\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"A pin to address the micro:bit speaker.\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"An image to show on the micro:bit LED display.\n\n Given an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\n \"\"\"\n\n HEART: Image\n \"\"\"Heart image.\"\"\"\n\n HEART_SMALL: Image\n \"\"\"Small heart image.\"\"\"\n\n HAPPY: Image\n \"\"\"Happy face image.\"\"\"\n\n SMILE: Image\n \"\"\"Smiling mouth image.\"\"\"\n\n SAD: Image\n \"\"\"Sad face image.\"\"\"\n\n CONFUSED: Image\n \"\"\"Confused face image.\"\"\"\n\n ANGRY: Image\n \"\"\"Angry face image.\"\"\"\n\n ASLEEP: Image\n \"\"\"Sleeping face image.\"\"\"\n\n SURPRISED: Image\n \"\"\"Surprised face image.\"\"\"\n\n SILLY: Image\n \"\"\"Silly face image.\"\"\"\n\n FABULOUS: Image\n \"\"\"Sunglasses face image.\"\"\"\n\n MEH: Image\n \"\"\"Unimpressed face image.\"\"\"\n\n YES: Image\n \"\"\"Tick image.\"\"\"\n\n NO: Image\n \"\"\"Cross image.\"\"\"\n\n CLOCK12: Image\n \"\"\"Image with line pointing to 12 o'clock.\"\"\"\n\n CLOCK11: Image\n \"\"\"Image with line pointing to 11 o'clock.\"\"\"\n\n CLOCK10: Image\n \"\"\"Image with line pointing to 10 o'clock.\"\"\"\n\n CLOCK9: Image\n \"\"\"Image with line pointing to 9 o'clock.\"\"\"\n\n CLOCK8: Image\n \"\"\"Image with line pointing to 8 o'clock.\"\"\"\n\n CLOCK7: Image\n \"\"\"Image with line pointing to 7 o'clock.\"\"\"\n\n CLOCK6: Image\n \"\"\"Image with line pointing to 6 o'clock.\"\"\"\n\n CLOCK5: Image\n \"\"\"Image with line pointing to 5 o'clock.\"\"\"\n\n CLOCK4: Image\n \"\"\"Image with line pointing to 4 o'clock.\"\"\"\n\n CLOCK3: Image\n \"\"\"Image with line pointing to 3 o'clock.\"\"\"\n\n CLOCK2: Image\n \"\"\"Image with line pointing to 2 o'clock.\"\"\"\n\n CLOCK1: Image\n \"\"\"Image with line pointing to 1 o'clock.\"\"\"\n\n ARROW_N: Image\n \"\"\"Image of arrow pointing north.\"\"\"\n\n ARROW_NE: Image\n \"\"\"Image of arrow pointing north east.\"\"\"\n\n ARROW_E: Image\n \"\"\"Image of arrow pointing east.\"\"\"\n\n ARROW_SE: Image\n \"\"\"Image of arrow pointing south east.\"\"\"\n\n ARROW_S: Image\n \"\"\"Image of arrow pointing south.\"\"\"\n\n ARROW_SW: Image\n \"\"\"Image of arrow pointing south west.\"\"\"\n\n ARROW_W: Image\n \"\"\"Image of arrow pointing west.\"\"\"\n\n ARROW_NW: Image\n \"\"\"Image of arrow pointing north west.\"\"\"\n\n TRIANGLE: Image\n \"\"\"Image of a triangle pointing up.\"\"\"\n\n TRIANGLE_LEFT: Image\n \"\"\"Image of a triangle in the left corner.\"\"\"\n\n CHESSBOARD: Image\n \"\"\"Alternate LEDs lit in a chessboard pattern.\"\"\"\n\n DIAMOND: Image\n \"\"\"Diamond image.\"\"\"\n\n DIAMOND_SMALL: Image\n \"\"\"Small diamond image.\"\"\"\n\n SQUARE: Image\n \"\"\"Square image.\"\"\"\n\n SQUARE_SMALL: Image\n \"\"\"Small square image.\"\"\"\n\n RABBIT: Image\n \"\"\"Rabbit image.\"\"\"\n\n COW: Image\n \"\"\"Cow image.\"\"\"\n\n MUSIC_CROTCHET: Image\n \"\"\"Crotchet note image.\"\"\"\n\n MUSIC_QUAVER: Image\n \"\"\"Quaver note image.\"\"\"\n\n MUSIC_QUAVERS: Image\n \"\"\"Pair of quavers note image.\"\"\"\n\n PITCHFORK: Image\n \"\"\"Pitchfork image.\"\"\"\n\n XMAS: Image\n \"\"\"Christmas tree image.\"\"\"\n\n PACMAN: Image\n \"\"\"Pac-Man arcade character image.\"\"\"\n\n TARGET: Image\n \"\"\"Target image.\"\"\"\n\n TSHIRT: Image\n \"\"\"T-shirt image.\"\"\"\n\n ROLLERSKATE: Image\n \"\"\"Rollerskate image.\"\"\"\n\n DUCK: Image\n \"\"\"Duck image.\"\"\"\n\n HOUSE: Image\n \"\"\"House image.\"\"\"\n\n TORTOISE: Image\n \"\"\"Tortoise image.\"\"\"\n\n BUTTERFLY: Image\n \"\"\"Butterfly image.\"\"\"\n\n STICKFIGURE: Image\n \"\"\"Stick figure image.\"\"\"\n\n GHOST: Image\n \"\"\"Ghost image.\"\"\"\n\n SWORD: Image\n \"\"\"Sword image.\"\"\"\n\n GIRAFFE: Image\n \"\"\"Giraffe image.\"\"\"\n\n SKULL: Image\n \"\"\"Skull image.\"\"\"\n\n UMBRELLA: Image\n \"\"\"Umbrella image.\"\"\"\n\n SNAKE: Image\n \"\"\"Snake image.\"\"\"\n\n SCISSORS: Image\n \"\"\"Scissors image.\"\"\"\n\n ALL_CLOCKS: List[Image]\n \"\"\"A list containing all the CLOCK_ images in sequence.\"\"\"\n\n ALL_ARROWS: List[Image]\n \"\"\"A list containing all the ARROW_ images in sequence.\"\"\"\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Create an image from a string describing which LEDs are lit.\n\n ``string`` has to consist of digits 0-9 arranged into lines,\n describing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\n will create a 5\u00d75 image of an X. The end of a line is indicated by a\n colon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n :param string: The string describing the image.\n \"\"\"\n ...\n @overload\n def __init__(\n self, width: int = 5, height: int = 5, buffer: ReadableBuffer = None\n ) -> None:\n \"\"\"Create an empty image with ``width`` columns and ``height`` rows.\n\n :param width: Optional width of the image\n :param height: Optional height of the image\n :param buffer: Optional array or bytes of ``width``\u00d7``height`` integers in range 0-9 to initialize the image\n\n Examples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\n These create 2 x 2 pixel images at full brightness.\n \"\"\"\n ...\n def width(self) -> int:\n \"\"\"Get the number of columns.\n\n :return: The number of columns in the image\n \"\"\"\n ...\n def height(self) -> int:\n \"\"\"Get the number of rows.\n\n :return: The number of rows in the image\n \"\"\"\n ...\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Set the brightness of a pixel.\n\n Example: ``my_image.set_pixel(0, 0, 9)``\n\n :param x: The column number\n :param y: The row number\n :param value: The brightness as an integer between 0 (dark) and 9 (bright)\n\n This method will raise an exception when called on any of the built-in\n read-only images, like ``Image.HEART``.\n \"\"\"\n ...\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Get the brightness of a pixel.\n\n Example: ``my_image.get_pixel(0, 0)``\n\n :param x: The column number\n :param y: The row number\n :return: The brightness as an integer between 0 and 9.\n \"\"\"\n ...\n def shift_left(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture left.\n\n Example: ``Image.HEART_SMALL.shift_left(1)``\n\n :param n: The number of columns to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_right(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture right.\n\n Example: ``Image.HEART_SMALL.shift_right(1)``\n\n :param n: The number of columns to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_up(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture up.\n\n Example: ``Image.HEART_SMALL.shift_up(1)``\n\n :param n: The number of rows to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_down(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture down.\n\n Example: ``Image.HEART_SMALL.shift_down(1)``\n\n :param n: The number of rows to shift by\n :return: The shifted image\n \"\"\"\n ...\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Create a new image by cropping the picture.\n\n Example: ``Image.HEART.crop(1, 1, 3, 3)``\n\n :param x: The crop offset column\n :param y: The crop offset row\n :param w: The crop width\n :param h: The crop height\n :return: The new image\n \"\"\"\n ...\n def copy(self) -> Image:\n \"\"\"Create an exact copy of the image.\n\n Example: ``Image.HEART.copy()``\n\n :return: The new image\n \"\"\"\n ...\n def invert(self) -> Image:\n \"\"\"Create a new image by inverting the brightness of the pixels in the\n source image.\n\n Example: ``Image.SMALL_HEART.invert()``\n\n :return: The new image.\n \"\"\"\n ...\n def fill(self, value: int) -> None:\n \"\"\"Set the brightness of all the pixels in the image.\n\n Example: ``my_image.fill(5)``\n\n :param value: The new brightness as a number between 0 (dark) and 9 (bright).\n\n This method will raise an exception when called on any of the built-in\n read-only images, like ``Image.HEART``.\n \"\"\"\n ...\n def blit(\n self,\n src: Image,\n x: int,\n y: int,\n w: int,\n h: int,\n xdest: int = 0,\n ydest: int = 0,\n ) -> None:\n \"\"\"Copy an area from another image into this image.\n\n Example: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n :param src: The source image\n :param x: The starting column offset in the source image\n :param y: The starting row offset in the source image\n :param w: The number of columns to copy\n :param h: The number of rows to copy\n :param xdest: The column offset to modify in this image\n :param ydest: The row offset to modify in this image\n\n Pixels outside the source image are treated as having a brightness of 0.\n\n ``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\n and ``crop()`` can are all implemented by using ``blit()``.\n\n For example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\n \"\"\"\n ...\n def __repr__(self) -> str:\n \"\"\"Get a compact string representation of the image.\"\"\"\n ...\n def __str__(self) -> str:\n \"\"\"Get a readable string representation of the image.\"\"\"\n ...\n def __add__(self, other: Image) -> Image:\n \"\"\"Create a new image by adding the brightness values from the two\n images for each pixel.\n\n Example: ``Image.HEART + Image.HAPPY``\n\n :param other: The image to add.\n \"\"\"\n ...\n def __sub__(self, other: Image) -> Image:\n \"\"\"Create a new image by subtracting the brightness values of the\n other image from this image.\n\n Example: ``Image.HEART - Image.HEART_SMALL``\n\n :param other: The image to subtract.\n \"\"\"\n ...\n def __mul__(self, n: float) -> Image:\n \"\"\"Create a new image by multiplying the brightness of each pixel by\n ``n``.\n\n Example: ``Image.HEART * 0.5``\n\n :param n: The value to multiply by.\n \"\"\"\n ...\n def __truediv__(self, n: float) -> Image:\n \"\"\"Create a new image by dividing the brightness of each pixel by\n ``n``.\n\n Example: ``Image.HEART / 2``\n\n :param n: The value to divide by.\n \"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Represents the transition of sound events, from ``quiet`` to ``loud`` like clapping or shouting.\"\"\"\n\n QUIET: SoundEvent\n \"\"\"Represents the transition of sound events, from ``loud`` to ``quiet`` like speaking or background music.\"\"\"\n\nclass Sound:\n \"\"\"The built-in sounds can be called using ``audio.play(Sound.NAME)``.\"\"\"\n\n GIGGLE: Sound\n \"\"\"Giggling sound.\"\"\"\n\n HAPPY: Sound\n \"\"\"Happy sound.\"\"\"\n\n HELLO: Sound\n \"\"\"Greeting sound.\"\"\"\n\n MYSTERIOUS: Sound\n \"\"\"Mysterious sound.\"\"\"\n\n SAD: Sound\n \"\"\"Sad sound.\"\"\"\n\n SLIDE: Sound\n \"\"\"Sliding sound.\"\"\"\n\n SOARING: Sound\n \"\"\"Soaring sound.\"\"\"\n\n SPRING: Sound\n \"\"\"Spring sound.\"\"\"\n\n TWINKLE: Sound\n \"\"\"Twinkling sound.\"\"\"\n\n YAWN: Sound\n \"\"\"Yawning sound.\"\"\"\n", - "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Measure the acceleration of the micro:bit and recognise gestures.\n\"\"\"\n\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Get the acceleration measurement in the ``x`` axis in milli-g.\n\n Example: ``accelerometer.get_x()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Get the acceleration measurement in the ``y`` axis in milli-g.\n\n Example: ``accelerometer.get_y()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Get the acceleration measurement in the ``z`` axis in milli-g.\n\n Example: ``accelerometer.get_z()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Get the acceleration measurements in all axes at once as a tuple.\n\n Example: ``x, y, z = accelerometer.get_values()``\n\n :return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\n \"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Get the acceleration measurement of all axes combined, as a positive integer. This is the Pythagorean sum of the X, Y and Z axes.\n\n Example: ``accelerometer.get_strength()``\n\n :return: The combined acceleration strength of all the axes, in milli-g.\n \"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Get the name of the current gesture.\n\n Example: ``accelerometer.current_gesture()``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :return: The current gesture\n \"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Check if the named gesture is currently active.\n\n Example: ``accelerometer.is_gesture('shake')``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :param name: The gesture name.\n :return: ``True`` if the gesture is active, ``False`` otherwise.\n \"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Check if the named gesture was active since the last call.\n\n Example: ``accelerometer.was_gesture('shake')``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :param name: The gesture name.\n :return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\n \"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Return a tuple of the gesture history.\n\n Example: ``accelerometer.get_gestures()``\n\n Clears the gesture history before returning.\n\n Gestures are not updated in the background so there needs to be constant\n calls to some accelerometer method to do the gesture detection. Usually\n gestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n :return: The history as a tuple, most recent last.\n \"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Set the accelerometer sensitivity range, in g (standard gravity), to the closest values supported by the hardware, so it rounds to either ``2``, ``4``, or ``8`` g.\n\n Example: ``accelerometer.set_range(8)``\n\n :param value: New range for the accelerometer, an integer in ``g``.\n \"\"\"\n", - "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(\n source: Union[Iterable[AudioFrame], Sound, SoundEffect],\n wait: bool = True,\n pin: MicroBitDigitalPin = pin0,\n return_pin: Union[MicroBitDigitalPin, None] = None,\n) -> None:\n \"\"\"Play a built-in sound, sound effect or custom audio frames.\n\n Example: ``audio.play(Sound.GIGGLE)``\n\n :param source: A built-in ``Sound`` such as ``Sound.GIGGLE``, a ``SoundEffect`` or sample data as an iterable of ``AudioFrame`` objects.\n :param wait: If ``wait`` is ``True``, this function will block until the sound is complete.\n :param pin: An optional argument to specify the output pin can be used to override the default of ``pin0``. If we do not want any sound to play we can use ``pin=None``.\n :param return_pin: Specifies a differential edge connector pin to connect to an external speaker instead of ground. This is ignored for the **V2** revision.\n \"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Check whether a sound is playing.\n\n Example: ``audio.is_playing()``\n\n :return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Stop all audio playback.\n\n Example: ``audio.stop()``\n \"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"A sound effect, composed by a set of parameters configured via the constructor or attributes.\"\"\"\n\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sine wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Sawtooth wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Triangle wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Square wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise option used for the ``waveform`` parameter.\"\"\"\n\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Linear interpolation option used for the ``shape`` parameter.\"\"\"\n\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolation option used for the ``shape`` parameter.\"\"\"\n\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmic interpolation option used for the ``shape`` parameter.\"\"\"\n\n FX_NONE: ClassVar[int]\n \"\"\"No effect option used for the ``fx`` parameter.\"\"\"\n\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect option used for the ``fx`` parameter.\"\"\"\n\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect option used for the ``fx`` parameter.\"\"\"\n\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect option used for the ``fx`` parameter.\"\"\"\n\n freq_start: int\n \"\"\"Start frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n\n freq_end: int\n \"\"\"End frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n\n duration: int\n \"\"\"Duration of the sound in milliseconds, a number between ``0`` and ``9999``\"\"\"\n\n vol_start: int\n \"\"\"Start volume value, a number between ``0`` and ``255``\"\"\"\n\n vol_end: int\n \"\"\"End volume value, a number between ``0`` and ``255``\"\"\"\n\n waveform: int\n \"\"\"Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise)\"\"\"\n\n fx: int\n \"\"\"Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``\"\"\"\n\n shape: int\n \"\"\"The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(\n self,\n freq_start: int = 500,\n freq_end: int = 2500,\n duration: int = 500,\n vol_start: int = 255,\n vol_end: int = 0,\n waveform: int = WAVEFORM_SQUARE,\n fx: int = FX_NONE,\n shape: int = SHAPE_LOG,\n ):\n \"\"\"Create a new sound effect.\n\n Example: ``my_effect = SoundEffect(duration=1000)``\n\n All the parameters are optional, with default values as shown above, and\n they can all be modified via attributes of the same name. For example, we\n can first create an effect ``my_effect = SoundEffect(duration=1000)``,\n and then change its attributes ``my_effect.duration = 500``.\n\n :param freq_start: Start frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n :param freq_end: End frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n :param duration: Duration of the sound in milliseconds, a number between ``0`` and ``9999``.\n :param vol_start: Start volume value, a number between ``0`` and ``255``.\n :param vol_end: End volume value, a number between ``0`` and ``255``.\n :param waveform: Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise).\n :param fx: Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n :param shape: The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\n \"\"\"\n def copy(self) -> SoundEffect:\n \"\"\"Create a copy of this ``SoundEffect``.\n\n Example: ``sound_2 = sound_1.copy()``\n\n :return: A copy of the SoundEffect.\n \"\"\"\n\nclass AudioFrame:\n \"\"\"An ``AudioFrame`` object is a list of 32 samples each of which is a unsigned byte\n (whole number between 0 and 255).\n\n It takes just over 4 ms to play a single frame.\n\n Example::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\n \"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overwrite the data in this ``AudioFrame`` with the data from another ``AudioFrame`` instance.\n\n Example: ``my_frame.copyfrom(source_frame)``\n\n :param other: ``AudioFrame`` instance from which to copy the data.\n \"\"\"\n def __len__(self) -> int: ...\n def __setitem__(self, key: int, value: int) -> None: ...\n def __getitem__(self, key: int) -> int: ...\n", - "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Use the built-in compass.\n\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Starts the calibration process.\n\n Example: ``compass.calibrate()``\n\n An instructive message will be scrolled to the user after which they will need\n to rotate the device in order to draw a circle on the LED display.\n \"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"Check is the compass is calibrated.\n\n Example: ``compass.is_calibrated()``\n\n :return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\n \"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Undoes the calibration, making the compass uncalibrated again.\n\n Example: ``compass.clear_calibration()``\n \"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Get the magnetic field strength on the ``x`` axis.\n\n Example: ``compass.get_x()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Get the magnetic field strength on the ``y`` axis.\n\n Example: ``compass.get_y()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Get the magnetic field strength on the ``z`` axis.\n\n Example: ``compass.get_z()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Get the compass heading.\n\n Example: ``compass.heading()``\n\n :return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\n \"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Get the magnitude of the magnetic field around the device.\n\n Example: ``compass.get_field_strength()``\n\n :return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...\n", - "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Show text, images and animations on the 5\u00d75 LED display.\n\"\"\"\n\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Get the brightness of the LED at column ``x`` and row ``y``.\n\n Example: ``display.get_pixel(0, 0)``\n\n :param x: The display column (0..4)\n :param y: The display row (0..4)\n :return: A number between 0 (off) and 9 (bright)\n \"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Set the brightness of the LED at column ``x`` and row ``y``.\n\n Example: ``display.set_pixel(0, 0, 9)``\n\n :param x: The display column (0..4)\n :param y: The display row (0..4)\n :param value: The brightness between 0 (off) and 9 (bright)\n \"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Set the brightness of all LEDs to 0 (off).\n\n Example: ``display.clear()``\n \"\"\"\n ...\n\ndef show(\n image: Union[str, float, int, Image, Iterable[Image]],\n delay: int = 400,\n wait: bool = True,\n loop: bool = False,\n clear: bool = False,\n) -> None:\n \"\"\"Shows images, letters or digits on the LED display.\n\n Example: ``display.show(Image.HEART)``\n\n When ``image`` is an image or a list of images then each image is displayed in turn.\n If ``image`` is a string or number, each letter or digit is displayed in turn.\n\n :param image: A string, number, image or list of images to show.\n :param delay: Each letter, digit or image is shown with ``delay`` milliseconds between them.\n :param wait: If ``wait`` is ``True``, this function will block until the animation is finished, otherwise the animation will happen in the background.\n :param loop: If ``loop`` is ``True``, the animation will repeat forever.\n :param clear: If ``clear`` is ``True``, the display will be cleared after the sequence has finished.\n\n The ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\n \"\"\"\n ...\n\ndef scroll(\n text: Union[str, float, int],\n delay: int = 150,\n wait: bool = True,\n loop: bool = False,\n monospace: bool = False,\n) -> None:\n \"\"\"Scrolls a number or text on the LED display.\n\n Example: ``display.scroll('micro:bit')``\n\n :param text: The string to scroll. If ``text`` is an integer or float it is first converted to a string using ``str()``.\n :param delay: The ``delay`` parameter controls how fast the text is scrolling.\n :param wait: If ``wait`` is ``True``, this function will block until the animation is finished, otherwise the animation will happen in the background.\n :param loop: If ``loop`` is ``True``, the animation will repeat forever.\n :param monospace: If ``monospace`` is ``True``, the characters will all take up 5 pixel-columns in width, otherwise there will be exactly 1 blank pixel-column between each character as they scroll.\n\n The ``wait``, ``loop`` and ``monospace`` arguments must be specified\n using their keyword.\n \"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Turn on the LED display.\n\n Example: ``display.on()``\n \"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Turn off the LED display (disabling the display allows you to re-use the GPIO pins for other purposes).\n\n Example: ``display.off()``\n \"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"Check whether the LED display is enabled.\n\n Example: ``display.is_on()``\n\n :return: ``True`` if the display is on, otherwise returns ``False``.\n \"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Read the light level.\n\n Example: ``display.read_light_level()``\n\n Uses the display's LEDs in reverse-bias mode to sense the amount of light\n falling on the display.\n\n :return: An integer between 0 and 255 representing the light level, with larger meaning more light.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Communicate with devices using the I\u00b2C bus protocol.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(\n freq: int = 100000, sda: MicroBitDigitalPin = pin20, scl: MicroBitDigitalPin = pin19\n) -> None:\n \"\"\"Re-initialize a peripheral.\n\n Example: ``i2c.init()``\n\n :param freq: clock frequency\n :param sda: ``sda`` pin (default 20)\n :param scl: ``scl`` pin (default 19)\n\n On a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\n the accelerometer and compass stop working, as they are connected\n internally to those pins. This warning does not apply to the **V2**\n revision of the micro:bit as this has `separate I\u00b2C lines `_\n for the motion sensors and the edge connector.\n \"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scan the bus for devices.\n\n Example: ``i2c.scan()``\n\n :return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\n \"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool = False) -> bytes:\n \"\"\"Read bytes from a device.\n\n Example: ``i2c.read(0x50, 64)``\n\n :param addr: The 7-bit address of the device\n :param n: The number of bytes to read\n :param repeat: If ``True``, no stop bit will be sent\n :return: The bytes read\n \"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool = False) -> None:\n \"\"\"Write bytes to a device.\n\n Example: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n :param addr: The 7-bit address of the device\n :param buf: A buffer containing the bytes to write\n :param repeat: If ``True``, no stop bit will be sent\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Respond to sound using the built-in microphone (V2 only).\n\"\"\"\n\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Get the last recorded sound event\n\n Example: ``microphone.current_event()``\n\n :return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\n \"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Check if a sound was heard at least once since the last call.\n\n Example: ``microphone.was_event(SoundEvent.LOUD)``\n\n This call clears the sound history before returning.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\n \"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Check the most recent sound event detected.\n\n Example: ``microphone.is_event(SoundEvent.LOUD)``\n\n This call does not clear the sound event history.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was the most recent heard, ``False`` otherwise.\n \"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Get the sound event history as a tuple.\n\n Example: ``microphone.get_events()``\n\n This call clears the sound history before returning.\n\n :return: A tuple of the event history with the most recent event last.\n \"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Set the threshold for a sound event.\n\n Example: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\n A high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n :param event: A sound event, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``.\n :param value: The threshold level in the range 0-255.\n \"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Get the sound pressure level.\n\n Example: ``microphone.sound_level()``\n\n :return: A representation of the sound pressure level in the range 0 to 255.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Control the built-in speaker (V2 only).\n\"\"\"\n\ndef off() -> None:\n \"\"\"Turn the speaker off.\n\n Example: ``speaker.off()``\n\n This does not disable sound output to an edge connector pin.\n \"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Turn the speaker on.\n\n Example: ``speaker.on()``\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communicate with devices using the serial peripheral interface (SPI) bus.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(\n baudrate: int = 1000000,\n bits: int = 8,\n mode: int = 0,\n sclk: MicroBitDigitalPin = pin13,\n mosi: MicroBitDigitalPin = pin15,\n miso: MicroBitDigitalPin = pin14,\n) -> None:\n \"\"\"Initialize SPI communication.\n\n Example: ``spi.init()``\n\n For correct communication, the parameters have to be the same on both communicating devices.\n\n :param baudrate: The speed of communication.\n :param bits: The width in bits of each transfer. Currently only ``bits=8`` is supported. However, this may change in the future.\n :param mode: Determines the combination of clock polarity and phase - `see online table `_.\n :param sclk: sclk pin (default 13)\n :param mosi: mosi pin (default 15)\n :param miso: miso pin (default 14)\n \"\"\"\n ...\n\ndef read(nbytes: int, out: int = 0) -> bytes:\n \"\"\"Read at most ``nbytes`` while continuously writing the single byte given by ``out``.\n\n Example: ``spi.read(64)``\n\n :param nbytes: Maximum number of bytes to read.\n :param out: The byte value to write (default 0).\n :return: The bytes read.\n \"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Write bytes to the bus.\n\n Example: ``spi.write(bytes([1, 2, 3]))``\n\n :param buffer: A buffer to read data from.\n \"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Write the ``out`` buffer to the bus and read any response into the ``in_`` buffer.\n\n Example: ``spi.write_readinto(out_buffer, in_buffer)``\n\n The length of the buffers should be the same. The buffers can be the same object.\n\n :param out: The buffer to write any response to.\n :param in_: The buffer to read data from.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Communicate with a device using a serial interface.\n\"\"\"\n\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\n\nODD: int\n\"\"\"Odd parity\"\"\"\n\nEVEN: int\n\"\"\"Even parity\"\"\"\n\ndef init(\n baudrate: int = 9600,\n bits: int = 8,\n parity: Optional[int] = None,\n stop: int = 1,\n tx: Optional[MicroBitDigitalPin] = None,\n rx: Optional[MicroBitDigitalPin] = None,\n) -> None:\n \"\"\"Initialize serial communication.\n\n Example: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n :param baudrate: The speed of communication.\n :param bits: The size of bytes being transmitted. micro:bit only supports 8.\n :param parity: How parity is checked, ``None``, ``uart.ODD`` or ``uart.EVEN``.\n :param stop: The number of stop bits, has to be 1 for micro:bit.\n :param tx: Transmitting pin.\n :param rx: Receiving pin.\n\n Initializing the UART on external pins will cause the Python console on\n USB to become unaccessible, as it uses the same hardware. To bring the\n console back you must reinitialize the UART without passing anything for\n ``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\n that calling ``uart.init(115200)`` is enough to restore the Python console.\n\n For more details see `the online documentation `_.\n \"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Check if any data is waiting.\n\n Example: ``uart.any()``\n\n :return: ``True`` if any data is waiting, else ``False``.\n \"\"\"\n ...\n\ndef read(nbytes: Optional[int] = None) -> Optional[bytes]:\n \"\"\"Read bytes.\n\n Example: ``uart.read()``\n\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read as many bytes as possible\n :return: A bytes object or ``None`` on timeout\n \"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int] = None) -> Optional[int]:\n \"\"\"Read bytes into the ``buf``.\n\n Example: ``uart.readinto(input_buffer)``\n\n :param buf: The buffer to write to.\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read ``len(buf)`` bytes.\n :return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\n \"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Read a line, ending in a newline character.\n\n Example: ``uart.readline()``\n\n :return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\n \"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Write a buffer to the bus.\n\n Example: ``uart.write('hello world')``\n\n :param buf: A bytes object or a string.\n :return: The number of bytes written, or ``None`` on timeout.\n\n Examples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\n \"\"\"\n ...\n", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pins, imatges, sons, temperatura i volum.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Programa l'execuci\u00f3 d'una funci\u00f3 a cada interval especificat pels arguments de temps **nom\u00e9s V2**.\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Funci\u00f3 a cridar a l'interval previst. Omet quan el fas servir com decorador.\n:param days: (dies) Estableix la marca del dia per la programaci\u00f3\n:param h: Estableix la marca de l'hora per la programaci\u00f3\n:param min: Estableix la marca del minut per la programaci\u00f3\n:param s: Estableix la marca del segon per la programaci\u00f3\n:param ms: Estableix la marca del mil\u00b7lisegon per la programaci\u00f3\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Entrar en mode p\u00e0nic. (p\u00e0nic)\n\nExample: ``panic(127)``\n\n:param n: Un nombre enter arbitrari <= 255 per indicar un estat.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"Reinicialitza la placa. (reiniciar)\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converteix un valor d'un interval a un interval de nombre enter. (escala)\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: (valor) Un nombre a convertir.\n:param from_: (des de) Una tupla des d'on definir l'interval a convertir\n:param to: (a) Una tupla que defineix l'interval d'arribada\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converteix un valor d'un interval a un altre interval de coma flotant. (escala)\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: (valor) Un nombre a convertir.\n:param from_: (des de) Una tupla des d'on definir l'interval a convertir\n:param to: (a) Una tupla que defineix l'interval d'arribada de la conversi\u00f3.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Espera per ``n`` mil\u00b7lisegons. (dormir)\n\nExample: ``sleep(1000)``\n\n:param n: El nombre de mil\u00b7lisegons a esperar\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"Obt\u00e9 el temps d'execuci\u00f3 de la placa. (temps d'execuci\u00f3)\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"Obt\u00e9 la temperatura de la micro:bit en graus Celsius. (temperatura)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Configura el volum (assigna volum)\n\nExample: ``set_volume(127)``\n\n:param v: un valor entre 0 (baix) i 255 (alt).\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"La classe dels botons ``button_a`` i ``button_b``. (bot\u00f3)\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Verifica si el bot\u00f3 est\u00e0 premut. (\u00e9s premut)\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"Verifica si el bot\u00f3 ha estat premut d'en\u00e7\u00e0 que el dispositiu va arrancar o l'\u00faltima vegada que aquest m\u00e8tode va ser cridat. (ha estat premut)\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"Obt\u00e9 el total acumulat de pressions dels botons i restableix aquest total\na zero abans de tornar. (obt\u00e9 pitjades)\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"L'objecte bot\u00f3 esquerre ``Button`` . (bot\u00f3 a)\"\"\"\nbutton_b: Button\n\"\"\"L'objecte el bot\u00f3 dret ``Button``. (bot\u00f3 b)\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"Un pin digital.\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"Obt\u00e9 el valor digital del pin. (llegeix digital)\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"Assigna el valor digital del pin. (escriu digital)\n\nExample: ``pin0.write_digital(1)``\n\n:param value: (valor) 1 per posar el pin alt o 0 per posar el pin baix\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"Configura les resist\u00e8ncies de pull-up/pull-down un dels tres valors possibles: ``PULL_UP``, ``PULL_DOWN`` o ``NO_PULL``. (configuraci\u00f3 de les resist\u00e8ncies de pull up/down)\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: (valor) L'estat del pull-up/pull-down del pin corresponent, per ex. ``pin0.PULL_UP``.\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"Obt\u00e9 l'estat de pull-up/pull-down d'un pin.\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"Retorna el mode del pin (obt\u00e9 el mode)\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"Genera un senyal PWM al pin, amb el cicle de treball proporcional a ``value``. (escriu anal\u00f2gic)\n\nExample: ``pin0.write_analog(254)``\n\n:param value: (valor) Un nombre enter o de coma flotant entre 0 (cicle de treball del 0%) i 1023 (cicle de treball del 100%).\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"Estableix el per\u00edode del senyal PWM a ``period`` en mil\u00b7lisegons. (configura el per\u00edode amb un valor anal\u00f2gic)\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: (per\u00edode) El per\u00edode en mil\u00b7lisegons amb un valor m\u00ednim v\u00e0lid d'1\\u202fms\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Estableix el per\u00edode del senyal PWM a ``period`` microsegons. (configura el per\u00edode amb un valor anal\u00f2gic en microsegons)\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: (per\u00edode) El per\u00edode en microsegons amb un valor v\u00e0lid m\u00ednim de 256\\u202f\u00b5s.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"Un pin amb funcions anal\u00f2giques i digitals.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Llegeix el voltatge aplicat al pin. (llegeix anal\u00f2gic)\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"Un pin amb caracter\u00edstiques anal\u00f2giques, digitals i t\u00e0ctils.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"Comprova si el pin est\u00e0 sent tocat. (est\u00e0 tocat)\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Estableix el mode t\u00e0ctil per al pin. (estableix el mode t\u00e0ctil)\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: (valor) ``CAPACITIVE`` o ``RESISTIVE`` del pin corresponent.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"Pin amb caracter\u00edstiques digitals, anal\u00f2giques i t\u00e0ctils.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"Pin amb caracter\u00edstiques digitals, anal\u00f2giques i t\u00e0ctils.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"Pin amb caracter\u00edstiques digitals, anal\u00f2giques i t\u00e0ctils.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals i anal\u00f2giques.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals i anal\u00f2giques.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals i anal\u00f2giques.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"Pin amb caracter\u00edstiques digitals.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"Un logotip t\u00e0ctil a la part frontal de la micro:bit, que per defecte est\u00e0 establert al mode t\u00e0ctil capacitiu. (pin logotip)\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"Un pin per adre\u00e7ar-se a l'altaveu micro:bit. (pin altaveu)\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"Una imatge per mostrar a la pantalla LED de micro:bit. (imatge)\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"Imatge d'un cor. (cor)\"\"\"\n HEART_SMALL: Image\n \"\"\"Imatge d'un cor petit (cor petit)\"\"\"\n HAPPY: Image\n \"\"\"Imatge d'una cara feli\u00e7 (feli\u00e7)\"\"\"\n SMILE: Image\n \"\"\"Imatge d'una cara somrient (somriure)\"\"\"\n SAD: Image\n \"\"\"Imatge d'una cara trista (tristesa)\"\"\"\n CONFUSED: Image\n \"\"\"Imatge de cara confusa. (confusa)\"\"\"\n ANGRY: Image\n \"\"\"Imatge d'una cara enfadada. (enfadat)\"\"\"\n ASLEEP: Image\n \"\"\"Imatge d'una cara dormint. (despert)\"\"\"\n SURPRISED: Image\n \"\"\"Imatge d'una cara de sorpresa (sorpr\u00e8s)\"\"\"\n SILLY: Image\n \"\"\"Imatge d'una cara ximple. (ximple)\"\"\"\n FABULOUS: Image\n \"\"\"Imatge d'una cara amb ulleres de sol. (fabul\u00f3s)\"\"\"\n MEH: Image\n \"\"\"Imatge d'una cara inexpressiva. (BAH avorrit)\"\"\"\n YES: Image\n \"\"\"Imatge d'una marca tic. (s\u00ed)\"\"\"\n NO: Image\n \"\"\"Imatge d'una creu.\"\"\"\n CLOCK12: Image\n \"\"\"Imatge d'una l\u00ednia apuntant les dotze. (les dotze)\"\"\"\n CLOCK11: Image\n \"\"\"Imatge d'una l\u00ednia apuntant les onze. (les onze)\"\"\"\n CLOCK10: Image\n \"\"\"Imatge d'una l\u00ednia apuntant les deu. (les deu)\"\"\"\n CLOCK9: Image\n \"\"\"Imatge d'una l\u00ednia apuntant les nou. (les nou)\"\"\"\n CLOCK8: Image\n \"\"\"Imatge d'una l\u00ednia apuntant les vuit. (les vuit)\"\"\"\n CLOCK7: Image\n \"\"\"Imatge d'una l\u00ednia apuntant les set. (les set)\"\"\"\n CLOCK6: Image\n \"\"\"Imatge amb una l\u00ednia apuntant a les 6 en punt. (les sis)\"\"\"\n CLOCK5: Image\n \"\"\"Imatge amb una l\u00ednia apuntant a les 5 en punt. (les cinc)\"\"\"\n CLOCK4: Image\n \"\"\"Imatge amb una l\u00ednia apuntant a les 4 en punt. (les quatre)\"\"\"\n CLOCK3: Image\n \"\"\"Imatge amb una l\u00ednia apuntant a les 3 en punt. (les tres)\"\"\"\n CLOCK2: Image\n \"\"\"Imatge amb una l\u00ednia apuntant a les 2 en punt. (les dues)\"\"\"\n CLOCK1: Image\n \"\"\"Imatge amb una l\u00ednia apuntant a la 1 en punt. (la una)\"\"\"\n ARROW_N: Image\n \"\"\"Imatge de fletxa apuntant al nord. (fletxa n)\"\"\"\n ARROW_NE: Image\n \"\"\"Imatge de fletxa apuntant al nord-est. (fletxa ne)\"\"\"\n ARROW_E: Image\n \"\"\"Imatge de fletxa apuntant a l'est. (fletxa e)\"\"\"\n ARROW_SE: Image\n \"\"\"Imatge de fletxa apuntant al sud-est. (fletxa se)\"\"\"\n ARROW_S: Image\n \"\"\"Imatge de fletxa apuntant al sud. (fletxa s)\"\"\"\n ARROW_SW: Image\n \"\"\"Imatge de fletxa apuntant al sud-oest. (fletxa so)\"\"\"\n ARROW_W: Image\n \"\"\"Imatge de fletxa apuntant a l'oest. (fletxa o)\"\"\"\n ARROW_NW: Image\n \"\"\"Imatge de fletxa apuntant al nord-oest. (fletxa no)\"\"\"\n TRIANGLE: Image\n \"\"\"Imatge d'un triangle apuntant amunt.\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"Imatge d'un triangle en la cantonada esquerra. (triangle a l'esquerra)\"\"\"\n CHESSBOARD: Image\n \"\"\"Leds alternatius il\u00b7luminats en un patr\u00f3 d'escacs. (Tauler d'escacs)\"\"\"\n DIAMOND: Image\n \"\"\"Imatge d'un diamant (diamant)\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"Imatge d'un diamant petit (diamant petit)\"\"\"\n SQUARE: Image\n \"\"\"Imatge d'un quadrat (quadrat)\"\"\"\n SQUARE_SMALL: Image\n \"\"\"Imatge d'un quadrat petit (quadrat petit)\"\"\"\n RABBIT: Image\n \"\"\"Imatge d'un conill. (conill)\"\"\"\n COW: Image\n \"\"\"Imatge d'una vaca. (vaca)\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"Imatge de la nota musical negra (nota musical negra)\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"Imatge de la nota musical corxera (nota musical corxera)\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"Imatge d'un parell de notes musicals corxeres (nota musical corxera)\"\"\"\n PITCHFORK: Image\n \"\"\"Imatge d'una forca. (forca)\"\"\"\n XMAS: Image\n \"\"\"Imatge d'un arbre de Nadal (nadal)\"\"\"\n PACMAN: Image\n \"\"\"Imatge del personatge de Pac-man a arcade\"\"\"\n TARGET: Image\n \"\"\"Imatge d'objectiu. (diana)\"\"\"\n TSHIRT: Image\n \"\"\"Imatge de samarreta. (Imatge d'una samarreta T-shirt)\"\"\"\n ROLLERSKATE: Image\n \"\"\"Imatge d'un patinet. (patinet)\"\"\"\n DUCK: Image\n \"\"\"Imatge d'un \u00e0nec. (\u00e0nec)\"\"\"\n HOUSE: Image\n \"\"\"Imatge d'una casa. (casa)\"\"\"\n TORTOISE: Image\n \"\"\"Imatge d'una tortuga. (tortuga)\"\"\"\n BUTTERFLY: Image\n \"\"\"Imatge d'una papallona. (papallona)\"\"\"\n STICKFIGURE: Image\n \"\"\"Imatge de figura d'un pal. (imatge d'un pal)\"\"\"\n GHOST: Image\n \"\"\"Imatge d'un fantasma. (fantasma)\"\"\"\n SWORD: Image\n \"\"\"Imatge d'una espasa (espasa)\"\"\"\n GIRAFFE: Image\n \"\"\"Imatge d'una girafa. (girafa)\"\"\"\n SKULL: Image\n \"\"\"Imatge d'un crani. (crani)\"\"\"\n UMBRELLA: Image\n \"\"\"Imatge d'un paraigua, (paraigua)\"\"\"\n SNAKE: Image\n \"\"\"Imatge d'una serp. (serp)\"\"\"\n SCISSORS: Image\n \"\"\"Imatge d'unes tisores. (tisores)\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"Una llista que cont\u00e9 totes les imatges CLOCK_ en seq\u00fc\u00e8ncia. (tots els rellotges)\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"Una llista que cont\u00e9 totes les ARROW_images en seq\u00fc\u00e8ncia. (totes les fletxes)\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Crea una imatge a partir d'una cadena que descrigui quins leds estan encesos.\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: (cadena) La cadena descrivint la imatge.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"Crea una imatge buida amb ``width`` columnes i ``height`` files.\n\n:param width: (amplada) Amplada opcional de la imatge\n:param height: (al\u00e7\u00e0ria) Al\u00e7\u00e0ria opcional de la imatge\n:param buffer: (mem\u00f2ria interm\u00e8dia) Llistes o bytes opcionals d'enters de ``width``\u00d7``height`` dins l'interval de 0 a 9 per inicialitzar la imatge\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"Obt\u00e9 el nombre de columnes (amplada)\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"Obt\u00e9 el nombre de files. (al\u00e7\u00e0ria)\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Estableix la brillantor d'un p\u00edxel. (estableix p\u00edxel)\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: El nombre de la columna\n:param y: El nombre de la fila\n:param value: (valor) La brillantor com a nombre enter entre 0 (fosc) i 9 (brillant)\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Obt\u00e9 la brillantor d'un p\u00edxel. (obt\u00e9 p\u00edxel)\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: El nombre de la columna\n:param y: El nombre de la fila\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"Crea una imatge nova movent-la cap a l'esquerra. (despla\u00e7a a l'esquerra)\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: El nombre de columnes per despla\u00e7ar-se\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"Crea una imatge nova movent-la cap a la dreta. (despla\u00e7a a la dreta)\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: El nombre de columnes per despla\u00e7ar-se\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"Crea una imatge nova despla\u00e7ant la imatge cap amunt. (despla\u00e7a cap amunt)\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: El nombre de files per despla\u00e7ar-se\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"Crea una imatge nova despla\u00e7ant-la cap avall. (despla\u00e7a cap avall)\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: El nombre de files per despla\u00e7ar-se\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Crea una imatge nova retallant la imatge. (retalla)\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: La columna de despla\u00e7ament del retall\n:param y: La fila de despla\u00e7ament del retall\n:param w: L'amplada del retall\n:param h: L'al\u00e7\u00e0ria del retall\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"Crea una c\u00f2pia exacta de la imatge (c\u00f2pia)\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"Crea una imatge nova invertint la brillantor dels p\u00edxels de la imatge\nfont. (inverteix)\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"Assigna la brillantor de tots els p\u00edxels de la imatge (omple)\n\nExample: ``my_image.fill(5)``\n\n:param value: (valor) La nova brillantor com a nombre entre 0 (fosc) i 9 (brillant).\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"Copia una \u00e0rea d'una altra imatge a aquesta imatge.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: (font) La imatge font\n:param x: Despla\u00e7ament de la columna inicial a la imatge d'origen\n:param y: Despla\u00e7ament de la fila inicial a la imatge d'origen\n:param w: El nombre de columnes a copiar\n:param h: El nombre de files a copiar\n:param xdest: El despla\u00e7ament de columna a modificar en aquesta imatge\n:param ydest: El despla\u00e7ament de fila que cal modificar en aquesta imatge\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"Obt\u00e9 una representaci\u00f3 de cadena compacta de la imatge. (repr - Obt\u00e9 una representaci\u00f3 de cadena compacta de la imatge.)\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"Obt\u00e9 una representaci\u00f3 de cadena llegible de la imatge.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"Crea una imatge nova afegint els valors de brillantor de les dues\nimatges per a cada p\u00edxel. (afegeix)\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: (altre) La imatge a afegir.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"Crea una imatge nova restant els valors de brillantor d'una altra imatge d'aquesta imatge.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: (altre) La imatge a restar.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"Crea una imatge nova multiplicant la brillantor de cada p\u00edxel per\n``n``.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: El valor per multiplicar.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"Crea una imatge nova dividint la brillantor de cada p\u00edxel per\n``n``.\n\nExample: ``Image.HEART / 2``\n\n:param n: El valor del divisor.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Representa la transici\u00f3 dels esdeveniments de so, des de ``quiet`` a ``loud`` com picant de mans o cridant. (so fort)\"\"\"\n QUIET: SoundEvent\n \"\"\"Representa la transici\u00f3 dels esdeveniments de so, des de ``loud`` a ``quiet`` com parlant o m\u00fasica de fons. (so fluix)\"\"\"\n\nclass Sound:\n \"\"\"Els sons integrats es poden reproduir mitjan\u00e7ant ``audio.play(Sound.NAME)``. (so)\"\"\"\n GIGGLE: Sound\n \"\"\"So de riure (riure)\"\"\"\n HAPPY: Sound\n \"\"\"So feli\u00e7. (feli\u00e7)\"\"\"\n HELLO: Sound\n \"\"\"So de salutaci\u00f3. (hola)\"\"\"\n MYSTERIOUS: Sound\n \"\"\"So misteri\u00f3s. (misteri\u00f3s)\"\"\"\n SAD: Sound\n \"\"\"So trist. (tristesa)\"\"\"\n SLIDE: Sound\n \"\"\"So lliscant (so lliscant)\"\"\"\n SOARING: Sound\n \"\"\"So creixent. (creixent)\"\"\"\n SPRING: Sound\n \"\"\"So primaveral. (primaveral)\"\"\"\n TWINKLE: Sound\n \"\"\"So de centelleig. (centelleig)\"\"\"\n YAWN: Sound\n \"\"\"So de badall. (badall)\"\"\"", + "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Mesura l'acceleraci\u00f3 de la micro:bit i reconeix els gestos. (acceler\u00f2metre)\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Obt\u00e9 la mesura de l'acceleraci\u00f3 a l'eix ``x`` en mili-g. (obt\u00e9 x)\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Obt\u00e9 la mesura de l'acceleraci\u00f3 a l'eix ``y`` en mili-g. (obt\u00e9 y)\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Obt\u00e9 la mesura de l'acceleraci\u00f3 a l'eix ``z`` en mili-g. (obt\u00e9 z)\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Obt\u00e9 les mesures d'acceleraci\u00f3 en tots els eixos alhora com una tupla. (obt\u00e9 valors)\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Obt\u00e9 la mesura de l'acceleraci\u00f3 de tots els eixos combinats, com un nombre enter positiu. Aquest ser\u00e0 la suma Pitag\u00f2rica dels eixos X, Y i Z. (obt\u00e9 la for\u00e7a)\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Obt\u00e9 el nom del gest actual. (El gest actual)\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Comprova si el gest nomenat est\u00e0 actiu actualment.\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (nom) El nom del gest\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Comprova si el gest nomenat ha estat actiu des de l'\u00faltima crida.\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (nom) El nom del gest\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Retorna una tupla de l'historial de gestos. (obt\u00e9 gestos)\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Estableix l'interval de la sensibilitat de l'acceler\u00f2metre, en g (gravetat est\u00e0ndard), al valor m\u00e9s proper acceptat pel maquinari, arrodonit a ``2``, ``4``, o ``8``\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: (valor) Nou interval per a l'acceler\u00f2metre, un nombre enter a ``g``.\"\"\"", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Reprodueix sons amb la micro:bit (importa ``audio`` per a la compatibilitat amb V1). (\u00e0udio)\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Reprodueix un so incorporat, un efecte de s\u00f3 o marcs d'\u00e0udio personalitzats.\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: (origen) Un objecte de ``Sound`` incorporat com ``Sound.GIGGLE``, un ``SoundEffect`` o una data de mostra com un iterable de ``AudioFrame`` .\n:param wait: (espera) Si ``wait`` \u00e9s ``True``, aquesta funci\u00f3 es bloquejar\u00e0 fins que s'acabi el so.\n:param pin: Es pot utilitzar un argument opcional per especificar el pin de sortida per anul\u00b7lar el valor predeterminat de ``pin0``. Si no vols que es reprodueixi cap so, pots utilitzar ``pin=None``.\n:param return_pin: (retorna el pin) Especifica un pin diferent del connector d'expansi\u00f3 per connectar-lo a un altaveu extern en lloc de posar a terra. Aix\u00f2 s'ignora per a la revisi\u00f3 **V2**.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Verifica si s'est\u00e0 reproduint un so. (est\u00e0 reproduint)\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Atura tota la reproducci\u00f3 d'\u00e0udio. (atura)\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"Un efecte sonor, compost per un conjunt de par\u00e0metres configurats via el constructor o atributs.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Opci\u00f3 d'ona sinusoidal pel par\u00e0metre ``waveform``. (forma d'ona sinusoidal)\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Opci\u00f3 d'ona de dent de serra pel par\u00e0metre ``waveform``. (forma d'ona de dent de serra)\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Opci\u00f3 d'ona triangular pel par\u00e0metre ``waveform``. (forma d'ona triangular)\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Opci\u00f3 d'ona quadrada pel par\u00e0metre ``waveform``. (forma d'ona quadrada)\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Opci\u00f3 d'ona de soroll pel par\u00e0metre ``waveform``. (forma d'ona de soroll)\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Opci\u00f3 d'ona lineal pel par\u00e0metre ``shape``. (forma lineal)\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Opci\u00f3 d'interpolaci\u00f3 de corba usada pel par\u00e0metre ``shape``. (forma de corba)\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Opci\u00f3 d'interpolaci\u00f3 logar\u00edtmica utilitzada pel par\u00e0metre ``shape``. (forma logar\u00edtmica)\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"Opci\u00f3 de cap efecte utilitzat pel par\u00e0metre ``fx``. (fx cap)\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Opci\u00f3 d'efecte tr\u00e8molo utilitzat pel par\u00e0metre ``fx``. (fx tr\u00e9molo)\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Opci\u00f3 d'efecte vibrato utilitzat pel par\u00e0metre ``fx``.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Opci\u00f3 d'efecte gorjeu utilitzat pel par\u00e0metre ``fx``. (Efecte gorjeu)\"\"\"\n freq_start: int\n \"\"\"Freq\u00fc\u00e8ncia inicial en Hertz (Hz), un nombre entre ``0`` i ``9999`` (freq\u00fc\u00e8ncia inicial)\"\"\"\n freq_end: int\n \"\"\"Freq\u00fc\u00e8ncia final en Hertz (Hz), un nombre entre ``0`` i ``9999`` (frequ\u00e8ncia final)\"\"\"\n duration: int\n \"\"\"Durada del so en mil\u00b7lisegons, un nombre entre ``0`` and ``9999`` (Durada - duraci\u00f3)\"\"\"\n vol_start: int\n \"\"\"Volum inicial, un nombre entre ``0`` and ``255`` (volum inicial)\"\"\"\n vol_end: int\n \"\"\"Valor del volum final, un nombre entre ``0`` and ``255`` (volum final)\"\"\"\n waveform: int\n \"\"\"Tipus de forma d'ona, un d'aquest valors: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise) (forma d'ona)\"\"\"\n fx: int\n \"\"\"Efecte a afegir al so, un dels seg\u00fcents valors: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE`` (efecte)\"\"\"\n shape: int\n \"\"\"El tipus de corba d'interpolaci\u00f3 entre les freq\u00fc\u00e8ncies inicial i final, diferents formes d'ona tenen diferents r\u00e0tios de canvi en la freq\u00fc\u00e8ncia. Un dels seg\u00fcents valors: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG`` (forma)\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Crea un efecte de so nou. (inicial)\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: (freq\u00fc\u00e8ncia inicial) Freq\u00fc\u00e8ncia inicial en Hertz (Hz), un nombre entre ``0`` i ``9999``.\n:param freq_end: (frequ\u00e8ncia final) Freq\u00fc\u00e8ncia final en Hertz (Hz), un nombre entre ``0`` i ``9999``.\n:param duration: (Durada - duraci\u00f3) Duraci\u00f3 del so en mil\u00b7lisegons, un nombre entre ``0`` i ``9999``.\n:param vol_start: (volum inicial) Valor del volum inicial, un nombre entre ``0`` i ``255``.\n:param vol_end: (volum final) Valor del volum final, un nombre entre ``0`` i ``255``.\n:param waveform: (forma d'ona) Tipus de forma d'ona, un d'aquests valors: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (soroll generat aleat\u00f2riament).\n:param fx: (efecte) Efecte a afegir al so, un del seg\u00fcents valors: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n:param shape: (forma) El tipus de corba d'interpolaci\u00f3 entre les freq\u00fc\u00e8ncies inicial i final, diferents formes d'ona tenen diferents r\u00e0tios de canvi en la freq\u00fc\u00e8ncia. Un dels seg\u00fcents valors: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Crea una c\u00f2pia d'aquest ``SoundEffect``. (c\u00f2pia)\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"Un objecte ``AudioFrame`` \u00e9s una llista de 32 mostres cadascuna de les quals \u00e9s un byte sense signar\n(nombre enter entre 0 i 255).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Sobreposa les dades d'aquest ``AudioFrame`` amb les dades d'una altra inst\u00e0ncia ``AudioFrame`` . (copia desde)\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: (altre) ``AudioFrame`` inst\u00e0ncia de la qual copiar les dades.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Utilitza la br\u00faixola integrada. (br\u00faixola)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Comen\u00e7a el proc\u00e9s de calibraci\u00f3 (calibrar)\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"Verifica si la br\u00faixola est\u00e0 calibrada. (s'ha calibrat)\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Desf\u00e0 el calibratge, fent que la br\u00faixola torni a estar sense calibraci\u00f3. (esborra la calibraci\u00f3)\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Obt\u00e9 la intensitat del camp magn\u00e8tic de l'eix ``x`` . (obt\u00e9 x)\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Obt\u00e9 la intensitat del camp magn\u00e8tic de l'eix ``y`` . (obt\u00e9 y)\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Obt\u00e9 la intensitat del camp magn\u00e8tic a l'eix ``z``. (obt\u00e9 z)\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Obt\u00e9 l'orientaci\u00f3 de la br\u00faixola.\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Obt\u00e9 la magnitud del camp magn\u00e8tic al voltant del dispositiu. (obt\u00e9 la intensitat del camp)\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", + "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Mostra text, imatges i animacions a la pantalla LED 5\u00d75. (pantalla)\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Obt\u00e9 la brillantor del LED a la columna ``x`` i la fila ``y``. (obt\u00e9 p\u00edxel)\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: La columna de la pantalla (0...4)\n:param y: La fila de la pantalla (0...4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Estableix la brillantor del LED a la columna ``x`` i la fila ``y``. (estableix p\u00edxel)\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: La columna de la pantalla (0...4)\n:param y: La fila de la pantalla (0...4)\n:param value: (valor) La brillantor entre 0 (apagat) i 9 (brillant)\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Estableix la brillantor de tots els leds a 0 (apagat).\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"Mostra imatges, lletres o d\u00edgits en la pantalla LED. (mostra)\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: (imatge) Una cadena, un nombre, una imatge o una llista d'imatges per mostrar.\n:param delay: (retard) Cada lletra, d\u00edgit o imatge es mostra amb un ``delay`` mil\u00b7lisegons entre ells.\n:param wait: (espera) Si ``wait`` \u00e9s ``True``, aquesta funci\u00f3 es bloquejar\u00e0 fins que s'acabi l'animaci\u00f3, en cas contrari, l'animaci\u00f3 passar\u00e0 en segon pla.\n:param loop: (bucle) Si el ``loop`` \u00e9s ``True``, l'animaci\u00f3 es repetir\u00e0 per sempre.\n:param clear: Si ``clear`` \u00e9s ``True``, la pantalla s'esborrar\u00e0 un cop finalitzada la seq\u00fc\u00e8ncia.\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"Despla\u00e7a un n\u00famero o text per la pantalla LED.\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: La cadena per a despla\u00e7ar. Si ``text`` \u00e9s un nombre enter o flotant, primer es converteix en una cadena mitjan\u00e7ant ``str()``.\n:param delay: (retard) El par\u00e0metre ``delay`` controla la rapidesa amb qu\u00e8 es despla\u00e7a el text.\n:param wait: (espera) Si ``wait`` \u00e9s ``True``, aquesta funci\u00f3 es bloquejar\u00e0 fins que s'acabi l'animaci\u00f3, en cas contrari, l'animaci\u00f3 passar\u00e0 en segon pla.\n:param loop: (bucle) Si el ``loop`` \u00e9s ``True``, l'animaci\u00f3 es repetir\u00e0 per sempre.\n:param monospace: Si ``monospace`` \u00e9s ``True``, tots els car\u00e0cters ocuparan 5 columnes de p\u00edxels d'amplada, en cas contrari, hi haur\u00e0 exactament 1 columna de p\u00edxels en blanc entre cada car\u00e0cter mentre es desplacen.\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Enc\u00e9n la pantalla LED.\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Apaga la pantalla LED (desactivar la pantalla et permet reutilitzar els pins GPIO per a altres finalitats).\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"Comprova si la pantalla LED est\u00e0 habilitada.\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Llegeix el nivell de llum. (llegir el nivell de llum)\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Comunicar-se amb dispositius mitjan\u00e7ant el protocol de bus I\u00b2C.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"Reinicialitzar un perif\u00e8ric.\n\nExample: ``i2c.init()``\n\n:param freq: freq\u00fc\u00e8ncia del rellotge\n:param sda: Pin ``sda`` (per defecte 20)\n:param scl: pin ``scl`` (per defecte 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Escaneja el bus dels dispositius\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Llegeix bytes des d'un dispositiu. (llegeix)\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: L'adre\u00e7a de 7-bit del dispositiu\n:param n: El nombre de bytes a llegir\n:param repeat: (repeteix) Si ``True``, no s'enviar\u00e0 cap bit d'aturada\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"Escriu bytes en un dispositiu (escriu)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: L'adre\u00e7a de 7-bit del dispositiu\n:param buf: Una mem\u00f2ria interm\u00e8dia que cont\u00e9 els bytes per escriure\n:param repeat: (repeteix) Si ``True``, no s'enviar\u00e0 cap bit d'aturada\"\"\"\n ...", + "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Respon al so fent servir el micr\u00f2fon integrat (nom\u00e9s V2). (micr\u00f2fon)\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Obt\u00e9 l'\u00faltim esdeveniment de sonor gravat (esdeveniment actual)\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Comprova si s'ha sentit un so almenys una vegada des de l'\u00faltima crida. (va ser un esdeveniment)\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: (esdeveniment) L'esdeveniment per comprovar, com ara ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Comprova l'esdeveniment sonor m\u00e9s recent detectat. (\u00e9s un esdeveniment)\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: (esdeveniment) L'esdeveniment per comprovar, com ara ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Obt\u00e9 l'historial d'esdeveniments sonors com una tupla. (obt\u00e9 esdeveniments)\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Assigna el llinar per un esdeveniment sonor (estableix llindar)\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: (esdeveniment) Un esdeveniment sonor, com ara ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``.\n:param value: (valor) El llindar en l'interval 0-255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Obt\u00e9 el nivell de pressi\u00f3 sonora. (nivell de so)\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", + "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Controla l'altaveu integrat (nom\u00e9s V2). (altaveu)\"\"\"\n\ndef off() -> None:\n \"\"\"Apaga l'altaveu.\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Enc\u00e9n l'altaveu.\n\nExample: ``speaker.on()``\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Comunica amb dispositius mitjan\u00e7ant el bus d'interf\u00edcie perif\u00e8rica s\u00e8rie (SPI).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Inicialitzar la comunicaci\u00f3 SPI.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: (Velocitat de bauds) La velocitat de comunicaci\u00f3.\n:param bits: L'amplada en bits de cada transfer\u00e8ncia. Actualment nom\u00e9s ``bits=8`` \u00e9s acceptada . Tot i que aix\u00f2 pot canviar en el futur\n:param mode: Determina la combinaci\u00f3 de polaritat i fase del rellotge: `consulta la taula en l\u00ednia `_.\n:param sclk: pin sclk (per defecte 13)\n:param mosi: mosi pin (per defecte 15)\n:param miso: miso pin (per defecte 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"Llegeix com a m\u00e0xim ``nbytes`` mentre escriu cont\u00ednuament l'\u00fanic byte donat per ``out``. (llegeix)\n\nExample: ``spi.read(64)``\n\n:param nbytes: Nombre m\u00e0xim de bytes per llegir.\n:param out: El valor del byte a escriure (per defecte 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Escriu bytes al bus. (escriu)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (mem\u00f2ria interm\u00e8dia) Una mem\u00f2ria interm\u00e8dia per a llegir dades.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Escriu la mem\u00f2ria interm\u00e8dia ``out`` al bus i llegeix qualsevol resposta a la mem\u00f2ria interm\u00e8dia ``in_``.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: La mem\u00f2ria interm\u00e8dia per a escriure qualsevol resposta.\n:param in_: La mem\u00f2ria interm\u00e8dia per a llegir dades.\"\"\"\n ...", + "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Comunica amb un dispositiu mitjan\u00e7ant una interf\u00edcie s\u00e8rie.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"Paritat senar (senar)\"\"\"\nEVEN: int\n\"\"\"Paritat parella (parell)\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"Inicialitzar la comunicaci\u00f3 en s\u00e8rie.\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: (Velocitat de bauds) La velocitat de comunicaci\u00f3.\n:param bits: La mida dels bytes que es transmeten. micro:bit nom\u00e9s n'admet 8.\n:param parity: (paritat) Com es verifica la paritat, ``None``, ``uart.ODD`` o ``uart.EVEN``.\n:param stop: (atura) El nombre de bits de parada ha de ser 1 per micro:bit.\n:param tx: Pin transmissor.\n:param rx: Receiving pin.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Verifica si hi ha alguna data esperant.\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"Llegeix bytes (llegeix)\n\nExample: ``uart.read()``\n\n:param nbytes: Si s'especifica ``nbytes``, llegeix com a m\u00e0xim tants bytes, en cas contrari llegeix tants bytes com sigui possible\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"Llegeix bytes al ``buf``.\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: La mem\u00f2ria interm\u00e8dia a on escriure.\n:param nbytes: Si s'especifica ``nbytes``, llegeix com a m\u00e0xim aquests bytes, en cas contrari llegeix ``len(buf)`` bytes.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Llegir una l\u00ednia que acaba en un car\u00e0cter de nova l\u00ednia.\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Escriu una mem\u00f2ria interm\u00e8dia al bus (escriu)\n\nExample: ``uart.write('hello world')``\n\n:param buf: Un objecte bytes o una cadena.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" } diff --git a/src/micropython/main/typeshed.de.json b/src/micropython/main/typeshed.de.json index a1439b3f0..c0aae54d1 100644 --- a/src/micropython/main/typeshed.de.json +++ b/src/micropython/main/typeshed.de.json @@ -7,23 +7,23 @@ "/typeshed/stdlib/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\n# Re-export for V1 compatibility.\nfrom .microbit.audio import (\n is_playing as is_playing,\n play as play,\n stop as stop,\n AudioFrame as AudioFrame,\n SoundEffect as SoundEffect,\n)\n", "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", - "/typeshed/stdlib/gc.pyi": "\"\"\"Control the garbage collector\"\"\"\n\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"Enable automatic garbage collection.\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"Disable automatic garbage collection.\n\n Heap memory can still be allocated,\n and garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Run a garbage collection.\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Get the number of bytes of heap RAM that are allocated.\n\n :return: The number of bytes allocated.\n\n This function is MicroPython extension.\n \"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Get the number of bytes of available heap RAM, or -1 if this amount is not known.\n\n :return: The number of bytes free.\n\n This function is MicroPython extension.\n \"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Query the additional GC allocation threshold.\n\n :return: The GC allocation threshold.\n\n This function is a MicroPython extension. CPython has a similar\n function - ``set_threshold()``, but due to different GC\n implementations, its signature and semantics are different.\n \"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Set the additional GC allocation threshold.\n\n Normally, a collection is triggered only when a new allocation\n cannot be satisfied, i.e. on an out-of-memory (OOM) condition.\n If this function is called, in addition to OOM, a collection\n will be triggered each time after ``amount`` bytes have been\n allocated (in total, since the previous time such an amount of bytes\n have been allocated). ``amount`` is usually specified as less than the\n full heap size, with the intention to trigger a collection earlier than when the\n heap becomes exhausted, and in the hope that an early collection will prevent\n excessive memory fragmentation. This is a heuristic measure, the effect\n of which will vary from application to application, as well as\n the optimal value of the ``amount`` parameter.\n\n A value of -1 means a disabled allocation threshold.\n\n This function is a MicroPython extension. CPython has a similar\n function - ``set_threshold()``, but due to different GC\n implementations, its signature and semantics are different.\n\n :param amount: The number of bytes after which a garbage collection should be triggered.\n \"\"\"\n ...\n", - "/typeshed/stdlib/log.pyi": "\"\"\"Log data to your micro:bit V2.\"\"\"\n\nfrom typing import Literal, Mapping, Optional, Union, overload\n\nMILLISECONDS = 1\n\"\"\"Milliseconds timestamp format.\"\"\"\n\nSECONDS = 10\n\"\"\"Seconds timestamp format.\"\"\"\n\nMINUTES = 600\n\"\"\"Minutes timestamp format.\"\"\"\n\nHOURS = 36000\n\"\"\"Hours timestamp format.\"\"\"\n\nDAYS = 864000\n\"\"\"Days timestamp format.\"\"\"\n\ndef set_labels(\n *labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]] = SECONDS\n) -> None:\n \"\"\"Set up the log file header.\n\n Example: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\n Ideally this function should be called a single time, before any data is\n logged, to configure the data table header once.\n\n If a log file already exists when the program starts, or if this function\n is called multiple times, it will check the labels already defined in the\n log file. If this function call contains any new labels not already\n present, it will generate a new header row with the additional columns.\n\n By default the first column contains a timestamp for each row. The time\n unit can be selected via the timestamp argument.\n\n :param *labels: Any number of positional arguments, each corresponding to an entry in the log header.\n :param timestamp: Select the timestamp unit that will be automatically added as the first column in every row. Timestamp values can be one of ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` or ``None`` to disable the timestamp. The default value is ``log.SECONDS``.\n \"\"\"\n ...\n\n@overload\ndef add(\n data_dictionary: Optional[Mapping[str, Union[str, int, float]]],\n) -> None:\n \"\"\"Add a data row to the log by passing a dictionary of headers and values.\n\n Example: ``log.add({ 'temp': temperature() })``\n\n Each call to this function adds a row to the log.\n\n New labels not previously specified via the set_labels function, or by a\n previous call to this function, will trigger a new header entry to be added\n to the log with the extra labels.\n\n Labels previously specified and not present in a call to this function will\n be skipped with an empty value in the log row.\n\n :param data_dictionary: The data to log as a dictionary with a key for each header.\n \"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"Add a data row to the log using keyword arguments.\n\n Example: ``log.add(temp=temperature())``\n\n Each call to this function adds a row to the log.\n\n New labels not previously specified via the set_labels function, or by a\n previous call to this function, will trigger a new header entry to be added\n to the log with the extra labels.\n\n Labels previously specified and not present in a call to this function will\n be skipped with an empty value in the log row.\n \"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"Deletes the contents of the log, including headers.\n\n Example: ``log.delete()``\n\n To add the log headers again the ``set_labels`` function should to be called after this function.\n\n There are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\n and \u201cfast\u201d invalidates the data without removing it.\n\n :param full: ``True`` selects a \u201cfull\u201d erase and ``False`` selects the \u201cfast\u201d erase method.\n \"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Configure mirroring of the data logging activity to the serial output.\n\n Example: ``log.set_mirroring(True)``\n\n Serial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n :param serial: ``True`` enables mirroring data to the serial output.\n \"\"\"\n ...\n", + "/typeshed/stdlib/gc.pyi": "\"\"\"Steuerung des Garbage Collectors\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"Automatische Garbage Collection aktivieren.\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"Automatische Garbage Collection deaktivieren.\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Garbage Collection ausf\u00fchren.\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Ermittelt die Anzahl der dem Heap-Speicher zugewiesen Bytes.\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Gibt die Anzahl der Bytes des verf\u00fcgbaren dynamischen Speichers zur\u00fcck. -1 wird zur\u00fcckgegeben, wenn dieser Wert unbekannt ist.\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Den zus\u00e4tzlichen GC-Zuteilungsschwellwert abfragen.\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Den zus\u00e4tzlichen GC-Schwellenwert festlegen.\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: Die Anzahl der Bytes, nach denen eine Garbage Collection ausgel\u00f6st werden soll.\"\"\"\n ...", + "/typeshed/stdlib/log.pyi": "\"\"\"Zeichne Daten auf deinem micro:bit V2 auf.\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"Zeitstempelformat: Millisekunden (millisekunden)\"\"\"\nSECONDS = 10\n\"\"\"Zeitstempelformat: Sekunden (sekunden)\"\"\"\nMINUTES = 600\n\"\"\"Zeitstempelformat: Minuten (minuten)\"\"\"\nHOURS = 36000\n\"\"\"Zeitstempelformat: Stunden (stunden)\"\"\"\nDAYS = 864000\n\"\"\"Tage Zeitstempelformat.\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"Den Logdatei-Header setzen (Beschriftungen festlegen)\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: Eine beliebige Anzahl von Positionsargumenten, die jeweils einem Eintrag in der Kopfzeile des Logs entsprechen.\n:param timestamp: W\u00e4hle die Zeitstempel-Einheit, die automatisch als erste Spalte in jeder Zeile hinzugef\u00fcgt wird. Der Zeitstempel kann einen der folgenden Werte annehmen: ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` oder ``None``, um den Zeitstempel zu deaktivieren. Der Standardwert ist ``log.SECONDS``.\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"F\u00fcge dem Protokoll eine Datenzeile hinzu, indem du ein Dictionary mit Kopfzeileneintr\u00e4gen und Werten \u00fcbergibst. (hinzuf\u00fcgen)\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: (daten w\u00f6rterbuch) Die zu protokollierenden Daten in Form eines Dictionarys mit einem Schl\u00fcssel f\u00fcr jeden Kopfzeileneintrag.\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"F\u00fcge dem Protokoll eine Datenzeile mit Schl\u00fcsselw\u00f6rtern als Argumenten hinzu. (hinzuf\u00fcgen)\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"L\u00f6scht den Inhalt des Protokolls, einschlie\u00dflich der Kopfzeilen. (l\u00f6schen)\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: (vollst\u00e4ndig) Mit ``True`` wird ein \" vollst\u00e4ndiges\" L\u00f6schen und mit ``False`` die \"schnelle\" L\u00f6schmethode gew\u00e4hlt.\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Richte die Spiegelung der Datenprotokollierung auf dem seriellen Ausgang ein. (spiegeln)\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: (seriell) ``True`` aktiviert die Spiegelung von Daten auf dem seriellen Ausgang.\"\"\"\n ...", "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", - "/typeshed/stdlib/machine.pyi": "\"\"\"Low-level utilities.\n\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"Get a byte string with a unique identifier of a board.\n\n Example: ``machine.unique_id()``\n\n :return: An identifier that varies from one board instance to another.\n \"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset the device in a manner similar to pushing the external RESET button.\n\n Example: ``machine.reset()``\n \"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"Get the CPU frequency in hertz.\n\n Example: ``machine.freq()``\n\n :return: The CPU frequency.\n \"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"Disable interrupt requests.\n\n Example: ``interrupt_state = machine.disable_irq()``\n\n :return: the previous IRQ state which should be considered an opaque value\n\n The return value should be passed to the ``enable_irq`` function to restore\n interrupts to their original state.\n \"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"Re-enable interrupt requests.\n\n Example: ``machine.enable_irq(interrupt_state)``\n\n :param state: The value that was returned from the most recent call to the ``disable_irq`` function.\n \"\"\"\n ...\n\ndef time_pulse_us(\n pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int = 1000000\n) -> int:\n \"\"\"Time a pulse on a pin.\n\n Example: ``time_pulse_us(pin0, 1)``\n\n If the current input value of the pin is different to ``pulse_level``, the\n function first waits until the pin input becomes equal to\n ``pulse_level``, then times the duration that the pin is equal to\n ``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\n starts straight away.\n\n :param pin: The pin to use\n :param pulse_level: 0 to time a low pulse or 1 to time a high pulse\n :param timeout_us: A microsecond timeout\n :return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\n \"\"\"\n ...\n\nclass mem:\n \"\"\"The class for the ``mem8``, ``mem16`` and ``mem32`` memory views.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Access a value from memory.\n\n :param address: The memory address.\n :return: The value at that address as an integer.\n \"\"\"\n ...\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"Set a value at the given address.\n\n :param address: The memory address.\n :param value: The integer value to set.\n \"\"\"\n ...\n\nmem8: mem\n\"\"\"8-bit (byte) view of memory.\"\"\"\n\nmem16: mem\n\"\"\"16-bit view of memory.\"\"\"\n\nmem32: mem\n\"\"\"32-bit view of memory.\"\"\"\n", - "/typeshed/stdlib/math.pyi": "\"\"\"Mathematical functions.\n\"\"\"\n\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Calculate the inverse cosine.\n\n Example: ``math.acos(1)``\n\n :param x: A number\n :return: The inverse cosine of ``x``\n \"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Calculate the inverse sine.\n\n Example: ``math.asin(0)``\n\n :param x: A number\n :return: The inverse sine of ``x``\n \"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Calculate the inverse tangent.\n\n Example: ``math.atan(0)``\n\n :param x: A number\n :return: The inverse tangent of ``x``\n \"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Calculate the principal value of the inverse tangent of ``y/x``.\n\n Example: ``math.atan2(0, -1)``\n\n :param y: A number\n :param x: A number\n :return: The principal value of the inverse tangent of ``y/x``\n \"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Round a number towards positive infinity.\n\n Example: ``math.ceil(0.1)``\n\n :param x: A number\n :return: ``x`` rounded towards positive infinity.\n \"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Calculate ``x`` with the sign of ``y``.\n\n Example: ``math.copysign(1, -1)``\n\n :param x: A number\n :param y: The source of the sign for the return value\n :return: ``x`` with the sign of ``y``\n \"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Calculate the cosine of ``x``.\n\n Example: ``math.cos(0)``\n\n :param x: A number\n :return: The cosine of ``x``\n \"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Convert radians to degrees.\n\n Example: ``math.degrees(2 * math.pi)``\n\n :param x: A value in radians\n :return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Calculate the exponential of ``x``.\n\n Example: ``math.exp(1)``\n\n :param x: A number\n :return: The exponential of ``x``.\n \"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Return the absolute value of ``x``.\n\n Example: ``math.fabs(-0.1)``\n\n :param x: A number\n :return: The absolute value of ``x``\n \"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Round a number towards negative infinity.\n\n Example: ``math.floor(0.9)``\n\n :param x: A number\n :return: ``x`` rounded towards negative infinity.\n \"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Calculate the remainder of ``x/y``.\n\n Example: ``math.fmod(10, 3)``\n\n :param x: The numerator\n :param y: The denominator\n \"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Decomposes a floating-point number into its mantissa and exponent.\n\n Example: ``mantissa, exponent = math.frexp(2)``\n\n The returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\n exactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\n the relation ``0.5 <= abs(m) < 1`` holds.\n\n :param x: A floating-point number\n :return: A tuple of length two containing its mantissa then exponent\n \"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"Check if a value is finite.\n\n Example: ``math.isfinite(float('inf'))``\n\n :param x: A number.\n :return: ``True`` if ``x`` is finite, ``False`` otherwise.\n \"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"Check if a value is infinite.\n\n Example: ``math.isinf(float('-inf'))``\n\n :param x: A number.\n :return: ``True`` if ``x`` is infinite, ``False`` otherwise.\n \"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Check if a value is not-a-number (NaN).\n\n Example: ``math.isnan(float('nan'))``\n\n :param x: A number\n :return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Calculate ``x * (2**exp)``.\n\n Example: ``math.ldexp(0.5, 2)``\n\n :param x: A number\n :param exp: Integer exponent\n :return: ``x * (2**exp)``\n \"\"\"\n ...\n\ndef log(x: float, base: float = e) -> float:\n \"\"\"Calculate the logarithm of ``x`` to the given base (defaults to natural logorithm).\n\n Example: ``math.log(math.e)``\n\n With one argument, return the natural logarithm of x (to base e).\n\n With two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n :param x: A number\n :param base: The base to use\n :return: The natural logarithm of ``x``\n \"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Calculate the fractional and integral parts of ``x``.\n\n Example: ``fractional, integral = math.modf(1.5)``\n\n :param x: A number\n :return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\n Both the fractional and integral values have the same sign as ``x``.\n \"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Returns ``x`` to the power of ``y``.\n\n Example: ``math.pow(4, 0.5)``\n\n :param x: A number\n :param y: The exponent\n :return: ``x`` to the power of ``y``\n \"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Convert a degrees to radians.\n\n Example: ``math.radians(360)``\n\n :param x: A value in degrees\n :return: The value converted to radians\n \"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Calculate the sine of ``x``.\n\n Example: ``math.sin(math.pi/2)``\n\n :param x: A number\n :return: The sine of ``x``\n \"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Calculate the square root of ``x``.\n\n Example: ``math.sqrt(4)``\n\n :param x: A number\n :return: The square root of ``x``\n \"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Calculate the tangent of ``x``.\n\n Example: ``math.tan(0)``\n\n :param x: A number\n :return: The tangent of ``x``.\n \"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Round a number towards 0.\n\n Example: ``math.trunc(-0.9)``\n\n :param x: A number\n :return: ``x`` rounded towards zero.\n \"\"\"\n ...\n\ne: float\n\"\"\"Base of the natural logarithm\"\"\"\n\npi: float\n\"\"\"The ratio of a circle's circumference to its diameter\"\"\"\n", - "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython internals.\"\"\"\n\nfrom typing import Any, TypeVar, overload\n\n_T = TypeVar(\"_T\")\n\ndef const(expr: _T) -> _T:\n \"\"\"Used to declare that the expression is a constant so that the compiler can\n optimise it.\n\n The use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\n Constants declared this way are still accessible as global variables from\n outside the module they are declared in. On the other hand, if a constant\n begins with an underscore then it is hidden, it is not available as a\n global variable, and does not take up any memory during execution.\n\n :param expr: A constant expression.\n \"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Get the current optimisation level for the compilation of scripts.\n\n Example: ``micropython.opt_level()``\n\n The optimisation level controls the following compilation features:\n\n - Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n - Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n - Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n :return: An integer representing the current level.\n \"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Sets the optimisation level for subsequent compilation of scripts.\n\n Example: ``micropython.opt_level(1)``\n\n The optimisation level controls the following compilation features:\n\n - Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n - Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n - Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n The default optimisation level is usually level 0.\n\n :param level: An integer optimisation level.\n \"\"\"\n ...\n\ndef mem_info(verbose: Any = None) -> None:\n \"\"\"Print information about currently used memory.\n\n Example: ``micropython.mem_info()``\n\n :param verbose: If the ``verbose`` argument is given then extra information is printed.\n \"\"\"\n ...\n\ndef qstr_info(verbose: Any = None) -> None:\n \"\"\"Print information about currently interned strings.\n\n Example: ``micropython.qstr_info()``\n\n :param verbose: If the ``verbose`` argument is given then extra information is printed.\n\n The information that is printed is implementation dependent, but currently\n includes the number of interned strings and the amount of RAM they use. In\n verbose mode it prints out the names of all RAM-interned strings.\n \"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Return an integer representing the current amount of stack that is being\n used.\n\n Example: ``micropython.stack_use()``\n\n The absolute value of this is not particularly useful, rather it\n should be used to compute differences in stack usage at different points.\n\n :return: An integer representing current stack use.\n \"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Lock the heap.\n\n Example: ``micropython.heap_lock()``\n\n When locked no memory allocation can occur and a ``MemoryError`` will be\n raised if any heap allocation is attempted.\n \"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Unlock the heap.\n\n Example: ``micropython.heap_unlock()``\n\n When locked no memory allocation can occur and a ``MemoryError`` will be\n raised if any heap allocation is attempted.\n \"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Set the character that will raise a ``KeyboardInterrupt`` exception.\n\n Example: ``micropython.kbd_intr(-1)``\n\n :param chr: Character code to raise the interrupt or -1 to disable capture of Ctrl-C.\n\n By default this is set to 3 during script execution, corresponding to Ctrl-C.\n Passing -1 to this function will disable capture of Ctrl-C, and passing 3\n will restore it.\n\n This function can be used to prevent the capturing of Ctrl-C on the\n incoming stream of characters that is usually used for the REPL, in case\n that stream is used for other purposes.\n \"\"\"\n ...\n", - "/typeshed/stdlib/music.pyi": "\"\"\"Create and play melodies.\n\"\"\"\nfrom typing import Optional, Tuple, Union, List\n\nfrom .microbit import MicroBitDigitalPin, pin0\n\nDADADADUM: Tuple[str, ...]\n\"\"\"Melody: the opening to Beethoven\u2019s 5th Symphony in C minor.\"\"\"\n\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melody: the opening fragment of Scott Joplin\u2019s Ragtime classic \u201cThe Entertainer\u201d.\"\"\"\n\nPRELUDE: Tuple[str, ...]\n\"\"\"Melody: the opening of the first Prelude in C Major of J.S.Bach\u2019s 48 Preludes and Fugues.\"\"\"\n\nODE: Tuple[str, ...]\n\"\"\"Melody: the \u201cOde to Joy\u201d theme from Beethoven\u2019s 9th Symphony in D minor.\"\"\"\n\nNYAN: Tuple[str, ...]\n\"\"\"Melody: the Nyan Cat theme (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\n\nRINGTONE: Tuple[str, ...]\n\"\"\"Melody: something that sounds like a mobile phone ringtone.\n\nTo be used to indicate an incoming message.\n\"\"\"\n\nFUNK: Tuple[str, ...]\n\"\"\"Melody: a funky bass line for secret agents and criminal masterminds.\"\"\"\n\nBLUES: Tuple[str, ...]\n\"\"\"Melody: a boogie-woogie 12-bar blues walking bass.\"\"\"\n\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melody: \u201cHappy Birthday to You\u2026\u201d\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\n\nWEDDING: Tuple[str, ...]\n\"\"\"Melody: the bridal chorus from Wagner\u2019s opera \u201cLohengrin\u201d.\"\"\"\n\nFUNERAL: Tuple[str, ...]\n\"\"\"Melody: the \u201cfuneral march\u201d otherwise known as Fr\u00e9d\u00e9ric Chopin\u2019s Piano Sonata No. 2 in B\u266d minor, Op. 35.\"\"\"\n\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melody: a fun fragment that signifies a joke has been made.\"\"\"\n\nPYTHON: Tuple[str, ...]\n\"\"\"Melody: John Philip Sousa\u2019s march \u201cLiberty Bell\u201d aka, the theme for \u201cMonty Python\u2019s Flying Circus\u201d (after which the Python programming language is named).\"\"\"\n\nBADDY: Tuple[str, ...]\n\"\"\"Melody: silent movie era entrance of a baddy.\"\"\"\n\nCHASE: Tuple[str, ...]\n\"\"\"Melody: silent movie era chase scene.\"\"\"\n\nBA_DING: Tuple[str, ...]\n\"\"\"Melody: a short signal to indicate something has happened.\"\"\"\n\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melody: a very sad trombone.\"\"\"\n\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melody: for use in a game, indicating upward movement.\"\"\"\n\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melody: for use in a game, indicating downward movement.\"\"\"\n\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melody: a fanfare to indicate an achievement unlocked.\"\"\"\n\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melody: a sad fanfare to indicate an achievement lost.\"\"\"\n\ndef set_tempo(ticks: int = 4, bpm: int = 120) -> None:\n \"\"\"Sets the approximate tempo for playback.\n\n Example: ``music.set_tempo(bpm=120)``\n\n :param ticks: The number of ticks constituting a beat.\n :param bpm: An integer determining how many beats per minute.\n\n Suggested default values allow the following useful behaviour:\n\n - music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n - music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n - music.set_tempo(bpm=180) \u2013 just change the tempo\n\n To work out the length of a tick in milliseconds is very simple arithmetic:\n 60000/bpm/ticks_per_beat. For the default values that\u2019s\n 60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\n \"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Gets the current tempo as a tuple of integers: ``(ticks, bpm)``.\n\n Example: ``ticks, beats = music.get_tempo()``\n\n :return: The temp as a tuple with two integer values, the ticks then the beats per minute.\n \"\"\"\n ...\n\ndef play(\n music: Union[str, List[str], Tuple[str, ...]],\n pin: Optional[MicroBitDigitalPin] = pin0,\n wait: bool = True,\n loop: bool = False,\n) -> None:\n \"\"\"Plays music.\n\n Example: ``music.play(music.NYAN)``\n\n :param music: music specified in `a special notation `_\n :param pin: the output pin for use with an external speaker (default ``pin0``), ``None`` for no sound.\n :param wait: If ``wait`` is set to ``True``, this function is blocking.\n :param loop: If ``loop`` is set to ``True``, the tune repeats until ``stop`` is called or the blocking call is interrupted.\n\n Many built-in melodies are defined in this module.\n \"\"\"\n ...\n\ndef pitch(\n frequency: int,\n duration: int = -1,\n pin: Optional[MicroBitDigitalPin] = pin0,\n wait: bool = True,\n) -> None:\n \"\"\"Play a note.\n\n Example: ``music.pitch(185, 1000)``\n\n :param frequency: An integer frequency\n :param duration: A millisecond duration. If negative then sound is continuous until the next call or a call to ``stop``.\n :param pin: Optional output pin (default ``pin0``).\n :param wait: If ``wait`` is set to ``True``, this function is blocking.\n\n For example, if the frequency is set to 440 and the length to\n 1000 then we hear a standard concert A for one second.\n\n You can only play one pitch on one pin at any one time.\n \"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin] = pin0) -> None:\n \"\"\"Stops all music playback on the built-in speaker and any pin outputting sound.\n\n Example: ``music.stop()``\n\n :param pin: An optional argument can be provided to specify a pin, e.g. ``music.stop(pin1)``.\n \"\"\"\n\ndef reset() -> None:\n \"\"\"Resets ticks, bpm, duration and octave to their default values.\n\n Example: ``music.reset()``\n\n Values:\n - ``ticks = 4``\n - ``bpm = 120``\n - ``duration = 4``\n - ``octave = 4``\n \"\"\"\n ...\n", - "/typeshed/stdlib/neopixel.pyi": "\"\"\"Individually addressable RGB and RGBW LED strips.\n\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int = 3) -> None:\n \"\"\"Initialise a new strip of neopixel LEDs controlled via a pin.\n\n Example: ``np = neopixel.NeoPixel(pin0, 8)``\n\n To support RGBW neopixels, a third argument can be passed to\n ``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\n For RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\n Each pixel is addressed by a position (starting from 0). Neopixels are\n given RGB (red, green, blue) / RGBW (red, green, blue, white) values\n between 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\n white. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\n See `the online docs `_ for warnings and other advice.\n\n :param pin: The pin controlling the neopixel strip.\n :param n: The number of neopixels in the strip.\n :param bpp: Bytes per pixel. For RGBW neopixel support, pass 4 rather than the default of 3 for RGB and GRB.\n \"\"\"\n ...\n def clear(self) -> None:\n \"\"\"Clear all the pixels.\n\n Example: ``np.clear()``\n \"\"\"\n ...\n def show(self) -> None:\n \"\"\"Show the pixels.\n\n Example: ``np.show()``\n\n Must be called for any updates to become visible.\n \"\"\"\n ...\n def write(self) -> None:\n \"\"\"Show the pixels (micro:bit V2 only).\n\n Example: ``np.write()``\n\n Must be called for any updates to become visible.\n\n Equivalent to ``show``.\n \"\"\"\n ...\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Colour all pixels a given RGB/RGBW value (micro:bit V2 only).\n\n Example: ``np.fill((0, 0, 255))``\n\n :param colour: A tuple of the same length as the number of bytes per pixel (bpp).\n\n Use in conjunction with ``show()`` to update the neopixels.\n \"\"\"\n ...\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Set a pixel colour.\n\n Example: ``np[0] = (255, 0, 0)``\n\n :param key: The pixel number.\n :param value: The colour.\n \"\"\"\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Get a pixel colour.\n\n Example: ``r, g, b = np[0]``\n\n :param key: The pixel number.\n :return: The colour tuple.\n \"\"\"\n def __len__(self) -> int:\n \"\"\"Get length of this pixel strip.\n\n Example: ``len(np)``\n \"\"\"\n", - "/typeshed/stdlib/os.pyi": "\"\"\"Access the file system.\n\"\"\"\n\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"List files.\n\n Example: ``os.listdir()``\n\n :return: A list of the names of all the files contained within the local\n persistent on-device file system.\n \"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Remove (delete) a file.\n\n Example: ``os.remove('data.txt')``\n\n :param filename: The file to delete.\n\n If the file does not exist an ``OSError`` exception will occur.\n \"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Returns the size of a file.\n\n Example: ``os.size('data.txt')``\n\n :param filename: The file\n :return: The size in bytes.\n\n If the file does not exist an ``OSError`` exception will occur.\n \"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Result of ``os.uname()``\"\"\"\n sysname: str\n \"\"\"Operating system name.\"\"\"\n\n nodename: str\n \"\"\"Name of machine on network (implementation-defined).\"\"\"\n\n release: str\n \"\"\"Operating system release.\"\"\"\n \n version: str\n \"\"\"Operating system version.\"\"\"\n \n machine: str\n \"\"\"Hardware identifier.\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Returns information identifying the current operating system.\n\n Example: ``os.uname()``\n\n The return value is an object with five attributes:\n\n - ``sysname`` - operating system name\n - ``nodename`` - name of machine on network (implementation-defined)\n - ``release`` - operating system release\n - ``version`` - operating system version\n - ``machine`` - hardware identifier\n\n There is no underlying operating system in MicroPython. As a result the\n information returned by the ``uname`` function is mostly useful for\n versioning details.\n \"\"\"\n ...\n", + "/typeshed/stdlib/machine.pyi": "\"\"\"Low-Level-Utilities. (maschine)\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"Liefert eine Byte-Zeichenkette mit einem eindeutigen Bezeichner f\u00fcr ein Board. (Eindeutige ID)\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Setzt das Ger\u00e4t zur\u00fcck, als w\u00fcrde man die externe RESET-Taste dr\u00fcckt. (zur\u00fccksetzen)\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"Ermittelt die Taktfrequenz der CPU in Hertz.\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"Deaktiviere Interrupt-Anforderungen. (IRQ deaktivieren)\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"Interrupt-Anfragen wieder aktivieren. (IRQ aktivieren)\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: Der Wert, der beim letzten Aufruf der Funktion ``disable_irq`` zur\u00fcckgegeben wurde.\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"Gibt die Dauer eines Impulses an einem Pin zur\u00fcck. (zeitimpuls us)\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: Der zu verwendende Pin\n:param pulse_level: (pulsstufe) 0, um einen Low-Impuls oder 1, um einen High-Impuls zu messen\n:param timeout_us: Eine Verz\u00f6gerung in Mikrosekunden\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"Die Klasse f\u00fcr die ``mem8``, ``mem16`` und ``mem32`` Speicheranzeigen.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Greife auf einen Wert im Speicher zu.\n\n:param address: (adresse) Die Speicheradresse.\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"Setzt einen Wert an der angegebenen Adresse.\n\n:param address: (adresse) Die Speicheradresse.\n:param value: (wert) Der zu setzende Integer-Wert.\"\"\"\n ...\nmem8: mem\n\"\"\"8-Bit (Byte) Ansicht des Speichers.\"\"\"\nmem16: mem\n\"\"\"16-Bit (Byte) Ansicht des Speichers.\"\"\"\nmem32: mem\n\"\"\"32-Bit (Byte) Ansicht des Speichers.\"\"\"", + "/typeshed/stdlib/math.pyi": "\"\"\"Mathematische Funktionen.\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Berechnet den Arkuskosinus.\n\nExample: ``math.acos(1)``\n\n:param x: Eine Zahl\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Berechnet den Arkussinus.\n\nExample: ``math.asin(0)``\n\n:param x: Eine Zahl\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Berechnet den Arkustangens.\n\nExample: ``math.atan(0)``\n\n:param x: Eine Zahl\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Berechnet den Hauptwert des Arkustangens von ``y/x``.\n\nExample: ``math.atan2(0, -1)``\n\n:param y: Eine Zahl\n:param x: Eine Zahl\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Rundet eine Zahl in Richtung positiver Unendlichkeit.\n\nExample: ``math.ceil(0.1)``\n\n:param x: Eine Zahl\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Berechnet ``x`` mit dem Vorzeichen von ``y``.\n\nExample: ``math.copysign(1, -1)``\n\n:param x: Eine Zahl\n:param y: Die Herkunft des Vorzeichens f\u00fcr den R\u00fcckgabewert\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Berechnet den Kosinus von ``x``.\n\nExample: ``math.cos(0)``\n\n:param x: Eine Zahl\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Wandelt Bogenma\u00df (Radiant) in Grad um.\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: Ein Wert in Radiant\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Berechnet den Exponentialwert von ``x``.\n\nExample: ``math.exp(1)``\n\n:param x: Eine Zahl\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Gibt den absoluten Wert von ``x`` zur\u00fcck.\n\nExample: ``math.fabs(-0.1)``\n\n:param x: Eine Zahl\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Rundet eine Zahl in Richtung negativer Unendlichkeit.\n\nExample: ``math.floor(0.9)``\n\n:param x: Eine Zahl\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Berechnet den Rest von ``x/y``.\n\nExample: ``math.fmod(10, 3)``\n\n:param x: Der Z\u00e4hler\n:param y: Der Nenner\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Zerlegt eine Gleitkommazahl in ihre Mantisse und ihren Exponenten.\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: Eine Flie\u00dfkommazahl\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob ein Wert endlich ist.\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: Eine Zahl.\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob ein Wert unendlich ist.\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: Eine Zahl.\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Pr\u00fcft, ob ein Wert keine Zahl (NaN bzw. Not A Number) ist.\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: Eine Zahl\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Berechnet ``x * (2**exp)``.\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: Eine Zahl\n:param exp: Ganzzahl-Exponent\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"Berechnet den Logarithmus von ``x`` zur angegebenen Basis (standardm\u00e4\u00dfig den nat\u00fcrlichen Logarithmus).\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: Eine Zahl\n:param base: Die zu verwendende Basis\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Berechnet die gebrochenen und ganzzahligen Teile von ``x``.\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: Eine Zahl\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Gibt ``x`` hoch ``y`` zur\u00fcck.\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: Eine Zahl\n:param y: Der Exponent\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Wandelt Grad in Bogenma\u00df (Radiant) um.\n\nExample: ``math.radians(360)``\n\n:param x: Ein Wert in Grad\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Berechnet den Sinus von ``x``.\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: Eine Zahl\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Berechnet die Quadratwurzel von ``x``.\n\nExample: ``math.sqrt(4)``\n\n:param x: Eine Zahl\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Berechnet den Tangens von ``x``.\n\nExample: ``math.tan(0)``\n\n:param x: Eine Zahl\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Rundet eine Zahl gegen 0 ab.\n\nExample: ``math.trunc(-0.9)``\n\n:param x: Eine Zahl\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"Basis des nat\u00fcrlichen Logarithmus.\"\"\"\npi: float\n\"\"\"Das Verh\u00e4ltnis des Umfangs eines Kreises zu seinem Durchmesser.\"\"\"", + "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython Grundlagen.\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"Wird verwendet, um zu deklarieren, dass der Ausdruck eine Konstante ist, damit der Compiler ihn optimieren kann.\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: Ein konstant bleibender Ausdruck.\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Ermittelt die aktuelle Optimierungsstufe f\u00fcr die Kompilierung von Skripten.\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Legt die Optimierungsstufe f\u00fcr die nachfolgende Kompilierung von Skripten fest.\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: Eine ganzzahlige Optimierungsstufe.\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"Gibt Informationen \u00fcber den aktuell verwendeten Speicher zur\u00fcck.\n\nExample: ``micropython.mem_info()``\n\n:param verbose: Wenn das Argument ``verbose`` angegeben wird, werden zus\u00e4tzliche Informationen ausgegeben.\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"Gibt Informationen zu aktuell eingebetteten Strings zur\u00fcck.\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: Wenn das Argument ``verbose`` angegeben wird, werden zus\u00e4tzliche Informationen ausgegeben.\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Gibt einen Integerwert zur\u00fcck, der dem aktuell verwendeten Stack-Speicher entspricht.\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Sperrt den Heap-Speicher.\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Entsperrt den Heap-Speicher.\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Zeichen festlegen, das eine ``KeyboardInterrupt``-Exception ausl\u00f6st.\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: Zeichencode, um den Interrupt auszul\u00f6sen, oder -1, um die Erfassung von Ctrl-C zu deaktivieren.\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", + "/typeshed/stdlib/music.pyi": "\"\"\"Erstelle und spiele Lieder. (Musik)\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"Melodie: Der Anfang von Beethovens 5. Symphonie in c-Moll. (dadadadaam)\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melodie: Die ersten Takte des Ragtime-Klassikers \u201eThe Entertainer\u201c von Scott Joplin. (Entertainer)\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"Melodie: Beginn des ersten Pr\u00e4ludiums in C-Dur der 48 Pr\u00e4ludien und Fugen von J.S. Bach.\"\"\"\nODE: Tuple[str, ...]\n\"\"\"Melodie: Die \u201eOde an die Freude\u201c von Beethovens neunter Symphonie in d-Moll. (Ode)\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"Melodie: Nyan-Katze (http://www.nyan.cat/). (Nyan)\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"Melodie: Etwas, das wie ein Handy-Klingelton klingt. (Klingelton)\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"Melodie: eine funkige Basslinie f\u00fcr Geheimagenten und Superschurken. (Funk)\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"Melodie: ein 12-taktiger Boogie-Woogie-Blues mit Walking Bass. (Blues)\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melodie: \u201eAlles Gute zum Geburtstag\\xa0\u2026\u201c (Geburtstag)\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"Melodie: der Hochzeitschor aus Wagners Oper \u201eLohengrin\u201c. (Hochzeit)\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"Melodie: Der \u201eTrauermarsch\u201c, auch bekannt als Fr\u00e9d\u00e9ric Chopins Klaviersonate Nr. 2 in b-Moll, op. 35. (Beerdigung)\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melodie: ein lustiges Fragment, das anzeigt, dass ein Scherz gemacht worden ist.\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"Melodie: John Philip Sousas Marsch \u201eLiberty Bell\u201c, auch bekannt als die Titelmusik von \u201eMonty Python's Flying Circus\u201c (nach dem die Programmiersprache Python benannt ist).\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"Melodie: Auftritt eines Stummfilm-B\u00f6sewichts.\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"Melodie: Stummfilm-Verfolgungsszene.\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"Melodie: ein kurzes Signal, um anzuzeigen, dass etwas passiert ist.\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melody: Eine sehr traurige Posaune.\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melodie: zur Verwendung in einem Spiel, um eine Aufw\u00e4rtsbewegung zu untermalen.\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melodie: zur Verwendung in einem Spiel, um eine Abw\u00e4rtsbewegung zu untermalen.\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melodie: eine Fanfare, die einen Erfolg anzeigt oder dass etwas freigeschalten wurde.\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melodie: eine traurige Fanfare, wenn etwas nicht geklappt hat.\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"Legt das ungef\u00e4hre Tempo f\u00fcr die Wiedergabe fest.\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: Die Anzahl der Ticks in einem Beat.\n:param bpm: Ein Integerwert, der die Beats pro Minute angibt.\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Gibt das aktuelle Tempo als Tupel von Integerwerten zur\u00fcck: ``(ticks, bpm)``.\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"Spielt Musik.\n\nExample: ``music.play(music.NYAN)``\n\n:param music: (Musik) Musik, die in `einer speziellen Notation `_ angegeben ist\n:param pin: der Ausgangspin zur Verwendung mit einem externen Lautsprecher (Voreinstellung ``pin0``), ``None`` f\u00fcr keinen Ton.\n:param wait: Wenn ``wait`` auf ``True`` gesetzt ist, stoppt diese Funktion die weitere Codeausf\u00fchrung.\n:param loop: Wenn ``loop`` auf ``True`` gesetzt ist, wird die Melodie wiederholt, bis ``stop`` aufgerufen oder der blockierende Aufruf unterbrochen wird.\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"Musiknoten spielen (Tonh\u00f6he)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (Frequenz) Eine ganzzahlige Frequenz\n:param duration: (Dauer) Eine Dauer in Millisekunden. Bei negativem Wert erh\u00e4lt man bis zum n\u00e4chsten Aufruf oder einem Aufruf von ``stop`` einen Dauerton.\n:param pin: Optionaler Ausgabepin (Standard ``pin0``).\n:param wait: Wenn ``wait`` auf ``True`` gesetzt ist, stoppt diese Funktion die weitere Codeausf\u00fchrung.\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Stoppt die Musikwiedergabe \u00fcber den eingebauten Lautsprecher sowie jeden Pin, der Sound ausgibt.\n\nExample: ``music.stop()``\n\n:param pin: Ein optionales Argument kann zur Angabe eines Pins angegeben werden, z. B. ``music.stop(pin1)``.\"\"\"\n\ndef reset() -> None:\n \"\"\"Setzt Ticks, bpm, Dauer und Oktave auf ihre Standardwerte zur\u00fcck. (zur\u00fccksetzen)\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"Individuell adressierbare RGB- und RGBW-LED-Streifen.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"Initialisiert einen neuen Streifen von Neopixel-LEDs, die \u00fcber einen Pin gesteuert werden.\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: Der Pin, der den Neopixelstreifen steuert.\n:param n: Die Anzahl der Neopixel auf dem Streifen.\n:param bpp: Bytes pro Pixel. F\u00fcr die RGBW Neopixel-Unterst\u00fctzung, m\u00fcssen 4 statt der standardm\u00e4\u00dfigen 3 Bytes pro Pixel f\u00fcr RGB und GRB \u00fcbergeben werden.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"L\u00f6scht alle Pixel.\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"Die Pixel anzeigen.\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"Pixel anzeigen (nur micro:bit V2) (schreiben)\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"F\u00e4rbt alle Pixel mit einem bestimmten RGB/RGBW-Wert (nur micro:bit\\xa0V2).\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: (Farbe) Ein Tupel mit der gleichen L\u00e4nge wie die Anzahl der Bytes pro Pixel (bpp).\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Eine Pixelfarbe festlegen.\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: Die Pixelnummer.\n:param value: (wert) Die Farbe.\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Eine Pixelfarbe erfassen.\n\nExample: ``r, g, b = np[0]``\n\n:param key: Die Pixelnummer.\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"Liefert die L\u00e4nge des Pixelstreifens.\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/os.pyi": "\"\"\"Auf das Dateisystem zugreifen.\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"Dateien auflisten.\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Entfernt\\xa0/ L\u00f6scht eine Datei. (Entfernen)\n\nExample: ``os.remove('data.txt')``\n\n:param filename: (Dateiname) Die zu l\u00f6schende Datei.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Gibt die Gr\u00f6\u00dfe einer Datei zur\u00fcck\n\nExample: ``os.size('data.txt')``\n\n:param filename: (Dateiname) Die Datei\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Ergebnis von ``os.uname()``\"\"\"\n sysname: str\n \"\"\"Name des Betriebssystems.\"\"\"\n nodename: str\n \"\"\"Name des Rechners im Netz (durch die Implementierung definiert). (Knotenname)\"\"\"\n release: str\n \"\"\"Betriebssystemver\u00f6ffentlichung. (Ver\u00f6ffentlichung)\"\"\"\n version: str\n \"\"\"Betriebssystemversion. (Version)\"\"\"\n machine: str\n \"\"\"Hardware-Kennung. (maschine)\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Gibt Informationen zum aktuellen Betriebssystem zur\u00fcck.\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", - "/typeshed/stdlib/radio.pyi": "\"\"\"Communicate between micro:bits with the built-in radio.\n\"\"\"\n\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\n\nRATE_1MBIT: int\n\"\"\"Constant used to indicate a throughput of 1 MBit a second.\"\"\"\n\nRATE_2MBIT: int\n\"\"\"Constant used to indicate a throughput of 2 MBit a second.\"\"\"\n\ndef on() -> None:\n \"\"\"Turns the radio on.\n\n Example: ``radio.on()``\n\n This needs to be explicitly called since the radio draws power and takes\n up memory that you may otherwise need.\n \"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Turns off the radio, saving power and memory.\n\n Example: ``radio.off()``\n \"\"\"\n ...\n\ndef config(\n length: int = 32,\n queue: int = 3,\n channel: int = 7,\n power: int = 6,\n address: int = 0x75626974,\n group: int = 0,\n data_rate: int = RATE_1MBIT,\n) -> None:\n \"\"\"Configures the radio.\n\n Example: ``radio.config(group=42)``\n\n The default configuration is suitable for most use.\n\n :param length: (default=32) defines the maximum length, in bytes, of a message sent via the radio.\n It can be up to 251 bytes long (254 - 3 bytes for S0, LENGTH and S1 preamble).\n :param queue: (default=3) specifies the number of messages that can be stored on the incoming message queue.\n If there are no spaces left on the queue for incoming messages, then the incoming message is dropped.\n :param channel: (default=7) an integer value from 0 to 83 (inclusive) that defines an arbitrary \"channel\" to which the radio is tuned.\n Messages will be sent via this channel and only messages received via this channel will be put onto the incoming message queue. Each step is 1MHz wide, based at 2400MHz.\n :param power: (default=6) is an integer value from 0 to 7 (inclusive) to indicate the strength of signal used when broadcasting a message.\n The higher the value the stronger the signal, but the more power is consumed by the device. The numbering translates to positions in the following list of dBm (decibel milliwatt) values: -30, -20, -16, -12, -8, -4, 0, 4.\n :param address: (default=0x75626974) an arbitrary name, expressed as a 32-bit address, that's used to filter incoming packets at the hardware level, keeping only those that match the address you set.\n The default used by other micro:bit related platforms is the default setting used here.\n :param group: (default=0) an 8-bit value (0-255) used with the ``address`` when filtering messages.\n Conceptually, \"address\" is like a house/office address and \"group\" is like the person at that address to which you want to send your message.\n :param data_rate: (default=``radio.RATE_1MBIT``) indicates the speed at which data throughput takes place.\n Can be one of the following constants defined in the ``radio`` module: ``RATE_250KBIT``, ``RATE_1MBIT`` or ``RATE_2MBIT``.\n\n If ``config`` is not called then the defaults described above are assumed.\n \"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset the settings to their default values.\n\n Example: ``radio.reset()``\n\n The defaults as as per the ``config`` function above.\n \"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Sends a message containing bytes.\n\n Example: ``radio.send_bytes(b'hello')``\n\n :param message: The bytes to send.\n \"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Receive the next incoming message on the message queue.\n\n Example: ``radio.receive_bytes()``\n\n :return: The message bytes if any, otherwise ``None``.\n \"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Copy the next incoming message on the message queue into a buffer.\n\n Example: ``radio.receive_bytes_info(buffer)``\n\n :param buffer: The target buffer. The message is truncated if larger than the buffer.\n :return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\n \"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Sends a message string.\n\n Example: ``radio.send('hello')``\n\n This is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\n prepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n :param message: The string to send.\n \"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Works in exactly the same way as ``receive_bytes`` but returns whatever was sent.\n\n Example: ``radio.receive()``\n\n Equivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\n three bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\n may target the micro:bit).\n\n :return: The message with the prepended bytes stripped and converted to a string.\n\n A ``ValueError`` exception is raised if conversion to string fails.\n \"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Returns a tuple containing three values representing the next incoming message on the message queue.\n\n Example: ``radio.receive_full()``\n\n If there are no pending messages then ``None`` is returned.\n\n The three values in the tuple represent:\n\n - the next incoming message on the message queue as bytes.\n - the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n - a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\n For example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\n This function is useful for providing information needed for triangulation\n and/or trilateration with other micro:bit devices.\n\n :return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\n \"\"\"\n ...\n", - "/typeshed/stdlib/random.pyi": "\"\"\"Generate random numbers.\n\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"Generate an integer with ``n`` random bits.\n\n Example: ``random.getrandbits(1)``\n\n :param n: A value between 1-30 (inclusive).\n \"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Initialize the random number generator.\n\n Example: ``random.seed(0)``\n\n :param n: The integer seed\n\n This will give you reproducibly deterministic randomness from a given starting\n state (``n``).\n \"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"Choose a random integer between ``a`` and ``b`` inclusive.\n\n Example: ``random.randint(0, 9)``\n\n :param a: Start value for the range (inclusive)\n :param b: End value for the range (inclusive)\n\n Alias for ``randrange(a, b + 1)``.\n \"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"Choose a randomly selected integer between zero and up to (but not\n including) ``stop``.\n\n Example: ``random.randrange(10)``\n\n :param stop: End value for the range (exclusive)\n \"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int = 1) -> int:\n \"\"\"\n Choose a randomly selected element from ``range(start, stop, step)``.\n\n Example: ``random.randrange(0, 10)``\n\n :param start: The start of the range (inclusive)\n :param stop: The end of the range (exclusive)\n :param step: The step.\n \"\"\"\n ...\n\n_T = TypeVar(\"_T\")\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"Choose a random element from the non-empty sequence ``seq``.\n\n Example: ``random.choice([Image.HAPPY, Image.SAD])``\n\n :param seq: A sequence.\n\n If ``seq`` is empty, raises ``IndexError``.\n \"\"\"\n ...\n\ndef random() -> float:\n \"\"\"Generate a random floating point number in the range [0.0, 1.0).\n\n Example: ``random.random()``\n\n :return: The random floating point number\n \"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"\n Return a random floating point number between ``a`` and ``b`` inclusive.\n\n Example: ``random.uniform(0, 9)``\n\n :param a: Start value for the range (inclusive)\n :param b: End value for the range (inclusive)\n \"\"\"\n ...\n", - "/typeshed/stdlib/speech.pyi": "\"\"\"Make the micro:bit talk, sing and make other speech like sounds.\n\"\"\"\n\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"Translate English words to phonemes.\n\n Example: ``speech.translate('hello world')``\n\n :param words: A string of English words.\n :return: A string containing a best guess at the appropriate phonemes to pronounce.\n The output is generated from this `text to phoneme translation table `_.\n\n This function should be used to generate a first approximation of phonemes\n that can be further hand-edited to improve accuracy, inflection and\n emphasis.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef pronounce(\n phonemes: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: Optional[MicroBitDigitalPin] = pin0,\n) -> None:\n \"\"\"Pronounce phonemes.\n\n Example: ``speech.pronounce(' /HEHLOW WERLD')``\n\n :param phonemes: The string of phonemes to pronounce\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n Override the optional pitch, speed, mouth and throat settings to change the\n timbre (quality) of the voice.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef say(\n words: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: MicroBitDigitalPin = pin0,\n) -> None:\n \"\"\"Say English words.\n\n Example: ``speech.say('hello world')``\n\n :param words: The string of words to say.\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n The result is semi-accurate for English. Override the optional pitch, speed,\n mouth and throat settings to change the timbre (quality) of the voice.\n\n This is a short-hand equivalent of:\n ``speech.pronounce(speech.translate(words))``\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef sing(\n phonemes: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: MicroBitDigitalPin = pin0,\n) -> None:\n \"\"\"Sing phonemes.\n\n Example: ``speech.sing(' /HEHLOW WERLD')``\n\n :param phonemes: The string of words to sing.\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n Override the optional pitch, speed, mouth and throat settings to change\n the timbre (quality) of the voice.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n", - "/typeshed/stdlib/struct.pyi": "\"\"\"Pack and unpack primitive data types.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"Get the number of bytes needed to store the given ``fmt``.\n\n Example: ``struct.calcsize('hf')``\n\n :param fmt: A format string.\n :return The number of bytes needed to store such a value.\n \"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"Pack values according to a format string.\n\n Example: ``struct.pack('hf', 1, 3.1415)``\n\n :param fmt: The format string.\n :param v1: The first value.\n :param *vn: The remaining values.\n :return A bytes object encoding the values.\n \"\"\"\n ...\n\ndef pack_into(\n fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any\n) -> None:\n \"\"\"Pack values according to a format string.\n\n Example: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n :param fmt: The format string.\n :param buffer: The target buffer to write into.\n :param offset: The offset into the buffer. May be negative to count from the end of the buffer.\n :param v1: The first value.\n :param *vn: The remaining values.\n \"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"Unpack data according to a format string.\n\n Example: ``v1, v2 = struct.unpack('hf', buffer)``\n\n :param fmt: The format string.\n :param data: The data.\n :return: A tuple of the unpacked values.\n \"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int = 0) -> Tuple:\n \"\"\"Unpack data from a buffer according to a format string.\n\n Example: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n :param fmt: The format string.\n :param buffer: The source buffer to read from.\n :param offset: The offset into the buffer. May be negative to count from the end of the buffer.\n :return: A tuple of the unpacked values.\n \"\"\"\n ...\n", - "/typeshed/stdlib/sys.pyi": "\"\"\"System specific functions\"\"\"\n\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object = ...) -> NoReturn:\n \"\"\"Terminate current program with a given exit code.\n\n Example: ``sys.exit(1)``\n\n This function raises a ``SystemExit`` exception. If an argument is given, its\n value given as an argument to ``SystemExit``.\n\n :param retval: The exit code or message.\n \"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"\n Print an exception with a traceback.\n\n Example: ``sys.print_exception(e)``\n\n :param exc: The exception to print\n\n This is simplified version of a function which appears in the\n ``traceback`` module in CPython.\n \"\"\"\n\nargv: List[str]\n\"\"\"A mutable list of arguments the current program was started with.\"\"\"\n\nbyteorder: str\n\"\"\"The byte order of the system (``\"little\"`` or ``\"big\"``).\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\n\nimplementation: _implementation\n\"\"\"Object with information about the current Python implementation.\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\n\nmaxsize: int\n\"\"\"\nMaximum value which a native integer type can hold on the current platform,\nor maximum value representable by MicroPython integer type, if it's smaller\nthan platform max value (that is the case for MicroPython ports without\nlong int support).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\n\nmodules: Dict[str, Any]\n\"\"\"Dictionary of loaded modules. \n\nOn some ports, it may not include builtin modules.\"\"\"\n\npath: List[str]\n\"\"\"A mutable list of directories to search for imported modules.\"\"\"\n\nplatform: str\n\"\"\"The platform that MicroPython is running on. \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\n\nversion: str\n\"\"\"Python language version that this implementation conforms to, as a string.\"\"\"\n\nversion_info: Tuple[int, int, int]\n\"\"\"Python language version that this implementation conforms to, as a tuple of ints.\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"\n", + "/typeshed/stdlib/radio.pyi": "\"\"\"Kommunikation zwischen micro:bits mit dem integrierten Funk.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"Konstante zur Angabe eines Durchsatzes von 1\\xa0MBit pro Sekunde.\"\"\"\nRATE_2MBIT: int\n\"\"\"Konstante zur Angabe eines Durchsatzes von 2\\xa0MBit pro Sekunde.\"\"\"\n\ndef on() -> None:\n \"\"\"Schaltet den Funk ein.\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Schaltet den Funk aus, um Strom und Speicherplatz zu sparen.\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"Konfiguriert den Funk.\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (default=32) legt die maximale L\u00e4nge einer \u00fcber Funk gesendeten Nachricht in Bytes fest. Sie kann bis zu 251 Bytes lang sein (254 - 3 Bytes f\u00fcr S0, LENGTH und S1-Pr\u00e4ambel).\n:param queue: (default=3) gibt die Anzahl der Nachrichten an, die in der Warteschlange f\u00fcr eingehende Nachrichten gespeichert werden k\u00f6nnen. Wenn in der Warteschlange kein Platz mehr f\u00fcr eingehende Nachrichten ist, wird die eingehende Nachricht verworfen.\n:param channel: (default=7) ein Integer-Wert zwischen 0 und 83 (einschlie\u00dflich), der einen beliebigen \"Kanal\" definiert, auf den der Funk eingestellt ist.\nNachrichten werden \u00fcber diesen Kanal gesendet und nur Nachrichten, die \u00fcber diesen Kanal empfangen werden, werden in die Warteschlange der eingehenden Nachricht aufgenommen. Jeder Schritt ist 1MHz breit, beginnend mit 2400MHz.\n:param power: (default=6) ist ein ganzzahliger Wert von 0 bis 7 (einschlie\u00dflich), der die St\u00e4rke des Signals angibt, das beim Senden einer Nachricht verwendet wird. Je h\u00f6her der Wert, desto st\u00e4rker ist das Signal, aber desto mehr Strom wird vom Ger\u00e4t verbraucht. Die Nummerierung entspricht den Positionen in der folgenden Liste von dBm-Werten (Dezibel Milliwatt): -30, -20, -16, -12, -8, -4, 0, 4.\n:param address: (adresse) (default=0x75626974) ein beliebiger Name, ausgedr\u00fcckt als 32-Bit-Adresse, der verwendet wird, um eingehende Pakete auf der Hardware-Ebene zu filtern und nur diejenigen zu behalten, die mit der eingestellten Adresse \u00fcbereinstimmen. \nDie Standardeinstellung, die von anderen micro:bit-verwandten Plattformen verwendet wird, wird auch hier verwendet.\n:param group: (default=0) ein 8-Bit-Wert (0-255), der zusammen mit ``address`` beim Filtern von Nachrichten verwendet wird. \"address\" ist wie eine Haus-/B\u00fcroadresse und \"group\" ist wie die Person an dieser Adresse, an die die Nachricht gesendet werden soll.\n:param data_rate: (default=``radio.RATE_1MBIT``) zeigt die Geschwindigkeit an, mit der der Datendurchsatz stattfindet.\nKann eine der folgenden Konstanten sein, die im Modul ``radio`` definiert sind: ``RATE_250KBIT``, ``RATE_1MBIT`` oder ``RATE_2MBIT``.\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Setzt die Einstellungen auf ihre Standardwerte zur\u00fcck. (zur\u00fccksetzen)\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Sendet eine Nachricht bestehend aus Bytes.\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: Die zu sendenden Bytes.\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Empf\u00e4ngt die n\u00e4chste eingehende Nachricht in der Nachrichtenwarteschlange.\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Kopiert die n\u00e4chste eingehende Nachricht in der Nachrichtenwarteschlange in einen Puffer.\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: (Puffer) Der Zielpuffer. Die Nachricht wird abgeschnitten, wenn sie gr\u00f6\u00dfer als der Puffer ist.\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Sendet eine Nachricht als String.\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: Der zu sendende String.\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Funktioniert genauso wie ``receive_bytes``, gibt aber zur\u00fcck, was gesendet wurde.\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Gibt ein Tupel mit drei Werten zur\u00fcck, die die n\u00e4chste eingehende Nachricht in der Nachrichtenwarteschlange darstellen.\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", + "/typeshed/stdlib/random.pyi": "\"\"\"Zufallszahlen generieren.\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"Erzeugt einen Integerwert mit ``n`` zuf\u00e4lligen Bits.\n\nExample: ``random.getrandbits(1)``\n\n:param n: Ein Wert zwischen 1-30 (einschlie\u00dflich).\"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Initialisiert den Zufallszahlengenerator.\n\nExample: ``random.seed(0)``\n\n:param n: Der Integer-Seed\n\nThis will give you reproducibly deterministic randomness from a given starting\nstate (``n``).\"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"W\u00e4hlt eine zuf\u00e4llige Ganzzahl zwischen ``a`` und ``b`` (einschlie\u00dflich) aus.\n\nExample: ``random.randint(0, 9)``\n\n:param a: Anfangswert f\u00fcr den Bereich (inklusiv)\n:param b: Endwert f\u00fcr den Bereich (inklusiv)\n\nAlias for ``randrange(a, b + 1)``.\"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"W\u00e4hlt eine zuf\u00e4llige Ganzzahl zwischen Null und ``stop`` (exklusiv) aus.\n\nExample: ``random.randrange(10)``\n\n:param stop: Endwert f\u00fcr den Bereich (exklusiv)\"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int=1) -> int:\n \"\"\"W\u00e4hlt ein zuf\u00e4lliges Element aus ``range(start, stop, step)``.\n\nExample: ``random.randrange(0, 10)``\n\n:param start: Anfang des Bereichs (inklusiv)\n:param stop: Das Ende des Bereichs (exklusiv)\n:param step: Schrittweite\"\"\"\n ...\n_T = TypeVar('_T')\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"W\u00e4hlt ein zuf\u00e4lliges Element aus der nicht leeren Sequenz ``seq``.\n\nExample: ``random.choice([Image.HAPPY, Image.SAD])``\n\n:param seq: Eine Sequenz.\n\nIf ``seq`` is empty, raises ``IndexError``.\"\"\"\n ...\n\ndef random() -> float:\n \"\"\"Erzeugt eine zuf\u00e4llige Flie\u00dfkommazahl im Bereich [0.0, 1.0).\n\nExample: ``random.random()``\n\n:return: The random floating point number\"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"Gibt eine zuf\u00e4llige Flie\u00dfkommazahl zwischen ``a`` und ``b`` inklusiv aus.\n\nExample: ``random.uniform(0, 9)``\n\n:param a: Anfangswert f\u00fcr den Bereich (inklusiv)\n:param b: Endwert f\u00fcr den Bereich (inklusiv)\"\"\"\n ...", + "/typeshed/stdlib/speech.pyi": "\"\"\"Bringe den micro:bit zum Sprechen, singen und dazu, andere sprach\u00e4hnliche Ger\u00e4usche zu machen.\"\"\"\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"\u00dcbersetzt englische W\u00f6rter in Sprache.\n\nExample: ``speech.translate('hello world')``\n\n:param words: (W\u00f6rter) Ein String englischer W\u00f6rter.\n:return: A string containing a best guess at the appropriate phonemes to pronounce.\nThe output is generated from this `text to phoneme translation table `_.\n\nThis function should be used to generate a first approximation of phonemes\nthat can be further hand-edited to improve accuracy, inflection and\nemphasis.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef pronounce(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Spricht Laute aus.\n\nExample: ``speech.pronounce(' /HEHLOW WERLD')``\n\n:param phonemes: (Phoneme) Die auszusprechende Laut als Zeichenkette.\n:param pitch: (Tonh\u00f6he) Eine Zahl, die die Tonh\u00f6he der Stimme angibt.\n:param speed: (tempo) Eine Zahl, die die Geschwindigkeit der Stimme angibt.\n:param mouth: (Mund) Eine Zahl, die den Mund der Stimme repr\u00e4sentiert.\n:param throat: (klang) Eine Zahl, die den Klang der Stimme angibt.\n:param pin: Optionales Argument, um den Ausgangspin anzugeben, kann verwendet werden, um den Standardwert von ``pin0`` zu \u00fcberschreiben. Wenn wir keinen Ton \u00fcber die Pins abspielen wollen, k\u00f6nnen wir ``pin=None`` verwenden. nur micro:bit V2.\n\nOverride the optional pitch, speed, mouth and throat settings to change the\ntimbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef say(words: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Sage englische W\u00f6rter (sage)\n\nExample: ``speech.say('hello world')``\n\n:param words: (W\u00f6rter) Der zu sagene String\n:param pitch: (Tonh\u00f6he) Eine Zahl, die die Tonh\u00f6he der Stimme angibt.\n:param speed: (tempo) Eine Zahl, die die Geschwindigkeit der Stimme angibt.\n:param mouth: (Mund) Eine Zahl, die den Mund der Stimme repr\u00e4sentiert.\n:param throat: (klang) Eine Zahl, die den Klang der Stimme angibt.\n:param pin: Optionales Argument, um den Ausgangspin anzugeben, kann verwendet werden, um den Standardwert von ``pin0`` zu \u00fcberschreiben. Wenn wir keinen Ton \u00fcber die Pins abspielen wollen, k\u00f6nnen wir ``pin=None`` verwenden. nur micro:bit V2.\n\nThe result is semi-accurate for English. Override the optional pitch, speed,\nmouth and throat settings to change the timbre (quality) of the voice.\n\nThis is a short-hand equivalent of:\n``speech.pronounce(speech.translate(words))``\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef sing(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Singt Laute.\n\nExample: ``speech.sing(' /HEHLOW WERLD')``\n\n:param phonemes: (Phoneme) Der zu singende String.\n:param pitch: (Tonh\u00f6he) Eine Zahl, die die Tonh\u00f6he der Stimme angibt.\n:param speed: (tempo) Eine Zahl, die die Geschwindigkeit der Stimme angibt.\n:param mouth: (Mund) Eine Zahl, die den Mund der Stimme repr\u00e4sentiert.\n:param throat: (klang) Eine Zahl, die den Klang der Stimme angibt.\n:param pin: Optionales Argument, um den Ausgangspin anzugeben, kann verwendet werden, um den Standardwert von ``pin0`` zu \u00fcberschreiben. Wenn wir keinen Ton \u00fcber die Pins abspielen wollen, k\u00f6nnen wir ``pin=None`` verwenden. nur micro:bit V2.\n\nOverride the optional pitch, speed, mouth and throat settings to change\nthe timbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...", + "/typeshed/stdlib/struct.pyi": "\"\"\"Packe und entpacke primitive Datentypen. (struktur)\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"Rufe die Anzahl der ben\u00f6tigten Bytes ab, um den angegebenen ``fmt`` zu speichern.\n\nExample: ``struct.calcsize('hf')``\n\n:param fmt: Ein Format-String.\n:return The number of bytes needed to store such a value.\"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"Werte nach einem Format-String packen. (packen)\n\nExample: ``struct.pack('hf', 1, 3.1415)``\n\n:param fmt: Der Formatstring\n:param v1: Der erste Wert.\n:param *vn: Die verbleibenden Werte.\n:return A bytes object encoding the values.\"\"\"\n ...\n\ndef pack_into(fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any) -> None:\n \"\"\"Werte nach einem Format-String packen. (packen in)\n\nExample: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n:param fmt: Der Formatstring\n:param buffer: (Puffer) Der Buffer, in den geschrieben werden soll.\n:param offset: Der Offset in den Puffer. Kann negativ sein, um vom Ende des Puffers aus zu z\u00e4hlen.\n:param v1: Der erste Wert.\n:param *vn: Die verbleibenden Werte.\"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"Daten nach einem Format-String entpacken.\n\nExample: ``v1, v2 = struct.unpack('hf', buffer)``\n\n:param fmt: Der Formatstring\n:param data: (Daten) Die Daten.\n:return: A tuple of the unpacked values.\"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int=0) -> Tuple:\n \"\"\"Daten aus einem Puffer nach einem Format-String entpacken. (entpacken von)\n\nExample: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n:param fmt: Der Formatstring\n:param buffer: (Puffer) Der Quellpuffer, von dem gelesen werden soll.\n:param offset: Der Offset in den Puffer. Kann negativ sein, um vom Ende des Puffers aus zu z\u00e4hlen.\n:return: A tuple of the unpacked values.\"\"\"\n ...", + "/typeshed/stdlib/sys.pyi": "\"\"\"Systemspezifische Funktionen\"\"\"\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object=...) -> NoReturn:\n \"\"\"Beendet ein Programm mit dem gegeneben Exit-Code.\n\nExample: ``sys.exit(1)``\n\nThis function raises a ``SystemExit`` exception. If an argument is given, its\nvalue given as an argument to ``SystemExit``.\n\n:param retval: Der Exit-Code oder die Nachricht.\"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"Eine Ausnahme mit einem Traceback ausgeben. (Ausnahme ausgeben)\n\nExample: ``sys.print_exception(e)``\n\n:param exc: Die auszugebende Ausnahme\n\nThis is simplified version of a function which appears in the\n``traceback`` module in CPython.\"\"\"\nargv: List[str]\n\"\"\"Eine ver\u00e4nderbare Liste von Argumenten, mit denen das aktuelle Programm gestartet wurde.\"\"\"\nbyteorder: str\n\"\"\"Die Byte-Reihenfolge des Systems (``\"little\"`` oder ``\"big\"``).\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\nimplementation: _implementation\n\"\"\"Objekt mit Informationen \u00fcber die aktuelle Python-Implementierung. (Implementierung)\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\nmaxsize: int\n\"\"\"\nMaximaler Wert, den ein nativer Integer-Typ auf der aktuellen Plattform halten kann, oder maximaler Wert, der durch den MicroPython-Integer-Typ darstellbar ist, wenn er kleiner ist als der maximale Plattformwert (das ist der Fall bei MicroPython-Ports ohne \"long int\"-Unterst\u00fctzung).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\nmodules: Dict[str, Any]\n\"\"\"W\u00f6rterbuch der geladenen Module. (module) \n\nOn some ports, it may not include builtin modules.\"\"\"\npath: List[str]\n\"\"\"Eine ver\u00e4nderbare Liste von Verzeichnissen zum Suchen nach importierten Modulen.\"\"\"\nplatform: str\n\"\"\"Die Plattform, auf der MicroPython l\u00e4uft. (plattform) \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\nversion: str\n\"\"\"Python-Sprachversion, der diese Implementierung als String entspricht. (Version)\"\"\"\nversion_info: Tuple[int, int, int]\n\"\"\"Python-Sprachversion, der diese Implementierung als Tuple mit Ints entspricht. (Versionsinformationen)\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"", "/typeshed/stdlib/this.pyi": "def authors() -> str: ...\n", - "/typeshed/stdlib/time.pyi": "\"\"\"Measure time and add delays to programs.\n\"\"\"\n\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"\n Delay a number of seconds.\n\n Example: ``time.sleep(1)``\n\n :param seconds: The number of seconds to sleep for.\n Use a floating-point number to sleep for a fractional number of seconds.\n \"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"\n Delay for given number of milliseconds.\n\n Example: ``time.sleep_ms(1_000_000)``\n\n :param ms: The number of milliseconds delay (>= 0).\n \"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"\n Delay for given number of microseconds.\n\n Example: ``time.sleep_us(1000)``\n\n :param us: The number of microseconds delay (>= 0).\n \"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"\n Get an increasing, millisecond counter with an arbitrary reference point,\n that wraps around after some value.\n\n Example: ``time.ticks_ms()``\n\n :return: The counter value in milliseconds.\n \"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"\n Get an increasing, microsecond counter with an arbitrary reference point,\n that wraps around after some value.\n\n Example: ``time.ticks_us()``\n\n :return: The counter value in microseconds.\n \"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"\n Offset ticks value by a given number, which can be either positive or\n negative.\n\n Example: ``time.ticks_add(time.ticks_ms(), 200)``\n\n Given a ticks value, this function allows to calculate ticks\n value delta ticks before or after it, following modular-arithmetic\n definition of tick values.\n\n :param ticks: A ticks value\n :param delta: An integer offset\n\n Example::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\n \"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"\n Measure ticks difference between values returned from\n ``time.ticks_ms()`` or ``ticks_us()``, as a signed value\n which may wrap around.\n\n Example: ``time.ticks_diff(scheduled_time, now)``\n\n :param ticks1: The value to subtract from\n :param ticks2: The value to subtract\n\n The argument order is the same as for subtraction operator,\n ``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n ``ticks_diff()`` is designed to accommodate various usage\n patterns, among them:\n\n Polling with timeout. In this case, the order of events is known, and you\n will deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\n Scheduling events. In this case, :func:`time.ticks_diff()` result may be\n negative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\n \"\"\"\n ...\n", + "/typeshed/stdlib/time.pyi": "\"\"\"Miss Zeit und f\u00fcge Verz\u00f6gerung zu Programmen hinzu. (Zeit)\"\"\"\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"Warte eine bestimmte Zahl in Sekunden.\n\nExample: ``time.sleep(1)``\n\n:param seconds: (sekunden) Die Anzahl der Sekunden f\u00fcr die der Ruhezustand angezeigt wird.\nBenutze eine Gleitkommazahl f\u00fcr eine Bruchzahl von Sekunden.\"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"Verz\u00f6gerung f\u00fcr die angegebene Anzahl von Millisekunden. (schlafe ms)\n\nExample: ``time.sleep_ms(1_000_000)``\n\n:param ms: Die Anzahl der zu wartenden Millisekunden (>= 0).\"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"Verz\u00f6gerung f\u00fcr die angegebene Anzahl von Mikrosekunden.\n\nExample: ``time.sleep_us(1000)``\n\n:param us: Die Anzahl der zu wartenden Mikrosekunden (>= 0).\"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"Holt einen ansteigenden Millisekunden-Z\u00e4hler mit einem beliebigen Referenzpunkt, der nach einem bestimmten Wert weiterl\u00e4uft.\n\nExample: ``time.ticks_ms()``\n\n:return: The counter value in milliseconds.\"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"Holt einen ansteigenden Mikrosekunden-Z\u00e4hler mit einem beliebigen Referenzpunkt, der nach einem bestimmten Wert weiterl\u00e4uft.\n\nExample: ``time.ticks_us()``\n\n:return: The counter value in microseconds.\"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"Versetzt den Tick-Wert um eine bestimmte Zahl, die entweder positiv oder negativ sein kann.\n\nExample: ``time.ticks_add(time.ticks_ms(), 200)``\n\nGiven a ticks value, this function allows to calculate ticks\nvalue delta ticks before or after it, following modular-arithmetic\ndefinition of tick values.\n\n:param ticks: Ein Tick-Wert\n:param delta: Ein ganzzahliger Offset\n\nExample::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"Messung der Ticks-Differenz zwischen den Werten, die von ``time.ticks_ms()`` oder ``ticks_us()`` zur\u00fcckgegeben werden, als vorzeichenbehafteter Wert der umgeschlagen werden kann.\n\nExample: ``time.ticks_diff(scheduled_time, now)``\n\n:param ticks1: Der zu subtrahierende Wert von\n:param ticks2: Der zu subtrahierende Wert\n\nThe argument order is the same as for subtraction operator,\n``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n``ticks_diff()`` is designed to accommodate various usage\npatterns, among them:\n\nPolling with timeout. In this case, the order of events is known, and you\nwill deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\nScheduling events. In this case, :func:`time.ticks_diff()` result may be\nnegative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\"\"\"\n ...", "/typeshed/stdlib/types.pyi": "import sys\nfrom typing import (\n Any,\n AsyncGenerator,\n Awaitable,\n Callable,\n Generator,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n Tuple,\n Type,\n TypeVar,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, final\n\n# Note, all classes \"defined\" here require special handling.\n\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_V_co = TypeVar(\"_V_co\", covariant=True)\n\n@final\nclass _Cell:\n __hash__: None # type: ignore\n cell_contents: Any\n\n@final\nclass FunctionType:\n __closure__: Tuple[_Cell, ...] | None\n __code__: CodeType\n __defaults__: Tuple[Any, ...] | None\n __dict__: dict[str, Any]\n __globals__: dict[str, Any]\n __name__: str\n __qualname__: str\n __annotations__: dict[str, Any]\n __kwdefaults__: dict[str, Any]\n def __init__(\n self,\n code: CodeType,\n globals: dict[str, Any],\n name: str | None = ...,\n argdefs: Tuple[object, ...] | None = ...,\n closure: Tuple[_Cell, ...] | None = ...,\n ) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: object | None, type: type | None) -> MethodType: ...\n\nLambdaType = FunctionType\n\n@final\nclass CodeType:\n \"\"\"Create a code object. Not for the faint of heart.\"\"\"\n\n co_argcount: int\n if sys.version_info >= (3, 8):\n co_posonlyargcount: int\n co_kwonlyargcount: int\n co_nlocals: int\n co_stacksize: int\n co_flags: int\n co_code: bytes\n co_consts: Tuple[Any, ...]\n co_names: Tuple[str, ...]\n co_varnames: Tuple[str, ...]\n co_filename: str\n co_name: str\n co_firstlineno: int\n co_lnotab: bytes\n co_freevars: Tuple[str, ...]\n co_cellvars: Tuple[str, ...]\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n argcount: int,\n posonlyargcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n else:\n def __init__(\n self,\n argcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n if sys.version_info >= (3, 8):\n def replace(\n self,\n *,\n co_argcount: int = ...,\n co_posonlyargcount: int = ...,\n co_kwonlyargcount: int = ...,\n co_nlocals: int = ...,\n co_stacksize: int = ...,\n co_flags: int = ...,\n co_firstlineno: int = ...,\n co_code: bytes = ...,\n co_consts: Tuple[Any, ...] = ...,\n co_names: Tuple[str, ...] = ...,\n co_varnames: Tuple[str, ...] = ...,\n co_freevars: Tuple[str, ...] = ...,\n co_cellvars: Tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_lnotab: bytes = ...,\n ) -> CodeType: ...\n\n@final\nclass MappingProxyType(Mapping[_KT, _VT_co], Generic[_KT, _VT_co]):\n __hash__: None # type: ignore\n def __init__(self, mapping: Mapping[_KT, _VT_co]) -> None: ...\n def __getitem__(self, k: _KT) -> _VT_co: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __len__(self) -> int: ...\n def copy(self) -> dict[_KT, _VT_co]: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def items(self) -> ItemsView[_KT, _VT_co]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def __or__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n def __ror__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n\nclass SimpleNamespace:\n __hash__: None # type: ignore\n def __init__(self, **kwargs: Any) -> None: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __delattr__(self, name: str) -> None: ...\n\nclass ModuleType:\n __name__: str\n __file__: str\n __dict__: dict[str, Any]\n __package__: str | None\n def __init__(self, name: str, doc: str | None = ...) -> None: ...\n\n@final\nclass GeneratorType(Generator[_T_co, _T_contra, _V_co]):\n gi_code: CodeType\n gi_frame: FrameType\n gi_running: bool\n gi_yieldfrom: GeneratorType[_T_co, _T_contra, Any] | None\n def __iter__(self) -> GeneratorType[_T_co, _T_contra, _V_co]: ...\n def __next__(self) -> _T_co: ...\n def close(self) -> None: ...\n def send(self, __arg: _T_contra) -> _T_co: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> _T_co: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> _T_co: ...\n\n@final\nclass AsyncGeneratorType(AsyncGenerator[_T_co, _T_contra]):\n ag_await: Awaitable[Any] | None\n ag_frame: FrameType\n ag_running: bool\n ag_code: CodeType\n def __aiter__(self) -> AsyncGeneratorType[_T_co, _T_contra]: ...\n def __anext__(self) -> Awaitable[_T_co]: ...\n def asend(self, __val: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Awaitable[_T_co]: ...\n def aclose(self) -> Awaitable[None]: ...\n\n@final\nclass CoroutineType:\n cr_await: Any | None\n cr_code: CodeType\n cr_frame: FrameType\n cr_running: bool\n def close(self) -> None: ...\n def send(self, __arg: Any) -> Any: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Any: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Any: ...\n\nclass _StaticFunctionType:\n \"\"\"Fictional type to correct the type of MethodType.__func__.\n\n FunctionType is a descriptor, so mypy follows the descriptor protocol and\n converts MethodType.__func__ back to MethodType (the return type of\n FunctionType.__get__). But this is actually a special case; MethodType is\n implemented in C and its attribute access doesn't go through\n __getattribute__.\n\n By wrapping FunctionType in _StaticFunctionType, we get the right result;\n similar to wrapping a function in staticmethod() at runtime to prevent it\n being bound as a method.\n \"\"\"\n\n def __get__(self, obj: object | None, type: type | None) -> FunctionType: ...\n\n@final\nclass MethodType:\n __closure__: Tuple[_Cell, ...] | None # inherited from the added function\n __defaults__: Tuple[Any, ...] | None # inherited from the added function\n __func__: _StaticFunctionType\n __self__: object\n __name__: str # inherited from the added function\n __qualname__: str # inherited from the added function\n def __init__(self, func: Callable[..., Any], obj: object) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\n@final\nclass BuiltinFunctionType:\n __self__: object | ModuleType\n __name__: str\n __qualname__: str\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\nBuiltinMethodType = BuiltinFunctionType\n\nif sys.version_info >= (3, 7):\n @final\n class WrapperDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class MethodWrapperType:\n __self__: object\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, other: Any) -> bool: ...\n def __ne__(self, other: Any) -> bool: ...\n @final\n class MethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class ClassMethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n\n@final\nclass TracebackType:\n if sys.version_info >= (3, 7):\n def __init__(\n self,\n tb_next: TracebackType | None,\n tb_frame: FrameType,\n tb_lasti: int,\n tb_lineno: int,\n ) -> None: ...\n tb_next: TracebackType | None\n else:\n @property\n def tb_next(self) -> TracebackType | None: ...\n # the rest are read-only even in 3.7\n @property\n def tb_frame(self) -> FrameType: ...\n @property\n def tb_lasti(self) -> int: ...\n @property\n def tb_lineno(self) -> int: ...\n\n@final\nclass FrameType:\n f_back: FrameType | None\n f_builtins: dict[str, Any]\n f_code: CodeType\n f_globals: dict[str, Any]\n f_lasti: int\n f_lineno: int\n f_locals: dict[str, Any]\n f_trace: Callable[[FrameType, str, Any], Any] | None\n if sys.version_info >= (3, 7):\n f_trace_lines: bool\n f_trace_opcodes: bool\n def clear(self) -> None: ...\n\n@final\nclass GetSetDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\n@final\nclass MemberDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nif sys.version_info >= (3, 7):\n def new_class(\n name: str,\n bases: Iterable[object] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n def resolve_bases(bases: Iterable[object]) -> Tuple[Any, ...]: ...\n\nelse:\n def new_class(\n name: str,\n bases: Tuple[type, ...] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n\ndef prepare_class(\n name: str, bases: Tuple[type, ...] = ..., kwds: dict[str, Any] | None = ...\n) -> Tuple[type, dict[str, Any], dict[str, Any]]: ...\n\n# Actually a different type, but `property` is special and we want that too.\nDynamicClassAttribute = property\n\ndef coroutine(func: Callable[..., Any]) -> CoroutineType: ...\n\nif sys.version_info >= (3, 8):\n CellType = _Cell\n\nif sys.version_info >= (3, 9):\n class GenericAlias:\n __origin__: type\n __args__: Tuple[Any, ...]\n __parameters__: Tuple[Any, ...]\n def __init__(self, origin: type, args: Any) -> None: ...\n def __getattr__(self, name: str) -> Any: ... # incomplete\n\nif sys.version_info >= (3, 10):\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n EllipsisType = ellipsis # noqa F811 from builtins\n from builtins import _NotImplementedType\n\n NotImplementedType = _NotImplementedType # noqa F811 from builtins\n @final\n class UnionType:\n __args__: Tuple[Any, ...]\n def __or__(self, obj: Any) -> UnionType: ...\n def __ror__(self, obj: Any) -> UnionType: ...\n", "/typeshed/stdlib/typing.pyi": "import collections # Needed by aliases like DefaultDict, see mypy issue 2986\nimport sys\nfrom abc import ABCMeta, abstractmethod\nfrom types import BuiltinFunctionType, CodeType, FrameType, FunctionType, MethodType, ModuleType, TracebackType\nfrom typing_extensions import Literal as _Literal\n\nif sys.version_info >= (3, 7):\n from types import MethodDescriptorType, MethodWrapperType, WrapperDescriptorType\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n# Definitions of special type checking related constructs. Their definitions\n# are not used, so their value does not matter.\n\nAny = object()\n\nclass TypeVar:\n __name__: str\n __bound__: Optional[Type[Any]]\n __constraints__: Tuple[Type[Any], ...]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self,\n name: str,\n *constraints: Type[Any],\n bound: Union[None, Type[Any], str] = ...,\n covariant: bool = ...,\n contravariant: bool = ...,\n ) -> None: ...\n\n_promote = object()\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> object: ...\n\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n\ndef overload(func: _F) -> _F: ...\n\nUnion: _SpecialForm = ...\nOptional: _SpecialForm = ...\nTuple: _SpecialForm = ...\nGeneric: _SpecialForm = ...\n# Protocol is only present in 3.8 and later, but mypy needs it unconditionally\nProtocol: _SpecialForm = ...\nCallable: _SpecialForm = ...\nType: _SpecialForm = ...\nClassVar: _SpecialForm = ...\nif sys.version_info >= (3, 8):\n Final: _SpecialForm = ...\n def final(f: _F) -> _F: ...\n Literal: _SpecialForm = ...\n # TypedDict is a (non-subscriptable) special form.\n TypedDict: object\n\nif sys.version_info < (3, 7):\n class GenericMeta(type): ...\n\nif sys.version_info >= (3, 10):\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Optional[Type[Any]]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: Union[None, Type[Any], str] = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n\n# Return type that indicates a function does not return.\n# This type is equivalent to the None type, but the no-op Union is necessary to\n# distinguish the None type from the None value.\nNoReturn = Union[None]\n\n# These type variables are used by the container types.\n_T = TypeVar(\"_T\")\n_S = TypeVar(\"_S\")\n_KT = TypeVar(\"_KT\") # Key type.\n_VT = TypeVar(\"_VT\") # Value type.\n_T_co = TypeVar(\"_T_co\", covariant=True) # Any type covariant containers.\n_V_co = TypeVar(\"_V_co\", covariant=True) # Any type covariant containers.\n_KT_co = TypeVar(\"_KT_co\", covariant=True) # Key type covariant containers.\n_VT_co = TypeVar(\"_VT_co\", covariant=True) # Value type covariant containers.\n_T_contra = TypeVar(\"_T_contra\", contravariant=True) # Ditto contravariant.\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\ndef no_type_check(arg: _F) -> _F: ...\ndef no_type_check_decorator(decorator: _F) -> _F: ...\n\n# Type aliases and type constructors\n\nclass _Alias:\n # Class for defining generic aliases for library types.\n def __getitem__(self, typeargs: Any) -> Any: ...\n\nList = _Alias()\nDict = _Alias()\nDefaultDict = _Alias()\nSet = _Alias()\nFrozenSet = _Alias()\nCounter = _Alias()\nDeque = _Alias()\nChainMap = _Alias()\n\nif sys.version_info >= (3, 7):\n OrderedDict = _Alias()\n\nif sys.version_info >= (3, 9):\n Annotated: _SpecialForm = ...\n\n# Predefined type variables.\nAnyStr = TypeVar(\"AnyStr\", str, bytes)\n\n# Abstract base classes.\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n@runtime_checkable\nclass SupportsInt(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __int__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsFloat(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __float__(self) -> float: ...\n\n@runtime_checkable\nclass SupportsComplex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __complex__(self) -> complex: ...\n\n@runtime_checkable\nclass SupportsBytes(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __bytes__(self) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n @runtime_checkable\n class SupportsIndex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __index__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsAbs(Protocol[_T_co]):\n @abstractmethod\n def __abs__(self) -> _T_co: ...\n\n@runtime_checkable\nclass SupportsRound(Protocol[_T_co]):\n @overload\n @abstractmethod\n def __round__(self) -> int: ...\n @overload\n @abstractmethod\n def __round__(self, ndigits: int) -> _T_co: ...\n\n@runtime_checkable\nclass Sized(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __len__(self) -> int: ...\n\n@runtime_checkable\nclass Hashable(Protocol, metaclass=ABCMeta):\n # TODO: This is special, in that a subclass of a hashable class may not be hashable\n # (for example, list vs. object). It's not obvious how to represent this. This class\n # is currently mostly useless for static checking.\n @abstractmethod\n def __hash__(self) -> int: ...\n\n@runtime_checkable\nclass Iterable(Protocol[_T_co]):\n @abstractmethod\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Iterator(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __next__(self) -> _T_co: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Reversible(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass Generator(Iterator[_T_co], Generic[_T_co, _T_contra, _V_co]):\n def __next__(self) -> _T_co: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n def close(self) -> None: ...\n def __iter__(self) -> Generator[_T_co, _T_contra, _V_co]: ...\n @property\n def gi_code(self) -> CodeType: ...\n @property\n def gi_frame(self) -> FrameType: ...\n @property\n def gi_running(self) -> bool: ...\n @property\n def gi_yieldfrom(self) -> Optional[Generator[Any, Any, Any]]: ...\n\n@runtime_checkable\nclass Awaitable(Protocol[_T_co]):\n @abstractmethod\n def __await__(self) -> Generator[Any, None, _T_co]: ...\n\nclass Coroutine(Awaitable[_V_co], Generic[_T_co, _T_contra, _V_co]):\n __name__: str\n __qualname__: str\n @property\n def cr_await(self) -> Optional[Any]: ...\n @property\n def cr_code(self) -> CodeType: ...\n @property\n def cr_frame(self) -> FrameType: ...\n @property\n def cr_running(self) -> bool: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n @abstractmethod\n def close(self) -> None: ...\n\n# NOTE: This type does not exist in typing.py or PEP 484.\n# The parameters correspond to Generator, but the 4th is the original type.\nclass AwaitableGenerator(\n Awaitable[_V_co], Generator[_T_co, _T_contra, _V_co], Generic[_T_co, _T_contra, _V_co, _S], metaclass=ABCMeta\n): ...\n\n@runtime_checkable\nclass AsyncIterable(Protocol[_T_co]):\n @abstractmethod\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\n@runtime_checkable\nclass AsyncIterator(AsyncIterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\nclass AsyncGenerator(AsyncIterator[_T_co], Generic[_T_co, _T_contra]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n @abstractmethod\n def asend(self, __value: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> Awaitable[_T_co]: ...\n @abstractmethod\n def aclose(self) -> Awaitable[None]: ...\n @abstractmethod\n def __aiter__(self) -> AsyncGenerator[_T_co, _T_contra]: ...\n @property\n def ag_await(self) -> Any: ...\n @property\n def ag_code(self) -> CodeType: ...\n @property\n def ag_frame(self) -> FrameType: ...\n @property\n def ag_running(self) -> bool: ...\n\n@runtime_checkable\nclass Container(Protocol[_T_co]):\n @abstractmethod\n def __contains__(self, __x: object) -> bool: ...\n\n@runtime_checkable\nclass Collection(Iterable[_T_co], Container[_T_co], Protocol[_T_co]):\n # Implement Sized (but don't have it as a base class).\n @abstractmethod\n def __len__(self) -> int: ...\n\n_Collection = Collection[_T_co]\n\nclass Sequence(_Collection[_T_co], Reversible[_T_co], Generic[_T_co]):\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T_co: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> Sequence[_T_co]: ...\n # Mixin methods\n def index(self, value: Any, start: int = ..., stop: int = ...) -> int: ...\n def count(self, value: Any) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass MutableSequence(Sequence[_T], Generic[_T]):\n @abstractmethod\n def insert(self, index: int, value: _T) -> None: ...\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> MutableSequence[_T]: ...\n @overload\n @abstractmethod\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n @abstractmethod\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: int) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: slice) -> None: ...\n # Mixin methods\n def append(self, value: _T) -> None: ...\n def clear(self) -> None: ...\n def extend(self, values: Iterable[_T]) -> None: ...\n def reverse(self) -> None: ...\n def pop(self, index: int = ...) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __iadd__(self, x: Iterable[_T]) -> MutableSequence[_T]: ...\n\nclass AbstractSet(_Collection[_T_co], Generic[_T_co]):\n @abstractmethod\n def __contains__(self, x: object) -> bool: ...\n # Mixin methods\n def __le__(self, s: AbstractSet[Any]) -> bool: ...\n def __lt__(self, s: AbstractSet[Any]) -> bool: ...\n def __gt__(self, s: AbstractSet[Any]) -> bool: ...\n def __ge__(self, s: AbstractSet[Any]) -> bool: ...\n def __and__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def __sub__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def isdisjoint(self, other: Iterable[Any]) -> bool: ...\n\nclass MutableSet(AbstractSet[_T], Generic[_T]):\n @abstractmethod\n def add(self, value: _T) -> None: ...\n @abstractmethod\n def discard(self, value: _T) -> None: ...\n # Mixin methods\n def clear(self) -> None: ...\n def pop(self) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __ior__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __iand__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __isub__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n\nclass MappingView(Sized):\n def __init__(self, mapping: Mapping[Any, Any]) -> None: ... # undocumented\n def __len__(self) -> int: ...\n\nclass ItemsView(MappingView, AbstractSet[Tuple[_KT_co, _VT_co]], Generic[_KT_co, _VT_co]):\n def __init__(self, mapping: Mapping[_KT_co, _VT_co]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n\nclass KeysView(MappingView, AbstractSet[_KT_co], Generic[_KT_co]):\n def __init__(self, mapping: Mapping[_KT_co, Any]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT_co]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n\nclass ValuesView(MappingView, Iterable[_VT_co], Generic[_VT_co]):\n def __init__(self, mapping: Mapping[Any, _VT_co]) -> None: ... # undocumented\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_VT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\n@runtime_checkable\nclass ContextManager(Protocol[_T_co]):\n def __enter__(self) -> _T_co: ...\n def __exit__(\n self,\n __exc_type: Optional[Type[BaseException]],\n __exc_value: Optional[BaseException],\n __traceback: Optional[TracebackType],\n ) -> Optional[bool]: ...\n\n@runtime_checkable\nclass AsyncContextManager(Protocol[_T_co]):\n def __aenter__(self) -> Awaitable[_T_co]: ...\n def __aexit__(\n self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Awaitable[Optional[bool]]: ...\n\nclass Mapping(_Collection[_KT], Generic[_KT, _VT_co]):\n # TODO: We wish the key type could also be covariant, but that doesn't work,\n # see discussion in https: //github.com/python/typing/pull/273.\n @abstractmethod\n def __getitem__(self, k: _KT) -> _VT_co: ...\n # Mixin methods\n @overload\n def get(self, key: _KT) -> Optional[_VT_co]: ...\n @overload\n def get(self, key: _KT, default: Union[_VT_co, _T]) -> Union[_VT_co, _T]: ...\n def items(self) -> AbstractSet[Tuple[_KT, _VT_co]]: ...\n def keys(self) -> AbstractSet[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def __contains__(self, o: object) -> bool: ...\n\nclass MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):\n @abstractmethod\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n @abstractmethod\n def __delitem__(self, v: _KT) -> None: ...\n def clear(self) -> None: ...\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...\n # 'update' used to take a Union, but using overloading is better.\n # The second overloaded type here is a bit too general, because\n # Mapping[Tuple[_KT, _VT], W] is a subclass of Iterable[Tuple[_KT, _VT]],\n # but will always have the behavior of the first overloaded type\n # at runtime, leading to keys of a mix of types _KT and Tuple[_KT, _VT].\n # We don't currently have any way of forcing all Mappings to use\n # the first overload, but by using overloading rather than a Union,\n # mypy will commit to using the first overload when the argument is\n # known to be a Mapping with unknown type parameters, which is closer\n # to the behavior we want. See mypy issue #1430.\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n\nText = str\n\nTYPE_CHECKING = True\n\nclass IO(Iterator[AnyStr], Generic[AnyStr]):\n # TODO use abstract properties\n @property\n def mode(self) -> str: ...\n @property\n def name(self) -> str: ...\n @abstractmethod\n def close(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n @abstractmethod\n def fileno(self) -> int: ...\n @abstractmethod\n def flush(self) -> None: ...\n @abstractmethod\n def isatty(self) -> bool: ...\n @abstractmethod\n def read(self, n: int = ...) -> AnyStr: ...\n @abstractmethod\n def readable(self) -> bool: ...\n @abstractmethod\n def readline(self, limit: int = ...) -> AnyStr: ...\n @abstractmethod\n def readlines(self, hint: int = ...) -> list[AnyStr]: ...\n @abstractmethod\n def seek(self, offset: int, whence: int = ...) -> int: ...\n @abstractmethod\n def seekable(self) -> bool: ...\n @abstractmethod\n def tell(self) -> int: ...\n @abstractmethod\n def truncate(self, size: Optional[int] = ...) -> int: ...\n @abstractmethod\n def writable(self) -> bool: ...\n @abstractmethod\n def write(self, s: AnyStr) -> int: ...\n @abstractmethod\n def writelines(self, lines: Iterable[AnyStr]) -> None: ...\n @abstractmethod\n def __next__(self) -> AnyStr: ...\n @abstractmethod\n def __iter__(self) -> Iterator[AnyStr]: ...\n @abstractmethod\n def __enter__(self) -> IO[AnyStr]: ...\n @abstractmethod\n def __exit__(\n self, t: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Optional[bool]: ...\n\nclass BinaryIO(IO[bytes]):\n @abstractmethod\n def __enter__(self) -> BinaryIO: ...\n\nclass TextIO(IO[str]):\n # TODO use abstractproperty\n @property\n def buffer(self) -> BinaryIO: ...\n @property\n def encoding(self) -> str: ...\n @property\n def errors(self) -> Optional[str]: ...\n @property\n def line_buffering(self) -> int: ... # int on PyPy, bool on CPython\n @property\n def newlines(self) -> Any: ... # None, str or tuple\n @abstractmethod\n def __enter__(self) -> TextIO: ...\n\nclass ByteString(Sequence[int], metaclass=ABCMeta): ...\n\nclass Match(Generic[AnyStr]):\n pos: int\n endpos: int\n lastindex: Optional[int]\n lastgroup: Optional[AnyStr]\n string: AnyStr\n\n # The regular expression object whose match() or search() method produced\n # this match instance.\n re: Pattern[AnyStr]\n def expand(self, template: AnyStr) -> AnyStr: ...\n # group() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def group(self, __group: _Literal[0] = ...) -> AnyStr: ...\n @overload\n def group(self, __group: str | int) -> AnyStr | Any: ...\n @overload\n def group(self, __group1: str | int, __group2: str | int, *groups: str | int) -> Tuple[AnyStr | Any, ...]: ...\n # Each item of groups()'s return tuple is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groups(self) -> Tuple[AnyStr | Any, ...]: ...\n @overload\n def groups(self, default: _T) -> Tuple[AnyStr | _T, ...]: ...\n # Each value in groupdict()'s return dict is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groupdict(self) -> dict[str, AnyStr | Any]: ...\n @overload\n def groupdict(self, default: _T) -> dict[str, AnyStr | _T]: ...\n def start(self, __group: Union[int, str] = ...) -> int: ...\n def end(self, __group: Union[int, str] = ...) -> int: ...\n def span(self, __group: Union[int, str] = ...) -> Tuple[int, int]: ...\n @property\n def regs(self) -> Tuple[Tuple[int, int], ...]: ... # undocumented\n # __getitem__() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def __getitem__(self, __key: _Literal[0]) -> AnyStr: ...\n @overload\n def __getitem__(self, __key: int | str) -> AnyStr | Any: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Pattern(Generic[AnyStr]):\n flags: int\n groupindex: Mapping[str, int]\n groups: int\n pattern: AnyStr\n def search(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def match(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def fullmatch(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def split(self, string: AnyStr, maxsplit: int = ...) -> list[AnyStr]: ...\n def findall(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> list[Any]: ...\n def finditer(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Iterator[Match[AnyStr]]: ...\n @overload\n def sub(self, repl: AnyStr, string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def sub(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def subn(self, repl: AnyStr, string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n @overload\n def subn(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# Functions\n\nif sys.version_info >= (3, 7):\n _get_type_hints_obj_allowed_types = Union[\n object,\n Callable[..., Any],\n FunctionType,\n BuiltinFunctionType,\n MethodType,\n ModuleType,\n WrapperDescriptorType,\n MethodWrapperType,\n MethodDescriptorType,\n ]\nelse:\n _get_type_hints_obj_allowed_types = Union[\n object, Callable[..., Any], FunctionType, BuiltinFunctionType, MethodType, ModuleType,\n ]\n\nif sys.version_info >= (3, 9):\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types,\n globalns: Optional[Dict[str, Any]] = ...,\n localns: Optional[Dict[str, Any]] = ...,\n include_extras: bool = ...,\n ) -> Dict[str, Any]: ...\n\nelse:\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types, globalns: Optional[Dict[str, Any]] = ..., localns: Optional[Dict[str, Any]] = ...\n ) -> Dict[str, Any]: ...\n\nif sys.version_info >= (3, 8):\n def get_origin(tp: Any) -> Optional[Any]: ...\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n\n@overload\ndef cast(typ: Type[_T], val: Any) -> _T: ...\n@overload\ndef cast(typ: str, val: Any) -> Any: ...\n@overload\ndef cast(typ: object, val: Any) -> Any: ...\n\n# Type constructors\n\n# NamedTuple is special-cased in the type checker\nclass NamedTuple(Tuple[Any, ...]):\n _field_types: collections.OrderedDict[str, Type[Any]]\n _field_defaults: Dict[str, Any] = ...\n _fields: Tuple[str, ...]\n _source: str\n def __init__(self, typename: str, fields: Iterable[Tuple[str, Any]] = ..., **kwargs: Any) -> None: ...\n @classmethod\n def _make(cls: Type[_T], iterable: Iterable[Any]) -> _T: ...\n if sys.version_info >= (3, 8):\n def _asdict(self) -> Dict[str, Any]: ...\n else:\n def _asdict(self) -> collections.OrderedDict[str, Any]: ...\n def _replace(self: _T, **kwargs: Any) -> _T: ...\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __or__(self: _T, __value: _T) -> _T: ...\n def __ior__(self: _T, __value: _T) -> _T: ...\n\ndef NewType(name: str, tp: Type[_T]) -> Type[_T]: ...\n\n# This itself is only available during type checking\ndef type_check_only(func_or_cls: _F) -> _F: ...\n\nif sys.version_info >= (3, 7):\n class ForwardRef:\n __forward_arg__: str\n __forward_code__: CodeType\n __forward_evaluated__: bool\n __forward_value__: Optional[Any]\n __forward_is_argument__: bool\n def __init__(self, arg: str, is_argument: bool = ...) -> None: ...\n def _evaluate(self, globalns: Optional[Dict[str, Any]], localns: Optional[Dict[str, Any]]) -> Optional[Any]: ...\n def __eq__(self, other: Any) -> bool: ...\n def __hash__(self) -> int: ...\n def __repr__(self) -> str: ...\n\nif sys.version_info >= (3, 10):\n def is_typeddict(tp: Any) -> bool: ...\n", "/typeshed/stdlib/typing_extensions.pyi": "import abc\nimport sys\nfrom typing import (\n TYPE_CHECKING as TYPE_CHECKING,\n Any,\n AsyncContextManager as AsyncContextManager,\n AsyncGenerator as AsyncGenerator,\n AsyncIterable as AsyncIterable,\n AsyncIterator as AsyncIterator,\n Awaitable as Awaitable,\n Callable,\n ChainMap as ChainMap,\n ClassVar as ClassVar,\n ContextManager as ContextManager,\n Coroutine as Coroutine,\n Counter as Counter,\n DefaultDict as DefaultDict,\n Deque as Deque,\n ItemsView,\n KeysView,\n Mapping,\n NewType as NewType,\n NoReturn as NoReturn,\n Text as Text,\n Tuple,\n Type as Type,\n TypeVar,\n ValuesView,\n _Alias,\n overload as overload,\n)\n\n_T = TypeVar(\"_T\")\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> Any: ...\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n\n# This alias for above is kept here for backwards compatibility.\nruntime = runtime_checkable\nProtocol: _SpecialForm = ...\nFinal: _SpecialForm = ...\n\ndef final(f: _F) -> _F: ...\n\nLiteral: _SpecialForm = ...\n\ndef IntVar(name: str) -> Any: ... # returns a new TypeVar\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n\n# TypedDict is a (non-subscriptable) special form.\nTypedDict: object = ...\n\nOrderedDict = _Alias()\n\ndef get_type_hints(\n obj: Callable[..., Any],\n globalns: dict[str, Any] | None = ...,\n localns: dict[str, Any] | None = ...,\n include_extras: bool = ...,\n) -> dict[str, Any]: ...\n\nif sys.version_info >= (3, 7):\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n def get_origin(tp: Any) -> Any | None: ...\n\nAnnotated: _SpecialForm = ...\n_AnnotatedAlias: Any = ... # undocumented\n\n@runtime_checkable\nclass SupportsIndex(Protocol, metaclass=abc.ABCMeta):\n @abc.abstractmethod\n def __index__(self) -> int: ...\n\n# PEP 612 support for Python < 3.9\nif sys.version_info >= (3, 10):\n from typing import Concatenate as Concatenate, ParamSpec as ParamSpec, TypeAlias as TypeAlias, TypeGuard as TypeGuard\nelse:\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Type[Any] | None\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: None | Type[Any] | str = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n", @@ -35,16 +35,16 @@ "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", - "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pins, images, sounds, temperature and volume.\n\"\"\"\n\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\n\nfrom _typeshed import ReadableBuffer\n\n# V2 only\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(\n callback: Optional[Callable[[], None]] = None,\n days: int = 0,\n h: int = 0,\n min: int = 0,\n s: int = 0,\n ms: int = 0,\n) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Schedule to run a function at the interval specified by the time arguments **V2 only**.\n\n Example: ``run_every(my_logging, min=5)``\n\n ``run_every`` can be used in two ways:\n\n As a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\n As a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\n Each argument corresponds to a different time unit and they are additive.\n So ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\n When an exception is thrown inside the callback function it deschedules the\n function. To avoid this you can catch exceptions with ``try/except``.\n\n :param callback: Function to call at the provided interval. Omit when using as a decorator.\n :param days: Sets the day mark for the scheduling.\n :param h: Sets the hour mark for the scheduling.\n :param min: Sets the minute mark for the scheduling.\n :param s: Sets the second mark for the scheduling.\n :param ms: Sets the millisecond mark for the scheduling.\n \"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Enter a panic mode.\n\n Example: ``panic(127)``\n\n :param n: An arbitrary integer <= 255 to indicate a status.\n\n Requires restart.\n \"\"\"\n\ndef reset() -> None:\n \"\"\"Restart the board.\"\"\"\n\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converts a value from a range to an integer range.\n\n Example: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\n For example, to convert an accelerometer X value to a speaker volume.\n\n If one of the numbers in the ``to`` parameter is a floating point\n (i.e a decimal number like ``10.0``), this function will return a\n floating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n :param value: A number to convert.\n :param from_: A tuple to define the range to convert from.\n :param to: A tuple to define the range to convert to.\n :return: The ``value`` converted to the ``to`` range.\n \"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converts a value from a range to a floating point range.\n\n Example: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\n For example, to convert temperature from a Celsius scale to Fahrenheit.\n\n If one of the numbers in the ``to`` parameter is a floating point\n (i.e a decimal number like ``10.0``), this function will return a\n floating point number.\n If they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n :param value: A number to convert.\n :param from_: A tuple to define the range to convert from.\n :param to: A tuple to define the range to convert to.\n :return: The ``value`` converted to the ``to`` range.\n \"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Wait for ``n`` milliseconds.\n\n Example: ``sleep(1000)``\n\n :param n: The number of milliseconds to wait\n\n One second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\n will pause the execution for one second.\n \"\"\"\n\ndef running_time() -> int:\n \"\"\"Get the running time of the board.\n\n :return: The number of milliseconds since the board was switched on or restarted.\n \"\"\"\n\ndef temperature() -> int:\n \"\"\"Get the temperature of the micro:bit in degrees Celsius.\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Sets the volume.\n\n Example: ``set_volume(127)``\n\n :param v: a value between 0 (low) and 255 (high).\n\n Out of range values will be clamped to 0 or 255.\n\n **V2** only.\n \"\"\"\n ...\n\nclass Button:\n \"\"\"The class for the buttons ``button_a`` and ``button_b``.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Check if the button is pressed.\n\n :return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\n \"\"\"\n ...\n def was_pressed(self) -> bool:\n \"\"\"Check if the button was pressed since the device started or the last time this method was called.\n\n Calling this method will clear the press state so\n that the button must be pressed again before this method will return\n ``True`` again.\n\n :return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\n \"\"\"\n ...\n def get_presses(self) -> int:\n \"\"\"Get the running total of button presses, and resets this total\n to zero before returning.\n\n :return: The number of presses since the device started or the last time this method was called\n \"\"\"\n ...\n\nbutton_a: Button\n\"\"\"The left button ``Button`` object.\"\"\"\n\nbutton_b: Button\n\"\"\"The right button ``Button`` object.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"A digital pin.\n\n Some pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\n \"\"\"\n\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n def read_digital(self) -> int:\n \"\"\"Get the digital value of the pin.\n\n Example: ``value = pin0.read_digital()``\n\n :return: 1 if the pin is high, and 0 if it's low.\n \"\"\"\n ...\n def write_digital(self, value: int) -> None:\n \"\"\"Set the digital value of the pin.\n\n Example: ``pin0.write_digital(1)``\n\n :param value: 1 to set the pin high or 0 to set the pin low\"\"\"\n ...\n def set_pull(self, value: int) -> None:\n \"\"\"Set the pull state to one of three possible values: ``PULL_UP``, ``PULL_DOWN`` or ``NO_PULL``.\n\n Example: ``pin0.set_pull(pin0.PULL_UP)``\n\n :param value: The pull state from the relevant pin, e.g. ``pin0.PULL_UP``.\n \"\"\"\n ...\n def get_pull(self) -> int:\n \"\"\"Get the pull state on a pin.\n\n Example: ``pin0.get_pull()``\n\n :return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\n These are set using the ``set_pull()`` method or automatically configured\n when a pin mode requires it.\n \"\"\"\n ...\n def get_mode(self) -> str:\n \"\"\"Returns the pin mode.\n\n Example: ``pin0.get_mode()``\n\n When a pin is used for a specific function, like\n writing a digital value, or reading an analog value, the pin mode\n changes.\n\n :return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\n \"\"\"\n ...\n def write_analog(self, value: int) -> None:\n \"\"\"Output a PWM signal on the pin, with the duty cycle proportional to ``value``.\n\n Example: ``pin0.write_analog(254)``\n\n :param value: An integer or a floating point number between 0 (0% duty cycle) and 1023 (100% duty).\n \"\"\"\n def set_analog_period(self, period: int) -> None:\n \"\"\"Set the period of the PWM signal being output to ``period`` in milliseconds.\n\n Example: ``pin0.set_analog_period(10)``\n\n :param period: The period in milliseconds with a minimum valid value of 1ms.\n \"\"\"\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Set the period of the PWM signal being output to ``period`` in microseconds.\n\n Example: ``pin0.set_analog_period_microseconds(512)``\n\n :param period: The period in microseconds with a minimum valid value of 256\u00b5s.\n \"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"A pin with analog and digital features.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Read the voltage applied to the pin.\n\n Example: ``pin0.read_analog()``\n\n :return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\n \"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"A pin with analog, digital and touch features.\"\"\"\n\n CAPACITIVE: int\n RESISTIVE: int\n def is_touched(self) -> bool:\n \"\"\"Check if the pin is being touched.\n\n Example: ``pin0.is_touched()``\n\n The default touch mode for the pins on the edge connector is ``resistive``.\n The default for the logo pin **V2** is ``capacitive``.\n\n **Resistive touch**\n This test is done by measuring how much resistance there is between the\n pin and ground. A low resistance gives a reading of ``True``. To get\n a reliable reading using a finger you may need to touch the ground pin\n with another part of your body, for example your other hand.\n\n **Capacitive touch**\n This test is done by interacting with the electric field of a capacitor\n using a finger as a conductor. `Capacitive touch\n `_\n does not require you to make a ground connection as part of a circuit.\n\n :return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\n \"\"\"\n ...\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Set the touch mode for the pin.\n\n Example: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\n The default touch mode for the pins on the edge connector is\n ``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n :param value: ``CAPACITIVE`` or ``RESISTIVE`` from the relevant pin.\n \"\"\"\n ...\n\npin0: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin1: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin2: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin5: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin6: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin7: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin8: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin9: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin11: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin12: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin13: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin14: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin15: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin16: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin19: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin20: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin_logo: MicroBitTouchPin\n\"\"\"A touch sensitive logo pin on the front of the micro:bit, which by default is set to capacitive touch mode.\"\"\"\n\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"A pin to address the micro:bit speaker.\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"An image to show on the micro:bit LED display.\n\n Given an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\n \"\"\"\n\n HEART: Image\n \"\"\"Heart image.\"\"\"\n\n HEART_SMALL: Image\n \"\"\"Small heart image.\"\"\"\n\n HAPPY: Image\n \"\"\"Happy face image.\"\"\"\n\n SMILE: Image\n \"\"\"Smiling mouth image.\"\"\"\n\n SAD: Image\n \"\"\"Sad face image.\"\"\"\n\n CONFUSED: Image\n \"\"\"Confused face image.\"\"\"\n\n ANGRY: Image\n \"\"\"Angry face image.\"\"\"\n\n ASLEEP: Image\n \"\"\"Sleeping face image.\"\"\"\n\n SURPRISED: Image\n \"\"\"Surprised face image.\"\"\"\n\n SILLY: Image\n \"\"\"Silly face image.\"\"\"\n\n FABULOUS: Image\n \"\"\"Sunglasses face image.\"\"\"\n\n MEH: Image\n \"\"\"Unimpressed face image.\"\"\"\n\n YES: Image\n \"\"\"Tick image.\"\"\"\n\n NO: Image\n \"\"\"Cross image.\"\"\"\n\n CLOCK12: Image\n \"\"\"Image with line pointing to 12 o'clock.\"\"\"\n\n CLOCK11: Image\n \"\"\"Image with line pointing to 11 o'clock.\"\"\"\n\n CLOCK10: Image\n \"\"\"Image with line pointing to 10 o'clock.\"\"\"\n\n CLOCK9: Image\n \"\"\"Image with line pointing to 9 o'clock.\"\"\"\n\n CLOCK8: Image\n \"\"\"Image with line pointing to 8 o'clock.\"\"\"\n\n CLOCK7: Image\n \"\"\"Image with line pointing to 7 o'clock.\"\"\"\n\n CLOCK6: Image\n \"\"\"Image with line pointing to 6 o'clock.\"\"\"\n\n CLOCK5: Image\n \"\"\"Image with line pointing to 5 o'clock.\"\"\"\n\n CLOCK4: Image\n \"\"\"Image with line pointing to 4 o'clock.\"\"\"\n\n CLOCK3: Image\n \"\"\"Image with line pointing to 3 o'clock.\"\"\"\n\n CLOCK2: Image\n \"\"\"Image with line pointing to 2 o'clock.\"\"\"\n\n CLOCK1: Image\n \"\"\"Image with line pointing to 1 o'clock.\"\"\"\n\n ARROW_N: Image\n \"\"\"Image of arrow pointing north.\"\"\"\n\n ARROW_NE: Image\n \"\"\"Image of arrow pointing north east.\"\"\"\n\n ARROW_E: Image\n \"\"\"Image of arrow pointing east.\"\"\"\n\n ARROW_SE: Image\n \"\"\"Image of arrow pointing south east.\"\"\"\n\n ARROW_S: Image\n \"\"\"Image of arrow pointing south.\"\"\"\n\n ARROW_SW: Image\n \"\"\"Image of arrow pointing south west.\"\"\"\n\n ARROW_W: Image\n \"\"\"Image of arrow pointing west.\"\"\"\n\n ARROW_NW: Image\n \"\"\"Image of arrow pointing north west.\"\"\"\n\n TRIANGLE: Image\n \"\"\"Image of a triangle pointing up.\"\"\"\n\n TRIANGLE_LEFT: Image\n \"\"\"Image of a triangle in the left corner.\"\"\"\n\n CHESSBOARD: Image\n \"\"\"Alternate LEDs lit in a chessboard pattern.\"\"\"\n\n DIAMOND: Image\n \"\"\"Diamond image.\"\"\"\n\n DIAMOND_SMALL: Image\n \"\"\"Small diamond image.\"\"\"\n\n SQUARE: Image\n \"\"\"Square image.\"\"\"\n\n SQUARE_SMALL: Image\n \"\"\"Small square image.\"\"\"\n\n RABBIT: Image\n \"\"\"Rabbit image.\"\"\"\n\n COW: Image\n \"\"\"Cow image.\"\"\"\n\n MUSIC_CROTCHET: Image\n \"\"\"Crotchet note image.\"\"\"\n\n MUSIC_QUAVER: Image\n \"\"\"Quaver note image.\"\"\"\n\n MUSIC_QUAVERS: Image\n \"\"\"Pair of quavers note image.\"\"\"\n\n PITCHFORK: Image\n \"\"\"Pitchfork image.\"\"\"\n\n XMAS: Image\n \"\"\"Christmas tree image.\"\"\"\n\n PACMAN: Image\n \"\"\"Pac-Man arcade character image.\"\"\"\n\n TARGET: Image\n \"\"\"Target image.\"\"\"\n\n TSHIRT: Image\n \"\"\"T-shirt image.\"\"\"\n\n ROLLERSKATE: Image\n \"\"\"Rollerskate image.\"\"\"\n\n DUCK: Image\n \"\"\"Duck image.\"\"\"\n\n HOUSE: Image\n \"\"\"House image.\"\"\"\n\n TORTOISE: Image\n \"\"\"Tortoise image.\"\"\"\n\n BUTTERFLY: Image\n \"\"\"Butterfly image.\"\"\"\n\n STICKFIGURE: Image\n \"\"\"Stick figure image.\"\"\"\n\n GHOST: Image\n \"\"\"Ghost image.\"\"\"\n\n SWORD: Image\n \"\"\"Sword image.\"\"\"\n\n GIRAFFE: Image\n \"\"\"Giraffe image.\"\"\"\n\n SKULL: Image\n \"\"\"Skull image.\"\"\"\n\n UMBRELLA: Image\n \"\"\"Umbrella image.\"\"\"\n\n SNAKE: Image\n \"\"\"Snake image.\"\"\"\n\n SCISSORS: Image\n \"\"\"Scissors image.\"\"\"\n\n ALL_CLOCKS: List[Image]\n \"\"\"A list containing all the CLOCK_ images in sequence.\"\"\"\n\n ALL_ARROWS: List[Image]\n \"\"\"A list containing all the ARROW_ images in sequence.\"\"\"\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Create an image from a string describing which LEDs are lit.\n\n ``string`` has to consist of digits 0-9 arranged into lines,\n describing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\n will create a 5\u00d75 image of an X. The end of a line is indicated by a\n colon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n :param string: The string describing the image.\n \"\"\"\n ...\n @overload\n def __init__(\n self, width: int = 5, height: int = 5, buffer: ReadableBuffer = None\n ) -> None:\n \"\"\"Create an empty image with ``width`` columns and ``height`` rows.\n\n :param width: Optional width of the image\n :param height: Optional height of the image\n :param buffer: Optional array or bytes of ``width``\u00d7``height`` integers in range 0-9 to initialize the image\n\n Examples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\n These create 2 x 2 pixel images at full brightness.\n \"\"\"\n ...\n def width(self) -> int:\n \"\"\"Get the number of columns.\n\n :return: The number of columns in the image\n \"\"\"\n ...\n def height(self) -> int:\n \"\"\"Get the number of rows.\n\n :return: The number of rows in the image\n \"\"\"\n ...\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Set the brightness of a pixel.\n\n Example: ``my_image.set_pixel(0, 0, 9)``\n\n :param x: The column number\n :param y: The row number\n :param value: The brightness as an integer between 0 (dark) and 9 (bright)\n\n This method will raise an exception when called on any of the built-in\n read-only images, like ``Image.HEART``.\n \"\"\"\n ...\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Get the brightness of a pixel.\n\n Example: ``my_image.get_pixel(0, 0)``\n\n :param x: The column number\n :param y: The row number\n :return: The brightness as an integer between 0 and 9.\n \"\"\"\n ...\n def shift_left(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture left.\n\n Example: ``Image.HEART_SMALL.shift_left(1)``\n\n :param n: The number of columns to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_right(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture right.\n\n Example: ``Image.HEART_SMALL.shift_right(1)``\n\n :param n: The number of columns to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_up(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture up.\n\n Example: ``Image.HEART_SMALL.shift_up(1)``\n\n :param n: The number of rows to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_down(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture down.\n\n Example: ``Image.HEART_SMALL.shift_down(1)``\n\n :param n: The number of rows to shift by\n :return: The shifted image\n \"\"\"\n ...\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Create a new image by cropping the picture.\n\n Example: ``Image.HEART.crop(1, 1, 3, 3)``\n\n :param x: The crop offset column\n :param y: The crop offset row\n :param w: The crop width\n :param h: The crop height\n :return: The new image\n \"\"\"\n ...\n def copy(self) -> Image:\n \"\"\"Create an exact copy of the image.\n\n Example: ``Image.HEART.copy()``\n\n :return: The new image\n \"\"\"\n ...\n def invert(self) -> Image:\n \"\"\"Create a new image by inverting the brightness of the pixels in the\n source image.\n\n Example: ``Image.SMALL_HEART.invert()``\n\n :return: The new image.\n \"\"\"\n ...\n def fill(self, value: int) -> None:\n \"\"\"Set the brightness of all the pixels in the image.\n\n Example: ``my_image.fill(5)``\n\n :param value: The new brightness as a number between 0 (dark) and 9 (bright).\n\n This method will raise an exception when called on any of the built-in\n read-only images, like ``Image.HEART``.\n \"\"\"\n ...\n def blit(\n self,\n src: Image,\n x: int,\n y: int,\n w: int,\n h: int,\n xdest: int = 0,\n ydest: int = 0,\n ) -> None:\n \"\"\"Copy an area from another image into this image.\n\n Example: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n :param src: The source image\n :param x: The starting column offset in the source image\n :param y: The starting row offset in the source image\n :param w: The number of columns to copy\n :param h: The number of rows to copy\n :param xdest: The column offset to modify in this image\n :param ydest: The row offset to modify in this image\n\n Pixels outside the source image are treated as having a brightness of 0.\n\n ``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\n and ``crop()`` can are all implemented by using ``blit()``.\n\n For example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\n \"\"\"\n ...\n def __repr__(self) -> str:\n \"\"\"Get a compact string representation of the image.\"\"\"\n ...\n def __str__(self) -> str:\n \"\"\"Get a readable string representation of the image.\"\"\"\n ...\n def __add__(self, other: Image) -> Image:\n \"\"\"Create a new image by adding the brightness values from the two\n images for each pixel.\n\n Example: ``Image.HEART + Image.HAPPY``\n\n :param other: The image to add.\n \"\"\"\n ...\n def __sub__(self, other: Image) -> Image:\n \"\"\"Create a new image by subtracting the brightness values of the\n other image from this image.\n\n Example: ``Image.HEART - Image.HEART_SMALL``\n\n :param other: The image to subtract.\n \"\"\"\n ...\n def __mul__(self, n: float) -> Image:\n \"\"\"Create a new image by multiplying the brightness of each pixel by\n ``n``.\n\n Example: ``Image.HEART * 0.5``\n\n :param n: The value to multiply by.\n \"\"\"\n ...\n def __truediv__(self, n: float) -> Image:\n \"\"\"Create a new image by dividing the brightness of each pixel by\n ``n``.\n\n Example: ``Image.HEART / 2``\n\n :param n: The value to divide by.\n \"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Represents the transition of sound events, from ``quiet`` to ``loud`` like clapping or shouting.\"\"\"\n\n QUIET: SoundEvent\n \"\"\"Represents the transition of sound events, from ``loud`` to ``quiet`` like speaking or background music.\"\"\"\n\nclass Sound:\n \"\"\"The built-in sounds can be called using ``audio.play(Sound.NAME)``.\"\"\"\n\n GIGGLE: Sound\n \"\"\"Giggling sound.\"\"\"\n\n HAPPY: Sound\n \"\"\"Happy sound.\"\"\"\n\n HELLO: Sound\n \"\"\"Greeting sound.\"\"\"\n\n MYSTERIOUS: Sound\n \"\"\"Mysterious sound.\"\"\"\n\n SAD: Sound\n \"\"\"Sad sound.\"\"\"\n\n SLIDE: Sound\n \"\"\"Sliding sound.\"\"\"\n\n SOARING: Sound\n \"\"\"Soaring sound.\"\"\"\n\n SPRING: Sound\n \"\"\"Spring sound.\"\"\"\n\n TWINKLE: Sound\n \"\"\"Twinkling sound.\"\"\"\n\n YAWN: Sound\n \"\"\"Yawning sound.\"\"\"\n", - "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Measure the acceleration of the micro:bit and recognise gestures.\n\"\"\"\n\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Get the acceleration measurement in the ``x`` axis in milli-g.\n\n Example: ``accelerometer.get_x()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Get the acceleration measurement in the ``y`` axis in milli-g.\n\n Example: ``accelerometer.get_y()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Get the acceleration measurement in the ``z`` axis in milli-g.\n\n Example: ``accelerometer.get_z()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Get the acceleration measurements in all axes at once as a tuple.\n\n Example: ``x, y, z = accelerometer.get_values()``\n\n :return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\n \"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Get the acceleration measurement of all axes combined, as a positive integer. This is the Pythagorean sum of the X, Y and Z axes.\n\n Example: ``accelerometer.get_strength()``\n\n :return: The combined acceleration strength of all the axes, in milli-g.\n \"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Get the name of the current gesture.\n\n Example: ``accelerometer.current_gesture()``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :return: The current gesture\n \"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Check if the named gesture is currently active.\n\n Example: ``accelerometer.is_gesture('shake')``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :param name: The gesture name.\n :return: ``True`` if the gesture is active, ``False`` otherwise.\n \"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Check if the named gesture was active since the last call.\n\n Example: ``accelerometer.was_gesture('shake')``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :param name: The gesture name.\n :return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\n \"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Return a tuple of the gesture history.\n\n Example: ``accelerometer.get_gestures()``\n\n Clears the gesture history before returning.\n\n Gestures are not updated in the background so there needs to be constant\n calls to some accelerometer method to do the gesture detection. Usually\n gestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n :return: The history as a tuple, most recent last.\n \"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Set the accelerometer sensitivity range, in g (standard gravity), to the closest values supported by the hardware, so it rounds to either ``2``, ``4``, or ``8`` g.\n\n Example: ``accelerometer.set_range(8)``\n\n :param value: New range for the accelerometer, an integer in ``g``.\n \"\"\"\n", - "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(\n source: Union[Iterable[AudioFrame], Sound, SoundEffect],\n wait: bool = True,\n pin: MicroBitDigitalPin = pin0,\n return_pin: Union[MicroBitDigitalPin, None] = None,\n) -> None:\n \"\"\"Play a built-in sound, sound effect or custom audio frames.\n\n Example: ``audio.play(Sound.GIGGLE)``\n\n :param source: A built-in ``Sound`` such as ``Sound.GIGGLE``, a ``SoundEffect`` or sample data as an iterable of ``AudioFrame`` objects.\n :param wait: If ``wait`` is ``True``, this function will block until the sound is complete.\n :param pin: An optional argument to specify the output pin can be used to override the default of ``pin0``. If we do not want any sound to play we can use ``pin=None``.\n :param return_pin: Specifies a differential edge connector pin to connect to an external speaker instead of ground. This is ignored for the **V2** revision.\n \"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Check whether a sound is playing.\n\n Example: ``audio.is_playing()``\n\n :return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Stop all audio playback.\n\n Example: ``audio.stop()``\n \"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"A sound effect, composed by a set of parameters configured via the constructor or attributes.\"\"\"\n\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sine wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Sawtooth wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Triangle wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Square wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise option used for the ``waveform`` parameter.\"\"\"\n\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Linear interpolation option used for the ``shape`` parameter.\"\"\"\n\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolation option used for the ``shape`` parameter.\"\"\"\n\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmic interpolation option used for the ``shape`` parameter.\"\"\"\n\n FX_NONE: ClassVar[int]\n \"\"\"No effect option used for the ``fx`` parameter.\"\"\"\n\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect option used for the ``fx`` parameter.\"\"\"\n\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect option used for the ``fx`` parameter.\"\"\"\n\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect option used for the ``fx`` parameter.\"\"\"\n\n freq_start: int\n \"\"\"Start frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n\n freq_end: int\n \"\"\"End frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n\n duration: int\n \"\"\"Duration of the sound in milliseconds, a number between ``0`` and ``9999``\"\"\"\n\n vol_start: int\n \"\"\"Start volume value, a number between ``0`` and ``255``\"\"\"\n\n vol_end: int\n \"\"\"End volume value, a number between ``0`` and ``255``\"\"\"\n\n waveform: int\n \"\"\"Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise)\"\"\"\n\n fx: int\n \"\"\"Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``\"\"\"\n\n shape: int\n \"\"\"The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(\n self,\n freq_start: int = 500,\n freq_end: int = 2500,\n duration: int = 500,\n vol_start: int = 255,\n vol_end: int = 0,\n waveform: int = WAVEFORM_SQUARE,\n fx: int = FX_NONE,\n shape: int = SHAPE_LOG,\n ):\n \"\"\"Create a new sound effect.\n\n Example: ``my_effect = SoundEffect(duration=1000)``\n\n All the parameters are optional, with default values as shown above, and\n they can all be modified via attributes of the same name. For example, we\n can first create an effect ``my_effect = SoundEffect(duration=1000)``,\n and then change its attributes ``my_effect.duration = 500``.\n\n :param freq_start: Start frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n :param freq_end: End frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n :param duration: Duration of the sound in milliseconds, a number between ``0`` and ``9999``.\n :param vol_start: Start volume value, a number between ``0`` and ``255``.\n :param vol_end: End volume value, a number between ``0`` and ``255``.\n :param waveform: Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise).\n :param fx: Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n :param shape: The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\n \"\"\"\n def copy(self) -> SoundEffect:\n \"\"\"Create a copy of this ``SoundEffect``.\n\n Example: ``sound_2 = sound_1.copy()``\n\n :return: A copy of the SoundEffect.\n \"\"\"\n\nclass AudioFrame:\n \"\"\"An ``AudioFrame`` object is a list of 32 samples each of which is a unsigned byte\n (whole number between 0 and 255).\n\n It takes just over 4 ms to play a single frame.\n\n Example::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\n \"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overwrite the data in this ``AudioFrame`` with the data from another ``AudioFrame`` instance.\n\n Example: ``my_frame.copyfrom(source_frame)``\n\n :param other: ``AudioFrame`` instance from which to copy the data.\n \"\"\"\n def __len__(self) -> int: ...\n def __setitem__(self, key: int, value: int) -> None: ...\n def __getitem__(self, key: int) -> int: ...\n", - "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Use the built-in compass.\n\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Starts the calibration process.\n\n Example: ``compass.calibrate()``\n\n An instructive message will be scrolled to the user after which they will need\n to rotate the device in order to draw a circle on the LED display.\n \"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"Check is the compass is calibrated.\n\n Example: ``compass.is_calibrated()``\n\n :return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\n \"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Undoes the calibration, making the compass uncalibrated again.\n\n Example: ``compass.clear_calibration()``\n \"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Get the magnetic field strength on the ``x`` axis.\n\n Example: ``compass.get_x()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Get the magnetic field strength on the ``y`` axis.\n\n Example: ``compass.get_y()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Get the magnetic field strength on the ``z`` axis.\n\n Example: ``compass.get_z()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Get the compass heading.\n\n Example: ``compass.heading()``\n\n :return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\n \"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Get the magnitude of the magnetic field around the device.\n\n Example: ``compass.get_field_strength()``\n\n :return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...\n", - "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Show text, images and animations on the 5\u00d75 LED display.\n\"\"\"\n\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Get the brightness of the LED at column ``x`` and row ``y``.\n\n Example: ``display.get_pixel(0, 0)``\n\n :param x: The display column (0..4)\n :param y: The display row (0..4)\n :return: A number between 0 (off) and 9 (bright)\n \"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Set the brightness of the LED at column ``x`` and row ``y``.\n\n Example: ``display.set_pixel(0, 0, 9)``\n\n :param x: The display column (0..4)\n :param y: The display row (0..4)\n :param value: The brightness between 0 (off) and 9 (bright)\n \"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Set the brightness of all LEDs to 0 (off).\n\n Example: ``display.clear()``\n \"\"\"\n ...\n\ndef show(\n image: Union[str, float, int, Image, Iterable[Image]],\n delay: int = 400,\n wait: bool = True,\n loop: bool = False,\n clear: bool = False,\n) -> None:\n \"\"\"Shows images, letters or digits on the LED display.\n\n Example: ``display.show(Image.HEART)``\n\n When ``image`` is an image or a list of images then each image is displayed in turn.\n If ``image`` is a string or number, each letter or digit is displayed in turn.\n\n :param image: A string, number, image or list of images to show.\n :param delay: Each letter, digit or image is shown with ``delay`` milliseconds between them.\n :param wait: If ``wait`` is ``True``, this function will block until the animation is finished, otherwise the animation will happen in the background.\n :param loop: If ``loop`` is ``True``, the animation will repeat forever.\n :param clear: If ``clear`` is ``True``, the display will be cleared after the sequence has finished.\n\n The ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\n \"\"\"\n ...\n\ndef scroll(\n text: Union[str, float, int],\n delay: int = 150,\n wait: bool = True,\n loop: bool = False,\n monospace: bool = False,\n) -> None:\n \"\"\"Scrolls a number or text on the LED display.\n\n Example: ``display.scroll('micro:bit')``\n\n :param text: The string to scroll. If ``text`` is an integer or float it is first converted to a string using ``str()``.\n :param delay: The ``delay`` parameter controls how fast the text is scrolling.\n :param wait: If ``wait`` is ``True``, this function will block until the animation is finished, otherwise the animation will happen in the background.\n :param loop: If ``loop`` is ``True``, the animation will repeat forever.\n :param monospace: If ``monospace`` is ``True``, the characters will all take up 5 pixel-columns in width, otherwise there will be exactly 1 blank pixel-column between each character as they scroll.\n\n The ``wait``, ``loop`` and ``monospace`` arguments must be specified\n using their keyword.\n \"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Turn on the LED display.\n\n Example: ``display.on()``\n \"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Turn off the LED display (disabling the display allows you to re-use the GPIO pins for other purposes).\n\n Example: ``display.off()``\n \"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"Check whether the LED display is enabled.\n\n Example: ``display.is_on()``\n\n :return: ``True`` if the display is on, otherwise returns ``False``.\n \"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Read the light level.\n\n Example: ``display.read_light_level()``\n\n Uses the display's LEDs in reverse-bias mode to sense the amount of light\n falling on the display.\n\n :return: An integer between 0 and 255 representing the light level, with larger meaning more light.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Communicate with devices using the I\u00b2C bus protocol.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(\n freq: int = 100000, sda: MicroBitDigitalPin = pin20, scl: MicroBitDigitalPin = pin19\n) -> None:\n \"\"\"Re-initialize a peripheral.\n\n Example: ``i2c.init()``\n\n :param freq: clock frequency\n :param sda: ``sda`` pin (default 20)\n :param scl: ``scl`` pin (default 19)\n\n On a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\n the accelerometer and compass stop working, as they are connected\n internally to those pins. This warning does not apply to the **V2**\n revision of the micro:bit as this has `separate I\u00b2C lines `_\n for the motion sensors and the edge connector.\n \"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scan the bus for devices.\n\n Example: ``i2c.scan()``\n\n :return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\n \"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool = False) -> bytes:\n \"\"\"Read bytes from a device.\n\n Example: ``i2c.read(0x50, 64)``\n\n :param addr: The 7-bit address of the device\n :param n: The number of bytes to read\n :param repeat: If ``True``, no stop bit will be sent\n :return: The bytes read\n \"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool = False) -> None:\n \"\"\"Write bytes to a device.\n\n Example: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n :param addr: The 7-bit address of the device\n :param buf: A buffer containing the bytes to write\n :param repeat: If ``True``, no stop bit will be sent\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Respond to sound using the built-in microphone (V2 only).\n\"\"\"\n\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Get the last recorded sound event\n\n Example: ``microphone.current_event()``\n\n :return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\n \"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Check if a sound was heard at least once since the last call.\n\n Example: ``microphone.was_event(SoundEvent.LOUD)``\n\n This call clears the sound history before returning.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\n \"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Check the most recent sound event detected.\n\n Example: ``microphone.is_event(SoundEvent.LOUD)``\n\n This call does not clear the sound event history.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was the most recent heard, ``False`` otherwise.\n \"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Get the sound event history as a tuple.\n\n Example: ``microphone.get_events()``\n\n This call clears the sound history before returning.\n\n :return: A tuple of the event history with the most recent event last.\n \"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Set the threshold for a sound event.\n\n Example: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\n A high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n :param event: A sound event, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``.\n :param value: The threshold level in the range 0-255.\n \"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Get the sound pressure level.\n\n Example: ``microphone.sound_level()``\n\n :return: A representation of the sound pressure level in the range 0 to 255.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Control the built-in speaker (V2 only).\n\"\"\"\n\ndef off() -> None:\n \"\"\"Turn the speaker off.\n\n Example: ``speaker.off()``\n\n This does not disable sound output to an edge connector pin.\n \"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Turn the speaker on.\n\n Example: ``speaker.on()``\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communicate with devices using the serial peripheral interface (SPI) bus.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(\n baudrate: int = 1000000,\n bits: int = 8,\n mode: int = 0,\n sclk: MicroBitDigitalPin = pin13,\n mosi: MicroBitDigitalPin = pin15,\n miso: MicroBitDigitalPin = pin14,\n) -> None:\n \"\"\"Initialize SPI communication.\n\n Example: ``spi.init()``\n\n For correct communication, the parameters have to be the same on both communicating devices.\n\n :param baudrate: The speed of communication.\n :param bits: The width in bits of each transfer. Currently only ``bits=8`` is supported. However, this may change in the future.\n :param mode: Determines the combination of clock polarity and phase - `see online table `_.\n :param sclk: sclk pin (default 13)\n :param mosi: mosi pin (default 15)\n :param miso: miso pin (default 14)\n \"\"\"\n ...\n\ndef read(nbytes: int, out: int = 0) -> bytes:\n \"\"\"Read at most ``nbytes`` while continuously writing the single byte given by ``out``.\n\n Example: ``spi.read(64)``\n\n :param nbytes: Maximum number of bytes to read.\n :param out: The byte value to write (default 0).\n :return: The bytes read.\n \"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Write bytes to the bus.\n\n Example: ``spi.write(bytes([1, 2, 3]))``\n\n :param buffer: A buffer to read data from.\n \"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Write the ``out`` buffer to the bus and read any response into the ``in_`` buffer.\n\n Example: ``spi.write_readinto(out_buffer, in_buffer)``\n\n The length of the buffers should be the same. The buffers can be the same object.\n\n :param out: The buffer to write any response to.\n :param in_: The buffer to read data from.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Communicate with a device using a serial interface.\n\"\"\"\n\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\n\nODD: int\n\"\"\"Odd parity\"\"\"\n\nEVEN: int\n\"\"\"Even parity\"\"\"\n\ndef init(\n baudrate: int = 9600,\n bits: int = 8,\n parity: Optional[int] = None,\n stop: int = 1,\n tx: Optional[MicroBitDigitalPin] = None,\n rx: Optional[MicroBitDigitalPin] = None,\n) -> None:\n \"\"\"Initialize serial communication.\n\n Example: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n :param baudrate: The speed of communication.\n :param bits: The size of bytes being transmitted. micro:bit only supports 8.\n :param parity: How parity is checked, ``None``, ``uart.ODD`` or ``uart.EVEN``.\n :param stop: The number of stop bits, has to be 1 for micro:bit.\n :param tx: Transmitting pin.\n :param rx: Receiving pin.\n\n Initializing the UART on external pins will cause the Python console on\n USB to become unaccessible, as it uses the same hardware. To bring the\n console back you must reinitialize the UART without passing anything for\n ``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\n that calling ``uart.init(115200)`` is enough to restore the Python console.\n\n For more details see `the online documentation `_.\n \"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Check if any data is waiting.\n\n Example: ``uart.any()``\n\n :return: ``True`` if any data is waiting, else ``False``.\n \"\"\"\n ...\n\ndef read(nbytes: Optional[int] = None) -> Optional[bytes]:\n \"\"\"Read bytes.\n\n Example: ``uart.read()``\n\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read as many bytes as possible\n :return: A bytes object or ``None`` on timeout\n \"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int] = None) -> Optional[int]:\n \"\"\"Read bytes into the ``buf``.\n\n Example: ``uart.readinto(input_buffer)``\n\n :param buf: The buffer to write to.\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read ``len(buf)`` bytes.\n :return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\n \"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Read a line, ending in a newline character.\n\n Example: ``uart.readline()``\n\n :return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\n \"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Write a buffer to the bus.\n\n Example: ``uart.write('hello world')``\n\n :param buf: A bytes object or a string.\n :return: The number of bytes written, or ``None`` on timeout.\n\n Examples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\n \"\"\"\n ...\n", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pins, Bilder, T\u00f6ne, Temperatur und Lautst\u00e4rke.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Plant die Ausf\u00fchrung einer Funktion in dem durch die Zeitargumente festgelegten Intervall. **Nur micro:bit\\xa0V2**.\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Funktion, die in dem angegebenen Intervall aufgerufen wird. Bei Verwendung als Dekorator weglassen.\n:param days: Legt den Tag f\u00fcr die Planung fest.\n:param h: Legt die Uhrzeit f\u00fcr die Planung fest.\n:param min: Legt die Minute f\u00fcr die Planung fest.\n:param s: Legt die Sekunde f\u00fcr die Planung fest.\n:param ms: Legt die Millisekunde f\u00fcr die Planung fest.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"In einen Panik-Modus wechseln.\n\nExample: ``panic(127)``\n\n:param n: Eine beliebige ganze Zahl <= 255, um einen Status anzugeben.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"Board neu starten.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Konvertiert einen Wert aus einem Bereich in einen Ganzzahlenbereich.\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: (wert) Eine umzurechnende Zahl.\n:param from_: Ein Tupel, das den Bereich definiert, aus dem konvertiert werden soll.\n:param to: Ein Tupel, das den Bereich definiert, in den konvertiert werden soll.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Konvertiert einen Wert von einem Bereich in einen Gleitkommabereich.\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: Eine umzurechnende Zahl.\n:param from_: Ein Tupel, das den Bereich definiert, aus dem konvertiert werden soll.\n:param to: Ein Tupel, das den Bereich definiert, in den konvertiert werden soll.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Wartet ``n`` Millisekunden.\n\nExample: ``sleep(1000)``\n\n:param n: Die Anzahl der zu wartenden Millisekunden\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"Ermittelt die Laufzeit des Boards.\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"Ermittelt die Temperatur des micro:bit in Grad Celcius.\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Legt die Lautst\u00e4rke fest.\n\nExample: ``set_volume(127)``\n\n:param v: ein Wert zwischen 0 (niedrig) und 255 (hoch).\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"Die Klasse f\u00fcr die Tasten ``button_a`` und ``button_b``.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob die Taste gedr\u00fcckt ist.\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob die Taste seit dem Start des Ger\u00e4ts oder dem letzten Aufruf dieser Methode gedr\u00fcckt wurde.\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"Ermittelt die Gesamtzahl der Tastendr\u00fccke und setzt diese Summe auf Null zur\u00fcck, bevor sie zur\u00fcckgegeben wird.\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"Das Objekt ``Button`` der linken Taste.\"\"\"\nbutton_b: Button\n\"\"\"Das Objekt ``Button`` der rechten Taste.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"Ein digitaler Pin.\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"Ermittelt den digitalen Wert des Pins.\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"Stellt den digitalen Wert des Pins ein. (digital schreiben)\n\nExample: ``pin0.write_digital(1)``\n\n:param value: (wert) 1, um den Pin zu aktivieren, oder 0, um den Pin zu deaktivieren\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"Setze den Status des Pull-Widerstands auf einen von drei m\u00f6glichen Werten: ``PULL_UP``, ``PULL_DOWN`` oder ``NO_PULL``. (setze Pull-Widerstand)\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: (wert) Der Status des Pull-Widerstands vom relevanten Pin, z.B. ``pin0.PULL_UP``.\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"Abrufen des Status des Pull-Widerstands eines Pins. (gib Pull-Widerstand)\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"Gibt den Pin-Modus zur\u00fcck. (gib Pin-Modus)\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"Gib ein PWM-Signal am Pin aus, bei dem das Verh\u00e4ltnis von An- zu Auszeit proportional zu ``value`` ist. (analog schreiben)\n\nExample: ``pin0.write_analog(254)``\n\n:param value: (wert) Eine Ganzzahl oder eine Gleitpunktzahl zwischen 0 (0% Einschaltdauer) und 1023 (100% Einschaltdauer).\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"Setze die Periodendauer f\u00fcr die Ausgabe des PWM-Signals auf ``period`` in Mikrosekunden. (setze analoge Periodendauer)\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: (Periodendauer) Der Periodendauer in Millisekunden mit einem Mindestwert von 1ms.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Setzt den Zeitraum des PWM-Signals, das ausgegeben wird, auf ``period`` in Mikrosekunden. (setze analoge Periodendauer)\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: (Periodendauer) Die Periodendauer in Mikrosekunden mit einem Mindestwert von 256\\xa0\u03bcs.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"Ein Pin, der analogen und digitalen Signale erlaubt.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Einlesen der Spannung, die am Pin anliegt. (analog lesen)\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"Ein Pin mit analogen, digitalen und Touchfunktionen.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob der Pin ber\u00fchrt wird. (wird ber\u00fchrt)\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Legt den Ber\u00fchrungsmodus f\u00fcr den Pin fest. (definiert Ber\u00fchrungsmodus)\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: (wert) ``CAPACITIVE`` oder ``RESISTIVE`` Touchmodus des entsprechenden Pins.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"Pin mit digitalen, analogen und Touchfunktionen.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"Pin mit digitalen, analogen und Touchfunktionen.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"Pin mit digitalen, analogen und Touchfunktionen.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin mit digitalen und analogen Funktionen.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin mit digitalen und analogen Funktionen.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"Pin mit Unterst\u00fctzung f\u00fcr digitale Signale.\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"Pin mit Unterst\u00fctzung f\u00fcr digitale Signale.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin mit digitalen und analogen Funktionen.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"Pin mit digitalen Funktionen.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"Ein ber\u00fchrungsempfindlicher Logo-Pin auf der Vorderseite des micro:bit, der standardm\u00e4\u00dfig auf den kapazitiven Ber\u00fchrungsmodus eingestellt ist.\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"Ein Pin zur Ansteuerung des micro:bit-Lautsprechers.\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"Ein Bild, das auf dem micro:bit LED-Display angezeigt werden soll.\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"Herz-Bild.\"\"\"\n HEART_SMALL: Image\n \"\"\"Kleines Herz-Bild.\"\"\"\n HAPPY: Image\n \"\"\"Gl\u00fcckliches Gesichtsbild.\"\"\"\n SMILE: Image\n \"\"\"L\u00e4chelndes Gesichtsbild.\"\"\"\n SAD: Image\n \"\"\"Trauriges Gesichtsbild.\"\"\"\n CONFUSED: Image\n \"\"\"Verwirrtes Gesichtsbild.\"\"\"\n ANGRY: Image\n \"\"\"W\u00fctendes Gesichtsbild.\"\"\"\n ASLEEP: Image\n \"\"\"Schlafendes Gesichtsbild.\"\"\"\n SURPRISED: Image\n \"\"\"\u00dcberraschtes Gesichtsbild.\"\"\"\n SILLY: Image\n \"\"\"Albernes Gesichtsbild.\"\"\"\n FABULOUS: Image\n \"\"\"Bild mit Sonnenbrillengesicht. (fabelhaft)\"\"\"\n MEH: Image\n \"\"\"Gleichg\u00fcltiges Gesicht Bild.\"\"\"\n YES: Image\n \"\"\"abgehakt-Bild\"\"\"\n NO: Image\n \"\"\"angekreuzt-Bild\"\"\"\n CLOCK12: Image\n \"\"\"Bild mit Linie, die auf 12 Uhr zeigt.\"\"\"\n CLOCK11: Image\n \"\"\"Bild mit Linie, die auf 11 Uhr zeigt.\"\"\"\n CLOCK10: Image\n \"\"\"Bild mit Linie, die auf 10 Uhr zeigt.\"\"\"\n CLOCK9: Image\n \"\"\"Bild mit Linie, die auf 9 Uhr zeigt.\"\"\"\n CLOCK8: Image\n \"\"\"Bild mit Linie, die auf 8 Uhr zeigt.\"\"\"\n CLOCK7: Image\n \"\"\"Bild mit Linie, die auf 7 Uhr zeigt.\"\"\"\n CLOCK6: Image\n \"\"\"Bild mit Linie, die auf 6 Uhr zeigt.\"\"\"\n CLOCK5: Image\n \"\"\"Bild mit Linie, die auf 5 Uhr zeigt.\"\"\"\n CLOCK4: Image\n \"\"\"Bild mit Linie, die auf 4 Uhr zeigt.\"\"\"\n CLOCK3: Image\n \"\"\"Bild mit Linie, die auf 3 Uhr zeigt.\"\"\"\n CLOCK2: Image\n \"\"\"Bild mit Linie, die auf 2 Uhr zeigt.\"\"\"\n CLOCK1: Image\n \"\"\"Bild mit Linie, die auf 1 Uhr zeigt.\"\"\"\n ARROW_N: Image\n \"\"\"Bild eines Pfeils, der nach Norden zeigt.\"\"\"\n ARROW_NE: Image\n \"\"\"Bild eines Pfeils, der nach Nordosten zeigt.\"\"\"\n ARROW_E: Image\n \"\"\"Bild eines Pfeils, der nach Osten zeigt.\"\"\"\n ARROW_SE: Image\n \"\"\"Bild eines Pfeils, der nach S\u00fcdosten zeigt.\"\"\"\n ARROW_S: Image\n \"\"\"Bild eines Pfeils, der nach S\u00fcden zeigt.\"\"\"\n ARROW_SW: Image\n \"\"\"Bild eines Pfeils, der nach S\u00fcdwesten zeigt.\"\"\"\n ARROW_W: Image\n \"\"\"Bild eines Pfeils, der nach Westen zeigt.\"\"\"\n ARROW_NW: Image\n \"\"\"Bild eines Pfeils, der nach Nordwesten zeigt.\"\"\"\n TRIANGLE: Image\n \"\"\"Bild eines Dreiecks, das nach oben zeigt.\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"Bild eines Dreiecks in der linken Ecke.\"\"\"\n CHESSBOARD: Image\n \"\"\"Abwechselnd leuchtende LEDs in einem Schachbrettmuster.\"\"\"\n DIAMOND: Image\n \"\"\"Diamant-Bild.\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"Kleines Diamant-Bild.\"\"\"\n SQUARE: Image\n \"\"\"Quadrat-Bild\"\"\"\n SQUARE_SMALL: Image\n \"\"\"Kleines Quadrat-Bild.\"\"\"\n RABBIT: Image\n \"\"\"Kaninchen-Bild.\"\"\"\n COW: Image\n \"\"\"Kuh-Bild.\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"Viertelnoten-Bild.\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"Achtelnoten-Bild.\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"Achtelnotenpaar-Bild.\"\"\"\n PITCHFORK: Image\n \"\"\"Heugabel-Bild\"\"\"\n XMAS: Image\n \"\"\"Weihnachtsbaum-Bild.\"\"\"\n PACMAN: Image\n \"\"\"Pac-Man Spielfigurenbild.\"\"\"\n TARGET: Image\n \"\"\"Ziel-Bild\"\"\"\n TSHIRT: Image\n \"\"\"T-Shirt-Bild.\"\"\"\n ROLLERSKATE: Image\n \"\"\"Rollerskate-Bild.\"\"\"\n DUCK: Image\n \"\"\"Ente-Bild\"\"\"\n HOUSE: Image\n \"\"\"Haus-Bild\"\"\"\n TORTOISE: Image\n \"\"\"Schildkr\u00f6te-Bild\"\"\"\n BUTTERFLY: Image\n \"\"\"Schmetterling-Bild.\"\"\"\n STICKFIGURE: Image\n \"\"\"Strichm\u00e4nnchen-Bild.\"\"\"\n GHOST: Image\n \"\"\"Geist-Bild.\"\"\"\n SWORD: Image\n \"\"\"Schwert-Bild\"\"\"\n GIRAFFE: Image\n \"\"\"Giraffe-Bild.\"\"\"\n SKULL: Image\n \"\"\"Sch\u00e4del-Bild.\"\"\"\n UMBRELLA: Image\n \"\"\"Bild eines Schirms.\"\"\"\n SNAKE: Image\n \"\"\"Bild einer Schlange. (Schlange)\"\"\"\n SCISSORS: Image\n \"\"\"BIld einer Schere. (Schere)\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"Eine Liste mit allen CLOCK_ Bildern. (alle Uhren)\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"Eine Liste mit allen ARROW_ Bildern. (alle Pfeile)\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Erstellt ein Bild aus einer Zeichenkette, die beschreibt, welche LEDs leuchten.\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: (Zeichenkette) Eine Zeichenkette, die das Bild beschreibt.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"Erstelle ein leeres Bild mit ``width`` Spalten und ``height`` Zeilen.\n\n:param width: (Breite) Optionale Breite des Bildes\n:param height: (H\u00f6he) Optionale H\u00f6he des Bildes\n:param buffer: (Puffer) Optionales Array oder Bytes von ``width``\u00d7``height`` Ganzzahlen im Bereich 0-9 um das Bild zu initialisieren\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"Ermittelt die Anzahl der Spalten. (Breite)\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"Ermittelt die Anzahl der Zeilen. (H\u00f6he)\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Legt die Helligkeit eines Pixels fest. (Pixelwerte setzen)\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: Die Spaltennummer\n:param y: Die Zeilennummer\n:param value: (wert) Die Helligkeit als Ganzzahl zwischen 0 (dunkel) und 9 (hell)\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Ermittle die Helligkeit eines Pixels. (Pixelwerte holen)\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: Die Spaltennummer\n:param y: Die Zeilennummer\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"Erstellt ein neues Bild, indem das Bild nach links verschoben wird. (links verschieben)\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: Die Anzahl der Spalten um die verschoben wird\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"Erstellt ein neues Bild, indem das Bild nach rechts verschoben wird. (rechts verschieben)\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: Die Anzahl der Spalten um die verschoben wird\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"Erstellt ein neues Bild, indem das Bild nach oben verschoben wird. (nach oben verschieben)\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: Die Anzahl der Zeilen um die verschoben wird\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"Erstellt ein neues Bild, indem das Bild nach unten verschoben wird. (nach unten verschieben)\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: Die Anzahl der Zeilen um die verschoben wird\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Erstellen Sie ein neues Bild, indem das Bild zugeschnitten wird.\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: Die Offset-Spalte des Zuschneidens\n:param y: Die Offset-Zeile des Zuschneidens\n:param w: Die Zuschneide-Breite\n:param h: Die Zuschneide-H\u00f6he\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"Erstellt eine exakte Kopie des Bildes. (kopieren)\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"Erstellt ein neues Bild, indem es die Helligkeit der Pixel des Ausgangsbildes invertiert.\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"Legt die Helligkeit f\u00fcr alle Pixel des Bildes fest.\n\nExample: ``my_image.fill(5)``\n\n:param value: Die neue Helligkeit als Zahl zwischen 0 (dunkel) und 9 (hell).\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"Kopiert einen Bereich aus einem anderen Bild in dieses Bild.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: Das Ausgangsbild\n:param x: Der Anfangsspalten-Offset im Ausgangsbild\n:param y: Der Anfangszeilen-Offset im Ausgangsbild\n:param w: Die Anzahl der zu kopierenden Spalten\n:param h: Die Anzahl der zu kopierenden Zeilen\n:param xdest: Der Spalten-Offset, der in diesem Bild ge\u00e4ndert werden soll\n:param ydest: Der Zeilen-Offset, der in diesem Bild ge\u00e4ndert werden soll\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"Liefert eine kompakte Stringrepr\u00e4sentation des Bildes.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"Liefert eine lesbare String-Repr\u00e4sentation des Bildes.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"Erstellt ein neues Bild, indem f\u00fcr jedes Pixel die Helligkeitswerte der beiden Bilder addiert werden.\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: Das zu addierende Bild.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"Erstellt ein neues Bild, indem f\u00fcr jedes Pixel die Helligkeitswerte der beiden Bilder subtrahiert werden.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: Das zu subtrahierende Bild.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"Erstellt ein neues Bild, indem der Helligkeitswert jedes Pixels mit ``n`` multipliziert wird.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: Der Wert, mit dem multipliziert werden soll.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"Erstellt ein neues Bild, indem der Helligkeitswert jedes Pixels durch ``n`` dividiert wird.\n\nExample: ``Image.HEART / 2``\n\n:param n: Der Wert, durch den dividiert werden soll.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Stellt den \u00dcbergang von Klangereignissen von ``quiet`` auf ``loud`` dar; wie beim Klatschen oder Rufen.\"\"\"\n QUIET: SoundEvent\n \"\"\"Stellt den \u00dcbergang von akustischen Ereignissen, wie Sprechen oder Hintergrundmusik, von ``loud`` zu ``quiet`` dar. (stumm)\"\"\"\n\nclass Sound:\n \"\"\"Die eingebauten Kl\u00e4nge k\u00f6nnen mit ``audio.play(Sound.NAME)`` aufgerufen werden.\"\"\"\n GIGGLE: Sound\n \"\"\"Kichern-Sound.\"\"\"\n HAPPY: Sound\n \"\"\"Happy-Sound.\"\"\"\n HELLO: Sound\n \"\"\"Begr\u00fc\u00dfung-Sound\"\"\"\n MYSTERIOUS: Sound\n \"\"\"Geheimnisvoll-Sound\"\"\"\n SAD: Sound\n \"\"\"Traurig-Sound.\"\"\"\n SLIDE: Sound\n \"\"\"Gleitender Ton.\"\"\"\n SOARING: Sound\n \"\"\"Aufsteigender Klang. (aufsteigend)\"\"\"\n SPRING: Sound\n \"\"\"Springfeder Klang (Sppringfeder)\"\"\"\n TWINKLE: Sound\n \"\"\"Funkeln Klang (Funkeln)\"\"\"\n YAWN: Sound\n \"\"\"G\u00e4hnen Klang\"\"\"", + "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Messen Sie die Beschleunigung des micro:bit und erkennen Sie Gesten. (Beschleunigungssensor)\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Erhalte die Beschleunigungsmessung in der ``x`` -Achse in Milli-g.\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Erhalte die Beschleunigungsmessung in der ``y`` -Achse in Milli-g.\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Erhalte die Beschleunigungsmessung in der ``z`` -Achse in Milli-g.\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Erhalte die Beschleunigungsmessung in allen Achsen auf einmal als Tupel.\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Erhalte die Beschleunigungsmessung aller Achsen als positive Ganzzahl. Dies ist die euklidische Summe der x-, y- und z-Achsen.\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Erhalte den Namen der aktuellen Geste. (derzeitige Geste)\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob die benannte Geste derzeit aktiv ist. (ist Geste)\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: Der Name der Geste.\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob die benannte Geste seit dem letzten Aufruf aktiv war. (war Geste)\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: Der Name der Geste.\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Gibt ein Tupel der vergangenen Gesten zur\u00fcck.\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Legt den Bereich des Beschleunigungsmessers in g (Fallbeschleunigung) auf den n\u00e4chstgelegenen Wert fest, welcher von der Hardware unterst\u00fctzt wird. Diese sind ``2``, ``4``oder ``8`` g. (Bereich einstellen)\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: (wert) Neuer Bereich f\u00fcr den Beschleunigungssensor, eine Ganzzahl in ``g``.\"\"\"", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"T\u00f6ne mit dem micro:bit abspielen (Importiere ``audio`` f\u00fcr V1-Kompatibilit\u00e4t). (Audio)\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Wiedergeben eines eingebauten Sounds, Soundeffekts oder benutzerdefinierten Aufnahme .\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: (Quelle) Ein eingebauter ``Sound`` wie ``Sound.GIGGLE``, ein ``SoundEffect`` oder Beispieldaten als Teil eines ``AudioFrame`` Objekts.\n:param wait: Wenn ``wait`` ``True`` ist, wird diese Funktion blockiert, bis der Klang abgeschlossen ist.\n:param pin: Ein optionales Argument f\u00fcr den Ausgabepin kann angegeben werden, um die Standardeinstellung von ``pin0``zu \u00fcberschreiben. Wenn kein Ton wiedergegeben werden soll, kann ``pin=None`` verwendet werden.\n:param return_pin: Bestimmt einen Pin, mit dem der externen Lautsprecher anstatt mit Ground verbunden wird. Dies wird bei der **V2** Revision ignoriert.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob ein Ton abgespielt wird. (spielt gerade)\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Stoppt jede Audio-Wiedergabe. (Stop)\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"Ein Soundeffekt, zusammengestellt aus einer Reihe von Parametern, die \u00fcber den Konstruktor oder durch Attribute konfiguriert werden.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sinuswelle als Parameter f\u00fcr ``waveform``. (Sinuswelle)\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"S\u00e4gezahnkurve als Parameter f\u00fcr ``waveform``. (S\u00e4gezahnkurve)\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Dreiecksignal als Parameter f\u00fcr ``waveform``. (Dreiecksignal)\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Rechtecksignal als Parameter f\u00fcr ``waveform``. (Rechtecksignal)\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Rauschsignal als Parameter f\u00fcr ``waveform``. (Rauschsignal)\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Lineare Interpolation als Parameter f\u00fcr ``shape``. (lineare Interpolation)\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Kurven-Interpolation als Parameter f\u00fcr ``shape``. (geschwungene Kurve)\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmische Interpolation als Parameter f\u00fcr ``shape``. (logarithmische Interpolation)\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"Kein Effekt f\u00fcr ``fx`` verwendet. (kein fx)\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremelo-Effekt als Parameter f\u00fcr ``fx``. (fx Tremolo)\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato-Effekt als Parameter f\u00fcr ``fx``. (fx Vibrato)\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Triller-Effekt als Parameter f\u00fcr ``fx``. (fx Trillereffekt)\"\"\"\n freq_start: int\n \"\"\"Startfrequenz in Hertz (Hz), eine Zahl zwischen ``0`` und ``9999`` (Startfrequenz)\"\"\"\n freq_end: int\n \"\"\"Endfrequenz in Hertz (Hz), eine Zahl zwischen ``0`` und ``9999`` (Endfrequenz)\"\"\"\n duration: int\n \"\"\"Dauer des Klangs in Millisekunden, eine Zahl zwischen ``0`` und ``9999`` (Dauer)\"\"\"\n vol_start: int\n \"\"\"Startlautst\u00e4rke, eine Zahl zwischen ``0`` und ``255`` (vol Start)\"\"\"\n vol_end: int\n \"\"\"Endlautst\u00e4rke, eine Nummer zwischen ``0`` und ``255`` (vol Ende)\"\"\"\n waveform: int\n \"\"\"Typ der Sinuswelle, einer dieser Werte: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (zuf\u00e4llig generiertes Ger\u00e4usch)\"\"\"\n fx: int\n \"\"\"Effekt, der dem Sound hinzugef\u00fcgt werden soll. M\u00f6gliche Werte: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE`` oder ``FX_NONE``\"\"\"\n shape: int\n \"\"\"Die Art der Interpolationskurve zwischen der Anfangs- und der Endfrequenz. Verschiedene Wellenformen haben unterschiedliche Frequenz\u00e4nderungsraten. In Frage kommende Werte: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Erstellt einen neuen Soundeffekt.\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: (Startfrequenz) Startfrequenz in Hertz (Hz), eine Zahl zwischen ``0`` und ``9999``.\n:param freq_end: (Endfrequenz) Endfrequenz in Hertz (Hz), eine Zahl zwischen ``0`` und ``9999``.\n:param duration: (Dauer) Dauer des Tons in Millisekunden, eine Zahl zwischen ``0`` und ``9999``.\n:param vol_start: (vol Start) Startlautst\u00e4rke, eine Zahl zwischen ``0`` und ``255``.\n:param vol_end: (vol Ende) Endlautst\u00e4rke, eine Nummer zwischen ``0`` und ``255``.\n:param waveform: Typ der Sinuswelle, einer dieser Werte: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (zuf\u00e4llig generiertes Ger\u00e4usch).\n:param fx: Effekt, der dem Sound hinzugef\u00fcgt werden soll, in Frage kommende Werte: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, oder ``FX_NONE``.\n:param shape: Die Art der Interpolationskurve zwischen der Anfangs- und der Endfrequenz. Verschiedene Wellenformen haben unterschiedliche Frequenz\u00e4nderungsraten. In Frage kommende Werte: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Erstellt eine Kopie dieses ``SoundEffect``. (kopieren)\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"Ein ``AudioFrame``-Objekt ist eine Liste von 32 Samples, von denen jedes ein vorzeichenloses Byte ist \n(ganze Zahl zwischen 0 und 255).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"\u00dcberschreibt die Daten in diesem ``AudioFrame`` mit den Daten einer anderen ``AudioFrame``-Instanz.\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: ``AudioFrame`` Instanz von der die Daten kopiert werden sollen.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Benutze den eingebauten Kompass. (Kompass)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Startet den Kalibrierungsprozess.\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"\u00dcberpr\u00fcft, dass der Kompass kalibriert ist. (ist kalibriert)\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Setzt die Kalibrierung zur\u00fcck, sodass der Kompass nicht mehr kalibriert ist.\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Liefert die Magnetfeldst\u00e4rke der ``x``-Achse.\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Liefert die Magnetfeldst\u00e4rke der ``y``-Achse.\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Liefert die Magnetfeldst\u00e4rke der ``z``-Achse.\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Ermittelt die Kompassrichtung. (Ausrichtung)\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Ermittelt die Gr\u00f6\u00dfe des Magnetfelds um das Ger\u00e4t herum.\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", + "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Texte, Bilder und Animationen auf dem 5x5 LED-Display anzeigen. (Display)\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Ermittelt die Helligkeit der LED in Spalte ``x`` und Zeile ``y``.\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: Die Anzeige-Spalte (0..4)\n:param y: Die Anzeigezeile (0..4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Stellt die Helligkeit der LED in Spalte ``x`` und Zeile ``y`` ein.\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: Die Anzeige-Spalte (0..4)\n:param y: Die Anzeigezeile (0..4)\n:param value: Die Helligkeit zwischen 0 (aus) und 9 (am hellsten)\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Setzt die Helligkeit aller LEDs auf 0 (aus).\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"Zeigt Bilder, Buchstaben oder Ziffern auf der LED-Anzeige an.\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: Eine Zeichenkette, eine Zahl, ein Bild oder eine Liste von Bildern, die angezeigt werden sollen.\n:param delay: Jeder Buchstabe, jede Ziffer oder jedes Bild wird mit einer Verz\u00f6gerung von ``delay`` Millisekunden angezeigt.\n:param wait: Wenn ``wait`` ``True`` ist, wird diese Funktion das Programm so lange anhalten, bis die Animation beendet ist, andernfalls wird die Animation im Hintergrund ausgef\u00fchrt.\n:param loop: Wenn ``loop`` ``True`` ist, wird die Animation endlos wiederholt.\n:param clear: Wenn ``clear`` ``True`` ist, wird die Anzeige nach Beendigung der Sequenz gel\u00f6scht.\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"Scrollt eine Zahl oder einen Text auf dem LED-Display.\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: Die zu scrollende Zeichenkette. Wenn ``text`` ein Integer oder Float ist, wird der Text vorher mit ``str()`` in einen String umgewandelt.\n:param delay: Der Parameter ``delay`` bestimmt, wie schnell der Text gescrollt wird.\n:param wait: Wenn ``wait`` ``True`` ist, wird diese Funktion das Programm anhalten, bis die Animation beendet ist, andernfalls l\u00e4uft die Animation im Hintergrund ab.\n:param loop: Wenn ``loop`` ``True`` ist, wird die Animation endlos wiederholt.\n:param monospace: Wenn ``monospace`` ``True``ist, werden alle Zeichen 5 Pixel breit sein. Zwischen den Zeichen gibt es beim scrollen genau 1 leere Pixelspalte.\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Schaltet das LED-Display ein.\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Schaltet das LED-Display aus (Deaktivieren des Displays erm\u00f6glicht es dir, die GPIO-Pins f\u00fcr andere Zwecke zu verwenden).\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob die LED-Anzeige aktiviert ist.\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Bestimmt die Lichtintensit\u00e4t.\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Kommunikation mit Ger\u00e4ten \u00fcber das I2C-Busprotokoll.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"Eine Peripherie neu initialisieren.\n\nExample: ``i2c.init()``\n\n:param freq: Taktfrequenz\n:param sda: ``sda`` Pin (standardm\u00e4\u00dfig 20)\n:param scl: ``scl`` Pin (standardm\u00e4\u00dfig 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scannt den Bus nach Ger\u00e4ten.\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Liest Bytes von einem Ger\u00e4t..\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: Die 7-Bit-Adresse des Ger\u00e4ts\n:param n: Die Anzahl der zu lesenden Bytes\n:param repeat: (wiederholen) Wenn ``True``wird kein Stop-Bit gesendet\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"Schreibt Bytes auf ein Ger\u00e4t. (schreiben)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: Die 7-Bit-Adresse des Ger\u00e4ts\n:param buf: Ein Puffer mit den zu schreibenden Bytes\n:param repeat: (wiederholen) Wenn ``True``wird kein Stop-Bit gesendet\"\"\"\n ...", + "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Reagiere auf Ton mithilfe des integrierten Mikrofons (nur V2). (Mikrofon)\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Abrufen des letzten aufgezeichneten Sound-Ereignisses\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob seit dem letzten Anruf mindestens einmal ein Ger\u00e4usch geh\u00f6rt wurde.\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: Das Ereignis, auf das gepr\u00fcft werden soll, z. B. ``SoundEvent.LOUD`` oder ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"\u00dcberpr\u00fcft das zuletzt erkannte Sound-Ereignis.\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: Das Ereignis, auf das gepr\u00fcft werden soll, z. B. ``SoundEvent.LOUD`` oder ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Liefert den Verlauf der Sound-Ereignisse in Form eines Tupels.\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Legt den Schwellenwert f\u00fcr ein Sound-Ereignis fest.\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: Ein Sound-Ereignis, wie ``SoundEvent.LOUD`` oder ``SoundEvent.QUIET``.\n:param value: (wert) Der Schwellenwert im Bereich 0-255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Ermittelt den Schalldruckpegel. (Lautst\u00e4rke)\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", + "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Steuere den integrierten Lautsprecher (nur V2). (Lautsprecher)\"\"\"\n\ndef off() -> None:\n \"\"\"Schaltet den Lautsprecher aus.\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Schaltet den Lautsprecher ein.\n\nExample: ``speaker.on()``\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Kommunikation mit Ger\u00e4ten \u00fcber die serielle Schnittstelle (SPI).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"SPI-Kommunikation initialisieren.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: Die \u00dcbertragungsgeschwindigkeit.\n:param bits: Die Breite in Bits jeder \u00dcbertragung. Derzeit wird nur ``bits=8`` unterst\u00fctzt. Dies kann sich jedoch in Zukunft \u00e4ndern.\n:param mode: Legt die Kombination aus Taktpolarit\u00e4t und Phase fest - `siehe Online-Tabelle `_.\n:param sclk: SCLK Pin (standardm\u00e4\u00dfig 13)\n:param mosi: MOSI Pin (standardm\u00e4\u00dfig 15)\n:param miso: miso pin (Voreinstellung 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"Bytes lesen.\n\nExample: ``spi.read(64)``\n\n:param nbytes: Maximum der zu lesenden Bytes.\n:param out: The byte value to write (default 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Schreibt Bytes auf den Bus. (schreiben)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (Puffer) Ein Puffer, von dem Daten gelesen werden.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Schreibe den ``out`` Zwischenspeicher (Buffer) auf den Bus und lies jede Antwort in den ``in_`` Buffer.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: Der Puffer, in den eine Antwort geschrieben werden soll.\n:param in_: Der Puffer, von dem Daten gelesen werden.\"\"\"\n ...", + "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Kommunikation mit einem Ger\u00e4t \u00fcber eine serielle Schnittstelle.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"Ungerade Parit\u00e4t\"\"\"\nEVEN: int\n\"\"\"Gerade Parit\u00e4t (gerade)\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"Initialisiert die serielle Kommunikation.\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: (Baudrate) Die \u00dcbertragungsgeschwindigkeit.\n:param bits: (Bits) Die Gr\u00f6\u00dfe der Bytes die \u00fcbertragen werden. micro:bit unterst\u00fctzt nur 8.\n:param parity: (Parit\u00e4t) Wie Parit\u00e4t gepr\u00fcft wird, ``None``, ``uart.ODD`` oder ``uart.EVEN``.\n:param stop: (Stop) Die Anzahl der Stopbits, muss 1 f\u00fcr micro:bit sein.\n:param tx: Sendepin.\n:param rx: Empfangspin.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"\u00dcberpr\u00fcft, ob irgendwelche Daten warten.\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"Bytes lesen.\n\nExample: ``uart.read()``\n\n:param nbytes: Wenn ``nbytes`` angegeben ist, werden h\u00f6chstens so viele Bytes gelesen. Andernfalls werden so viele Bytes wie m\u00f6glich gelesen.\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"Liest Bytes in ``buf``.\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: Der Puffer, in den geschrieben werden soll.\n:param nbytes: Wenn ``nbytes`` angegeben ist, werden h\u00f6chstens so viele Bytes gelesen. Andernfalls werden ``len(buf)`` Bytes gelesen.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Liest eine Zeile bis zu einem Zeilenumbruch.\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Schreibt einen Puffer auf den Bus. (schreiben)\n\nExample: ``uart.write('hello world')``\n\n:param buf: Ein Byte-Objekt oder ein String.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" } diff --git a/src/micropython/main/typeshed.es-es.json b/src/micropython/main/typeshed.es-es.json index a1439b3f0..891665b12 100644 --- a/src/micropython/main/typeshed.es-es.json +++ b/src/micropython/main/typeshed.es-es.json @@ -7,23 +7,23 @@ "/typeshed/stdlib/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\n# Re-export for V1 compatibility.\nfrom .microbit.audio import (\n is_playing as is_playing,\n play as play,\n stop as stop,\n AudioFrame as AudioFrame,\n SoundEffect as SoundEffect,\n)\n", "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", - "/typeshed/stdlib/gc.pyi": "\"\"\"Control the garbage collector\"\"\"\n\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"Enable automatic garbage collection.\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"Disable automatic garbage collection.\n\n Heap memory can still be allocated,\n and garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Run a garbage collection.\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Get the number of bytes of heap RAM that are allocated.\n\n :return: The number of bytes allocated.\n\n This function is MicroPython extension.\n \"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Get the number of bytes of available heap RAM, or -1 if this amount is not known.\n\n :return: The number of bytes free.\n\n This function is MicroPython extension.\n \"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Query the additional GC allocation threshold.\n\n :return: The GC allocation threshold.\n\n This function is a MicroPython extension. CPython has a similar\n function - ``set_threshold()``, but due to different GC\n implementations, its signature and semantics are different.\n \"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Set the additional GC allocation threshold.\n\n Normally, a collection is triggered only when a new allocation\n cannot be satisfied, i.e. on an out-of-memory (OOM) condition.\n If this function is called, in addition to OOM, a collection\n will be triggered each time after ``amount`` bytes have been\n allocated (in total, since the previous time such an amount of bytes\n have been allocated). ``amount`` is usually specified as less than the\n full heap size, with the intention to trigger a collection earlier than when the\n heap becomes exhausted, and in the hope that an early collection will prevent\n excessive memory fragmentation. This is a heuristic measure, the effect\n of which will vary from application to application, as well as\n the optimal value of the ``amount`` parameter.\n\n A value of -1 means a disabled allocation threshold.\n\n This function is a MicroPython extension. CPython has a similar\n function - ``set_threshold()``, but due to different GC\n implementations, its signature and semantics are different.\n\n :param amount: The number of bytes after which a garbage collection should be triggered.\n \"\"\"\n ...\n", - "/typeshed/stdlib/log.pyi": "\"\"\"Log data to your micro:bit V2.\"\"\"\n\nfrom typing import Literal, Mapping, Optional, Union, overload\n\nMILLISECONDS = 1\n\"\"\"Milliseconds timestamp format.\"\"\"\n\nSECONDS = 10\n\"\"\"Seconds timestamp format.\"\"\"\n\nMINUTES = 600\n\"\"\"Minutes timestamp format.\"\"\"\n\nHOURS = 36000\n\"\"\"Hours timestamp format.\"\"\"\n\nDAYS = 864000\n\"\"\"Days timestamp format.\"\"\"\n\ndef set_labels(\n *labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]] = SECONDS\n) -> None:\n \"\"\"Set up the log file header.\n\n Example: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\n Ideally this function should be called a single time, before any data is\n logged, to configure the data table header once.\n\n If a log file already exists when the program starts, or if this function\n is called multiple times, it will check the labels already defined in the\n log file. If this function call contains any new labels not already\n present, it will generate a new header row with the additional columns.\n\n By default the first column contains a timestamp for each row. The time\n unit can be selected via the timestamp argument.\n\n :param *labels: Any number of positional arguments, each corresponding to an entry in the log header.\n :param timestamp: Select the timestamp unit that will be automatically added as the first column in every row. Timestamp values can be one of ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` or ``None`` to disable the timestamp. The default value is ``log.SECONDS``.\n \"\"\"\n ...\n\n@overload\ndef add(\n data_dictionary: Optional[Mapping[str, Union[str, int, float]]],\n) -> None:\n \"\"\"Add a data row to the log by passing a dictionary of headers and values.\n\n Example: ``log.add({ 'temp': temperature() })``\n\n Each call to this function adds a row to the log.\n\n New labels not previously specified via the set_labels function, or by a\n previous call to this function, will trigger a new header entry to be added\n to the log with the extra labels.\n\n Labels previously specified and not present in a call to this function will\n be skipped with an empty value in the log row.\n\n :param data_dictionary: The data to log as a dictionary with a key for each header.\n \"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"Add a data row to the log using keyword arguments.\n\n Example: ``log.add(temp=temperature())``\n\n Each call to this function adds a row to the log.\n\n New labels not previously specified via the set_labels function, or by a\n previous call to this function, will trigger a new header entry to be added\n to the log with the extra labels.\n\n Labels previously specified and not present in a call to this function will\n be skipped with an empty value in the log row.\n \"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"Deletes the contents of the log, including headers.\n\n Example: ``log.delete()``\n\n To add the log headers again the ``set_labels`` function should to be called after this function.\n\n There are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\n and \u201cfast\u201d invalidates the data without removing it.\n\n :param full: ``True`` selects a \u201cfull\u201d erase and ``False`` selects the \u201cfast\u201d erase method.\n \"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Configure mirroring of the data logging activity to the serial output.\n\n Example: ``log.set_mirroring(True)``\n\n Serial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n :param serial: ``True`` enables mirroring data to the serial output.\n \"\"\"\n ...\n", + "/typeshed/stdlib/gc.pyi": "\"\"\"Controlar el recolector de basura (rb)\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"Activar la recolecci\u00f3n autom\u00e1tica de basura. (habilitado)\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"Desactiva la recolecci\u00f3n autom\u00e1tica de basura. (deshabilitar)\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Ejecuta una recolecci\u00f3n de basura. (recoger)\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Obtiene el n\u00famero de bytes asignados a la RAM din\u00e1mica. (memoria asignada)\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Obtiene el n\u00famero de bytes de la RAM din\u00e1mica disponible o -1 si se desconoce esta cantidad. (memoria libre)\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Consulta el umbral de asignaci\u00f3n de GC (recolector de basura) adicional. (l\u00edmite)\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Establece el umbral de asignaci\u00f3n de GC (recolector de basura) adicional. (l\u00edmite)\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: (cantidad) N\u00famero de bytes despu\u00e9s de los cuales se debe activar una recolecci\u00f3n de basura.\"\"\"\n ...", + "/typeshed/stdlib/log.pyi": "\"\"\"Registra datos en el micro:bit V2. (registrar)\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"Formato de marca temporal en milisegundos. (milisegundos)\"\"\"\nSECONDS = 10\n\"\"\"Formato de marca temporal en segundos. (segundos)\"\"\"\nMINUTES = 600\n\"\"\"Formato de marca temporal en minutos. (minutos)\"\"\"\nHOURS = 36000\n\"\"\"Formato de marca temporal en horas. (horas)\"\"\"\nDAYS = 864000\n\"\"\"Formato de marca temporal en d\u00edas. (d\u00edas)\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"Configura la cabecera del archivo de registro. (configurar etiquetas)\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: (*Etiquetas) Cualquier n\u00famero de argumentos posicionales, cada uno correspondiente a una entrada en el encabezado del registro.\n:param timestamp: (marca de tiempo) Selecciona la unidad de marca de tiempo que se a\u00f1adir\u00e1 autom\u00e1ticamente como la primera columna de cada fila. Los valores de la marca de tiempo pueden ser ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` o ``None`` para desactivar la marca de tiempo. El valor por defecto es ``log.SECONDS``.\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"A\u00f1ade una fila de datos al registro pasando un diccionario de cabeceras y valores. (a\u00f1adir)\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: (diccionario de datos) Los datos que se registrar\u00e1n como un diccionario con una clave para cada cabecera.\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"A\u00f1ade una fila de datos al registro usando argumentos de palabra clave. (a\u00f1adir)\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"Elimina el contenido del registro, incluyendo las cabeceras. (eliminar)\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: (completo) ``True`` selecciona un borrador \u201ccompleto\u201d y ``False`` selecciona el m\u00e9todo de borrado \u201cr\u00e1pido\u201d.\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Configura la duplicaci\u00f3n de la actividad de registro de datos en la salida serie. (configurar replicaci\u00f3n)\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: (serie) ``True`` habilita la reproducci\u00f3n de datos en la salida de serie.\"\"\"\n ...", "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", - "/typeshed/stdlib/machine.pyi": "\"\"\"Low-level utilities.\n\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"Get a byte string with a unique identifier of a board.\n\n Example: ``machine.unique_id()``\n\n :return: An identifier that varies from one board instance to another.\n \"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset the device in a manner similar to pushing the external RESET button.\n\n Example: ``machine.reset()``\n \"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"Get the CPU frequency in hertz.\n\n Example: ``machine.freq()``\n\n :return: The CPU frequency.\n \"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"Disable interrupt requests.\n\n Example: ``interrupt_state = machine.disable_irq()``\n\n :return: the previous IRQ state which should be considered an opaque value\n\n The return value should be passed to the ``enable_irq`` function to restore\n interrupts to their original state.\n \"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"Re-enable interrupt requests.\n\n Example: ``machine.enable_irq(interrupt_state)``\n\n :param state: The value that was returned from the most recent call to the ``disable_irq`` function.\n \"\"\"\n ...\n\ndef time_pulse_us(\n pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int = 1000000\n) -> int:\n \"\"\"Time a pulse on a pin.\n\n Example: ``time_pulse_us(pin0, 1)``\n\n If the current input value of the pin is different to ``pulse_level``, the\n function first waits until the pin input becomes equal to\n ``pulse_level``, then times the duration that the pin is equal to\n ``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\n starts straight away.\n\n :param pin: The pin to use\n :param pulse_level: 0 to time a low pulse or 1 to time a high pulse\n :param timeout_us: A microsecond timeout\n :return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\n \"\"\"\n ...\n\nclass mem:\n \"\"\"The class for the ``mem8``, ``mem16`` and ``mem32`` memory views.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Access a value from memory.\n\n :param address: The memory address.\n :return: The value at that address as an integer.\n \"\"\"\n ...\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"Set a value at the given address.\n\n :param address: The memory address.\n :param value: The integer value to set.\n \"\"\"\n ...\n\nmem8: mem\n\"\"\"8-bit (byte) view of memory.\"\"\"\n\nmem16: mem\n\"\"\"16-bit view of memory.\"\"\"\n\nmem32: mem\n\"\"\"32-bit view of memory.\"\"\"\n", - "/typeshed/stdlib/math.pyi": "\"\"\"Mathematical functions.\n\"\"\"\n\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Calculate the inverse cosine.\n\n Example: ``math.acos(1)``\n\n :param x: A number\n :return: The inverse cosine of ``x``\n \"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Calculate the inverse sine.\n\n Example: ``math.asin(0)``\n\n :param x: A number\n :return: The inverse sine of ``x``\n \"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Calculate the inverse tangent.\n\n Example: ``math.atan(0)``\n\n :param x: A number\n :return: The inverse tangent of ``x``\n \"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Calculate the principal value of the inverse tangent of ``y/x``.\n\n Example: ``math.atan2(0, -1)``\n\n :param y: A number\n :param x: A number\n :return: The principal value of the inverse tangent of ``y/x``\n \"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Round a number towards positive infinity.\n\n Example: ``math.ceil(0.1)``\n\n :param x: A number\n :return: ``x`` rounded towards positive infinity.\n \"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Calculate ``x`` with the sign of ``y``.\n\n Example: ``math.copysign(1, -1)``\n\n :param x: A number\n :param y: The source of the sign for the return value\n :return: ``x`` with the sign of ``y``\n \"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Calculate the cosine of ``x``.\n\n Example: ``math.cos(0)``\n\n :param x: A number\n :return: The cosine of ``x``\n \"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Convert radians to degrees.\n\n Example: ``math.degrees(2 * math.pi)``\n\n :param x: A value in radians\n :return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Calculate the exponential of ``x``.\n\n Example: ``math.exp(1)``\n\n :param x: A number\n :return: The exponential of ``x``.\n \"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Return the absolute value of ``x``.\n\n Example: ``math.fabs(-0.1)``\n\n :param x: A number\n :return: The absolute value of ``x``\n \"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Round a number towards negative infinity.\n\n Example: ``math.floor(0.9)``\n\n :param x: A number\n :return: ``x`` rounded towards negative infinity.\n \"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Calculate the remainder of ``x/y``.\n\n Example: ``math.fmod(10, 3)``\n\n :param x: The numerator\n :param y: The denominator\n \"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Decomposes a floating-point number into its mantissa and exponent.\n\n Example: ``mantissa, exponent = math.frexp(2)``\n\n The returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\n exactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\n the relation ``0.5 <= abs(m) < 1`` holds.\n\n :param x: A floating-point number\n :return: A tuple of length two containing its mantissa then exponent\n \"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"Check if a value is finite.\n\n Example: ``math.isfinite(float('inf'))``\n\n :param x: A number.\n :return: ``True`` if ``x`` is finite, ``False`` otherwise.\n \"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"Check if a value is infinite.\n\n Example: ``math.isinf(float('-inf'))``\n\n :param x: A number.\n :return: ``True`` if ``x`` is infinite, ``False`` otherwise.\n \"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Check if a value is not-a-number (NaN).\n\n Example: ``math.isnan(float('nan'))``\n\n :param x: A number\n :return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Calculate ``x * (2**exp)``.\n\n Example: ``math.ldexp(0.5, 2)``\n\n :param x: A number\n :param exp: Integer exponent\n :return: ``x * (2**exp)``\n \"\"\"\n ...\n\ndef log(x: float, base: float = e) -> float:\n \"\"\"Calculate the logarithm of ``x`` to the given base (defaults to natural logorithm).\n\n Example: ``math.log(math.e)``\n\n With one argument, return the natural logarithm of x (to base e).\n\n With two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n :param x: A number\n :param base: The base to use\n :return: The natural logarithm of ``x``\n \"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Calculate the fractional and integral parts of ``x``.\n\n Example: ``fractional, integral = math.modf(1.5)``\n\n :param x: A number\n :return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\n Both the fractional and integral values have the same sign as ``x``.\n \"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Returns ``x`` to the power of ``y``.\n\n Example: ``math.pow(4, 0.5)``\n\n :param x: A number\n :param y: The exponent\n :return: ``x`` to the power of ``y``\n \"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Convert a degrees to radians.\n\n Example: ``math.radians(360)``\n\n :param x: A value in degrees\n :return: The value converted to radians\n \"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Calculate the sine of ``x``.\n\n Example: ``math.sin(math.pi/2)``\n\n :param x: A number\n :return: The sine of ``x``\n \"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Calculate the square root of ``x``.\n\n Example: ``math.sqrt(4)``\n\n :param x: A number\n :return: The square root of ``x``\n \"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Calculate the tangent of ``x``.\n\n Example: ``math.tan(0)``\n\n :param x: A number\n :return: The tangent of ``x``.\n \"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Round a number towards 0.\n\n Example: ``math.trunc(-0.9)``\n\n :param x: A number\n :return: ``x`` rounded towards zero.\n \"\"\"\n ...\n\ne: float\n\"\"\"Base of the natural logarithm\"\"\"\n\npi: float\n\"\"\"The ratio of a circle's circumference to its diameter\"\"\"\n", - "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython internals.\"\"\"\n\nfrom typing import Any, TypeVar, overload\n\n_T = TypeVar(\"_T\")\n\ndef const(expr: _T) -> _T:\n \"\"\"Used to declare that the expression is a constant so that the compiler can\n optimise it.\n\n The use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\n Constants declared this way are still accessible as global variables from\n outside the module they are declared in. On the other hand, if a constant\n begins with an underscore then it is hidden, it is not available as a\n global variable, and does not take up any memory during execution.\n\n :param expr: A constant expression.\n \"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Get the current optimisation level for the compilation of scripts.\n\n Example: ``micropython.opt_level()``\n\n The optimisation level controls the following compilation features:\n\n - Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n - Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n - Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n :return: An integer representing the current level.\n \"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Sets the optimisation level for subsequent compilation of scripts.\n\n Example: ``micropython.opt_level(1)``\n\n The optimisation level controls the following compilation features:\n\n - Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n - Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n - Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n The default optimisation level is usually level 0.\n\n :param level: An integer optimisation level.\n \"\"\"\n ...\n\ndef mem_info(verbose: Any = None) -> None:\n \"\"\"Print information about currently used memory.\n\n Example: ``micropython.mem_info()``\n\n :param verbose: If the ``verbose`` argument is given then extra information is printed.\n \"\"\"\n ...\n\ndef qstr_info(verbose: Any = None) -> None:\n \"\"\"Print information about currently interned strings.\n\n Example: ``micropython.qstr_info()``\n\n :param verbose: If the ``verbose`` argument is given then extra information is printed.\n\n The information that is printed is implementation dependent, but currently\n includes the number of interned strings and the amount of RAM they use. In\n verbose mode it prints out the names of all RAM-interned strings.\n \"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Return an integer representing the current amount of stack that is being\n used.\n\n Example: ``micropython.stack_use()``\n\n The absolute value of this is not particularly useful, rather it\n should be used to compute differences in stack usage at different points.\n\n :return: An integer representing current stack use.\n \"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Lock the heap.\n\n Example: ``micropython.heap_lock()``\n\n When locked no memory allocation can occur and a ``MemoryError`` will be\n raised if any heap allocation is attempted.\n \"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Unlock the heap.\n\n Example: ``micropython.heap_unlock()``\n\n When locked no memory allocation can occur and a ``MemoryError`` will be\n raised if any heap allocation is attempted.\n \"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Set the character that will raise a ``KeyboardInterrupt`` exception.\n\n Example: ``micropython.kbd_intr(-1)``\n\n :param chr: Character code to raise the interrupt or -1 to disable capture of Ctrl-C.\n\n By default this is set to 3 during script execution, corresponding to Ctrl-C.\n Passing -1 to this function will disable capture of Ctrl-C, and passing 3\n will restore it.\n\n This function can be used to prevent the capturing of Ctrl-C on the\n incoming stream of characters that is usually used for the REPL, in case\n that stream is used for other purposes.\n \"\"\"\n ...\n", - "/typeshed/stdlib/music.pyi": "\"\"\"Create and play melodies.\n\"\"\"\nfrom typing import Optional, Tuple, Union, List\n\nfrom .microbit import MicroBitDigitalPin, pin0\n\nDADADADUM: Tuple[str, ...]\n\"\"\"Melody: the opening to Beethoven\u2019s 5th Symphony in C minor.\"\"\"\n\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melody: the opening fragment of Scott Joplin\u2019s Ragtime classic \u201cThe Entertainer\u201d.\"\"\"\n\nPRELUDE: Tuple[str, ...]\n\"\"\"Melody: the opening of the first Prelude in C Major of J.S.Bach\u2019s 48 Preludes and Fugues.\"\"\"\n\nODE: Tuple[str, ...]\n\"\"\"Melody: the \u201cOde to Joy\u201d theme from Beethoven\u2019s 9th Symphony in D minor.\"\"\"\n\nNYAN: Tuple[str, ...]\n\"\"\"Melody: the Nyan Cat theme (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\n\nRINGTONE: Tuple[str, ...]\n\"\"\"Melody: something that sounds like a mobile phone ringtone.\n\nTo be used to indicate an incoming message.\n\"\"\"\n\nFUNK: Tuple[str, ...]\n\"\"\"Melody: a funky bass line for secret agents and criminal masterminds.\"\"\"\n\nBLUES: Tuple[str, ...]\n\"\"\"Melody: a boogie-woogie 12-bar blues walking bass.\"\"\"\n\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melody: \u201cHappy Birthday to You\u2026\u201d\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\n\nWEDDING: Tuple[str, ...]\n\"\"\"Melody: the bridal chorus from Wagner\u2019s opera \u201cLohengrin\u201d.\"\"\"\n\nFUNERAL: Tuple[str, ...]\n\"\"\"Melody: the \u201cfuneral march\u201d otherwise known as Fr\u00e9d\u00e9ric Chopin\u2019s Piano Sonata No. 2 in B\u266d minor, Op. 35.\"\"\"\n\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melody: a fun fragment that signifies a joke has been made.\"\"\"\n\nPYTHON: Tuple[str, ...]\n\"\"\"Melody: John Philip Sousa\u2019s march \u201cLiberty Bell\u201d aka, the theme for \u201cMonty Python\u2019s Flying Circus\u201d (after which the Python programming language is named).\"\"\"\n\nBADDY: Tuple[str, ...]\n\"\"\"Melody: silent movie era entrance of a baddy.\"\"\"\n\nCHASE: Tuple[str, ...]\n\"\"\"Melody: silent movie era chase scene.\"\"\"\n\nBA_DING: Tuple[str, ...]\n\"\"\"Melody: a short signal to indicate something has happened.\"\"\"\n\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melody: a very sad trombone.\"\"\"\n\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melody: for use in a game, indicating upward movement.\"\"\"\n\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melody: for use in a game, indicating downward movement.\"\"\"\n\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melody: a fanfare to indicate an achievement unlocked.\"\"\"\n\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melody: a sad fanfare to indicate an achievement lost.\"\"\"\n\ndef set_tempo(ticks: int = 4, bpm: int = 120) -> None:\n \"\"\"Sets the approximate tempo for playback.\n\n Example: ``music.set_tempo(bpm=120)``\n\n :param ticks: The number of ticks constituting a beat.\n :param bpm: An integer determining how many beats per minute.\n\n Suggested default values allow the following useful behaviour:\n\n - music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n - music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n - music.set_tempo(bpm=180) \u2013 just change the tempo\n\n To work out the length of a tick in milliseconds is very simple arithmetic:\n 60000/bpm/ticks_per_beat. For the default values that\u2019s\n 60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\n \"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Gets the current tempo as a tuple of integers: ``(ticks, bpm)``.\n\n Example: ``ticks, beats = music.get_tempo()``\n\n :return: The temp as a tuple with two integer values, the ticks then the beats per minute.\n \"\"\"\n ...\n\ndef play(\n music: Union[str, List[str], Tuple[str, ...]],\n pin: Optional[MicroBitDigitalPin] = pin0,\n wait: bool = True,\n loop: bool = False,\n) -> None:\n \"\"\"Plays music.\n\n Example: ``music.play(music.NYAN)``\n\n :param music: music specified in `a special notation `_\n :param pin: the output pin for use with an external speaker (default ``pin0``), ``None`` for no sound.\n :param wait: If ``wait`` is set to ``True``, this function is blocking.\n :param loop: If ``loop`` is set to ``True``, the tune repeats until ``stop`` is called or the blocking call is interrupted.\n\n Many built-in melodies are defined in this module.\n \"\"\"\n ...\n\ndef pitch(\n frequency: int,\n duration: int = -1,\n pin: Optional[MicroBitDigitalPin] = pin0,\n wait: bool = True,\n) -> None:\n \"\"\"Play a note.\n\n Example: ``music.pitch(185, 1000)``\n\n :param frequency: An integer frequency\n :param duration: A millisecond duration. If negative then sound is continuous until the next call or a call to ``stop``.\n :param pin: Optional output pin (default ``pin0``).\n :param wait: If ``wait`` is set to ``True``, this function is blocking.\n\n For example, if the frequency is set to 440 and the length to\n 1000 then we hear a standard concert A for one second.\n\n You can only play one pitch on one pin at any one time.\n \"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin] = pin0) -> None:\n \"\"\"Stops all music playback on the built-in speaker and any pin outputting sound.\n\n Example: ``music.stop()``\n\n :param pin: An optional argument can be provided to specify a pin, e.g. ``music.stop(pin1)``.\n \"\"\"\n\ndef reset() -> None:\n \"\"\"Resets ticks, bpm, duration and octave to their default values.\n\n Example: ``music.reset()``\n\n Values:\n - ``ticks = 4``\n - ``bpm = 120``\n - ``duration = 4``\n - ``octave = 4``\n \"\"\"\n ...\n", - "/typeshed/stdlib/neopixel.pyi": "\"\"\"Individually addressable RGB and RGBW LED strips.\n\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int = 3) -> None:\n \"\"\"Initialise a new strip of neopixel LEDs controlled via a pin.\n\n Example: ``np = neopixel.NeoPixel(pin0, 8)``\n\n To support RGBW neopixels, a third argument can be passed to\n ``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\n For RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\n Each pixel is addressed by a position (starting from 0). Neopixels are\n given RGB (red, green, blue) / RGBW (red, green, blue, white) values\n between 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\n white. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\n See `the online docs `_ for warnings and other advice.\n\n :param pin: The pin controlling the neopixel strip.\n :param n: The number of neopixels in the strip.\n :param bpp: Bytes per pixel. For RGBW neopixel support, pass 4 rather than the default of 3 for RGB and GRB.\n \"\"\"\n ...\n def clear(self) -> None:\n \"\"\"Clear all the pixels.\n\n Example: ``np.clear()``\n \"\"\"\n ...\n def show(self) -> None:\n \"\"\"Show the pixels.\n\n Example: ``np.show()``\n\n Must be called for any updates to become visible.\n \"\"\"\n ...\n def write(self) -> None:\n \"\"\"Show the pixels (micro:bit V2 only).\n\n Example: ``np.write()``\n\n Must be called for any updates to become visible.\n\n Equivalent to ``show``.\n \"\"\"\n ...\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Colour all pixels a given RGB/RGBW value (micro:bit V2 only).\n\n Example: ``np.fill((0, 0, 255))``\n\n :param colour: A tuple of the same length as the number of bytes per pixel (bpp).\n\n Use in conjunction with ``show()`` to update the neopixels.\n \"\"\"\n ...\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Set a pixel colour.\n\n Example: ``np[0] = (255, 0, 0)``\n\n :param key: The pixel number.\n :param value: The colour.\n \"\"\"\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Get a pixel colour.\n\n Example: ``r, g, b = np[0]``\n\n :param key: The pixel number.\n :return: The colour tuple.\n \"\"\"\n def __len__(self) -> int:\n \"\"\"Get length of this pixel strip.\n\n Example: ``len(np)``\n \"\"\"\n", - "/typeshed/stdlib/os.pyi": "\"\"\"Access the file system.\n\"\"\"\n\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"List files.\n\n Example: ``os.listdir()``\n\n :return: A list of the names of all the files contained within the local\n persistent on-device file system.\n \"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Remove (delete) a file.\n\n Example: ``os.remove('data.txt')``\n\n :param filename: The file to delete.\n\n If the file does not exist an ``OSError`` exception will occur.\n \"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Returns the size of a file.\n\n Example: ``os.size('data.txt')``\n\n :param filename: The file\n :return: The size in bytes.\n\n If the file does not exist an ``OSError`` exception will occur.\n \"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Result of ``os.uname()``\"\"\"\n sysname: str\n \"\"\"Operating system name.\"\"\"\n\n nodename: str\n \"\"\"Name of machine on network (implementation-defined).\"\"\"\n\n release: str\n \"\"\"Operating system release.\"\"\"\n \n version: str\n \"\"\"Operating system version.\"\"\"\n \n machine: str\n \"\"\"Hardware identifier.\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Returns information identifying the current operating system.\n\n Example: ``os.uname()``\n\n The return value is an object with five attributes:\n\n - ``sysname`` - operating system name\n - ``nodename`` - name of machine on network (implementation-defined)\n - ``release`` - operating system release\n - ``version`` - operating system version\n - ``machine`` - hardware identifier\n\n There is no underlying operating system in MicroPython. As a result the\n information returned by the ``uname`` function is mostly useful for\n versioning details.\n \"\"\"\n ...\n", + "/typeshed/stdlib/machine.pyi": "\"\"\"Utilidades de bajo nivel. (m\u00e1quina)\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"Obtiene una cadena de bytes con un identificador \u00fanico de una placa. (id \u00fanico)\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Restablece el dispositivo de una forma similar a pulsar el bot\u00f3n externo RESET. (restablecer)\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"Obtiene la frecuencia de la CPU en hercios. (frec)\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"Desactiva las solicitudes de interrupci\u00f3n. (desactivar irq)\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"Reactiva las solicitudes de interrupci\u00f3n. (activar irq)\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: (estado) Valor devuelto por la llamada m\u00e1s reciente a la funci\u00f3n ``disable_irq``.\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"Cronometra el estado de un pin. (cronometrar estado us)\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: Pin a usar\n:param pulse_level: (nivel de estado) 0 para cronometrar un estado bajo o 1 para un estado alto\n:param timeout_us: (tiempo de espera us) Tiempo de espera en microsegundos\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"Clase para las vistas de memoria ``mem8``, ``mem16`` y ``mem32``.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Accede a un valor de la memoria. (obtener elemento)\n\n:param address: (direcci\u00f3n) La direcci\u00f3n de memoria.\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"Establece un valor en la direcci\u00f3n dada. (configurar elemento)\n\n:param address: (direcci\u00f3n) La direcci\u00f3n de memoria.\n:param value: (valor) El valor entero a establecer.\"\"\"\n ...\nmem8: mem\n\"\"\"Vista de memoria de 8 bits (byte).\"\"\"\nmem16: mem\n\"\"\"Vista de memoria de 16 bits.\"\"\"\nmem32: mem\n\"\"\"Vista de memoria de 32 bits.\"\"\"", + "/typeshed/stdlib/math.pyi": "\"\"\"Funciones matem\u00e1ticas. (matem\u00e1ticas)\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Calcula el inverso del coseno.\n\nExample: ``math.acos(1)``\n\n:param x: Un n\u00famero\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Calcula el inverso del seno. (asen)\n\nExample: ``math.asin(0)``\n\n:param x: Un n\u00famero\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Calcula el inverso de la tangente.\n\nExample: ``math.atan(0)``\n\n:param x: Un n\u00famero\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Calcula el valor principal del inverso de la tangente de ``y/x``.\n\nExample: ``math.atan2(0, -1)``\n\n:param y: Un n\u00famero\n:param x: Un n\u00famero\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Redondea un n\u00famero hacia el infinito positivo. (hacia arriba)\n\nExample: ``math.ceil(0.1)``\n\n:param x: Un n\u00famero\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Calcula ``x`` con el signo de ``y``.\n\nExample: ``math.copysign(1, -1)``\n\n:param x: Un n\u00famero\n:param y: Procedencia del signo para el valor que devuelve\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Calcula el coseno de ``x``.\n\nExample: ``math.cos(0)``\n\n:param x: Un n\u00famero\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Convierte radianes a grados. (grados)\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: Un valor en radianes\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Calcular el exponencial de ``x``.\n\nExample: ``math.exp(1)``\n\n:param x: Un n\u00famero\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Devuelve el valor absoluto de ``x``.\n\nExample: ``math.fabs(-0.1)``\n\n:param x: Un n\u00famero\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Redondea un n\u00famero hacia el infinito negativo. (hacia abajo)\n\nExample: ``math.floor(0.9)``\n\n:param x: Un n\u00famero\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Calcula el resto de ``x/y``.\n\nExample: ``math.fmod(10, 3)``\n\n:param x: El numerador\n:param y: El denominador\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Descompone un n\u00famero de coma flotante en su mantisa y exponente.\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: Un n\u00famero de coma flotante\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"Comprueba si un valor es finito. (esfinito)\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: Un n\u00famero.\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"Compruebe si un valor es infinito. (esinf)\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: Un n\u00famero.\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Comprueba si un valor no es un n\u00famero (NaN, not-a-number en ingl\u00e9s). (esnan)\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: Un n\u00famero\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Calcula ``x * (2**exp)``.\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: Un n\u00famero\n:param exp: Exponente entero\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"Calcula el logaritmo de ``x`` en la base dada (por defecto, el logaritmo natural). (registrar)\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: Un n\u00famero\n:param base: La base a usar\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Calcula la parte fraccionaria y entera de ``x``.\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: Un n\u00famero\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Devuelve ``x`` elevado a ``y``.\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: Un n\u00famero\n:param y: El exponente\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Convierte grados a radianes. (radianes)\n\nExample: ``math.radians(360)``\n\n:param x: Un valor en grados\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Calcula el seno de ``x``. (sen)\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: Un n\u00famero\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Calcula la ra\u00edz cuadrada de ``x``.\n\nExample: ``math.sqrt(4)``\n\n:param x: Un n\u00famero\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Calcula la tangente de ``x``.\n\nExample: ``math.tan(0)``\n\n:param x: Un n\u00famero\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Redondea un n\u00famero hacia 0.\n\nExample: ``math.trunc(-0.9)``\n\n:param x: Un n\u00famero\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"Base del logaritmo natural\"\"\"\npi: float\n\"\"\"La relaci\u00f3n entre la longitud de una circunferencia y su di\u00e1metro\"\"\"", + "/typeshed/stdlib/micropython.pyi": "\"\"\"Componentes internos de MicroPython.\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"Se usa para declarar que la expresi\u00f3n es una constante para que el compilador pueda\noptimizarla.\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: Una expresi\u00f3n constante.\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Obtiene el nivel actual de optimizaci\u00f3n para la compilaci\u00f3n de scripts. (nivel de opt)\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Establece el nivel de optimizaci\u00f3n para la posterior compilaci\u00f3n de scripts. (nivel de opt)\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: (nivel) Un entero que representa el nivel de optimizaci\u00f3n.\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"Imprime informaci\u00f3n sobre la memoria usada en este momento. (info de mem)\n\nExample: ``micropython.mem_info()``\n\n:param verbose: Si se pasa el argumento ``verbose``, se imprime informaci\u00f3n adicional.\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"Imprime informaci\u00f3n sobre las cadenas internadas en este momento. (info de cad actual)\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: Si se pasa el argumento ``verbose``, se imprime informaci\u00f3n adicional.\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Devuelve un entero que representa la cantidad de pila que se est\u00e1 usando en este momento. (pila usada)\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Bloquea el mont\u00f3n. (bloquear mont\u00f3n)\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Desbloquea el mont\u00f3n. (desbloquear el mont\u00f3n)\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Establece qu\u00e9 car\u00e1cter lanzar\u00e1 una excepci\u00f3n ``KeyboardInterrupt``. (intr tecl)\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: (car) C\u00f3digo de car\u00e1cter que lanzar\u00e1 la interrupci\u00f3n o -1 para desactivar la captura de Ctrl + C.\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", + "/typeshed/stdlib/music.pyi": "\"\"\"Crear y reproducir melod\u00edas. (m\u00fasica)\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"Melod\u00eda: apertura de la \"Sinfon\u00eda n.\u00ba 5 en do menor\" de Beethoven.\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melod\u00eda: fragmento inicial del cl\u00e1sico Ragtime de Scott Joplin \u201cThe Entertainer\u201d.\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"Melod\u00eda: apertura del primer \"Preludio en do mayor\" de los 48 Preludios y Fugas de J. S. Bach. (preludio)\"\"\"\nODE: Tuple[str, ...]\n\"\"\"Melod\u00eda: tema \u201cOda a la alegr\u00eda\u201d de la \"Sinfon\u00eda n.\u00ba 9 en re menor\" de Beethoven. (oda)\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"Melod\u00eda: el tema de Nyan Cat (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"Melod\u00eda: algo que suena como un tono de llamada de un tel\u00e9fono m\u00f3vil. (tono de llamada)\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"Melod\u00eda: una l\u00ednea de bajo funky para agentes secretos y maestros criminales.\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"Melod\u00eda: \"walking bass\" con un blues boogie-woogie de 12 compases.\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melod\u00eda: \u201cCumplea\u00f1os feliz\u201d (cumplea\u00f1os)\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"Melod\u00eda: coro nupcial de la \u00f3pera de Wagner \"Lohengrin\". (boda)\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"Melod\u00eda: \u201cMarcha f\u00fanebre\u201d, conocida tambi\u00e9n como \"Sonata para piano n.\u00ba 2 en si bemol menor, Op. 35\" de Fr\u00e9d\u00e9ric Chopin.\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melod\u00eda: un fragmento divertido que representa que se ha hecho un chiste. (remate)\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"Melod\u00eda: la marcha de John Philip Sousa \u201cLiberty Bell\u201d, tambi\u00e9n conocida por ser el tema del \u201cMonty Python Flying Circus\u201d (de donde obtiene su nombre el lenguaje de programaci\u00f3n Python).\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"Melod\u00eda: entrada de un malote en la \u00e9poca del cine mudo. (malote)\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"Melod\u00eda: escena de persecuci\u00f3n en la \u00e9poca del cine mudo. (persecuci\u00f3n)\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"Melod\u00eda: una se\u00f1al corta para indicar que algo ha pasado.\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melod\u00eda: un tromb\u00f3n muy triste.\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melod\u00eda: para usar en un juego, indicando un movimiento ascendente. (saltar arriba)\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melod\u00eda: para usar en un juego, indicando un movimiento descendente. (saltar abajo)\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melod\u00eda: una fanfarria para indicar un logro desbloqueado. (subida de potencia)\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melod\u00eda: una fanfarria triste para indicar un logro perdido. (bajada de potencia)\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"Establece el ritmo aproximado de la reproducci\u00f3n. (configurar tempo)\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: (tics) El n\u00famero de tics que constituyen un ritmo.\n:param bpm: Un entero que determina el n\u00famero de compases por minuto.\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Obtiene el ritmo actual como una tupla de enteros: ``(ticks, bpm)``. (obtener tempo)\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"Reproduce m\u00fasica. (reproducir)\n\nExample: ``music.play(music.NYAN)``\n\n:param music: (m\u00fasica) m\u00fasica especificada en `una notaci\u00f3n especial `_\n:param pin: pin de salida para usar con un altavoz externo (por defecto ``pin0``), ``None`` para que no haya sonido.\n:param wait: (esperar) Si ``wait`` se configura como ``True`` (verdadero), esta funci\u00f3n estar\u00e1 bloqueando.\n:param loop: (bucle) Si ``loop`` se configura como ``True`` (verdadero), la melod\u00eda se repite hasta que se llama a ``stop`` o se interrumpe la llamada de bloqueo.\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"Reproduce una nota. (tono)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (frecuencia) Una frecuencia entera\n:param duration: (duraci\u00f3n) La duraci\u00f3n en milisegundos. Si es negativa, el sonido continuar\u00e1 hasta la siguiente llamada o una llamada a ``stop``.\n:param pin: Pin de salida opcional (por defecto, ``pin0``).\n:param wait: (esperar) Si ``wait`` se configura como ``True`` (verdadero), esta funci\u00f3n estar\u00e1 bloqueando.\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Detiene la reproducci\u00f3n de toda la m\u00fasica en el altavoz integrado y en cualquier pin que est\u00e9 emitiendo sonido. (detener)\n\nExample: ``music.stop()``\n\n:param pin: Se puede proporcionar un argumento opcional para especificar un pin; por ejemplo, ``music.stop(pin1)``.\"\"\"\n\ndef reset() -> None:\n \"\"\"Restablece los valores de \"ticks\", \"bpm\", \"duration\" y \"octave\" a sus valores por defecto. (restablecer)\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"Tiras de LED RGB y RGBW accesibles individualmente.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"Inicializa una nueva tira de LED NeoPixel controlada a trav\u00e9s de un pin.\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: El pin que controla la tira NeoPixel.\n:param n: El n\u00famero de LED NeoPixel de la tira.\n:param bpp: Bytes por p\u00edxel. Para compatibilidad de neop\u00edxeles RGBW, pasa 4 en lugar del valor predeterminado de 3 para RGB y GRB.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"Borrar todos los p\u00edxeles. (borrar)\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"Muestra los p\u00edxeles. (mostrar)\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"Muestra los p\u00edxeles (solo micro:bit V2). (escribir)\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Colorea todos los p\u00edxeles con un valor RGB/RGBW dado (solo micro:bit V2). (llenar)\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: (color) Una tupla de la misma longitud que el n\u00famero de bytes por p\u00edxel (bpp).\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Establece el color de un p\u00edxel. (configurar elemento)\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: (clave) El n\u00famero de p\u00edxel.\n:param value: (valor) El color.\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Obtiene el color de un p\u00edxel. (obtener elemento)\n\nExample: ``r, g, b = np[0]``\n\n:param key: (clave) El n\u00famero de p\u00edxel.\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"Obtiene la longitud de esta tira de p\u00edxeles. (lon)\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/os.pyi": "\"\"\"Acceder al sistema de archivos. (so)\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"Lista los archivos.\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Elimina un archivo. (eliminar)\n\nExample: ``os.remove('data.txt')``\n\n:param filename: (nombre del archivo) El archivo a eliminar.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Devuelve el tama\u00f1o de un archivo. (tama\u00f1o)\n\nExample: ``os.size('data.txt')``\n\n:param filename: (nombre del archivo) El archivo\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Resultado de ``os.uname()`` (resultado de nombreu)\"\"\"\n sysname: str\n \"\"\"Nombre del sistema operativo. (nombre del sistema)\"\"\"\n nodename: str\n \"\"\"Nombre de la m\u00e1quina en la red (definida por la implementaci\u00f3n). (nombre del nodo)\"\"\"\n release: str\n \"\"\"Versi\u00f3n de lanzamiento del sistema operativo. (lanzamiento)\"\"\"\n version: str\n \"\"\"Versi\u00f3n del sistema operativo. (versi\u00f3n)\"\"\"\n machine: str\n \"\"\"Identificador de hardware. (m\u00e1quina)\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Devuelve informaci\u00f3n que identifica el sistema operativo actual. (nombreu)\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", - "/typeshed/stdlib/radio.pyi": "\"\"\"Communicate between micro:bits with the built-in radio.\n\"\"\"\n\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\n\nRATE_1MBIT: int\n\"\"\"Constant used to indicate a throughput of 1 MBit a second.\"\"\"\n\nRATE_2MBIT: int\n\"\"\"Constant used to indicate a throughput of 2 MBit a second.\"\"\"\n\ndef on() -> None:\n \"\"\"Turns the radio on.\n\n Example: ``radio.on()``\n\n This needs to be explicitly called since the radio draws power and takes\n up memory that you may otherwise need.\n \"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Turns off the radio, saving power and memory.\n\n Example: ``radio.off()``\n \"\"\"\n ...\n\ndef config(\n length: int = 32,\n queue: int = 3,\n channel: int = 7,\n power: int = 6,\n address: int = 0x75626974,\n group: int = 0,\n data_rate: int = RATE_1MBIT,\n) -> None:\n \"\"\"Configures the radio.\n\n Example: ``radio.config(group=42)``\n\n The default configuration is suitable for most use.\n\n :param length: (default=32) defines the maximum length, in bytes, of a message sent via the radio.\n It can be up to 251 bytes long (254 - 3 bytes for S0, LENGTH and S1 preamble).\n :param queue: (default=3) specifies the number of messages that can be stored on the incoming message queue.\n If there are no spaces left on the queue for incoming messages, then the incoming message is dropped.\n :param channel: (default=7) an integer value from 0 to 83 (inclusive) that defines an arbitrary \"channel\" to which the radio is tuned.\n Messages will be sent via this channel and only messages received via this channel will be put onto the incoming message queue. Each step is 1MHz wide, based at 2400MHz.\n :param power: (default=6) is an integer value from 0 to 7 (inclusive) to indicate the strength of signal used when broadcasting a message.\n The higher the value the stronger the signal, but the more power is consumed by the device. The numbering translates to positions in the following list of dBm (decibel milliwatt) values: -30, -20, -16, -12, -8, -4, 0, 4.\n :param address: (default=0x75626974) an arbitrary name, expressed as a 32-bit address, that's used to filter incoming packets at the hardware level, keeping only those that match the address you set.\n The default used by other micro:bit related platforms is the default setting used here.\n :param group: (default=0) an 8-bit value (0-255) used with the ``address`` when filtering messages.\n Conceptually, \"address\" is like a house/office address and \"group\" is like the person at that address to which you want to send your message.\n :param data_rate: (default=``radio.RATE_1MBIT``) indicates the speed at which data throughput takes place.\n Can be one of the following constants defined in the ``radio`` module: ``RATE_250KBIT``, ``RATE_1MBIT`` or ``RATE_2MBIT``.\n\n If ``config`` is not called then the defaults described above are assumed.\n \"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset the settings to their default values.\n\n Example: ``radio.reset()``\n\n The defaults as as per the ``config`` function above.\n \"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Sends a message containing bytes.\n\n Example: ``radio.send_bytes(b'hello')``\n\n :param message: The bytes to send.\n \"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Receive the next incoming message on the message queue.\n\n Example: ``radio.receive_bytes()``\n\n :return: The message bytes if any, otherwise ``None``.\n \"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Copy the next incoming message on the message queue into a buffer.\n\n Example: ``radio.receive_bytes_info(buffer)``\n\n :param buffer: The target buffer. The message is truncated if larger than the buffer.\n :return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\n \"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Sends a message string.\n\n Example: ``radio.send('hello')``\n\n This is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\n prepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n :param message: The string to send.\n \"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Works in exactly the same way as ``receive_bytes`` but returns whatever was sent.\n\n Example: ``radio.receive()``\n\n Equivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\n three bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\n may target the micro:bit).\n\n :return: The message with the prepended bytes stripped and converted to a string.\n\n A ``ValueError`` exception is raised if conversion to string fails.\n \"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Returns a tuple containing three values representing the next incoming message on the message queue.\n\n Example: ``radio.receive_full()``\n\n If there are no pending messages then ``None`` is returned.\n\n The three values in the tuple represent:\n\n - the next incoming message on the message queue as bytes.\n - the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n - a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\n For example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\n This function is useful for providing information needed for triangulation\n and/or trilateration with other micro:bit devices.\n\n :return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\n \"\"\"\n ...\n", - "/typeshed/stdlib/random.pyi": "\"\"\"Generate random numbers.\n\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"Generate an integer with ``n`` random bits.\n\n Example: ``random.getrandbits(1)``\n\n :param n: A value between 1-30 (inclusive).\n \"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Initialize the random number generator.\n\n Example: ``random.seed(0)``\n\n :param n: The integer seed\n\n This will give you reproducibly deterministic randomness from a given starting\n state (``n``).\n \"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"Choose a random integer between ``a`` and ``b`` inclusive.\n\n Example: ``random.randint(0, 9)``\n\n :param a: Start value for the range (inclusive)\n :param b: End value for the range (inclusive)\n\n Alias for ``randrange(a, b + 1)``.\n \"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"Choose a randomly selected integer between zero and up to (but not\n including) ``stop``.\n\n Example: ``random.randrange(10)``\n\n :param stop: End value for the range (exclusive)\n \"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int = 1) -> int:\n \"\"\"\n Choose a randomly selected element from ``range(start, stop, step)``.\n\n Example: ``random.randrange(0, 10)``\n\n :param start: The start of the range (inclusive)\n :param stop: The end of the range (exclusive)\n :param step: The step.\n \"\"\"\n ...\n\n_T = TypeVar(\"_T\")\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"Choose a random element from the non-empty sequence ``seq``.\n\n Example: ``random.choice([Image.HAPPY, Image.SAD])``\n\n :param seq: A sequence.\n\n If ``seq`` is empty, raises ``IndexError``.\n \"\"\"\n ...\n\ndef random() -> float:\n \"\"\"Generate a random floating point number in the range [0.0, 1.0).\n\n Example: ``random.random()``\n\n :return: The random floating point number\n \"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"\n Return a random floating point number between ``a`` and ``b`` inclusive.\n\n Example: ``random.uniform(0, 9)``\n\n :param a: Start value for the range (inclusive)\n :param b: End value for the range (inclusive)\n \"\"\"\n ...\n", - "/typeshed/stdlib/speech.pyi": "\"\"\"Make the micro:bit talk, sing and make other speech like sounds.\n\"\"\"\n\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"Translate English words to phonemes.\n\n Example: ``speech.translate('hello world')``\n\n :param words: A string of English words.\n :return: A string containing a best guess at the appropriate phonemes to pronounce.\n The output is generated from this `text to phoneme translation table `_.\n\n This function should be used to generate a first approximation of phonemes\n that can be further hand-edited to improve accuracy, inflection and\n emphasis.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef pronounce(\n phonemes: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: Optional[MicroBitDigitalPin] = pin0,\n) -> None:\n \"\"\"Pronounce phonemes.\n\n Example: ``speech.pronounce(' /HEHLOW WERLD')``\n\n :param phonemes: The string of phonemes to pronounce\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n Override the optional pitch, speed, mouth and throat settings to change the\n timbre (quality) of the voice.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef say(\n words: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: MicroBitDigitalPin = pin0,\n) -> None:\n \"\"\"Say English words.\n\n Example: ``speech.say('hello world')``\n\n :param words: The string of words to say.\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n The result is semi-accurate for English. Override the optional pitch, speed,\n mouth and throat settings to change the timbre (quality) of the voice.\n\n This is a short-hand equivalent of:\n ``speech.pronounce(speech.translate(words))``\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef sing(\n phonemes: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: MicroBitDigitalPin = pin0,\n) -> None:\n \"\"\"Sing phonemes.\n\n Example: ``speech.sing(' /HEHLOW WERLD')``\n\n :param phonemes: The string of words to sing.\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n Override the optional pitch, speed, mouth and throat settings to change\n the timbre (quality) of the voice.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n", - "/typeshed/stdlib/struct.pyi": "\"\"\"Pack and unpack primitive data types.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"Get the number of bytes needed to store the given ``fmt``.\n\n Example: ``struct.calcsize('hf')``\n\n :param fmt: A format string.\n :return The number of bytes needed to store such a value.\n \"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"Pack values according to a format string.\n\n Example: ``struct.pack('hf', 1, 3.1415)``\n\n :param fmt: The format string.\n :param v1: The first value.\n :param *vn: The remaining values.\n :return A bytes object encoding the values.\n \"\"\"\n ...\n\ndef pack_into(\n fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any\n) -> None:\n \"\"\"Pack values according to a format string.\n\n Example: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n :param fmt: The format string.\n :param buffer: The target buffer to write into.\n :param offset: The offset into the buffer. May be negative to count from the end of the buffer.\n :param v1: The first value.\n :param *vn: The remaining values.\n \"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"Unpack data according to a format string.\n\n Example: ``v1, v2 = struct.unpack('hf', buffer)``\n\n :param fmt: The format string.\n :param data: The data.\n :return: A tuple of the unpacked values.\n \"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int = 0) -> Tuple:\n \"\"\"Unpack data from a buffer according to a format string.\n\n Example: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n :param fmt: The format string.\n :param buffer: The source buffer to read from.\n :param offset: The offset into the buffer. May be negative to count from the end of the buffer.\n :return: A tuple of the unpacked values.\n \"\"\"\n ...\n", - "/typeshed/stdlib/sys.pyi": "\"\"\"System specific functions\"\"\"\n\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object = ...) -> NoReturn:\n \"\"\"Terminate current program with a given exit code.\n\n Example: ``sys.exit(1)``\n\n This function raises a ``SystemExit`` exception. If an argument is given, its\n value given as an argument to ``SystemExit``.\n\n :param retval: The exit code or message.\n \"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"\n Print an exception with a traceback.\n\n Example: ``sys.print_exception(e)``\n\n :param exc: The exception to print\n\n This is simplified version of a function which appears in the\n ``traceback`` module in CPython.\n \"\"\"\n\nargv: List[str]\n\"\"\"A mutable list of arguments the current program was started with.\"\"\"\n\nbyteorder: str\n\"\"\"The byte order of the system (``\"little\"`` or ``\"big\"``).\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\n\nimplementation: _implementation\n\"\"\"Object with information about the current Python implementation.\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\n\nmaxsize: int\n\"\"\"\nMaximum value which a native integer type can hold on the current platform,\nor maximum value representable by MicroPython integer type, if it's smaller\nthan platform max value (that is the case for MicroPython ports without\nlong int support).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\n\nmodules: Dict[str, Any]\n\"\"\"Dictionary of loaded modules. \n\nOn some ports, it may not include builtin modules.\"\"\"\n\npath: List[str]\n\"\"\"A mutable list of directories to search for imported modules.\"\"\"\n\nplatform: str\n\"\"\"The platform that MicroPython is running on. \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\n\nversion: str\n\"\"\"Python language version that this implementation conforms to, as a string.\"\"\"\n\nversion_info: Tuple[int, int, int]\n\"\"\"Python language version that this implementation conforms to, as a tuple of ints.\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"\n", + "/typeshed/stdlib/radio.pyi": "\"\"\"Comunicarse entre micro:bits con la radio incorporada.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"Constante utilizada para indicar un rendimiento de 1 Mb por segundo. (tasa de 1 mbit)\"\"\"\nRATE_2MBIT: int\n\"\"\"Constante utilizada para indicar un rendimiento de 2 Mb por segundo. (tasa de 2 mbit)\"\"\"\n\ndef on() -> None:\n \"\"\"Enciende la radio. (encender)\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Apaga la radio, ahorrando energ\u00eda y memoria. (apagado)\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"Configura la radio.\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (longitud) (valor predeterminado = 32) define la longitud m\u00e1xima, en bytes, de un mensaje enviado a trav\u00e9s de la radio.\nPuede tener hasta 251 bytes de largo (254 - 3 bytes para pre\u00e1mbulos S0, LENGTH y S1).\n:param queue: (cola) (valor predeterminado = 3) especifica el n\u00famero de mensajes que pueden almacenarse en la cola de mensajes entrantes.\nSi no quedan espacios en la cola para los mensajes entrantes, el mensaje entrante ser\u00e1 eliminado.\n:param channel: (canal) (valor predeterminado = 7) un valor entero de 0 a 83 (inclusive) que define un \"canal\" arbitrario en el cual la radio est\u00e1 sintonizada.\nLos mensajes se enviar\u00e1n a trav\u00e9s de este canal y solo los mensajes recibidos a trav\u00e9s de este canal se pondr\u00e1n en la cola de mensajes entrantes. Cada paso es de 1 MHz de ancho, basado en 2400 MHz.\n:param power: (potencia) (valor predeterminado = 6) es un valor entero de 0 a 7 (inclusive) para indicar la fuerza de la se\u00f1al usada al transmitir un mensaje.\nCuanto m\u00e1s alto sea el valor, m\u00e1s fuerte es la se\u00f1al, pero m\u00e1s energ\u00eda consume el dispositivo. La numeraci\u00f3n se traduce a posiciones en la siguiente lista de valores de dBm (decibelio-milivatio): -30, -20, -16, -12, -8, -4, 0, 4.\n:param address: (direcci\u00f3n) (valor predeterminado = 0x75626974) un nombre arbitrario, expresado como una direcci\u00f3n de 32 bits, que se usa para filtrar los paquetes entrantes a nivel de hardware, manteniendo solo aquellos que coincidan con la direcci\u00f3n que has establecido.\nEl valor predeterminado utilizado por otras plataformas relacionadas con el micro:bit es la configuraci\u00f3n predeterminada utilizada aqu\u00ed.\n:param group: (grupo) (valor predeterminado = 0) un valor de 8 bits (0 - 255) usado con el valor de ``address`` al filtrar mensajes.\nConceptualmente, \"address\" (direcci\u00f3n) es como una direcci\u00f3n de casa u oficina y \"group\" (grupo) es la persona que est\u00e1 en esa direcci\u00f3n y a la que quieres enviar un mensaje.\n:param data_rate: (tasa de datos) (valor predeterminado = ``radio.RATE_1MBIT``) indica la velocidad a la que se lleva a cabo el procesamiento de datos.\nPuede ser una de las siguientes constantes definidas en el m\u00f3dulo ``radio``: ``RATE_250KBIT``, ``RATE_1MBIT`` o ``RATE_2MBIT``.\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Restablece la configuraci\u00f3n a sus valores predeterminados. (restablecer)\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Env\u00eda un mensaje que contiene bytes. (enviar bytes)\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: (mensaje) Los bytes a enviar.\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Recibe el siguiente mensaje entrante en la cola de mensajes. (recibir bytes)\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Copia el siguiente mensaje entrante de la cola de mensajes en un b\u00fafer. (recibir bytes en)\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: (b\u00fafer) El b\u00fafer de destino. El mensaje se trunca si es m\u00e1s grande que el b\u00fafer.\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Env\u00eda una cadena de mensaje. (enviar)\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: (mensaje) La cadena a enviar.\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Funciona exactamente del mismo modo que ``receive_bytes``, pero devuelve lo que se envi\u00f3. (recibir)\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Devuelve una tupla de tres valores que representan el siguiente mensaje entrante de la cola de mensajes. (recibir completo)\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", + "/typeshed/stdlib/random.pyi": "\"\"\"Generar n\u00fameros aleatorios. (aleatorio)\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"Genera un entero con ``n`` bits aleatorios.\n\nExample: ``random.getrandbits(1)``\n\n:param n: Un valor entre 1 - 30 (inclusive).\"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Inicializa el generador de n\u00fameros aleatorios. (semilla)\n\nExample: ``random.seed(0)``\n\n:param n: La semilla como un n\u00famero entero\n\nThis will give you reproducibly deterministic randomness from a given starting\nstate (``n``).\"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"Elige un entero aleatorio entre ``a`` y ``b`` inclusive. (entero aleatorio)\n\nExample: ``random.randint(0, 9)``\n\n:param a: Valor inicial para el rango (inclusive)\n:param b: Valor final para el rango (inclusive)\n\nAlias for ``randrange(a, b + 1)``.\"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"Elige un entero seleccionado aleatoriamente desde cero hasta (pero sin incluir) ``stop``. (rango aleatorio)\n\nExample: ``random.randrange(10)``\n\n:param stop: (detener) Valor final para el rango (exclusivo)\"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int=1) -> int:\n \"\"\"Elige un elemento seleccionado aleatoriamente de ``range(start, stop, step)``. (rango aleatorio)\n\nExample: ``random.randrange(0, 10)``\n\n:param start: (comenzar) El inicio del rango (inclusive)\n:param stop: (detener) El final del rango (exclusivo)\n:param step: (paso) El paso.\"\"\"\n ...\n_T = TypeVar('_T')\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"Elige un elemento aleatorio de la secuencia no vac\u00eda ``seq``. (elecci\u00f3n)\n\nExample: ``random.choice([Image.HAPPY, Image.SAD])``\n\n:param seq: (sec) Una secuencia.\n\nIf ``seq`` is empty, raises ``IndexError``.\"\"\"\n ...\n\ndef random() -> float:\n \"\"\"Genera un n\u00famero de coma flotante aleatorio en el rango [0.0, 1.0). (aleatorio)\n\nExample: ``random.random()``\n\n:return: The random floating point number\"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"Devuelve un n\u00famero de coma flotante aleatorio entre ``a`` y ``b`` inclusive. (uniforme)\n\nExample: ``random.uniform(0, 9)``\n\n:param a: Valor inicial para el rango (inclusive)\n:param b: Valor final para el rango (inclusive)\"\"\"\n ...", + "/typeshed/stdlib/speech.pyi": "\"\"\"Hacer que el micro:bit hable, cante y haga otros sonidos parecidos a la voz. (habla)\"\"\"\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"Traducir palabras en ingl\u00e9s a fonemas. (traducir)\n\nExample: ``speech.translate('hello world')``\n\n:param words: (palabras) Una cadena de palabras en ingl\u00e9s.\n:return: A string containing a best guess at the appropriate phonemes to pronounce.\nThe output is generated from this `text to phoneme translation table `_.\n\nThis function should be used to generate a first approximation of phonemes\nthat can be further hand-edited to improve accuracy, inflection and\nemphasis.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef pronounce(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Pronunciar fonemas. (pronunciar)\n\nExample: ``speech.pronounce(' /HEHLOW WERLD')``\n\n:param phonemes: (fonemas) La cadena de fonemas a pronunciar\n:param pitch: (tono) Un n\u00famero que representa el tono de la voz\n:param speed: (velocidad) Un n\u00famero que representa la velocidad de la voz\n:param mouth: (boca) Un n\u00famero que representa la boca de la voz\n:param throat: (garganta) Un n\u00famero que representa la garganta de la voz\n:param pin: Se puede usar un argumento opcional para especificar el pin de salida, reemplazando el valor predeterminado de ``pin0``.\nSi no queremos que se reproduzca ning\u00fan sonido, podemos usar ``pin=None``. Solo para el micro:bit V2.\n\nOverride the optional pitch, speed, mouth and throat settings to change the\ntimbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef say(words: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Dice palabras en ingl\u00e9s. (decir)\n\nExample: ``speech.say('hello world')``\n\n:param words: (palabras) La cadena de palabras a decir.\n:param pitch: (tono) Un n\u00famero que representa el tono de la voz\n:param speed: (velocidad) Un n\u00famero que representa la velocidad de la voz\n:param mouth: (boca) Un n\u00famero que representa la boca de la voz\n:param throat: (garganta) Un n\u00famero que representa la garganta de la voz\n:param pin: Se puede usar un argumento opcional para especificar el pin de salida, reemplazando el valor predeterminado de ``pin0``.\nSi no queremos que se reproduzca ning\u00fan sonido, podemos usar ``pin=None``. Solo para el micro:bit V2.\n\nThe result is semi-accurate for English. Override the optional pitch, speed,\nmouth and throat settings to change the timbre (quality) of the voice.\n\nThis is a short-hand equivalent of:\n``speech.pronounce(speech.translate(words))``\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef sing(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Canta fonemas. (cantar)\n\nExample: ``speech.sing(' /HEHLOW WERLD')``\n\n:param phonemes: (fonemas) La cadena de palabras a cantar.\n:param pitch: (tono) Un n\u00famero que representa el tono de la voz\n:param speed: (velocidad) Un n\u00famero que representa la velocidad de la voz\n:param mouth: (boca) Un n\u00famero que representa la boca de la voz\n:param throat: (garganta) Un n\u00famero que representa la garganta de la voz\n:param pin: Se puede usar un argumento opcional para especificar el pin de salida, reemplazando el valor predeterminado de ``pin0``.\nSi no queremos que se reproduzca ning\u00fan sonido, podemos usar ``pin=None``. Solo para el micro:bit V2.\n\nOverride the optional pitch, speed, mouth and throat settings to change\nthe timbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...", + "/typeshed/stdlib/struct.pyi": "\"\"\"Empaquetar y desempaquetar tipos de dato primitivos. (estruc)\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"Obtiene el n\u00famero de bytes necesarios para almacenar el ``fmt`` dado. (calctama\u00f1o)\n\nExample: ``struct.calcsize('hf')``\n\n:param fmt: Una cadena de formato.\n:return The number of bytes needed to store such a value.\"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"Empaqueta valores seg\u00fan una cadena de formato. (empaquetar)\n\nExample: ``struct.pack('hf', 1, 3.1415)``\n\n:param fmt: La cadena de formato.\n:param v1: El primer valor.\n:param *vn: Los valores restantes.\n:return A bytes object encoding the values.\"\"\"\n ...\n\ndef pack_into(fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any) -> None:\n \"\"\"Empaqueta valores seg\u00fan una cadena de formato. (empaquetar en)\n\nExample: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n:param fmt: La cadena de formato.\n:param buffer: (b\u00fafer) El b\u00fafer de destino en el que se va a escribir.\n:param offset: (desplazamiento) El desplazamiento en el b\u00fafer. Puede ser negativo para contar desde el final del b\u00fafer.\n:param v1: El primer valor.\n:param *vn: Los valores restantes.\"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"Desempaqueta datos seg\u00fan una cadena de formato. (desempaquetar)\n\nExample: ``v1, v2 = struct.unpack('hf', buffer)``\n\n:param fmt: La cadena de formato.\n:param data: (datos) Los datos.\n:return: A tuple of the unpacked values.\"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int=0) -> Tuple:\n \"\"\"Desempaqueta datos de un b\u00fafer seg\u00fan una cadena de formato. (desempaquetar de)\n\nExample: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n:param fmt: La cadena de formato.\n:param buffer: (b\u00fafer) El b\u00fafer de origen del que leer.\n:param offset: (desplazamiento) El desplazamiento en el b\u00fafer. Puede ser negativo para contar desde el final del b\u00fafer.\n:return: A tuple of the unpacked values.\"\"\"\n ...", + "/typeshed/stdlib/sys.pyi": "\"\"\"Funciones espec\u00edficas del sistema\"\"\"\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object=...) -> NoReturn:\n \"\"\"Termina el programa actual con un c\u00f3digo de salida determinado. (salir)\n\nExample: ``sys.exit(1)``\n\nThis function raises a ``SystemExit`` exception. If an argument is given, its\nvalue given as an argument to ``SystemExit``.\n\n:param retval: El mensaje o c\u00f3digo de salida.\"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"Imprime una excepci\u00f3n con un seguimiento. (imprimir excepci\u00f3n)\n\nExample: ``sys.print_exception(e)``\n\n:param exc: La excepci\u00f3n a imprimir\n\nThis is simplified version of a function which appears in the\n``traceback`` module in CPython.\"\"\"\nargv: List[str]\n\"\"\"Una lista mutable de argumentos con los que se inici\u00f3 el programa actual.\"\"\"\nbyteorder: str\n\"\"\"El orden de bytes del sistema (``\"little\"`` o ``\"big\"``). (ordenbytes)\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\nimplementation: _implementation\n\"\"\"Objeto con informaci\u00f3n sobre la implementaci\u00f3n actual de Python. (implementaci\u00f3n)\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\nmaxsize: int\n\"\"\"\nValor m\u00e1ximo que un tipo entero nativo puede contener en la plataforma actual\no valor m\u00e1ximo representable por el tipo entero de MicroPython, en el caso de que sea m\u00e1s peque\u00f1o\nque el valor m\u00e1ximo de la plataforma (que es el caso de los puertos de MicroPython incompatibles con el\ntipo entero largo). (tama\u00f1om\u00e1x)\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\nmodules: Dict[str, Any]\n\"\"\"Diccionario de m\u00f3dulos cargados. (m\u00f3dulos) \n\nOn some ports, it may not include builtin modules.\"\"\"\npath: List[str]\n\"\"\"Una lista mutable de directorios para buscar m\u00f3dulos importados. (ruta)\"\"\"\nplatform: str\n\"\"\"La plataforma en la que se est\u00e1 ejecutando MicroPython. (plataforma) \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\nversion: str\n\"\"\"Versi\u00f3n del lenguaje Python a la que se ajusta esta implementaci\u00f3n, en forma de cadena. (versi\u00f3n)\"\"\"\nversion_info: Tuple[int, int, int]\n\"\"\"Versi\u00f3n del lenguaje Python a la que se ajusta esta implementaci\u00f3n, en forma de tupla de enteros. (info de versi\u00f3n)\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"", "/typeshed/stdlib/this.pyi": "def authors() -> str: ...\n", - "/typeshed/stdlib/time.pyi": "\"\"\"Measure time and add delays to programs.\n\"\"\"\n\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"\n Delay a number of seconds.\n\n Example: ``time.sleep(1)``\n\n :param seconds: The number of seconds to sleep for.\n Use a floating-point number to sleep for a fractional number of seconds.\n \"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"\n Delay for given number of milliseconds.\n\n Example: ``time.sleep_ms(1_000_000)``\n\n :param ms: The number of milliseconds delay (>= 0).\n \"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"\n Delay for given number of microseconds.\n\n Example: ``time.sleep_us(1000)``\n\n :param us: The number of microseconds delay (>= 0).\n \"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"\n Get an increasing, millisecond counter with an arbitrary reference point,\n that wraps around after some value.\n\n Example: ``time.ticks_ms()``\n\n :return: The counter value in milliseconds.\n \"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"\n Get an increasing, microsecond counter with an arbitrary reference point,\n that wraps around after some value.\n\n Example: ``time.ticks_us()``\n\n :return: The counter value in microseconds.\n \"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"\n Offset ticks value by a given number, which can be either positive or\n negative.\n\n Example: ``time.ticks_add(time.ticks_ms(), 200)``\n\n Given a ticks value, this function allows to calculate ticks\n value delta ticks before or after it, following modular-arithmetic\n definition of tick values.\n\n :param ticks: A ticks value\n :param delta: An integer offset\n\n Example::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\n \"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"\n Measure ticks difference between values returned from\n ``time.ticks_ms()`` or ``ticks_us()``, as a signed value\n which may wrap around.\n\n Example: ``time.ticks_diff(scheduled_time, now)``\n\n :param ticks1: The value to subtract from\n :param ticks2: The value to subtract\n\n The argument order is the same as for subtraction operator,\n ``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n ``ticks_diff()`` is designed to accommodate various usage\n patterns, among them:\n\n Polling with timeout. In this case, the order of events is known, and you\n will deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\n Scheduling events. In this case, :func:`time.ticks_diff()` result may be\n negative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\n \"\"\"\n ...\n", + "/typeshed/stdlib/time.pyi": "\"\"\"Mide el tiempo y a\u00f1ade retardos a los programas. (tiempo)\"\"\"\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"Retarda varios segundos. (dormir)\n\nExample: ``time.sleep(1)``\n\n:param seconds: (segundos) El n\u00famero de segundos de retardo.\nUsa un n\u00famero de coma flotante para generar un retardo durante un n\u00famero fraccional de segundos.\"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"Genera un retardo para el n\u00famero dado de milisegundos. (dormir ms)\n\nExample: ``time.sleep_ms(1_000_000)``\n\n:param ms: El n\u00famero de milisegundos de retardo (>= 0).\"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"Genera un retardo para el n\u00famero dado de microsegundos. (dormir us)\n\nExample: ``time.sleep_us(1000)``\n\n:param us: El n\u00famero de microsegundos de retardo (>= 0).\"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"Obtiene un contador en milisegundos creciente con un punto de referencia arbitrario que se reinicia despu\u00e9s de alg\u00fan valor. (tics ms)\n\nExample: ``time.ticks_ms()``\n\n:return: The counter value in milliseconds.\"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"Obtiene un contador en microsegundos creciente con un punto de referencia arbitrario que se reinicia despu\u00e9s de alg\u00fan valor. (tics us)\n\nExample: ``time.ticks_us()``\n\n:return: The counter value in microseconds.\"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"Valor de desplazamiento de tics por un n\u00famero determinado, el cual puede ser positivo o\nnegativo. (a\u00f1adir tics)\n\nExample: ``time.ticks_add(time.ticks_ms(), 200)``\n\nGiven a ticks value, this function allows to calculate ticks\nvalue delta ticks before or after it, following modular-arithmetic\ndefinition of tick values.\n\n:param ticks: (tics) Un valor de tics\n:param delta: Un desplazamiento entero\n\nExample::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"Mide la diferencia de tics entre los valores devueltos por ``time.ticks_ms()`` o ``ticks_us()`` como un valor con signo que se puede reiniciar. (diferencia de tics)\n\nExample: ``time.ticks_diff(scheduled_time, now)``\n\n:param ticks1: (tics1) El valor del que restar\n:param ticks2: (tics2) El valor a restar\n\nThe argument order is the same as for subtraction operator,\n``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n``ticks_diff()`` is designed to accommodate various usage\npatterns, among them:\n\nPolling with timeout. In this case, the order of events is known, and you\nwill deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\nScheduling events. In this case, :func:`time.ticks_diff()` result may be\nnegative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\"\"\"\n ...", "/typeshed/stdlib/types.pyi": "import sys\nfrom typing import (\n Any,\n AsyncGenerator,\n Awaitable,\n Callable,\n Generator,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n Tuple,\n Type,\n TypeVar,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, final\n\n# Note, all classes \"defined\" here require special handling.\n\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_V_co = TypeVar(\"_V_co\", covariant=True)\n\n@final\nclass _Cell:\n __hash__: None # type: ignore\n cell_contents: Any\n\n@final\nclass FunctionType:\n __closure__: Tuple[_Cell, ...] | None\n __code__: CodeType\n __defaults__: Tuple[Any, ...] | None\n __dict__: dict[str, Any]\n __globals__: dict[str, Any]\n __name__: str\n __qualname__: str\n __annotations__: dict[str, Any]\n __kwdefaults__: dict[str, Any]\n def __init__(\n self,\n code: CodeType,\n globals: dict[str, Any],\n name: str | None = ...,\n argdefs: Tuple[object, ...] | None = ...,\n closure: Tuple[_Cell, ...] | None = ...,\n ) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: object | None, type: type | None) -> MethodType: ...\n\nLambdaType = FunctionType\n\n@final\nclass CodeType:\n \"\"\"Create a code object. Not for the faint of heart.\"\"\"\n\n co_argcount: int\n if sys.version_info >= (3, 8):\n co_posonlyargcount: int\n co_kwonlyargcount: int\n co_nlocals: int\n co_stacksize: int\n co_flags: int\n co_code: bytes\n co_consts: Tuple[Any, ...]\n co_names: Tuple[str, ...]\n co_varnames: Tuple[str, ...]\n co_filename: str\n co_name: str\n co_firstlineno: int\n co_lnotab: bytes\n co_freevars: Tuple[str, ...]\n co_cellvars: Tuple[str, ...]\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n argcount: int,\n posonlyargcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n else:\n def __init__(\n self,\n argcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n if sys.version_info >= (3, 8):\n def replace(\n self,\n *,\n co_argcount: int = ...,\n co_posonlyargcount: int = ...,\n co_kwonlyargcount: int = ...,\n co_nlocals: int = ...,\n co_stacksize: int = ...,\n co_flags: int = ...,\n co_firstlineno: int = ...,\n co_code: bytes = ...,\n co_consts: Tuple[Any, ...] = ...,\n co_names: Tuple[str, ...] = ...,\n co_varnames: Tuple[str, ...] = ...,\n co_freevars: Tuple[str, ...] = ...,\n co_cellvars: Tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_lnotab: bytes = ...,\n ) -> CodeType: ...\n\n@final\nclass MappingProxyType(Mapping[_KT, _VT_co], Generic[_KT, _VT_co]):\n __hash__: None # type: ignore\n def __init__(self, mapping: Mapping[_KT, _VT_co]) -> None: ...\n def __getitem__(self, k: _KT) -> _VT_co: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __len__(self) -> int: ...\n def copy(self) -> dict[_KT, _VT_co]: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def items(self) -> ItemsView[_KT, _VT_co]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def __or__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n def __ror__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n\nclass SimpleNamespace:\n __hash__: None # type: ignore\n def __init__(self, **kwargs: Any) -> None: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __delattr__(self, name: str) -> None: ...\n\nclass ModuleType:\n __name__: str\n __file__: str\n __dict__: dict[str, Any]\n __package__: str | None\n def __init__(self, name: str, doc: str | None = ...) -> None: ...\n\n@final\nclass GeneratorType(Generator[_T_co, _T_contra, _V_co]):\n gi_code: CodeType\n gi_frame: FrameType\n gi_running: bool\n gi_yieldfrom: GeneratorType[_T_co, _T_contra, Any] | None\n def __iter__(self) -> GeneratorType[_T_co, _T_contra, _V_co]: ...\n def __next__(self) -> _T_co: ...\n def close(self) -> None: ...\n def send(self, __arg: _T_contra) -> _T_co: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> _T_co: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> _T_co: ...\n\n@final\nclass AsyncGeneratorType(AsyncGenerator[_T_co, _T_contra]):\n ag_await: Awaitable[Any] | None\n ag_frame: FrameType\n ag_running: bool\n ag_code: CodeType\n def __aiter__(self) -> AsyncGeneratorType[_T_co, _T_contra]: ...\n def __anext__(self) -> Awaitable[_T_co]: ...\n def asend(self, __val: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Awaitable[_T_co]: ...\n def aclose(self) -> Awaitable[None]: ...\n\n@final\nclass CoroutineType:\n cr_await: Any | None\n cr_code: CodeType\n cr_frame: FrameType\n cr_running: bool\n def close(self) -> None: ...\n def send(self, __arg: Any) -> Any: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Any: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Any: ...\n\nclass _StaticFunctionType:\n \"\"\"Fictional type to correct the type of MethodType.__func__.\n\n FunctionType is a descriptor, so mypy follows the descriptor protocol and\n converts MethodType.__func__ back to MethodType (the return type of\n FunctionType.__get__). But this is actually a special case; MethodType is\n implemented in C and its attribute access doesn't go through\n __getattribute__.\n\n By wrapping FunctionType in _StaticFunctionType, we get the right result;\n similar to wrapping a function in staticmethod() at runtime to prevent it\n being bound as a method.\n \"\"\"\n\n def __get__(self, obj: object | None, type: type | None) -> FunctionType: ...\n\n@final\nclass MethodType:\n __closure__: Tuple[_Cell, ...] | None # inherited from the added function\n __defaults__: Tuple[Any, ...] | None # inherited from the added function\n __func__: _StaticFunctionType\n __self__: object\n __name__: str # inherited from the added function\n __qualname__: str # inherited from the added function\n def __init__(self, func: Callable[..., Any], obj: object) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\n@final\nclass BuiltinFunctionType:\n __self__: object | ModuleType\n __name__: str\n __qualname__: str\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\nBuiltinMethodType = BuiltinFunctionType\n\nif sys.version_info >= (3, 7):\n @final\n class WrapperDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class MethodWrapperType:\n __self__: object\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, other: Any) -> bool: ...\n def __ne__(self, other: Any) -> bool: ...\n @final\n class MethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class ClassMethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n\n@final\nclass TracebackType:\n if sys.version_info >= (3, 7):\n def __init__(\n self,\n tb_next: TracebackType | None,\n tb_frame: FrameType,\n tb_lasti: int,\n tb_lineno: int,\n ) -> None: ...\n tb_next: TracebackType | None\n else:\n @property\n def tb_next(self) -> TracebackType | None: ...\n # the rest are read-only even in 3.7\n @property\n def tb_frame(self) -> FrameType: ...\n @property\n def tb_lasti(self) -> int: ...\n @property\n def tb_lineno(self) -> int: ...\n\n@final\nclass FrameType:\n f_back: FrameType | None\n f_builtins: dict[str, Any]\n f_code: CodeType\n f_globals: dict[str, Any]\n f_lasti: int\n f_lineno: int\n f_locals: dict[str, Any]\n f_trace: Callable[[FrameType, str, Any], Any] | None\n if sys.version_info >= (3, 7):\n f_trace_lines: bool\n f_trace_opcodes: bool\n def clear(self) -> None: ...\n\n@final\nclass GetSetDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\n@final\nclass MemberDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nif sys.version_info >= (3, 7):\n def new_class(\n name: str,\n bases: Iterable[object] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n def resolve_bases(bases: Iterable[object]) -> Tuple[Any, ...]: ...\n\nelse:\n def new_class(\n name: str,\n bases: Tuple[type, ...] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n\ndef prepare_class(\n name: str, bases: Tuple[type, ...] = ..., kwds: dict[str, Any] | None = ...\n) -> Tuple[type, dict[str, Any], dict[str, Any]]: ...\n\n# Actually a different type, but `property` is special and we want that too.\nDynamicClassAttribute = property\n\ndef coroutine(func: Callable[..., Any]) -> CoroutineType: ...\n\nif sys.version_info >= (3, 8):\n CellType = _Cell\n\nif sys.version_info >= (3, 9):\n class GenericAlias:\n __origin__: type\n __args__: Tuple[Any, ...]\n __parameters__: Tuple[Any, ...]\n def __init__(self, origin: type, args: Any) -> None: ...\n def __getattr__(self, name: str) -> Any: ... # incomplete\n\nif sys.version_info >= (3, 10):\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n EllipsisType = ellipsis # noqa F811 from builtins\n from builtins import _NotImplementedType\n\n NotImplementedType = _NotImplementedType # noqa F811 from builtins\n @final\n class UnionType:\n __args__: Tuple[Any, ...]\n def __or__(self, obj: Any) -> UnionType: ...\n def __ror__(self, obj: Any) -> UnionType: ...\n", "/typeshed/stdlib/typing.pyi": "import collections # Needed by aliases like DefaultDict, see mypy issue 2986\nimport sys\nfrom abc import ABCMeta, abstractmethod\nfrom types import BuiltinFunctionType, CodeType, FrameType, FunctionType, MethodType, ModuleType, TracebackType\nfrom typing_extensions import Literal as _Literal\n\nif sys.version_info >= (3, 7):\n from types import MethodDescriptorType, MethodWrapperType, WrapperDescriptorType\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n# Definitions of special type checking related constructs. Their definitions\n# are not used, so their value does not matter.\n\nAny = object()\n\nclass TypeVar:\n __name__: str\n __bound__: Optional[Type[Any]]\n __constraints__: Tuple[Type[Any], ...]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self,\n name: str,\n *constraints: Type[Any],\n bound: Union[None, Type[Any], str] = ...,\n covariant: bool = ...,\n contravariant: bool = ...,\n ) -> None: ...\n\n_promote = object()\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> object: ...\n\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n\ndef overload(func: _F) -> _F: ...\n\nUnion: _SpecialForm = ...\nOptional: _SpecialForm = ...\nTuple: _SpecialForm = ...\nGeneric: _SpecialForm = ...\n# Protocol is only present in 3.8 and later, but mypy needs it unconditionally\nProtocol: _SpecialForm = ...\nCallable: _SpecialForm = ...\nType: _SpecialForm = ...\nClassVar: _SpecialForm = ...\nif sys.version_info >= (3, 8):\n Final: _SpecialForm = ...\n def final(f: _F) -> _F: ...\n Literal: _SpecialForm = ...\n # TypedDict is a (non-subscriptable) special form.\n TypedDict: object\n\nif sys.version_info < (3, 7):\n class GenericMeta(type): ...\n\nif sys.version_info >= (3, 10):\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Optional[Type[Any]]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: Union[None, Type[Any], str] = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n\n# Return type that indicates a function does not return.\n# This type is equivalent to the None type, but the no-op Union is necessary to\n# distinguish the None type from the None value.\nNoReturn = Union[None]\n\n# These type variables are used by the container types.\n_T = TypeVar(\"_T\")\n_S = TypeVar(\"_S\")\n_KT = TypeVar(\"_KT\") # Key type.\n_VT = TypeVar(\"_VT\") # Value type.\n_T_co = TypeVar(\"_T_co\", covariant=True) # Any type covariant containers.\n_V_co = TypeVar(\"_V_co\", covariant=True) # Any type covariant containers.\n_KT_co = TypeVar(\"_KT_co\", covariant=True) # Key type covariant containers.\n_VT_co = TypeVar(\"_VT_co\", covariant=True) # Value type covariant containers.\n_T_contra = TypeVar(\"_T_contra\", contravariant=True) # Ditto contravariant.\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\ndef no_type_check(arg: _F) -> _F: ...\ndef no_type_check_decorator(decorator: _F) -> _F: ...\n\n# Type aliases and type constructors\n\nclass _Alias:\n # Class for defining generic aliases for library types.\n def __getitem__(self, typeargs: Any) -> Any: ...\n\nList = _Alias()\nDict = _Alias()\nDefaultDict = _Alias()\nSet = _Alias()\nFrozenSet = _Alias()\nCounter = _Alias()\nDeque = _Alias()\nChainMap = _Alias()\n\nif sys.version_info >= (3, 7):\n OrderedDict = _Alias()\n\nif sys.version_info >= (3, 9):\n Annotated: _SpecialForm = ...\n\n# Predefined type variables.\nAnyStr = TypeVar(\"AnyStr\", str, bytes)\n\n# Abstract base classes.\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n@runtime_checkable\nclass SupportsInt(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __int__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsFloat(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __float__(self) -> float: ...\n\n@runtime_checkable\nclass SupportsComplex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __complex__(self) -> complex: ...\n\n@runtime_checkable\nclass SupportsBytes(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __bytes__(self) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n @runtime_checkable\n class SupportsIndex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __index__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsAbs(Protocol[_T_co]):\n @abstractmethod\n def __abs__(self) -> _T_co: ...\n\n@runtime_checkable\nclass SupportsRound(Protocol[_T_co]):\n @overload\n @abstractmethod\n def __round__(self) -> int: ...\n @overload\n @abstractmethod\n def __round__(self, ndigits: int) -> _T_co: ...\n\n@runtime_checkable\nclass Sized(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __len__(self) -> int: ...\n\n@runtime_checkable\nclass Hashable(Protocol, metaclass=ABCMeta):\n # TODO: This is special, in that a subclass of a hashable class may not be hashable\n # (for example, list vs. object). It's not obvious how to represent this. This class\n # is currently mostly useless for static checking.\n @abstractmethod\n def __hash__(self) -> int: ...\n\n@runtime_checkable\nclass Iterable(Protocol[_T_co]):\n @abstractmethod\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Iterator(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __next__(self) -> _T_co: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Reversible(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass Generator(Iterator[_T_co], Generic[_T_co, _T_contra, _V_co]):\n def __next__(self) -> _T_co: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n def close(self) -> None: ...\n def __iter__(self) -> Generator[_T_co, _T_contra, _V_co]: ...\n @property\n def gi_code(self) -> CodeType: ...\n @property\n def gi_frame(self) -> FrameType: ...\n @property\n def gi_running(self) -> bool: ...\n @property\n def gi_yieldfrom(self) -> Optional[Generator[Any, Any, Any]]: ...\n\n@runtime_checkable\nclass Awaitable(Protocol[_T_co]):\n @abstractmethod\n def __await__(self) -> Generator[Any, None, _T_co]: ...\n\nclass Coroutine(Awaitable[_V_co], Generic[_T_co, _T_contra, _V_co]):\n __name__: str\n __qualname__: str\n @property\n def cr_await(self) -> Optional[Any]: ...\n @property\n def cr_code(self) -> CodeType: ...\n @property\n def cr_frame(self) -> FrameType: ...\n @property\n def cr_running(self) -> bool: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n @abstractmethod\n def close(self) -> None: ...\n\n# NOTE: This type does not exist in typing.py or PEP 484.\n# The parameters correspond to Generator, but the 4th is the original type.\nclass AwaitableGenerator(\n Awaitable[_V_co], Generator[_T_co, _T_contra, _V_co], Generic[_T_co, _T_contra, _V_co, _S], metaclass=ABCMeta\n): ...\n\n@runtime_checkable\nclass AsyncIterable(Protocol[_T_co]):\n @abstractmethod\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\n@runtime_checkable\nclass AsyncIterator(AsyncIterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\nclass AsyncGenerator(AsyncIterator[_T_co], Generic[_T_co, _T_contra]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n @abstractmethod\n def asend(self, __value: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> Awaitable[_T_co]: ...\n @abstractmethod\n def aclose(self) -> Awaitable[None]: ...\n @abstractmethod\n def __aiter__(self) -> AsyncGenerator[_T_co, _T_contra]: ...\n @property\n def ag_await(self) -> Any: ...\n @property\n def ag_code(self) -> CodeType: ...\n @property\n def ag_frame(self) -> FrameType: ...\n @property\n def ag_running(self) -> bool: ...\n\n@runtime_checkable\nclass Container(Protocol[_T_co]):\n @abstractmethod\n def __contains__(self, __x: object) -> bool: ...\n\n@runtime_checkable\nclass Collection(Iterable[_T_co], Container[_T_co], Protocol[_T_co]):\n # Implement Sized (but don't have it as a base class).\n @abstractmethod\n def __len__(self) -> int: ...\n\n_Collection = Collection[_T_co]\n\nclass Sequence(_Collection[_T_co], Reversible[_T_co], Generic[_T_co]):\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T_co: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> Sequence[_T_co]: ...\n # Mixin methods\n def index(self, value: Any, start: int = ..., stop: int = ...) -> int: ...\n def count(self, value: Any) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass MutableSequence(Sequence[_T], Generic[_T]):\n @abstractmethod\n def insert(self, index: int, value: _T) -> None: ...\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> MutableSequence[_T]: ...\n @overload\n @abstractmethod\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n @abstractmethod\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: int) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: slice) -> None: ...\n # Mixin methods\n def append(self, value: _T) -> None: ...\n def clear(self) -> None: ...\n def extend(self, values: Iterable[_T]) -> None: ...\n def reverse(self) -> None: ...\n def pop(self, index: int = ...) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __iadd__(self, x: Iterable[_T]) -> MutableSequence[_T]: ...\n\nclass AbstractSet(_Collection[_T_co], Generic[_T_co]):\n @abstractmethod\n def __contains__(self, x: object) -> bool: ...\n # Mixin methods\n def __le__(self, s: AbstractSet[Any]) -> bool: ...\n def __lt__(self, s: AbstractSet[Any]) -> bool: ...\n def __gt__(self, s: AbstractSet[Any]) -> bool: ...\n def __ge__(self, s: AbstractSet[Any]) -> bool: ...\n def __and__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def __sub__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def isdisjoint(self, other: Iterable[Any]) -> bool: ...\n\nclass MutableSet(AbstractSet[_T], Generic[_T]):\n @abstractmethod\n def add(self, value: _T) -> None: ...\n @abstractmethod\n def discard(self, value: _T) -> None: ...\n # Mixin methods\n def clear(self) -> None: ...\n def pop(self) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __ior__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __iand__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __isub__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n\nclass MappingView(Sized):\n def __init__(self, mapping: Mapping[Any, Any]) -> None: ... # undocumented\n def __len__(self) -> int: ...\n\nclass ItemsView(MappingView, AbstractSet[Tuple[_KT_co, _VT_co]], Generic[_KT_co, _VT_co]):\n def __init__(self, mapping: Mapping[_KT_co, _VT_co]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n\nclass KeysView(MappingView, AbstractSet[_KT_co], Generic[_KT_co]):\n def __init__(self, mapping: Mapping[_KT_co, Any]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT_co]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n\nclass ValuesView(MappingView, Iterable[_VT_co], Generic[_VT_co]):\n def __init__(self, mapping: Mapping[Any, _VT_co]) -> None: ... # undocumented\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_VT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\n@runtime_checkable\nclass ContextManager(Protocol[_T_co]):\n def __enter__(self) -> _T_co: ...\n def __exit__(\n self,\n __exc_type: Optional[Type[BaseException]],\n __exc_value: Optional[BaseException],\n __traceback: Optional[TracebackType],\n ) -> Optional[bool]: ...\n\n@runtime_checkable\nclass AsyncContextManager(Protocol[_T_co]):\n def __aenter__(self) -> Awaitable[_T_co]: ...\n def __aexit__(\n self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Awaitable[Optional[bool]]: ...\n\nclass Mapping(_Collection[_KT], Generic[_KT, _VT_co]):\n # TODO: We wish the key type could also be covariant, but that doesn't work,\n # see discussion in https: //github.com/python/typing/pull/273.\n @abstractmethod\n def __getitem__(self, k: _KT) -> _VT_co: ...\n # Mixin methods\n @overload\n def get(self, key: _KT) -> Optional[_VT_co]: ...\n @overload\n def get(self, key: _KT, default: Union[_VT_co, _T]) -> Union[_VT_co, _T]: ...\n def items(self) -> AbstractSet[Tuple[_KT, _VT_co]]: ...\n def keys(self) -> AbstractSet[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def __contains__(self, o: object) -> bool: ...\n\nclass MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):\n @abstractmethod\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n @abstractmethod\n def __delitem__(self, v: _KT) -> None: ...\n def clear(self) -> None: ...\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...\n # 'update' used to take a Union, but using overloading is better.\n # The second overloaded type here is a bit too general, because\n # Mapping[Tuple[_KT, _VT], W] is a subclass of Iterable[Tuple[_KT, _VT]],\n # but will always have the behavior of the first overloaded type\n # at runtime, leading to keys of a mix of types _KT and Tuple[_KT, _VT].\n # We don't currently have any way of forcing all Mappings to use\n # the first overload, but by using overloading rather than a Union,\n # mypy will commit to using the first overload when the argument is\n # known to be a Mapping with unknown type parameters, which is closer\n # to the behavior we want. See mypy issue #1430.\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n\nText = str\n\nTYPE_CHECKING = True\n\nclass IO(Iterator[AnyStr], Generic[AnyStr]):\n # TODO use abstract properties\n @property\n def mode(self) -> str: ...\n @property\n def name(self) -> str: ...\n @abstractmethod\n def close(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n @abstractmethod\n def fileno(self) -> int: ...\n @abstractmethod\n def flush(self) -> None: ...\n @abstractmethod\n def isatty(self) -> bool: ...\n @abstractmethod\n def read(self, n: int = ...) -> AnyStr: ...\n @abstractmethod\n def readable(self) -> bool: ...\n @abstractmethod\n def readline(self, limit: int = ...) -> AnyStr: ...\n @abstractmethod\n def readlines(self, hint: int = ...) -> list[AnyStr]: ...\n @abstractmethod\n def seek(self, offset: int, whence: int = ...) -> int: ...\n @abstractmethod\n def seekable(self) -> bool: ...\n @abstractmethod\n def tell(self) -> int: ...\n @abstractmethod\n def truncate(self, size: Optional[int] = ...) -> int: ...\n @abstractmethod\n def writable(self) -> bool: ...\n @abstractmethod\n def write(self, s: AnyStr) -> int: ...\n @abstractmethod\n def writelines(self, lines: Iterable[AnyStr]) -> None: ...\n @abstractmethod\n def __next__(self) -> AnyStr: ...\n @abstractmethod\n def __iter__(self) -> Iterator[AnyStr]: ...\n @abstractmethod\n def __enter__(self) -> IO[AnyStr]: ...\n @abstractmethod\n def __exit__(\n self, t: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Optional[bool]: ...\n\nclass BinaryIO(IO[bytes]):\n @abstractmethod\n def __enter__(self) -> BinaryIO: ...\n\nclass TextIO(IO[str]):\n # TODO use abstractproperty\n @property\n def buffer(self) -> BinaryIO: ...\n @property\n def encoding(self) -> str: ...\n @property\n def errors(self) -> Optional[str]: ...\n @property\n def line_buffering(self) -> int: ... # int on PyPy, bool on CPython\n @property\n def newlines(self) -> Any: ... # None, str or tuple\n @abstractmethod\n def __enter__(self) -> TextIO: ...\n\nclass ByteString(Sequence[int], metaclass=ABCMeta): ...\n\nclass Match(Generic[AnyStr]):\n pos: int\n endpos: int\n lastindex: Optional[int]\n lastgroup: Optional[AnyStr]\n string: AnyStr\n\n # The regular expression object whose match() or search() method produced\n # this match instance.\n re: Pattern[AnyStr]\n def expand(self, template: AnyStr) -> AnyStr: ...\n # group() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def group(self, __group: _Literal[0] = ...) -> AnyStr: ...\n @overload\n def group(self, __group: str | int) -> AnyStr | Any: ...\n @overload\n def group(self, __group1: str | int, __group2: str | int, *groups: str | int) -> Tuple[AnyStr | Any, ...]: ...\n # Each item of groups()'s return tuple is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groups(self) -> Tuple[AnyStr | Any, ...]: ...\n @overload\n def groups(self, default: _T) -> Tuple[AnyStr | _T, ...]: ...\n # Each value in groupdict()'s return dict is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groupdict(self) -> dict[str, AnyStr | Any]: ...\n @overload\n def groupdict(self, default: _T) -> dict[str, AnyStr | _T]: ...\n def start(self, __group: Union[int, str] = ...) -> int: ...\n def end(self, __group: Union[int, str] = ...) -> int: ...\n def span(self, __group: Union[int, str] = ...) -> Tuple[int, int]: ...\n @property\n def regs(self) -> Tuple[Tuple[int, int], ...]: ... # undocumented\n # __getitem__() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def __getitem__(self, __key: _Literal[0]) -> AnyStr: ...\n @overload\n def __getitem__(self, __key: int | str) -> AnyStr | Any: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Pattern(Generic[AnyStr]):\n flags: int\n groupindex: Mapping[str, int]\n groups: int\n pattern: AnyStr\n def search(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def match(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def fullmatch(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def split(self, string: AnyStr, maxsplit: int = ...) -> list[AnyStr]: ...\n def findall(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> list[Any]: ...\n def finditer(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Iterator[Match[AnyStr]]: ...\n @overload\n def sub(self, repl: AnyStr, string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def sub(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def subn(self, repl: AnyStr, string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n @overload\n def subn(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# Functions\n\nif sys.version_info >= (3, 7):\n _get_type_hints_obj_allowed_types = Union[\n object,\n Callable[..., Any],\n FunctionType,\n BuiltinFunctionType,\n MethodType,\n ModuleType,\n WrapperDescriptorType,\n MethodWrapperType,\n MethodDescriptorType,\n ]\nelse:\n _get_type_hints_obj_allowed_types = Union[\n object, Callable[..., Any], FunctionType, BuiltinFunctionType, MethodType, ModuleType,\n ]\n\nif sys.version_info >= (3, 9):\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types,\n globalns: Optional[Dict[str, Any]] = ...,\n localns: Optional[Dict[str, Any]] = ...,\n include_extras: bool = ...,\n ) -> Dict[str, Any]: ...\n\nelse:\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types, globalns: Optional[Dict[str, Any]] = ..., localns: Optional[Dict[str, Any]] = ...\n ) -> Dict[str, Any]: ...\n\nif sys.version_info >= (3, 8):\n def get_origin(tp: Any) -> Optional[Any]: ...\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n\n@overload\ndef cast(typ: Type[_T], val: Any) -> _T: ...\n@overload\ndef cast(typ: str, val: Any) -> Any: ...\n@overload\ndef cast(typ: object, val: Any) -> Any: ...\n\n# Type constructors\n\n# NamedTuple is special-cased in the type checker\nclass NamedTuple(Tuple[Any, ...]):\n _field_types: collections.OrderedDict[str, Type[Any]]\n _field_defaults: Dict[str, Any] = ...\n _fields: Tuple[str, ...]\n _source: str\n def __init__(self, typename: str, fields: Iterable[Tuple[str, Any]] = ..., **kwargs: Any) -> None: ...\n @classmethod\n def _make(cls: Type[_T], iterable: Iterable[Any]) -> _T: ...\n if sys.version_info >= (3, 8):\n def _asdict(self) -> Dict[str, Any]: ...\n else:\n def _asdict(self) -> collections.OrderedDict[str, Any]: ...\n def _replace(self: _T, **kwargs: Any) -> _T: ...\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __or__(self: _T, __value: _T) -> _T: ...\n def __ior__(self: _T, __value: _T) -> _T: ...\n\ndef NewType(name: str, tp: Type[_T]) -> Type[_T]: ...\n\n# This itself is only available during type checking\ndef type_check_only(func_or_cls: _F) -> _F: ...\n\nif sys.version_info >= (3, 7):\n class ForwardRef:\n __forward_arg__: str\n __forward_code__: CodeType\n __forward_evaluated__: bool\n __forward_value__: Optional[Any]\n __forward_is_argument__: bool\n def __init__(self, arg: str, is_argument: bool = ...) -> None: ...\n def _evaluate(self, globalns: Optional[Dict[str, Any]], localns: Optional[Dict[str, Any]]) -> Optional[Any]: ...\n def __eq__(self, other: Any) -> bool: ...\n def __hash__(self) -> int: ...\n def __repr__(self) -> str: ...\n\nif sys.version_info >= (3, 10):\n def is_typeddict(tp: Any) -> bool: ...\n", "/typeshed/stdlib/typing_extensions.pyi": "import abc\nimport sys\nfrom typing import (\n TYPE_CHECKING as TYPE_CHECKING,\n Any,\n AsyncContextManager as AsyncContextManager,\n AsyncGenerator as AsyncGenerator,\n AsyncIterable as AsyncIterable,\n AsyncIterator as AsyncIterator,\n Awaitable as Awaitable,\n Callable,\n ChainMap as ChainMap,\n ClassVar as ClassVar,\n ContextManager as ContextManager,\n Coroutine as Coroutine,\n Counter as Counter,\n DefaultDict as DefaultDict,\n Deque as Deque,\n ItemsView,\n KeysView,\n Mapping,\n NewType as NewType,\n NoReturn as NoReturn,\n Text as Text,\n Tuple,\n Type as Type,\n TypeVar,\n ValuesView,\n _Alias,\n overload as overload,\n)\n\n_T = TypeVar(\"_T\")\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> Any: ...\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n\n# This alias for above is kept here for backwards compatibility.\nruntime = runtime_checkable\nProtocol: _SpecialForm = ...\nFinal: _SpecialForm = ...\n\ndef final(f: _F) -> _F: ...\n\nLiteral: _SpecialForm = ...\n\ndef IntVar(name: str) -> Any: ... # returns a new TypeVar\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n\n# TypedDict is a (non-subscriptable) special form.\nTypedDict: object = ...\n\nOrderedDict = _Alias()\n\ndef get_type_hints(\n obj: Callable[..., Any],\n globalns: dict[str, Any] | None = ...,\n localns: dict[str, Any] | None = ...,\n include_extras: bool = ...,\n) -> dict[str, Any]: ...\n\nif sys.version_info >= (3, 7):\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n def get_origin(tp: Any) -> Any | None: ...\n\nAnnotated: _SpecialForm = ...\n_AnnotatedAlias: Any = ... # undocumented\n\n@runtime_checkable\nclass SupportsIndex(Protocol, metaclass=abc.ABCMeta):\n @abc.abstractmethod\n def __index__(self) -> int: ...\n\n# PEP 612 support for Python < 3.9\nif sys.version_info >= (3, 10):\n from typing import Concatenate as Concatenate, ParamSpec as ParamSpec, TypeAlias as TypeAlias, TypeGuard as TypeGuard\nelse:\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Type[Any] | None\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: None | Type[Any] | str = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n", @@ -35,16 +35,16 @@ "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", - "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pins, images, sounds, temperature and volume.\n\"\"\"\n\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\n\nfrom _typeshed import ReadableBuffer\n\n# V2 only\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(\n callback: Optional[Callable[[], None]] = None,\n days: int = 0,\n h: int = 0,\n min: int = 0,\n s: int = 0,\n ms: int = 0,\n) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Schedule to run a function at the interval specified by the time arguments **V2 only**.\n\n Example: ``run_every(my_logging, min=5)``\n\n ``run_every`` can be used in two ways:\n\n As a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\n As a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\n Each argument corresponds to a different time unit and they are additive.\n So ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\n When an exception is thrown inside the callback function it deschedules the\n function. To avoid this you can catch exceptions with ``try/except``.\n\n :param callback: Function to call at the provided interval. Omit when using as a decorator.\n :param days: Sets the day mark for the scheduling.\n :param h: Sets the hour mark for the scheduling.\n :param min: Sets the minute mark for the scheduling.\n :param s: Sets the second mark for the scheduling.\n :param ms: Sets the millisecond mark for the scheduling.\n \"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Enter a panic mode.\n\n Example: ``panic(127)``\n\n :param n: An arbitrary integer <= 255 to indicate a status.\n\n Requires restart.\n \"\"\"\n\ndef reset() -> None:\n \"\"\"Restart the board.\"\"\"\n\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converts a value from a range to an integer range.\n\n Example: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\n For example, to convert an accelerometer X value to a speaker volume.\n\n If one of the numbers in the ``to`` parameter is a floating point\n (i.e a decimal number like ``10.0``), this function will return a\n floating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n :param value: A number to convert.\n :param from_: A tuple to define the range to convert from.\n :param to: A tuple to define the range to convert to.\n :return: The ``value`` converted to the ``to`` range.\n \"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converts a value from a range to a floating point range.\n\n Example: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\n For example, to convert temperature from a Celsius scale to Fahrenheit.\n\n If one of the numbers in the ``to`` parameter is a floating point\n (i.e a decimal number like ``10.0``), this function will return a\n floating point number.\n If they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n :param value: A number to convert.\n :param from_: A tuple to define the range to convert from.\n :param to: A tuple to define the range to convert to.\n :return: The ``value`` converted to the ``to`` range.\n \"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Wait for ``n`` milliseconds.\n\n Example: ``sleep(1000)``\n\n :param n: The number of milliseconds to wait\n\n One second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\n will pause the execution for one second.\n \"\"\"\n\ndef running_time() -> int:\n \"\"\"Get the running time of the board.\n\n :return: The number of milliseconds since the board was switched on or restarted.\n \"\"\"\n\ndef temperature() -> int:\n \"\"\"Get the temperature of the micro:bit in degrees Celsius.\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Sets the volume.\n\n Example: ``set_volume(127)``\n\n :param v: a value between 0 (low) and 255 (high).\n\n Out of range values will be clamped to 0 or 255.\n\n **V2** only.\n \"\"\"\n ...\n\nclass Button:\n \"\"\"The class for the buttons ``button_a`` and ``button_b``.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Check if the button is pressed.\n\n :return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\n \"\"\"\n ...\n def was_pressed(self) -> bool:\n \"\"\"Check if the button was pressed since the device started or the last time this method was called.\n\n Calling this method will clear the press state so\n that the button must be pressed again before this method will return\n ``True`` again.\n\n :return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\n \"\"\"\n ...\n def get_presses(self) -> int:\n \"\"\"Get the running total of button presses, and resets this total\n to zero before returning.\n\n :return: The number of presses since the device started or the last time this method was called\n \"\"\"\n ...\n\nbutton_a: Button\n\"\"\"The left button ``Button`` object.\"\"\"\n\nbutton_b: Button\n\"\"\"The right button ``Button`` object.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"A digital pin.\n\n Some pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\n \"\"\"\n\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n def read_digital(self) -> int:\n \"\"\"Get the digital value of the pin.\n\n Example: ``value = pin0.read_digital()``\n\n :return: 1 if the pin is high, and 0 if it's low.\n \"\"\"\n ...\n def write_digital(self, value: int) -> None:\n \"\"\"Set the digital value of the pin.\n\n Example: ``pin0.write_digital(1)``\n\n :param value: 1 to set the pin high or 0 to set the pin low\"\"\"\n ...\n def set_pull(self, value: int) -> None:\n \"\"\"Set the pull state to one of three possible values: ``PULL_UP``, ``PULL_DOWN`` or ``NO_PULL``.\n\n Example: ``pin0.set_pull(pin0.PULL_UP)``\n\n :param value: The pull state from the relevant pin, e.g. ``pin0.PULL_UP``.\n \"\"\"\n ...\n def get_pull(self) -> int:\n \"\"\"Get the pull state on a pin.\n\n Example: ``pin0.get_pull()``\n\n :return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\n These are set using the ``set_pull()`` method or automatically configured\n when a pin mode requires it.\n \"\"\"\n ...\n def get_mode(self) -> str:\n \"\"\"Returns the pin mode.\n\n Example: ``pin0.get_mode()``\n\n When a pin is used for a specific function, like\n writing a digital value, or reading an analog value, the pin mode\n changes.\n\n :return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\n \"\"\"\n ...\n def write_analog(self, value: int) -> None:\n \"\"\"Output a PWM signal on the pin, with the duty cycle proportional to ``value``.\n\n Example: ``pin0.write_analog(254)``\n\n :param value: An integer or a floating point number between 0 (0% duty cycle) and 1023 (100% duty).\n \"\"\"\n def set_analog_period(self, period: int) -> None:\n \"\"\"Set the period of the PWM signal being output to ``period`` in milliseconds.\n\n Example: ``pin0.set_analog_period(10)``\n\n :param period: The period in milliseconds with a minimum valid value of 1ms.\n \"\"\"\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Set the period of the PWM signal being output to ``period`` in microseconds.\n\n Example: ``pin0.set_analog_period_microseconds(512)``\n\n :param period: The period in microseconds with a minimum valid value of 256\u00b5s.\n \"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"A pin with analog and digital features.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Read the voltage applied to the pin.\n\n Example: ``pin0.read_analog()``\n\n :return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\n \"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"A pin with analog, digital and touch features.\"\"\"\n\n CAPACITIVE: int\n RESISTIVE: int\n def is_touched(self) -> bool:\n \"\"\"Check if the pin is being touched.\n\n Example: ``pin0.is_touched()``\n\n The default touch mode for the pins on the edge connector is ``resistive``.\n The default for the logo pin **V2** is ``capacitive``.\n\n **Resistive touch**\n This test is done by measuring how much resistance there is between the\n pin and ground. A low resistance gives a reading of ``True``. To get\n a reliable reading using a finger you may need to touch the ground pin\n with another part of your body, for example your other hand.\n\n **Capacitive touch**\n This test is done by interacting with the electric field of a capacitor\n using a finger as a conductor. `Capacitive touch\n `_\n does not require you to make a ground connection as part of a circuit.\n\n :return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\n \"\"\"\n ...\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Set the touch mode for the pin.\n\n Example: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\n The default touch mode for the pins on the edge connector is\n ``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n :param value: ``CAPACITIVE`` or ``RESISTIVE`` from the relevant pin.\n \"\"\"\n ...\n\npin0: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin1: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin2: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin5: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin6: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin7: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin8: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin9: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin11: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin12: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin13: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin14: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin15: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin16: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin19: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin20: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin_logo: MicroBitTouchPin\n\"\"\"A touch sensitive logo pin on the front of the micro:bit, which by default is set to capacitive touch mode.\"\"\"\n\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"A pin to address the micro:bit speaker.\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"An image to show on the micro:bit LED display.\n\n Given an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\n \"\"\"\n\n HEART: Image\n \"\"\"Heart image.\"\"\"\n\n HEART_SMALL: Image\n \"\"\"Small heart image.\"\"\"\n\n HAPPY: Image\n \"\"\"Happy face image.\"\"\"\n\n SMILE: Image\n \"\"\"Smiling mouth image.\"\"\"\n\n SAD: Image\n \"\"\"Sad face image.\"\"\"\n\n CONFUSED: Image\n \"\"\"Confused face image.\"\"\"\n\n ANGRY: Image\n \"\"\"Angry face image.\"\"\"\n\n ASLEEP: Image\n \"\"\"Sleeping face image.\"\"\"\n\n SURPRISED: Image\n \"\"\"Surprised face image.\"\"\"\n\n SILLY: Image\n \"\"\"Silly face image.\"\"\"\n\n FABULOUS: Image\n \"\"\"Sunglasses face image.\"\"\"\n\n MEH: Image\n \"\"\"Unimpressed face image.\"\"\"\n\n YES: Image\n \"\"\"Tick image.\"\"\"\n\n NO: Image\n \"\"\"Cross image.\"\"\"\n\n CLOCK12: Image\n \"\"\"Image with line pointing to 12 o'clock.\"\"\"\n\n CLOCK11: Image\n \"\"\"Image with line pointing to 11 o'clock.\"\"\"\n\n CLOCK10: Image\n \"\"\"Image with line pointing to 10 o'clock.\"\"\"\n\n CLOCK9: Image\n \"\"\"Image with line pointing to 9 o'clock.\"\"\"\n\n CLOCK8: Image\n \"\"\"Image with line pointing to 8 o'clock.\"\"\"\n\n CLOCK7: Image\n \"\"\"Image with line pointing to 7 o'clock.\"\"\"\n\n CLOCK6: Image\n \"\"\"Image with line pointing to 6 o'clock.\"\"\"\n\n CLOCK5: Image\n \"\"\"Image with line pointing to 5 o'clock.\"\"\"\n\n CLOCK4: Image\n \"\"\"Image with line pointing to 4 o'clock.\"\"\"\n\n CLOCK3: Image\n \"\"\"Image with line pointing to 3 o'clock.\"\"\"\n\n CLOCK2: Image\n \"\"\"Image with line pointing to 2 o'clock.\"\"\"\n\n CLOCK1: Image\n \"\"\"Image with line pointing to 1 o'clock.\"\"\"\n\n ARROW_N: Image\n \"\"\"Image of arrow pointing north.\"\"\"\n\n ARROW_NE: Image\n \"\"\"Image of arrow pointing north east.\"\"\"\n\n ARROW_E: Image\n \"\"\"Image of arrow pointing east.\"\"\"\n\n ARROW_SE: Image\n \"\"\"Image of arrow pointing south east.\"\"\"\n\n ARROW_S: Image\n \"\"\"Image of arrow pointing south.\"\"\"\n\n ARROW_SW: Image\n \"\"\"Image of arrow pointing south west.\"\"\"\n\n ARROW_W: Image\n \"\"\"Image of arrow pointing west.\"\"\"\n\n ARROW_NW: Image\n \"\"\"Image of arrow pointing north west.\"\"\"\n\n TRIANGLE: Image\n \"\"\"Image of a triangle pointing up.\"\"\"\n\n TRIANGLE_LEFT: Image\n \"\"\"Image of a triangle in the left corner.\"\"\"\n\n CHESSBOARD: Image\n \"\"\"Alternate LEDs lit in a chessboard pattern.\"\"\"\n\n DIAMOND: Image\n \"\"\"Diamond image.\"\"\"\n\n DIAMOND_SMALL: Image\n \"\"\"Small diamond image.\"\"\"\n\n SQUARE: Image\n \"\"\"Square image.\"\"\"\n\n SQUARE_SMALL: Image\n \"\"\"Small square image.\"\"\"\n\n RABBIT: Image\n \"\"\"Rabbit image.\"\"\"\n\n COW: Image\n \"\"\"Cow image.\"\"\"\n\n MUSIC_CROTCHET: Image\n \"\"\"Crotchet note image.\"\"\"\n\n MUSIC_QUAVER: Image\n \"\"\"Quaver note image.\"\"\"\n\n MUSIC_QUAVERS: Image\n \"\"\"Pair of quavers note image.\"\"\"\n\n PITCHFORK: Image\n \"\"\"Pitchfork image.\"\"\"\n\n XMAS: Image\n \"\"\"Christmas tree image.\"\"\"\n\n PACMAN: Image\n \"\"\"Pac-Man arcade character image.\"\"\"\n\n TARGET: Image\n \"\"\"Target image.\"\"\"\n\n TSHIRT: Image\n \"\"\"T-shirt image.\"\"\"\n\n ROLLERSKATE: Image\n \"\"\"Rollerskate image.\"\"\"\n\n DUCK: Image\n \"\"\"Duck image.\"\"\"\n\n HOUSE: Image\n \"\"\"House image.\"\"\"\n\n TORTOISE: Image\n \"\"\"Tortoise image.\"\"\"\n\n BUTTERFLY: Image\n \"\"\"Butterfly image.\"\"\"\n\n STICKFIGURE: Image\n \"\"\"Stick figure image.\"\"\"\n\n GHOST: Image\n \"\"\"Ghost image.\"\"\"\n\n SWORD: Image\n \"\"\"Sword image.\"\"\"\n\n GIRAFFE: Image\n \"\"\"Giraffe image.\"\"\"\n\n SKULL: Image\n \"\"\"Skull image.\"\"\"\n\n UMBRELLA: Image\n \"\"\"Umbrella image.\"\"\"\n\n SNAKE: Image\n \"\"\"Snake image.\"\"\"\n\n SCISSORS: Image\n \"\"\"Scissors image.\"\"\"\n\n ALL_CLOCKS: List[Image]\n \"\"\"A list containing all the CLOCK_ images in sequence.\"\"\"\n\n ALL_ARROWS: List[Image]\n \"\"\"A list containing all the ARROW_ images in sequence.\"\"\"\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Create an image from a string describing which LEDs are lit.\n\n ``string`` has to consist of digits 0-9 arranged into lines,\n describing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\n will create a 5\u00d75 image of an X. The end of a line is indicated by a\n colon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n :param string: The string describing the image.\n \"\"\"\n ...\n @overload\n def __init__(\n self, width: int = 5, height: int = 5, buffer: ReadableBuffer = None\n ) -> None:\n \"\"\"Create an empty image with ``width`` columns and ``height`` rows.\n\n :param width: Optional width of the image\n :param height: Optional height of the image\n :param buffer: Optional array or bytes of ``width``\u00d7``height`` integers in range 0-9 to initialize the image\n\n Examples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\n These create 2 x 2 pixel images at full brightness.\n \"\"\"\n ...\n def width(self) -> int:\n \"\"\"Get the number of columns.\n\n :return: The number of columns in the image\n \"\"\"\n ...\n def height(self) -> int:\n \"\"\"Get the number of rows.\n\n :return: The number of rows in the image\n \"\"\"\n ...\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Set the brightness of a pixel.\n\n Example: ``my_image.set_pixel(0, 0, 9)``\n\n :param x: The column number\n :param y: The row number\n :param value: The brightness as an integer between 0 (dark) and 9 (bright)\n\n This method will raise an exception when called on any of the built-in\n read-only images, like ``Image.HEART``.\n \"\"\"\n ...\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Get the brightness of a pixel.\n\n Example: ``my_image.get_pixel(0, 0)``\n\n :param x: The column number\n :param y: The row number\n :return: The brightness as an integer between 0 and 9.\n \"\"\"\n ...\n def shift_left(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture left.\n\n Example: ``Image.HEART_SMALL.shift_left(1)``\n\n :param n: The number of columns to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_right(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture right.\n\n Example: ``Image.HEART_SMALL.shift_right(1)``\n\n :param n: The number of columns to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_up(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture up.\n\n Example: ``Image.HEART_SMALL.shift_up(1)``\n\n :param n: The number of rows to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_down(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture down.\n\n Example: ``Image.HEART_SMALL.shift_down(1)``\n\n :param n: The number of rows to shift by\n :return: The shifted image\n \"\"\"\n ...\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Create a new image by cropping the picture.\n\n Example: ``Image.HEART.crop(1, 1, 3, 3)``\n\n :param x: The crop offset column\n :param y: The crop offset row\n :param w: The crop width\n :param h: The crop height\n :return: The new image\n \"\"\"\n ...\n def copy(self) -> Image:\n \"\"\"Create an exact copy of the image.\n\n Example: ``Image.HEART.copy()``\n\n :return: The new image\n \"\"\"\n ...\n def invert(self) -> Image:\n \"\"\"Create a new image by inverting the brightness of the pixels in the\n source image.\n\n Example: ``Image.SMALL_HEART.invert()``\n\n :return: The new image.\n \"\"\"\n ...\n def fill(self, value: int) -> None:\n \"\"\"Set the brightness of all the pixels in the image.\n\n Example: ``my_image.fill(5)``\n\n :param value: The new brightness as a number between 0 (dark) and 9 (bright).\n\n This method will raise an exception when called on any of the built-in\n read-only images, like ``Image.HEART``.\n \"\"\"\n ...\n def blit(\n self,\n src: Image,\n x: int,\n y: int,\n w: int,\n h: int,\n xdest: int = 0,\n ydest: int = 0,\n ) -> None:\n \"\"\"Copy an area from another image into this image.\n\n Example: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n :param src: The source image\n :param x: The starting column offset in the source image\n :param y: The starting row offset in the source image\n :param w: The number of columns to copy\n :param h: The number of rows to copy\n :param xdest: The column offset to modify in this image\n :param ydest: The row offset to modify in this image\n\n Pixels outside the source image are treated as having a brightness of 0.\n\n ``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\n and ``crop()`` can are all implemented by using ``blit()``.\n\n For example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\n \"\"\"\n ...\n def __repr__(self) -> str:\n \"\"\"Get a compact string representation of the image.\"\"\"\n ...\n def __str__(self) -> str:\n \"\"\"Get a readable string representation of the image.\"\"\"\n ...\n def __add__(self, other: Image) -> Image:\n \"\"\"Create a new image by adding the brightness values from the two\n images for each pixel.\n\n Example: ``Image.HEART + Image.HAPPY``\n\n :param other: The image to add.\n \"\"\"\n ...\n def __sub__(self, other: Image) -> Image:\n \"\"\"Create a new image by subtracting the brightness values of the\n other image from this image.\n\n Example: ``Image.HEART - Image.HEART_SMALL``\n\n :param other: The image to subtract.\n \"\"\"\n ...\n def __mul__(self, n: float) -> Image:\n \"\"\"Create a new image by multiplying the brightness of each pixel by\n ``n``.\n\n Example: ``Image.HEART * 0.5``\n\n :param n: The value to multiply by.\n \"\"\"\n ...\n def __truediv__(self, n: float) -> Image:\n \"\"\"Create a new image by dividing the brightness of each pixel by\n ``n``.\n\n Example: ``Image.HEART / 2``\n\n :param n: The value to divide by.\n \"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Represents the transition of sound events, from ``quiet`` to ``loud`` like clapping or shouting.\"\"\"\n\n QUIET: SoundEvent\n \"\"\"Represents the transition of sound events, from ``loud`` to ``quiet`` like speaking or background music.\"\"\"\n\nclass Sound:\n \"\"\"The built-in sounds can be called using ``audio.play(Sound.NAME)``.\"\"\"\n\n GIGGLE: Sound\n \"\"\"Giggling sound.\"\"\"\n\n HAPPY: Sound\n \"\"\"Happy sound.\"\"\"\n\n HELLO: Sound\n \"\"\"Greeting sound.\"\"\"\n\n MYSTERIOUS: Sound\n \"\"\"Mysterious sound.\"\"\"\n\n SAD: Sound\n \"\"\"Sad sound.\"\"\"\n\n SLIDE: Sound\n \"\"\"Sliding sound.\"\"\"\n\n SOARING: Sound\n \"\"\"Soaring sound.\"\"\"\n\n SPRING: Sound\n \"\"\"Spring sound.\"\"\"\n\n TWINKLE: Sound\n \"\"\"Twinkling sound.\"\"\"\n\n YAWN: Sound\n \"\"\"Yawning sound.\"\"\"\n", - "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Measure the acceleration of the micro:bit and recognise gestures.\n\"\"\"\n\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Get the acceleration measurement in the ``x`` axis in milli-g.\n\n Example: ``accelerometer.get_x()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Get the acceleration measurement in the ``y`` axis in milli-g.\n\n Example: ``accelerometer.get_y()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Get the acceleration measurement in the ``z`` axis in milli-g.\n\n Example: ``accelerometer.get_z()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Get the acceleration measurements in all axes at once as a tuple.\n\n Example: ``x, y, z = accelerometer.get_values()``\n\n :return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\n \"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Get the acceleration measurement of all axes combined, as a positive integer. This is the Pythagorean sum of the X, Y and Z axes.\n\n Example: ``accelerometer.get_strength()``\n\n :return: The combined acceleration strength of all the axes, in milli-g.\n \"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Get the name of the current gesture.\n\n Example: ``accelerometer.current_gesture()``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :return: The current gesture\n \"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Check if the named gesture is currently active.\n\n Example: ``accelerometer.is_gesture('shake')``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :param name: The gesture name.\n :return: ``True`` if the gesture is active, ``False`` otherwise.\n \"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Check if the named gesture was active since the last call.\n\n Example: ``accelerometer.was_gesture('shake')``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :param name: The gesture name.\n :return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\n \"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Return a tuple of the gesture history.\n\n Example: ``accelerometer.get_gestures()``\n\n Clears the gesture history before returning.\n\n Gestures are not updated in the background so there needs to be constant\n calls to some accelerometer method to do the gesture detection. Usually\n gestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n :return: The history as a tuple, most recent last.\n \"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Set the accelerometer sensitivity range, in g (standard gravity), to the closest values supported by the hardware, so it rounds to either ``2``, ``4``, or ``8`` g.\n\n Example: ``accelerometer.set_range(8)``\n\n :param value: New range for the accelerometer, an integer in ``g``.\n \"\"\"\n", - "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(\n source: Union[Iterable[AudioFrame], Sound, SoundEffect],\n wait: bool = True,\n pin: MicroBitDigitalPin = pin0,\n return_pin: Union[MicroBitDigitalPin, None] = None,\n) -> None:\n \"\"\"Play a built-in sound, sound effect or custom audio frames.\n\n Example: ``audio.play(Sound.GIGGLE)``\n\n :param source: A built-in ``Sound`` such as ``Sound.GIGGLE``, a ``SoundEffect`` or sample data as an iterable of ``AudioFrame`` objects.\n :param wait: If ``wait`` is ``True``, this function will block until the sound is complete.\n :param pin: An optional argument to specify the output pin can be used to override the default of ``pin0``. If we do not want any sound to play we can use ``pin=None``.\n :param return_pin: Specifies a differential edge connector pin to connect to an external speaker instead of ground. This is ignored for the **V2** revision.\n \"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Check whether a sound is playing.\n\n Example: ``audio.is_playing()``\n\n :return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Stop all audio playback.\n\n Example: ``audio.stop()``\n \"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"A sound effect, composed by a set of parameters configured via the constructor or attributes.\"\"\"\n\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sine wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Sawtooth wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Triangle wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Square wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise option used for the ``waveform`` parameter.\"\"\"\n\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Linear interpolation option used for the ``shape`` parameter.\"\"\"\n\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolation option used for the ``shape`` parameter.\"\"\"\n\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmic interpolation option used for the ``shape`` parameter.\"\"\"\n\n FX_NONE: ClassVar[int]\n \"\"\"No effect option used for the ``fx`` parameter.\"\"\"\n\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect option used for the ``fx`` parameter.\"\"\"\n\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect option used for the ``fx`` parameter.\"\"\"\n\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect option used for the ``fx`` parameter.\"\"\"\n\n freq_start: int\n \"\"\"Start frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n\n freq_end: int\n \"\"\"End frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n\n duration: int\n \"\"\"Duration of the sound in milliseconds, a number between ``0`` and ``9999``\"\"\"\n\n vol_start: int\n \"\"\"Start volume value, a number between ``0`` and ``255``\"\"\"\n\n vol_end: int\n \"\"\"End volume value, a number between ``0`` and ``255``\"\"\"\n\n waveform: int\n \"\"\"Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise)\"\"\"\n\n fx: int\n \"\"\"Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``\"\"\"\n\n shape: int\n \"\"\"The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(\n self,\n freq_start: int = 500,\n freq_end: int = 2500,\n duration: int = 500,\n vol_start: int = 255,\n vol_end: int = 0,\n waveform: int = WAVEFORM_SQUARE,\n fx: int = FX_NONE,\n shape: int = SHAPE_LOG,\n ):\n \"\"\"Create a new sound effect.\n\n Example: ``my_effect = SoundEffect(duration=1000)``\n\n All the parameters are optional, with default values as shown above, and\n they can all be modified via attributes of the same name. For example, we\n can first create an effect ``my_effect = SoundEffect(duration=1000)``,\n and then change its attributes ``my_effect.duration = 500``.\n\n :param freq_start: Start frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n :param freq_end: End frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n :param duration: Duration of the sound in milliseconds, a number between ``0`` and ``9999``.\n :param vol_start: Start volume value, a number between ``0`` and ``255``.\n :param vol_end: End volume value, a number between ``0`` and ``255``.\n :param waveform: Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise).\n :param fx: Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n :param shape: The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\n \"\"\"\n def copy(self) -> SoundEffect:\n \"\"\"Create a copy of this ``SoundEffect``.\n\n Example: ``sound_2 = sound_1.copy()``\n\n :return: A copy of the SoundEffect.\n \"\"\"\n\nclass AudioFrame:\n \"\"\"An ``AudioFrame`` object is a list of 32 samples each of which is a unsigned byte\n (whole number between 0 and 255).\n\n It takes just over 4 ms to play a single frame.\n\n Example::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\n \"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overwrite the data in this ``AudioFrame`` with the data from another ``AudioFrame`` instance.\n\n Example: ``my_frame.copyfrom(source_frame)``\n\n :param other: ``AudioFrame`` instance from which to copy the data.\n \"\"\"\n def __len__(self) -> int: ...\n def __setitem__(self, key: int, value: int) -> None: ...\n def __getitem__(self, key: int) -> int: ...\n", - "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Use the built-in compass.\n\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Starts the calibration process.\n\n Example: ``compass.calibrate()``\n\n An instructive message will be scrolled to the user after which they will need\n to rotate the device in order to draw a circle on the LED display.\n \"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"Check is the compass is calibrated.\n\n Example: ``compass.is_calibrated()``\n\n :return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\n \"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Undoes the calibration, making the compass uncalibrated again.\n\n Example: ``compass.clear_calibration()``\n \"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Get the magnetic field strength on the ``x`` axis.\n\n Example: ``compass.get_x()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Get the magnetic field strength on the ``y`` axis.\n\n Example: ``compass.get_y()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Get the magnetic field strength on the ``z`` axis.\n\n Example: ``compass.get_z()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Get the compass heading.\n\n Example: ``compass.heading()``\n\n :return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\n \"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Get the magnitude of the magnetic field around the device.\n\n Example: ``compass.get_field_strength()``\n\n :return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...\n", - "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Show text, images and animations on the 5\u00d75 LED display.\n\"\"\"\n\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Get the brightness of the LED at column ``x`` and row ``y``.\n\n Example: ``display.get_pixel(0, 0)``\n\n :param x: The display column (0..4)\n :param y: The display row (0..4)\n :return: A number between 0 (off) and 9 (bright)\n \"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Set the brightness of the LED at column ``x`` and row ``y``.\n\n Example: ``display.set_pixel(0, 0, 9)``\n\n :param x: The display column (0..4)\n :param y: The display row (0..4)\n :param value: The brightness between 0 (off) and 9 (bright)\n \"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Set the brightness of all LEDs to 0 (off).\n\n Example: ``display.clear()``\n \"\"\"\n ...\n\ndef show(\n image: Union[str, float, int, Image, Iterable[Image]],\n delay: int = 400,\n wait: bool = True,\n loop: bool = False,\n clear: bool = False,\n) -> None:\n \"\"\"Shows images, letters or digits on the LED display.\n\n Example: ``display.show(Image.HEART)``\n\n When ``image`` is an image or a list of images then each image is displayed in turn.\n If ``image`` is a string or number, each letter or digit is displayed in turn.\n\n :param image: A string, number, image or list of images to show.\n :param delay: Each letter, digit or image is shown with ``delay`` milliseconds between them.\n :param wait: If ``wait`` is ``True``, this function will block until the animation is finished, otherwise the animation will happen in the background.\n :param loop: If ``loop`` is ``True``, the animation will repeat forever.\n :param clear: If ``clear`` is ``True``, the display will be cleared after the sequence has finished.\n\n The ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\n \"\"\"\n ...\n\ndef scroll(\n text: Union[str, float, int],\n delay: int = 150,\n wait: bool = True,\n loop: bool = False,\n monospace: bool = False,\n) -> None:\n \"\"\"Scrolls a number or text on the LED display.\n\n Example: ``display.scroll('micro:bit')``\n\n :param text: The string to scroll. If ``text`` is an integer or float it is first converted to a string using ``str()``.\n :param delay: The ``delay`` parameter controls how fast the text is scrolling.\n :param wait: If ``wait`` is ``True``, this function will block until the animation is finished, otherwise the animation will happen in the background.\n :param loop: If ``loop`` is ``True``, the animation will repeat forever.\n :param monospace: If ``monospace`` is ``True``, the characters will all take up 5 pixel-columns in width, otherwise there will be exactly 1 blank pixel-column between each character as they scroll.\n\n The ``wait``, ``loop`` and ``monospace`` arguments must be specified\n using their keyword.\n \"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Turn on the LED display.\n\n Example: ``display.on()``\n \"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Turn off the LED display (disabling the display allows you to re-use the GPIO pins for other purposes).\n\n Example: ``display.off()``\n \"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"Check whether the LED display is enabled.\n\n Example: ``display.is_on()``\n\n :return: ``True`` if the display is on, otherwise returns ``False``.\n \"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Read the light level.\n\n Example: ``display.read_light_level()``\n\n Uses the display's LEDs in reverse-bias mode to sense the amount of light\n falling on the display.\n\n :return: An integer between 0 and 255 representing the light level, with larger meaning more light.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Communicate with devices using the I\u00b2C bus protocol.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(\n freq: int = 100000, sda: MicroBitDigitalPin = pin20, scl: MicroBitDigitalPin = pin19\n) -> None:\n \"\"\"Re-initialize a peripheral.\n\n Example: ``i2c.init()``\n\n :param freq: clock frequency\n :param sda: ``sda`` pin (default 20)\n :param scl: ``scl`` pin (default 19)\n\n On a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\n the accelerometer and compass stop working, as they are connected\n internally to those pins. This warning does not apply to the **V2**\n revision of the micro:bit as this has `separate I\u00b2C lines `_\n for the motion sensors and the edge connector.\n \"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scan the bus for devices.\n\n Example: ``i2c.scan()``\n\n :return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\n \"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool = False) -> bytes:\n \"\"\"Read bytes from a device.\n\n Example: ``i2c.read(0x50, 64)``\n\n :param addr: The 7-bit address of the device\n :param n: The number of bytes to read\n :param repeat: If ``True``, no stop bit will be sent\n :return: The bytes read\n \"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool = False) -> None:\n \"\"\"Write bytes to a device.\n\n Example: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n :param addr: The 7-bit address of the device\n :param buf: A buffer containing the bytes to write\n :param repeat: If ``True``, no stop bit will be sent\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Respond to sound using the built-in microphone (V2 only).\n\"\"\"\n\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Get the last recorded sound event\n\n Example: ``microphone.current_event()``\n\n :return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\n \"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Check if a sound was heard at least once since the last call.\n\n Example: ``microphone.was_event(SoundEvent.LOUD)``\n\n This call clears the sound history before returning.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\n \"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Check the most recent sound event detected.\n\n Example: ``microphone.is_event(SoundEvent.LOUD)``\n\n This call does not clear the sound event history.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was the most recent heard, ``False`` otherwise.\n \"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Get the sound event history as a tuple.\n\n Example: ``microphone.get_events()``\n\n This call clears the sound history before returning.\n\n :return: A tuple of the event history with the most recent event last.\n \"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Set the threshold for a sound event.\n\n Example: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\n A high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n :param event: A sound event, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``.\n :param value: The threshold level in the range 0-255.\n \"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Get the sound pressure level.\n\n Example: ``microphone.sound_level()``\n\n :return: A representation of the sound pressure level in the range 0 to 255.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Control the built-in speaker (V2 only).\n\"\"\"\n\ndef off() -> None:\n \"\"\"Turn the speaker off.\n\n Example: ``speaker.off()``\n\n This does not disable sound output to an edge connector pin.\n \"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Turn the speaker on.\n\n Example: ``speaker.on()``\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communicate with devices using the serial peripheral interface (SPI) bus.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(\n baudrate: int = 1000000,\n bits: int = 8,\n mode: int = 0,\n sclk: MicroBitDigitalPin = pin13,\n mosi: MicroBitDigitalPin = pin15,\n miso: MicroBitDigitalPin = pin14,\n) -> None:\n \"\"\"Initialize SPI communication.\n\n Example: ``spi.init()``\n\n For correct communication, the parameters have to be the same on both communicating devices.\n\n :param baudrate: The speed of communication.\n :param bits: The width in bits of each transfer. Currently only ``bits=8`` is supported. However, this may change in the future.\n :param mode: Determines the combination of clock polarity and phase - `see online table `_.\n :param sclk: sclk pin (default 13)\n :param mosi: mosi pin (default 15)\n :param miso: miso pin (default 14)\n \"\"\"\n ...\n\ndef read(nbytes: int, out: int = 0) -> bytes:\n \"\"\"Read at most ``nbytes`` while continuously writing the single byte given by ``out``.\n\n Example: ``spi.read(64)``\n\n :param nbytes: Maximum number of bytes to read.\n :param out: The byte value to write (default 0).\n :return: The bytes read.\n \"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Write bytes to the bus.\n\n Example: ``spi.write(bytes([1, 2, 3]))``\n\n :param buffer: A buffer to read data from.\n \"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Write the ``out`` buffer to the bus and read any response into the ``in_`` buffer.\n\n Example: ``spi.write_readinto(out_buffer, in_buffer)``\n\n The length of the buffers should be the same. The buffers can be the same object.\n\n :param out: The buffer to write any response to.\n :param in_: The buffer to read data from.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Communicate with a device using a serial interface.\n\"\"\"\n\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\n\nODD: int\n\"\"\"Odd parity\"\"\"\n\nEVEN: int\n\"\"\"Even parity\"\"\"\n\ndef init(\n baudrate: int = 9600,\n bits: int = 8,\n parity: Optional[int] = None,\n stop: int = 1,\n tx: Optional[MicroBitDigitalPin] = None,\n rx: Optional[MicroBitDigitalPin] = None,\n) -> None:\n \"\"\"Initialize serial communication.\n\n Example: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n :param baudrate: The speed of communication.\n :param bits: The size of bytes being transmitted. micro:bit only supports 8.\n :param parity: How parity is checked, ``None``, ``uart.ODD`` or ``uart.EVEN``.\n :param stop: The number of stop bits, has to be 1 for micro:bit.\n :param tx: Transmitting pin.\n :param rx: Receiving pin.\n\n Initializing the UART on external pins will cause the Python console on\n USB to become unaccessible, as it uses the same hardware. To bring the\n console back you must reinitialize the UART without passing anything for\n ``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\n that calling ``uart.init(115200)`` is enough to restore the Python console.\n\n For more details see `the online documentation `_.\n \"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Check if any data is waiting.\n\n Example: ``uart.any()``\n\n :return: ``True`` if any data is waiting, else ``False``.\n \"\"\"\n ...\n\ndef read(nbytes: Optional[int] = None) -> Optional[bytes]:\n \"\"\"Read bytes.\n\n Example: ``uart.read()``\n\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read as many bytes as possible\n :return: A bytes object or ``None`` on timeout\n \"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int] = None) -> Optional[int]:\n \"\"\"Read bytes into the ``buf``.\n\n Example: ``uart.readinto(input_buffer)``\n\n :param buf: The buffer to write to.\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read ``len(buf)`` bytes.\n :return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\n \"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Read a line, ending in a newline character.\n\n Example: ``uart.readline()``\n\n :return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\n \"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Write a buffer to the bus.\n\n Example: ``uart.write('hello world')``\n\n :param buf: A bytes object or a string.\n :return: The number of bytes written, or ``None`` on timeout.\n\n Examples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\n \"\"\"\n ...\n", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pines, im\u00e1genes, sonidos, temperatura y volumen.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Programa la ejecuci\u00f3n de una funci\u00f3n en el intervalo especificado por los argumentos de tiempo **S\u00f3lo V2**. (ejecutar cada)\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Funci\u00f3n a llamar en el intervalo proporcionado. Omitir cuando se utiliza como un decorador.\n:param days: (d\u00edas) Configura la marca del d\u00eda para la programaci\u00f3n.\n:param h: Configura la marca de la hora para la programaci\u00f3n.\n:param min: Configura la marca de los minutos para la programaci\u00f3n.\n:param s: Configura la segunda marca para la programaci\u00f3n.\n:param ms: Configura la marca de los milisegundos para la programaci\u00f3n.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Entra en modo p\u00e1nico (p\u00e1nico)\n\nExample: ``panic(127)``\n\n:param n: Un entero arbitrario <= 255 para indicar un estado.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"Reiniciar la placa. (restablecer)\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Convierte un valor de un rango a un rango de n\u00fameros enteros. (escala)\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: (valor) Un n\u00famero a convertir.\n:param from_: (de) Una tupla para definir el rango desde el que convertir.\n:param to: (a) Una tupla para definir el rango al que convertir.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Convierte un valor de un rango a un rango de punto flotante. (escala)\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: (valor) Un n\u00famero a convertir.\n:param from_: (de) Una tupla para definir el rango desde el que convertir.\n:param to: (a) Una tupla para definir el rango al que convertir.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Espera ``n`` milisegundos. (dormir)\n\nExample: ``sleep(1000)``\n\n:param n: El n\u00famero de milisegundos a esperar\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"Obtiene el tiempo de funcionamiento de la placa. (tiempo de ejecuci\u00f3n)\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"Obtiene la temperatura del micro:bit en grados Celsius. (temperatura)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Establece el volumen. (configurar volumen)\n\nExample: ``set_volume(127)``\n\n:param v: un valor entre 0 (bajo) y 255 (alto).\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"La clase para los botones ``button_a`` y ``button_b``. (bot\u00f3n)\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Comprueba si el bot\u00f3n est\u00e1 pulsado. (est\u00e1 pulsado)\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"Comprueba si el bot\u00f3n ha sido pulsado desde que se inci\u00f3 el dispositivo o desde la \u00faltima vez que se llam\u00f3 a este m\u00e9todo. (ha sido pulsado)\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"Obtiene el total de pulsaciones sucesivas de un bot\u00f3n y restablece este total\na cero. (total de pulsaciones)\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"Objeto ``Button`` para el bot\u00f3n izquierdo. (bot\u00f3n a)\"\"\"\nbutton_b: Button\n\"\"\"Objeto ``Button`` para el bot\u00f3n derecho. (bot\u00f3n b)\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"Un pin digital. (pin digital microbit)\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"Obtiene el valor digital del pin. (lectura digital)\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"Establece el valor digital del pin. (escritura digital)\n\nExample: ``pin0.write_digital(1)``\n\n:param value: (valor) 1 para establecer valor alto en el pin o 0 para valor bajo\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"Configura el estado \"pull\" con uno de los tres valores posibles: ``PULL_UP``, ``PULL_DOWN`` o ``NO_PULL``. (configurar pull)\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: (valor) El estado \"pull\" del pin correspondiente, p. ej., ``pin0.PULL_UP``.\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"Obtiene el estado \"pull\" de un pin. (obtener pull)\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"Devuelve el modo del pin. (obtener modo)\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"Env\u00eda una se\u00f1al PWM al pin, con el ciclo de trabajo proporcional a ``value``. (escritura anal\u00f3gica)\n\nExample: ``pin0.write_analog(254)``\n\n:param value: (valor) Un n\u00famero entero o de coma flotante entre 0 (ciclo de trabajo de 0 %) y 1023 (100 %).\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"Establece el per\u00edodo de la se\u00f1al PWM enviada a ``period`` milisegundos. (configurar periodo anal\u00f3gico)\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: (per\u00edodo) El per\u00edodo en milisegundos con un valor m\u00ednimo v\u00e1lido de 1 ms.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Establece el per\u00edodo de la se\u00f1al PWM enviada a ``period`` microsegundos. (configurar periodo anal\u00f3gico en microsegundos)\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: (per\u00edodo) El per\u00edodo en microsegundos con un valor m\u00ednimo v\u00e1lido de 256 \u03bcs.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"Un pin con caracter\u00edsticas anal\u00f3gicas y digitales. (pin digital y anal\u00f3gico microbit)\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Lee el voltaje aplicado al pin. (lectura anal\u00f3gica)\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"Un pin con caracter\u00edsticas anal\u00f3gicas, digitales y t\u00e1ctiles. (pin t\u00e1ctil microbit)\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"Comprueba si se est\u00e1 tocando el pin. (est\u00e1 tocado)\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Establece el modo t\u00e1ctil del pin. (configurar modo t\u00e1ctil)\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: (valor) ``CAPACITIVE`` o ``RESISTIVE`` del pin correspondiente.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"Pin con funciones digitales, anal\u00f3gicas y t\u00e1ctiles.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"Pin con funciones digitales, anal\u00f3gicas y t\u00e1ctiles.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"Pin con funciones digitales, anal\u00f3gicas y t\u00e1ctiles.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin con funciones digitales y anal\u00f3gicas.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin con funciones digitales y anal\u00f3gicas.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin con funciones digitales y anal\u00f3gicas.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"Pin con funciones digitales.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"Un pin t\u00e1ctil sensible en la parte frontal del micro:bit que por defecto est\u00e1 configurado en modo t\u00e1ctil capacitivo. (pin de logo)\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"Un pin para dirigirse al altavoz micro:bit. (pin de altavoz)\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"Una imagen que se mostrar\u00e1 en la pantalla LED del micro:bit. (imagen)\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"Imagen de un coraz\u00f3n. (coraz\u00f3n)\"\"\"\n HEART_SMALL: Image\n \"\"\"Imagen de un coraz\u00f3n peque\u00f1o. (coraz\u00f3n peque\u00f1o)\"\"\"\n HAPPY: Image\n \"\"\"Imagen de una cara feliz. (feliz)\"\"\"\n SMILE: Image\n \"\"\"Imagen de una cara sonriente. (sonrisa)\"\"\"\n SAD: Image\n \"\"\"Imagen de una cara triste. (triste)\"\"\"\n CONFUSED: Image\n \"\"\"Imagen de una cara confundida. (confundida)\"\"\"\n ANGRY: Image\n \"\"\"Imagen de una cara enfadada. (enfadada)\"\"\"\n ASLEEP: Image\n \"\"\"Imagen de una cara durmiendo. (dormida)\"\"\"\n SURPRISED: Image\n \"\"\"Imagen de una cara sorprendida. (sorprendida)\"\"\"\n SILLY: Image\n \"\"\"Imagen de una cara tonta. (tonta)\"\"\"\n FABULOUS: Image\n \"\"\"Imagen de una cara con gafas de sol. (fabulosa)\"\"\"\n MEH: Image\n \"\"\"Imagen de una cara indiferente. (indiferente)\"\"\"\n YES: Image\n \"\"\"Imagen de verificaci\u00f3n. (s\u00ed)\"\"\"\n NO: Image\n \"\"\"Imagen de cruz.\"\"\"\n CLOCK12: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 12:00. (reloj12)\"\"\"\n CLOCK11: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 11:00. (reloj11)\"\"\"\n CLOCK10: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 10:00. (reloj10)\"\"\"\n CLOCK9: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 9:00. (reloj9)\"\"\"\n CLOCK8: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 8:00. (reloj8)\"\"\"\n CLOCK7: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 7:00. (reloj7)\"\"\"\n CLOCK6: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 6:00. (reloj6)\"\"\"\n CLOCK5: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 5:00. (reloj5)\"\"\"\n CLOCK4: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 4:00. (reloj4)\"\"\"\n CLOCK3: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 3:00. (reloj3)\"\"\"\n CLOCK2: Image\n \"\"\"Imagen de una l\u00ednea apuntando a las 2:00. (reloj2)\"\"\"\n CLOCK1: Image\n \"\"\"Imagen de una l\u00ednea apuntando a la 1:00. (reloj1)\"\"\"\n ARROW_N: Image\n \"\"\"Imagen de una flecha apuntando hacia el norte. (flecha n)\"\"\"\n ARROW_NE: Image\n \"\"\"Imagen de una flecha apuntando hacia el nordeste. (flecha ne)\"\"\"\n ARROW_E: Image\n \"\"\"Imagen de una flecha apuntando hacia el este. (flecha e)\"\"\"\n ARROW_SE: Image\n \"\"\"Imagen de una flecha apuntando hacia el sudeste. (flecha se)\"\"\"\n ARROW_S: Image\n \"\"\"Imagen de una flecha apuntando hacia el sur. (flecha s)\"\"\"\n ARROW_SW: Image\n \"\"\"Imagen de una flecha apuntando hacia el sudoeste. (flecha so)\"\"\"\n ARROW_W: Image\n \"\"\"Imagen de una flecha apuntando hacia el oeste. (flecha o)\"\"\"\n ARROW_NW: Image\n \"\"\"Imagen de una flecha apuntando hacia el noroeste. (flecha no)\"\"\"\n TRIANGLE: Image\n \"\"\"Imagen de un tri\u00e1ngulo apuntando hacia arriba. (tri\u00e1ngulo)\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"Imagen de un tri\u00e1ngulo en la esquina izquierda. (tri\u00e1ngulo izquierda)\"\"\"\n CHESSBOARD: Image\n \"\"\"LED iluminados de forma alterna seg\u00fan un patr\u00f3n de tablero de ajedrez. (tablero de ajedrez)\"\"\"\n DIAMOND: Image\n \"\"\"Imagen de un diamante. (diamante)\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"Imagen de un diamante peque\u00f1o. (diamante peque\u00f1o)\"\"\"\n SQUARE: Image\n \"\"\"Imagen de un cuadrado. (cuadrado)\"\"\"\n SQUARE_SMALL: Image\n \"\"\"Imagen de un cuadrado peque\u00f1o. (cuadrado peque\u00f1o)\"\"\"\n RABBIT: Image\n \"\"\"Imagen de un conejo. (conejo)\"\"\"\n COW: Image\n \"\"\"Imagen de una vaca. (vaca)\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"Imagen de una nota negra. (negra musical)\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"Imagen de una nota corchea. (corchea musical)\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"Imagen de un par de notas corcheas. (corcheas musicales)\"\"\"\n PITCHFORK: Image\n \"\"\"Imagen de una horca. (horca)\"\"\"\n XMAS: Image\n \"\"\"Imagen de un \u00e1rbol de Navidad. (navidad)\"\"\"\n PACMAN: Image\n \"\"\"Imagen del personaje de videojuegos Pac-Man.\"\"\"\n TARGET: Image\n \"\"\"Imagen de un objetivo. (diana)\"\"\"\n TSHIRT: Image\n \"\"\"Imagen de una camiseta. (camiseta)\"\"\"\n ROLLERSKATE: Image\n \"\"\"Imagen de un pat\u00edn. (pat\u00edn)\"\"\"\n DUCK: Image\n \"\"\"Imagen de un pato. (pato)\"\"\"\n HOUSE: Image\n \"\"\"Imagen de una casa. (casa)\"\"\"\n TORTOISE: Image\n \"\"\"Imagen de una tortuga. (tortuga)\"\"\"\n BUTTERFLY: Image\n \"\"\"Imagen de una mariposa. (mariposa)\"\"\"\n STICKFIGURE: Image\n \"\"\"Imagen de un monigote. (monigote)\"\"\"\n GHOST: Image\n \"\"\"Imagen de un fantasma. (fantasma)\"\"\"\n SWORD: Image\n \"\"\"Imagen de una espada. (espada)\"\"\"\n GIRAFFE: Image\n \"\"\"Imagen de una jirafa. (girafa)\"\"\"\n SKULL: Image\n \"\"\"Imagen de una calavera. (calavera)\"\"\"\n UMBRELLA: Image\n \"\"\"Imagen de un paraguas. (paraguas)\"\"\"\n SNAKE: Image\n \"\"\"Imagen de una serpiente. (serpiente)\"\"\"\n SCISSORS: Image\n \"\"\"Imagen de tijeras. (tijeras)\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"Una lista que contiene todas las im\u00e1genes CLOCK_ en secuencia. (todos los relojes)\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"Una lista que contiene todas las im\u00e1genes ARROW_ en secuencia. (todas las flechas)\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Crea una imagen a partir de una cadena que describe los LED que est\u00e1n encendidos.\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: (cadena) La cadena que describe la imagen.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"Crea una imagen vac\u00eda con ``width`` columnas y ``height`` filas.\n\n:param width: (ancho) Ancho opcional de la imagen\n:param height: (altura) Altura opcional de la imagen\n:param buffer: (b\u00fafer) Matriz opcional de bytes de ``width`` \u00d7 ``height`` enteros en el rango 0 - 9 para inicializar la imagen\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"Obtiene el n\u00famero de columnas. (ancho)\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"Obtiene el n\u00famero de filas. (altura)\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Establece el brillo de un p\u00edxel. (configurar p\u00edxel)\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: El n\u00famero de columna\n:param y: El n\u00famero de fila\n:param value: (valor) El brillo expresado como un entero entre 0 (oscuro) y 9 (brillante)\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Obtiene el brillo de un p\u00edxel. (obtener p\u00edxel)\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: El n\u00famero de columna\n:param y: El n\u00famero de fila\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"Crea una nueva imagen desplazando la imagen hacia la izquierda. (desplazamiento a la izquierda)\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: El n\u00famero de columnas a desplazar\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"Crea una nueva imagen desplazando la imagen hacia la derecha. (desplazamiento a la derecha)\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: El n\u00famero de columnas a desplazar\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"Crea una nueva imagen desplazando la imagen hacia arriba. (desplazamiento hacia arriba)\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: El n\u00famero de filas a desplazar\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"Crea una nueva imagen desplazando la imagen hacia abajo. (desplazamiento hacia abajo)\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: El n\u00famero de filas a desplazar\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Crear una nueva imagen recortando la imagen. (recortar)\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: La columna de desplazamiento del recorte\n:param y: La fila de desplazamiento del recorte\n:param w: (a) El ancho del recorte\n:param h: La altura del recorte\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"Crea una copia exacta de la imagen. (copiar)\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"Crea una nueva imagen invirtiendo el brillo de los p\u00edxeles de la\nimagen de origen. (invertir)\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"Establece el brillo de todos los p\u00edxeles de la imagen. (llenar)\n\nExample: ``my_image.fill(5)``\n\n:param value: (valor) El nuevo brillo expresado como un n\u00famero entre 0 (oscuro) y 9 (brillante).\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"Copia un \u00e1rea de otra imagen en esta imagen.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: (org) La imagen de origen\n:param x: El desplazamiento de columna inicial en la imagen de origen\n:param y: El desplazamiento de fila inicial en la imagen de origen\n:param w: (a) El n\u00famero de columnas a copiar\n:param h: El n\u00famero de filas a copiar\n:param xdest: El desplazamiento de columna a modificar en esta imagen\n:param ydest: El desplazamiento de fila a modificar en esta imagen\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"Obtiene una representaci\u00f3n en cadena compacta de la imagen.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"Obtiene una representaci\u00f3n en cadena legible de la imagen. (cad)\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"Crea una nueva imagen sumando los valores de brillo de las dos im\u00e1genes\npara cada p\u00edxel. (a\u00f1adir)\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: (otro) La imagen a a\u00f1adir.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"Crea una nueva imagen restando los valores de brillo de la otra imagen a los de esta imagen. (rest)\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: (otro) La imagen a restar.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"Crea una nueva imagen multiplicando el brillo de cada p\u00edxel por ``n``.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: El valor por el que multiplicar.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"Crea una nueva imagen dividiendo el brillo de cada p\u00edxel entre ``n``.\n\nExample: ``Image.HEART / 2``\n\n:param n: El valor entre el que dividir.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Representa la transici\u00f3n de eventos de sonido, desde ``quiet`` a ``loud``, como aplaudir o gritar. (alto)\"\"\"\n QUIET: SoundEvent\n \"\"\"Representa la transici\u00f3n de eventos de sonido, desde ``loud`` hasta ``quiet``, como hablar o una m\u00fasica de fondo. (silencioso)\"\"\"\n\nclass Sound:\n \"\"\"Los sonidos predefinidos pueden llamarse usando ``audio.play(Sound.NAME)``. (sonido)\"\"\"\n GIGGLE: Sound\n \"\"\"Sonido de risita. (risita)\"\"\"\n HAPPY: Sound\n \"\"\"Sonido alegre. (feliz)\"\"\"\n HELLO: Sound\n \"\"\"Sonido de saludo. (hola)\"\"\"\n MYSTERIOUS: Sound\n \"\"\"Sonido misterioso. (misterioso)\"\"\"\n SAD: Sound\n \"\"\"Sonido triste. (triste)\"\"\"\n SLIDE: Sound\n \"\"\"Sonido deslizante. (deslizante)\"\"\"\n SOARING: Sound\n \"\"\"Sonido creciente. (creciente)\"\"\"\n SPRING: Sound\n \"\"\"Sonido de muelle. (muelle)\"\"\"\n TWINKLE: Sound\n \"\"\"Sonido parpadeante. (parpadeante)\"\"\"\n YAWN: Sound\n \"\"\"Sonido de bostezo. (bostezo)\"\"\"", + "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Mide la aceleraci\u00f3n del micro:bit y reconoce gestos. (aceler\u00f3metro)\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Obtiene la medici\u00f3n de la aceleraci\u00f3n en el eje ``x`` en mili-g. (obtener x)\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Obtiene la medici\u00f3n de la aceleraci\u00f3n en el eje ``y`` en mili-g. (obtener y)\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Obtiene la medici\u00f3n de la aceleraci\u00f3n en el eje ``z`` en mili-g. (obtener z)\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Obtiene las mediciones de las aceleraciones en todos los ejes como una tupla. (obtener valores)\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Obtiene la medida de la aceleraci\u00f3n de todos los ejes combinados, como un entero positivo. Es la suma Pitag\u00f3rica de los ejes X, Y y Z. (obtener fuerza)\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Obtiene el nombre del gesto actual. (gesto actual)\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Comprueba si el gesto est\u00e1 actualmente activo. (gesto activo)\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (nombre) El nombre del gesto.\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Comprueba si el gesto estuvo activo desde la \u00faltima llamada. (gesto anterior)\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (nombre) El nombre del gesto.\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Devuelve una tupla con el historial de gestos. (obtener gestos)\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Configura el rango de sensibilidad del aceler\u00f3metro, en g (gravedad est\u00e1ndar), a los valores m\u00e1s cercanos soportados por el hardware, por lo que redondea a ``2``, ``4``, u ``8`` g. (configurar rango)\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: (valor) Nuevo rango para el aceler\u00f3metro, un entero en ``g``.\"\"\"", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Reproducir sonidos usando el micro:bit (importar ``audio`` para compatibilidad con V1).\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Reproduce un sonido integrado, un efecto de sonido o marcos de audio personalizados. (reproducir)\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: (origen) Un ``Sound`` integrado como ``Sound.GIGGLE``, un ``SoundEffect`` o datos de muestra como un iterable de objetos ``AudioFrame``.\n:param wait: (esperar) Si ``wait`` es ``True`` (verdadero), la funci\u00f3n se bloquear\u00e1 hasta que el sonido finalice.\n:param pin: Se puede usar un argumento opcional para especificar el pin de salida, reemplazando el valor predeterminado de ``pin0``. Si no queremos que se reproduzca ning\u00fan sonido, podemos usar ``pin=None``.\n:param return_pin: (devolver pin) Especifica un pin de conector de borde diferencial para conectarse a un altavoz externo en lugar de tierra. Esto se ignora para la revisi\u00f3n **V2**.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Comprueba si se est\u00e1 reproduciendo un sonido. (reproduciendo)\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Detiene la reproducci\u00f3n de audio. (detener)\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"Un efecto de sonido, compuesto por un conjunto de par\u00e1metros configurados a trav\u00e9s del constructor o atributos. (efectosonido)\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Opci\u00f3n de onda senoidal utilizada para el par\u00e1metro ``waveform``. (forma de onda senoidal)\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Opci\u00f3n de onda con diente de sierra usada para el par\u00e1metro ``waveform``. (forma de onda diente de sierra)\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Opci\u00f3n de onda triangular usada para el par\u00e1metro ``waveform``. (forma de onda triangular)\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Opci\u00f3n de onda cuadrada usada para el par\u00e1metro ``waveform``. (forma de onda cuadrada)\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Opci\u00f3n de ruido usada para el par\u00e1metro ``waveform``. (forma de onda de ruido)\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Opci\u00f3n de interpolaci\u00f3n lineal usada para el par\u00e1metro ``shape``. (forma lineal)\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Opci\u00f3n de interpolaci\u00f3n de curva usada para el par\u00e1metro ``shape``. (forma curva)\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Opci\u00f3n de interpolaci\u00f3n logar\u00edtmica usada para el par\u00e1metro ``shape``. (registro de forma)\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"Ninguna opci\u00f3n de efecto usada para el par\u00e1metro ``fx``. (fx ninguno)\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Opci\u00f3n de efecto Tr\u00e9molo usada para el par\u00e1metro ``fx``. (fx tr\u00e9molo)\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Opci\u00f3n de efecto vibrato utilizada para el par\u00e1metro ``fx``.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Opci\u00f3n de efecto gorjeo utilizada para el par\u00e1metro ``fx``. (fx gorjeo)\"\"\"\n freq_start: int\n \"\"\"Frecuencia de inicio en Hertz (Hz), un n\u00famero entre ``0`` y ``9999`` (frecuencia de inicio)\"\"\"\n freq_end: int\n \"\"\"Frecuencia final en Hertz (Hz), un n\u00famero entre ``0`` y ``9999`` (frecuencia final)\"\"\"\n duration: int\n \"\"\"Duraci\u00f3n del sonido en milisegundos, un n\u00famero entre ``0`` y ``9999`` (duraci\u00f3n)\"\"\"\n vol_start: int\n \"\"\"Valor de volumen inicial, un n\u00famero entre ``0`` y ``255`` (volumen de inicio)\"\"\"\n vol_end: int\n \"\"\"Valor final del volumen, un n\u00famero entre ``0`` y ``255`` (volumen final)\"\"\"\n waveform: int\n \"\"\"Tipo de forma ondulada, uno de estos valores: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (ruido generado aleatoriamente) (forma de onda)\"\"\"\n fx: int\n \"\"\"Efecto para a\u00f1adir en el sonido, uno de los siguientes valores: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``o ``FX_NONE``\"\"\"\n shape: int\n \"\"\"El tipo de curva de interpolaci\u00f3n entre las frecuencias de inicio y final, diferentes formas de onda tienen diferentes tasas de cambio en la frecuencia. Uno de los siguientes valores: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG`` (forma)\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Crea un nuevo efecto de sonido.\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: (frecuencia de inicio) Frecuencia de inicio en Hertz (Hz), un n\u00famero entre ``0`` y ``9999``.\n:param freq_end: (frecuencia final) Frecuencia final en Hertz (Hz), un n\u00famero entre ``0`` y ``9999``.\n:param duration: (duraci\u00f3n) Duraci\u00f3n del sonido en milisegundos, un n\u00famero entre ``0`` y ``9999``.\n:param vol_start: (volumen inicial) Valor de volumen inicial, un n\u00famero entre ``0`` y ``255``.\n:param vol_end: (volumen final) Valor de volumen final, un n\u00famero entre ``0`` y ``255``.\n:param waveform: (forma de onda) Tipo de forma de onda, uno de estos valores: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (ruido generado aleatoriamente).\n:param fx: Efecto para a\u00f1adir en el sonido, uno de los siguientes valores: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``o ``FX_NONE``.\n:param shape: (forma) El tipo de curva de interpolaci\u00f3n entre las frecuencias de inicio y final, diferentes formas de onda tienen diferentes tasas de cambio en la frecuencia. Uno de los siguientes valores: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Crea una copia de este ``SoundEffect``. (copiar)\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"Un objeto ``AudioFrame`` es una lista de 32 muestras, cada una de las cuales es un byte\nsin signo (n\u00famero entero entre 0 y 255).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Sobrescribe los datos de este ``AudioFrame`` con los datos de otra instancia ``AudioFrame``. (copiadesde)\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: (otro) Instancia ``AudioFrame`` desde la que copiar los datos.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Usar la br\u00fajula incorporada. (br\u00fajula)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Inicia el proceso de calibraci\u00f3n. (calibrar)\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"Comprueba si la br\u00fajula est\u00e1 calibrada. (est\u00e1 calibrado)\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Deshace la calibraci\u00f3n, haciendo que la br\u00fajula est\u00e9 otra vez sin calibrar. (eliminar calibraci\u00f3n)\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Obtiene la fuerza del campo magn\u00e9tico en el eje ``x``. (obtener x)\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Obtiene la fuerza del campo magn\u00e9tico en el eje ``y``. (obtener y)\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Obtiene la fuerza del campo magn\u00e9tico en el eje ``z``. (obtener z)\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Obtiene el rumbo de la br\u00fajula. (rumbo)\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Obtiene la magnitud del campo magn\u00e9tico alrededor del dispositivo. (obtener fuerza del campo)\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", + "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Mostrar texto, im\u00e1genes y animaciones en la pantalla LED de 5 \u00d7 5. (pantalla)\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Obtiene el brillo del LED que hay en la columna ``x`` y fila ``y``. (obtener p\u00edxel)\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: La columna de la pantalla (0..4)\n:param y: La fila de la pantalla (0..4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Establece el brillo del LED que hay en la columna ``x`` y fila ``y``. (configurar p\u00edxel)\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: La columna de la pantalla (0..4)\n:param y: La fila de la pantalla (0..4)\n:param value: (valor) El brillo entre 0 (apagado) y 9 (brillante)\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Ajusta el brillo de todos los LED a 0 (apagado). (borrar)\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"Muestra im\u00e1genes, letras o d\u00edgitos en la pantalla LED. (mostrar)\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: (imagen) Una cadena, n\u00famero, imagen o lista de im\u00e1genes para mostrar.\n:param delay: (retardo) Cada letra, d\u00edgito o imagen se muestra con ``delay`` milisegundos de retardo entre ellos.\n:param wait: (esperar) Si ``wait`` es ``True`` (verdadero), la funci\u00f3n se bloquear\u00e1 hasta que finalice la animaci\u00f3n; de lo contrario, la animaci\u00f3n se ejecutar\u00e1 en segundo plano.\n:param loop: (bucle) Si ``loop`` es ``True`` (verdadero), la animaci\u00f3n se repetir\u00e1 para siempre.\n:param clear: (borrar) Si ``clear`` es ``True`` (verdadero), la pantalla se borrar\u00e1 una vez que la secuencia haya terminado.\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"Desplaza un n\u00famero o texto por la pantalla LED. (desplazar)\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: (texto) La cadena a desplazar. Si ``text`` es un entero o de coma flotante, primero se convertir\u00e1 a cadena usando ``str()``.\n:param delay: (retardo) El par\u00e1metro ``delay`` controla la velocidad de desplazamiento del texto.\n:param wait: (esperar) Si ``wait`` es ``True`` (verdadero), la funci\u00f3n se bloquear\u00e1 hasta que finalice la animaci\u00f3n; de lo contrario, la animaci\u00f3n se ejecutar\u00e1 en segundo plano.\n:param loop: (bucle) Si ``loop`` es ``True`` (verdadero), la animaci\u00f3n se repetir\u00e1 para siempre.\n:param monospace: Si ``monospace`` es ``True`` (verdadero), todos los caracteres ocupar\u00e1n columnas de 5 p\u00edxeles de ancho; de lo contrario, habr\u00e1 exactamente 1 columna de p\u00edxeles vac\u00edos entre cada car\u00e1cter a medida que se desplazan.\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Enciende la pantalla LED. (encendido)\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Apaga la pantalla LED (desactivar la pantalla te permite reutilizar los pines GPIO para otros fines). (apagado)\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"Comprueba si la pantalla LED est\u00e1 activada. (est\u00e1 encendido)\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Lee el nivel de luz. (leer nivel de luz)\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Comunicarse con dispositivos que usan el protocolo de bus I\u00b2C.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"Reinicia un perif\u00e9rico. (inic)\n\nExample: ``i2c.init()``\n\n:param freq: (frec) frecuencia del reloj\n:param sda: pin ``sda`` (por defecto, 20)\n:param scl: pin ``scl`` (por defecto, 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Escanea el bus para buscar dispositivos. (escanear)\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Lee bytes de un dispositivo. (leer)\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: (dir) La direcci\u00f3n de 7 bits del dispositivo\n:param n: El n\u00famero de bytes a leer\n:param repeat: (repetir) Si es ``True`` (verdadero), no se enviar\u00e1 ning\u00fan bit de parada\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"Escribe bytes en un dispositivo. (escribir)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: (dir) La direcci\u00f3n de 7 bits del dispositivo\n:param buf: (b\u00faf) Un b\u00fafer que contiene los bytes a escribir\n:param repeat: (repetir) Si es ``True`` (verdadero), no se enviar\u00e1 ning\u00fan bit de parada\"\"\"\n ...", + "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Responde al sonido usando el micr\u00f3fono integrado (solo V2). (micr\u00f3fono)\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Obtiene el \u00faltimo evento de sonido grabado (evento actual)\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Comprueba si se ha escuchado un sonido al menos una vez desde la \u00faltima llamada. (evento anterior)\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: (evento) El evento a comprobar, como ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Comprueba el evento de sonido m\u00e1s reciente detectado. (evento reciente)\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: (evento) El evento a comprobar, como ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Obtiene el historial de eventos de sonido como una tupla. (obtener eventos)\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Establece el umbral para un evento de sonido. (configurar l\u00edmite)\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: (evento) Un evento de sonido, como ``SoundEvent.LOUD`` o ``SoundEvent.QUIET``.\n:param value: (valor) El nivel de umbral en el rango 0 - 255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Obtiene el nivel de presi\u00f3n sonora. (nivel de sonido)\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", + "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Controlar el altavoz integrado (solo V2). (altavoz)\"\"\"\n\ndef off() -> None:\n \"\"\"Apaga el altavoz. (apagado)\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Enciende el altavoz. (encendido)\n\nExample: ``speaker.on()``\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Comunicarse con dispositivos que usan el bus de interfaz de perif\u00e9ricos serie (SPI, por sus siglas en ingl\u00e9s).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Inicializa la comunicaci\u00f3n SPI.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: (tasa de baudios) La velocidad de comunicaci\u00f3n.\n:param bits: El ancho en bits de cada transferencia. Actualmente solo se admite ``bits=8}, pero esto puede cambiar en el futuro.\n:param mode: (modo) Determina la combinaci\u00f3n de fase y polaridad del reloj - `ver tabla en l\u00ednea `_.\n:param sclk: pin SCLK (por defecto, 13)\n:param mosi: pin MOSI (por defecto, 15)\n:param miso: pin MISO (por defecto, 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"Lee como m\u00e1ximo ``nbytes`` mientras est\u00e1 escribiendo continuamente el byte individual dado por ``out``. (leer)\n\nExample: ``spi.read(64)``\n\n:param nbytes: N\u00famero m\u00e1ximo de bytes a leer.\n:param out: (salida) El valor del byte a escribir (por defecto 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Escribe bytes en el bus. (escribir)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (b\u00fafer) Un b\u00fafer del que leer datos.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Escribe el b\u00fafer ``out`` en el bus y lee cualquier respuesta en el b\u00fafer ``in_``. (escritura leeren)\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: (a) El b\u00fafer en el que escribe una respuesta.\n:param in_: (de) El b\u00fafer del que leer datos.\"\"\"\n ...", + "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Comunicarse con un dispositivo usando una interfaz serie.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"Paridad impar (impar)\"\"\"\nEVEN: int\n\"\"\"Paridad par (par)\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"Inicializa la comunicaci\u00f3n serie.\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: (tasa de baudios) La velocidad de comunicaci\u00f3n.\n:param bits: El tama\u00f1o de bytes transmitidos; micro:bit solo admite 8.\n:param parity: (paridad) C\u00f3mo se comprueba la paridad: ``None``, ``uart.ODD`` o ``uart.EVEN``.\n:param stop: (detener) El n\u00famero de bits de parada; tiene que ser 1 para el micro:bit.\n:param tx: Pin transmisor.\n:param rx: Pin receptor.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Comprueba si hay datos en espera. (alg\u00fan)\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"Lee bytes. (leer)\n\nExample: ``uart.read()``\n\n:param nbytes: Si se especifica ``nbytes``, lee como m\u00e1ximo ese n\u00famero de bytes; si no, lee tantos bytes como sea posible\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"Lee bytes en el ``buf``. (leeren)\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: (b\u00faf) El b\u00fafer en el que escribir.\n:param nbytes: Si se especifica ``nbytes``, lee como m\u00e1ximo ese n\u00famero de bytes; si no, lee ``len(buf)`` bytes.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Lee una l\u00ednea, terminando en un car\u00e1cter de nueva l\u00ednea. (leerl\u00ednea)\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Escribe un b\u00fafer en el bus. (escribir)\n\nExample: ``uart.write('hello world')``\n\n:param buf: (b\u00faf) Un objeto de bytes o una cadena.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" } diff --git a/src/micropython/main/typeshed.fr.json b/src/micropython/main/typeshed.fr.json index a1439b3f0..fdd497df1 100644 --- a/src/micropython/main/typeshed.fr.json +++ b/src/micropython/main/typeshed.fr.json @@ -7,23 +7,23 @@ "/typeshed/stdlib/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\n# Re-export for V1 compatibility.\nfrom .microbit.audio import (\n is_playing as is_playing,\n play as play,\n stop as stop,\n AudioFrame as AudioFrame,\n SoundEffect as SoundEffect,\n)\n", "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", - "/typeshed/stdlib/gc.pyi": "\"\"\"Control the garbage collector\"\"\"\n\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"Enable automatic garbage collection.\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"Disable automatic garbage collection.\n\n Heap memory can still be allocated,\n and garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Run a garbage collection.\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Get the number of bytes of heap RAM that are allocated.\n\n :return: The number of bytes allocated.\n\n This function is MicroPython extension.\n \"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Get the number of bytes of available heap RAM, or -1 if this amount is not known.\n\n :return: The number of bytes free.\n\n This function is MicroPython extension.\n \"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Query the additional GC allocation threshold.\n\n :return: The GC allocation threshold.\n\n This function is a MicroPython extension. CPython has a similar\n function - ``set_threshold()``, but due to different GC\n implementations, its signature and semantics are different.\n \"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Set the additional GC allocation threshold.\n\n Normally, a collection is triggered only when a new allocation\n cannot be satisfied, i.e. on an out-of-memory (OOM) condition.\n If this function is called, in addition to OOM, a collection\n will be triggered each time after ``amount`` bytes have been\n allocated (in total, since the previous time such an amount of bytes\n have been allocated). ``amount`` is usually specified as less than the\n full heap size, with the intention to trigger a collection earlier than when the\n heap becomes exhausted, and in the hope that an early collection will prevent\n excessive memory fragmentation. This is a heuristic measure, the effect\n of which will vary from application to application, as well as\n the optimal value of the ``amount`` parameter.\n\n A value of -1 means a disabled allocation threshold.\n\n This function is a MicroPython extension. CPython has a similar\n function - ``set_threshold()``, but due to different GC\n implementations, its signature and semantics are different.\n\n :param amount: The number of bytes after which a garbage collection should be triggered.\n \"\"\"\n ...\n", - "/typeshed/stdlib/log.pyi": "\"\"\"Log data to your micro:bit V2.\"\"\"\n\nfrom typing import Literal, Mapping, Optional, Union, overload\n\nMILLISECONDS = 1\n\"\"\"Milliseconds timestamp format.\"\"\"\n\nSECONDS = 10\n\"\"\"Seconds timestamp format.\"\"\"\n\nMINUTES = 600\n\"\"\"Minutes timestamp format.\"\"\"\n\nHOURS = 36000\n\"\"\"Hours timestamp format.\"\"\"\n\nDAYS = 864000\n\"\"\"Days timestamp format.\"\"\"\n\ndef set_labels(\n *labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]] = SECONDS\n) -> None:\n \"\"\"Set up the log file header.\n\n Example: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\n Ideally this function should be called a single time, before any data is\n logged, to configure the data table header once.\n\n If a log file already exists when the program starts, or if this function\n is called multiple times, it will check the labels already defined in the\n log file. If this function call contains any new labels not already\n present, it will generate a new header row with the additional columns.\n\n By default the first column contains a timestamp for each row. The time\n unit can be selected via the timestamp argument.\n\n :param *labels: Any number of positional arguments, each corresponding to an entry in the log header.\n :param timestamp: Select the timestamp unit that will be automatically added as the first column in every row. Timestamp values can be one of ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` or ``None`` to disable the timestamp. The default value is ``log.SECONDS``.\n \"\"\"\n ...\n\n@overload\ndef add(\n data_dictionary: Optional[Mapping[str, Union[str, int, float]]],\n) -> None:\n \"\"\"Add a data row to the log by passing a dictionary of headers and values.\n\n Example: ``log.add({ 'temp': temperature() })``\n\n Each call to this function adds a row to the log.\n\n New labels not previously specified via the set_labels function, or by a\n previous call to this function, will trigger a new header entry to be added\n to the log with the extra labels.\n\n Labels previously specified and not present in a call to this function will\n be skipped with an empty value in the log row.\n\n :param data_dictionary: The data to log as a dictionary with a key for each header.\n \"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"Add a data row to the log using keyword arguments.\n\n Example: ``log.add(temp=temperature())``\n\n Each call to this function adds a row to the log.\n\n New labels not previously specified via the set_labels function, or by a\n previous call to this function, will trigger a new header entry to be added\n to the log with the extra labels.\n\n Labels previously specified and not present in a call to this function will\n be skipped with an empty value in the log row.\n \"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"Deletes the contents of the log, including headers.\n\n Example: ``log.delete()``\n\n To add the log headers again the ``set_labels`` function should to be called after this function.\n\n There are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\n and \u201cfast\u201d invalidates the data without removing it.\n\n :param full: ``True`` selects a \u201cfull\u201d erase and ``False`` selects the \u201cfast\u201d erase method.\n \"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Configure mirroring of the data logging activity to the serial output.\n\n Example: ``log.set_mirroring(True)``\n\n Serial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n :param serial: ``True`` enables mirroring data to the serial output.\n \"\"\"\n ...\n", + "/typeshed/stdlib/gc.pyi": "\"\"\"Contr\u00f4ler le ramasse-miettes\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"Active la collecte automatique du ramasse-miettes.\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"D\u00e9sactive la collecte automatique du ramasse-miettes.\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Ex\u00e9cute une collecte avec le ramasse-miettes\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Obtenir le nombre d'octets allou\u00e9s pour le tas en RAM\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Obtenir le nombre d'octets disponibles pour le tas en RAM, ou -1 si ce nombre est inconnu.\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Demander le seuil d'allocation suppl\u00e9mentaire GC.\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Fixer le seuil d'allocation suppl\u00e9mentaire GC.\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: Le nombre d'octets apr\u00e8s lequel un passage du ramasse-miettes doit \u00eatre d\u00e9clench\u00e9.\"\"\"\n ...", + "/typeshed/stdlib/log.pyi": "\"\"\"Journalisez des donn\u00e9es sur votre micro:bit V2.\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"Format d'horodatage en millisecondes.\"\"\"\nSECONDS = 10\n\"\"\"Format d'horodatage en secondes.\"\"\"\nMINUTES = 600\n\"\"\"Format d'horodatage en minutes.\"\"\"\nHOURS = 36000\n\"\"\"Format d'horodatage en heures.\"\"\"\nDAYS = 864000\n\"\"\"Format d'horodatage en jours.\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"D\u00e9finir l'en-t\u00eate du fichier journal\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: Un nombre quelconque d'arguments positionnels, chacun correspondant \u00e0 une entr\u00e9e dans l'en-t\u00eate du journal.\n:param timestamp: (horodatage) S\u00e9lectionnez l'unit\u00e9 d'horodatage qui sera automatiquement ajout\u00e9e comme premi\u00e8re colonne de chaque ligne. Les valeurs d'horodatage peuvent \u00eatre l'une des suivantes ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` ou ``None`` pour d\u00e9sactiver l'horodatage. La valeur par d\u00e9faut est ``log.SECONDS``.\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"Ajoute une ligne de donn\u00e9es au journal en passant un dictionnaire d'en-t\u00eates et de valeurs.\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: Les donn\u00e9es \u00e0 enregistrer sous forme de dictionnaire avec une cl\u00e9 pour chaque en-t\u00eate.\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"Ajoute une ligne de donn\u00e9es au journal en utilisant des arguments nomm\u00e9s.\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"Supprime le contenu du journal, y compris les en-t\u00eates.\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: ``True`` s\u00e9lectionne un effacement \"complet\" et ``False`` s\u00e9lectionne la m\u00e9thode d'effacement \"rapide\".\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Configurez la mise en miroir de l'activit\u00e9 d'enregistrement des donn\u00e9es sur la sortie s\u00e9rie.\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: ``True`` active la mise en miroir des donn\u00e9es sur la sortie s\u00e9rie.\"\"\"\n ...", "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", - "/typeshed/stdlib/machine.pyi": "\"\"\"Low-level utilities.\n\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"Get a byte string with a unique identifier of a board.\n\n Example: ``machine.unique_id()``\n\n :return: An identifier that varies from one board instance to another.\n \"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset the device in a manner similar to pushing the external RESET button.\n\n Example: ``machine.reset()``\n \"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"Get the CPU frequency in hertz.\n\n Example: ``machine.freq()``\n\n :return: The CPU frequency.\n \"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"Disable interrupt requests.\n\n Example: ``interrupt_state = machine.disable_irq()``\n\n :return: the previous IRQ state which should be considered an opaque value\n\n The return value should be passed to the ``enable_irq`` function to restore\n interrupts to their original state.\n \"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"Re-enable interrupt requests.\n\n Example: ``machine.enable_irq(interrupt_state)``\n\n :param state: The value that was returned from the most recent call to the ``disable_irq`` function.\n \"\"\"\n ...\n\ndef time_pulse_us(\n pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int = 1000000\n) -> int:\n \"\"\"Time a pulse on a pin.\n\n Example: ``time_pulse_us(pin0, 1)``\n\n If the current input value of the pin is different to ``pulse_level``, the\n function first waits until the pin input becomes equal to\n ``pulse_level``, then times the duration that the pin is equal to\n ``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\n starts straight away.\n\n :param pin: The pin to use\n :param pulse_level: 0 to time a low pulse or 1 to time a high pulse\n :param timeout_us: A microsecond timeout\n :return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\n \"\"\"\n ...\n\nclass mem:\n \"\"\"The class for the ``mem8``, ``mem16`` and ``mem32`` memory views.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Access a value from memory.\n\n :param address: The memory address.\n :return: The value at that address as an integer.\n \"\"\"\n ...\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"Set a value at the given address.\n\n :param address: The memory address.\n :param value: The integer value to set.\n \"\"\"\n ...\n\nmem8: mem\n\"\"\"8-bit (byte) view of memory.\"\"\"\n\nmem16: mem\n\"\"\"16-bit view of memory.\"\"\"\n\nmem32: mem\n\"\"\"32-bit view of memory.\"\"\"\n", - "/typeshed/stdlib/math.pyi": "\"\"\"Mathematical functions.\n\"\"\"\n\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Calculate the inverse cosine.\n\n Example: ``math.acos(1)``\n\n :param x: A number\n :return: The inverse cosine of ``x``\n \"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Calculate the inverse sine.\n\n Example: ``math.asin(0)``\n\n :param x: A number\n :return: The inverse sine of ``x``\n \"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Calculate the inverse tangent.\n\n Example: ``math.atan(0)``\n\n :param x: A number\n :return: The inverse tangent of ``x``\n \"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Calculate the principal value of the inverse tangent of ``y/x``.\n\n Example: ``math.atan2(0, -1)``\n\n :param y: A number\n :param x: A number\n :return: The principal value of the inverse tangent of ``y/x``\n \"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Round a number towards positive infinity.\n\n Example: ``math.ceil(0.1)``\n\n :param x: A number\n :return: ``x`` rounded towards positive infinity.\n \"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Calculate ``x`` with the sign of ``y``.\n\n Example: ``math.copysign(1, -1)``\n\n :param x: A number\n :param y: The source of the sign for the return value\n :return: ``x`` with the sign of ``y``\n \"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Calculate the cosine of ``x``.\n\n Example: ``math.cos(0)``\n\n :param x: A number\n :return: The cosine of ``x``\n \"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Convert radians to degrees.\n\n Example: ``math.degrees(2 * math.pi)``\n\n :param x: A value in radians\n :return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Calculate the exponential of ``x``.\n\n Example: ``math.exp(1)``\n\n :param x: A number\n :return: The exponential of ``x``.\n \"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Return the absolute value of ``x``.\n\n Example: ``math.fabs(-0.1)``\n\n :param x: A number\n :return: The absolute value of ``x``\n \"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Round a number towards negative infinity.\n\n Example: ``math.floor(0.9)``\n\n :param x: A number\n :return: ``x`` rounded towards negative infinity.\n \"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Calculate the remainder of ``x/y``.\n\n Example: ``math.fmod(10, 3)``\n\n :param x: The numerator\n :param y: The denominator\n \"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Decomposes a floating-point number into its mantissa and exponent.\n\n Example: ``mantissa, exponent = math.frexp(2)``\n\n The returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\n exactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\n the relation ``0.5 <= abs(m) < 1`` holds.\n\n :param x: A floating-point number\n :return: A tuple of length two containing its mantissa then exponent\n \"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"Check if a value is finite.\n\n Example: ``math.isfinite(float('inf'))``\n\n :param x: A number.\n :return: ``True`` if ``x`` is finite, ``False`` otherwise.\n \"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"Check if a value is infinite.\n\n Example: ``math.isinf(float('-inf'))``\n\n :param x: A number.\n :return: ``True`` if ``x`` is infinite, ``False`` otherwise.\n \"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Check if a value is not-a-number (NaN).\n\n Example: ``math.isnan(float('nan'))``\n\n :param x: A number\n :return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Calculate ``x * (2**exp)``.\n\n Example: ``math.ldexp(0.5, 2)``\n\n :param x: A number\n :param exp: Integer exponent\n :return: ``x * (2**exp)``\n \"\"\"\n ...\n\ndef log(x: float, base: float = e) -> float:\n \"\"\"Calculate the logarithm of ``x`` to the given base (defaults to natural logorithm).\n\n Example: ``math.log(math.e)``\n\n With one argument, return the natural logarithm of x (to base e).\n\n With two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n :param x: A number\n :param base: The base to use\n :return: The natural logarithm of ``x``\n \"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Calculate the fractional and integral parts of ``x``.\n\n Example: ``fractional, integral = math.modf(1.5)``\n\n :param x: A number\n :return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\n Both the fractional and integral values have the same sign as ``x``.\n \"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Returns ``x`` to the power of ``y``.\n\n Example: ``math.pow(4, 0.5)``\n\n :param x: A number\n :param y: The exponent\n :return: ``x`` to the power of ``y``\n \"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Convert a degrees to radians.\n\n Example: ``math.radians(360)``\n\n :param x: A value in degrees\n :return: The value converted to radians\n \"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Calculate the sine of ``x``.\n\n Example: ``math.sin(math.pi/2)``\n\n :param x: A number\n :return: The sine of ``x``\n \"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Calculate the square root of ``x``.\n\n Example: ``math.sqrt(4)``\n\n :param x: A number\n :return: The square root of ``x``\n \"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Calculate the tangent of ``x``.\n\n Example: ``math.tan(0)``\n\n :param x: A number\n :return: The tangent of ``x``.\n \"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Round a number towards 0.\n\n Example: ``math.trunc(-0.9)``\n\n :param x: A number\n :return: ``x`` rounded towards zero.\n \"\"\"\n ...\n\ne: float\n\"\"\"Base of the natural logarithm\"\"\"\n\npi: float\n\"\"\"The ratio of a circle's circumference to its diameter\"\"\"\n", - "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython internals.\"\"\"\n\nfrom typing import Any, TypeVar, overload\n\n_T = TypeVar(\"_T\")\n\ndef const(expr: _T) -> _T:\n \"\"\"Used to declare that the expression is a constant so that the compiler can\n optimise it.\n\n The use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\n Constants declared this way are still accessible as global variables from\n outside the module they are declared in. On the other hand, if a constant\n begins with an underscore then it is hidden, it is not available as a\n global variable, and does not take up any memory during execution.\n\n :param expr: A constant expression.\n \"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Get the current optimisation level for the compilation of scripts.\n\n Example: ``micropython.opt_level()``\n\n The optimisation level controls the following compilation features:\n\n - Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n - Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n - Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n :return: An integer representing the current level.\n \"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Sets the optimisation level for subsequent compilation of scripts.\n\n Example: ``micropython.opt_level(1)``\n\n The optimisation level controls the following compilation features:\n\n - Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n - Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n - Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n The default optimisation level is usually level 0.\n\n :param level: An integer optimisation level.\n \"\"\"\n ...\n\ndef mem_info(verbose: Any = None) -> None:\n \"\"\"Print information about currently used memory.\n\n Example: ``micropython.mem_info()``\n\n :param verbose: If the ``verbose`` argument is given then extra information is printed.\n \"\"\"\n ...\n\ndef qstr_info(verbose: Any = None) -> None:\n \"\"\"Print information about currently interned strings.\n\n Example: ``micropython.qstr_info()``\n\n :param verbose: If the ``verbose`` argument is given then extra information is printed.\n\n The information that is printed is implementation dependent, but currently\n includes the number of interned strings and the amount of RAM they use. In\n verbose mode it prints out the names of all RAM-interned strings.\n \"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Return an integer representing the current amount of stack that is being\n used.\n\n Example: ``micropython.stack_use()``\n\n The absolute value of this is not particularly useful, rather it\n should be used to compute differences in stack usage at different points.\n\n :return: An integer representing current stack use.\n \"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Lock the heap.\n\n Example: ``micropython.heap_lock()``\n\n When locked no memory allocation can occur and a ``MemoryError`` will be\n raised if any heap allocation is attempted.\n \"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Unlock the heap.\n\n Example: ``micropython.heap_unlock()``\n\n When locked no memory allocation can occur and a ``MemoryError`` will be\n raised if any heap allocation is attempted.\n \"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Set the character that will raise a ``KeyboardInterrupt`` exception.\n\n Example: ``micropython.kbd_intr(-1)``\n\n :param chr: Character code to raise the interrupt or -1 to disable capture of Ctrl-C.\n\n By default this is set to 3 during script execution, corresponding to Ctrl-C.\n Passing -1 to this function will disable capture of Ctrl-C, and passing 3\n will restore it.\n\n This function can be used to prevent the capturing of Ctrl-C on the\n incoming stream of characters that is usually used for the REPL, in case\n that stream is used for other purposes.\n \"\"\"\n ...\n", - "/typeshed/stdlib/music.pyi": "\"\"\"Create and play melodies.\n\"\"\"\nfrom typing import Optional, Tuple, Union, List\n\nfrom .microbit import MicroBitDigitalPin, pin0\n\nDADADADUM: Tuple[str, ...]\n\"\"\"Melody: the opening to Beethoven\u2019s 5th Symphony in C minor.\"\"\"\n\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melody: the opening fragment of Scott Joplin\u2019s Ragtime classic \u201cThe Entertainer\u201d.\"\"\"\n\nPRELUDE: Tuple[str, ...]\n\"\"\"Melody: the opening of the first Prelude in C Major of J.S.Bach\u2019s 48 Preludes and Fugues.\"\"\"\n\nODE: Tuple[str, ...]\n\"\"\"Melody: the \u201cOde to Joy\u201d theme from Beethoven\u2019s 9th Symphony in D minor.\"\"\"\n\nNYAN: Tuple[str, ...]\n\"\"\"Melody: the Nyan Cat theme (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\n\nRINGTONE: Tuple[str, ...]\n\"\"\"Melody: something that sounds like a mobile phone ringtone.\n\nTo be used to indicate an incoming message.\n\"\"\"\n\nFUNK: Tuple[str, ...]\n\"\"\"Melody: a funky bass line for secret agents and criminal masterminds.\"\"\"\n\nBLUES: Tuple[str, ...]\n\"\"\"Melody: a boogie-woogie 12-bar blues walking bass.\"\"\"\n\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melody: \u201cHappy Birthday to You\u2026\u201d\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\n\nWEDDING: Tuple[str, ...]\n\"\"\"Melody: the bridal chorus from Wagner\u2019s opera \u201cLohengrin\u201d.\"\"\"\n\nFUNERAL: Tuple[str, ...]\n\"\"\"Melody: the \u201cfuneral march\u201d otherwise known as Fr\u00e9d\u00e9ric Chopin\u2019s Piano Sonata No. 2 in B\u266d minor, Op. 35.\"\"\"\n\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melody: a fun fragment that signifies a joke has been made.\"\"\"\n\nPYTHON: Tuple[str, ...]\n\"\"\"Melody: John Philip Sousa\u2019s march \u201cLiberty Bell\u201d aka, the theme for \u201cMonty Python\u2019s Flying Circus\u201d (after which the Python programming language is named).\"\"\"\n\nBADDY: Tuple[str, ...]\n\"\"\"Melody: silent movie era entrance of a baddy.\"\"\"\n\nCHASE: Tuple[str, ...]\n\"\"\"Melody: silent movie era chase scene.\"\"\"\n\nBA_DING: Tuple[str, ...]\n\"\"\"Melody: a short signal to indicate something has happened.\"\"\"\n\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melody: a very sad trombone.\"\"\"\n\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melody: for use in a game, indicating upward movement.\"\"\"\n\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melody: for use in a game, indicating downward movement.\"\"\"\n\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melody: a fanfare to indicate an achievement unlocked.\"\"\"\n\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melody: a sad fanfare to indicate an achievement lost.\"\"\"\n\ndef set_tempo(ticks: int = 4, bpm: int = 120) -> None:\n \"\"\"Sets the approximate tempo for playback.\n\n Example: ``music.set_tempo(bpm=120)``\n\n :param ticks: The number of ticks constituting a beat.\n :param bpm: An integer determining how many beats per minute.\n\n Suggested default values allow the following useful behaviour:\n\n - music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n - music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n - music.set_tempo(bpm=180) \u2013 just change the tempo\n\n To work out the length of a tick in milliseconds is very simple arithmetic:\n 60000/bpm/ticks_per_beat. For the default values that\u2019s\n 60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\n \"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Gets the current tempo as a tuple of integers: ``(ticks, bpm)``.\n\n Example: ``ticks, beats = music.get_tempo()``\n\n :return: The temp as a tuple with two integer values, the ticks then the beats per minute.\n \"\"\"\n ...\n\ndef play(\n music: Union[str, List[str], Tuple[str, ...]],\n pin: Optional[MicroBitDigitalPin] = pin0,\n wait: bool = True,\n loop: bool = False,\n) -> None:\n \"\"\"Plays music.\n\n Example: ``music.play(music.NYAN)``\n\n :param music: music specified in `a special notation `_\n :param pin: the output pin for use with an external speaker (default ``pin0``), ``None`` for no sound.\n :param wait: If ``wait`` is set to ``True``, this function is blocking.\n :param loop: If ``loop`` is set to ``True``, the tune repeats until ``stop`` is called or the blocking call is interrupted.\n\n Many built-in melodies are defined in this module.\n \"\"\"\n ...\n\ndef pitch(\n frequency: int,\n duration: int = -1,\n pin: Optional[MicroBitDigitalPin] = pin0,\n wait: bool = True,\n) -> None:\n \"\"\"Play a note.\n\n Example: ``music.pitch(185, 1000)``\n\n :param frequency: An integer frequency\n :param duration: A millisecond duration. If negative then sound is continuous until the next call or a call to ``stop``.\n :param pin: Optional output pin (default ``pin0``).\n :param wait: If ``wait`` is set to ``True``, this function is blocking.\n\n For example, if the frequency is set to 440 and the length to\n 1000 then we hear a standard concert A for one second.\n\n You can only play one pitch on one pin at any one time.\n \"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin] = pin0) -> None:\n \"\"\"Stops all music playback on the built-in speaker and any pin outputting sound.\n\n Example: ``music.stop()``\n\n :param pin: An optional argument can be provided to specify a pin, e.g. ``music.stop(pin1)``.\n \"\"\"\n\ndef reset() -> None:\n \"\"\"Resets ticks, bpm, duration and octave to their default values.\n\n Example: ``music.reset()``\n\n Values:\n - ``ticks = 4``\n - ``bpm = 120``\n - ``duration = 4``\n - ``octave = 4``\n \"\"\"\n ...\n", - "/typeshed/stdlib/neopixel.pyi": "\"\"\"Individually addressable RGB and RGBW LED strips.\n\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int = 3) -> None:\n \"\"\"Initialise a new strip of neopixel LEDs controlled via a pin.\n\n Example: ``np = neopixel.NeoPixel(pin0, 8)``\n\n To support RGBW neopixels, a third argument can be passed to\n ``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\n For RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\n Each pixel is addressed by a position (starting from 0). Neopixels are\n given RGB (red, green, blue) / RGBW (red, green, blue, white) values\n between 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\n white. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\n See `the online docs `_ for warnings and other advice.\n\n :param pin: The pin controlling the neopixel strip.\n :param n: The number of neopixels in the strip.\n :param bpp: Bytes per pixel. For RGBW neopixel support, pass 4 rather than the default of 3 for RGB and GRB.\n \"\"\"\n ...\n def clear(self) -> None:\n \"\"\"Clear all the pixels.\n\n Example: ``np.clear()``\n \"\"\"\n ...\n def show(self) -> None:\n \"\"\"Show the pixels.\n\n Example: ``np.show()``\n\n Must be called for any updates to become visible.\n \"\"\"\n ...\n def write(self) -> None:\n \"\"\"Show the pixels (micro:bit V2 only).\n\n Example: ``np.write()``\n\n Must be called for any updates to become visible.\n\n Equivalent to ``show``.\n \"\"\"\n ...\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Colour all pixels a given RGB/RGBW value (micro:bit V2 only).\n\n Example: ``np.fill((0, 0, 255))``\n\n :param colour: A tuple of the same length as the number of bytes per pixel (bpp).\n\n Use in conjunction with ``show()`` to update the neopixels.\n \"\"\"\n ...\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Set a pixel colour.\n\n Example: ``np[0] = (255, 0, 0)``\n\n :param key: The pixel number.\n :param value: The colour.\n \"\"\"\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Get a pixel colour.\n\n Example: ``r, g, b = np[0]``\n\n :param key: The pixel number.\n :return: The colour tuple.\n \"\"\"\n def __len__(self) -> int:\n \"\"\"Get length of this pixel strip.\n\n Example: ``len(np)``\n \"\"\"\n", - "/typeshed/stdlib/os.pyi": "\"\"\"Access the file system.\n\"\"\"\n\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"List files.\n\n Example: ``os.listdir()``\n\n :return: A list of the names of all the files contained within the local\n persistent on-device file system.\n \"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Remove (delete) a file.\n\n Example: ``os.remove('data.txt')``\n\n :param filename: The file to delete.\n\n If the file does not exist an ``OSError`` exception will occur.\n \"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Returns the size of a file.\n\n Example: ``os.size('data.txt')``\n\n :param filename: The file\n :return: The size in bytes.\n\n If the file does not exist an ``OSError`` exception will occur.\n \"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Result of ``os.uname()``\"\"\"\n sysname: str\n \"\"\"Operating system name.\"\"\"\n\n nodename: str\n \"\"\"Name of machine on network (implementation-defined).\"\"\"\n\n release: str\n \"\"\"Operating system release.\"\"\"\n \n version: str\n \"\"\"Operating system version.\"\"\"\n \n machine: str\n \"\"\"Hardware identifier.\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Returns information identifying the current operating system.\n\n Example: ``os.uname()``\n\n The return value is an object with five attributes:\n\n - ``sysname`` - operating system name\n - ``nodename`` - name of machine on network (implementation-defined)\n - ``release`` - operating system release\n - ``version`` - operating system version\n - ``machine`` - hardware identifier\n\n There is no underlying operating system in MicroPython. As a result the\n information returned by the ``uname`` function is mostly useful for\n versioning details.\n \"\"\"\n ...\n", + "/typeshed/stdlib/machine.pyi": "\"\"\"Utilitaires bas niveau\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"R\u00e9cup\u00e8re une cha\u00eene d'octets repr\u00e9sentant un identifiant unique d'une carte.\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"R\u00e9initialise l'appareil d'une mani\u00e8re similaire \u00e0 la pression sur le bouton RESET externe.\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"R\u00e9cup\u00e8re la fr\u00e9quence du CPU en hertz.\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"D\u00e9sactiver les demandes d'interruption.\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"R\u00e9activer les demandes d'interruption.\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: La valeur qui a \u00e9t\u00e9 renvoy\u00e9e par l'appel le plus r\u00e9cent \u00e0 la fonction ``disable_irq``.\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"Chronom\u00e9trer une impulsion sur une broche.\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: (broche) La broche \u00e0 utiliser\n:param pulse_level: 0 pour chronom\u00e9trer une impulsion basse ou 1 pour chronom\u00e9trer une impulsion haute.\n:param timeout_us: Un d\u00e9lai d'attente en microseconde\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"La classe pour les vues m\u00e9moire ``mem8``, ``mem16`` et ``mem32``.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Acc\u00e9der \u00e0 une valeur dans la m\u00e9moire.\n\n:param address: L'adresse en m\u00e9moire.\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"\u00c9crire une valeur \u00e0 une adresse donn\u00e9e.\n\n:param address: L'adresse en m\u00e9moire.\n:param value: La valeur enti\u00e8re \u00e0 \u00e9crire.\"\"\"\n ...\nmem8: mem\n\"\"\"Vue de la m\u00e9moire au format 8-bit (octet).\"\"\"\nmem16: mem\n\"\"\"Vue de la m\u00e9moire au format 16-bit.\"\"\"\nmem32: mem\n\"\"\"Vue de la m\u00e9moire au format 32-bit.\"\"\"", + "/typeshed/stdlib/math.pyi": "\"\"\"Fonctions math\u00e9matiques.\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Calculer le cosinus invers\u00e9.\n\nExample: ``math.acos(1)``\n\n:param x: Un nombre\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Calculer le sinus invers\u00e9.\n\nExample: ``math.asin(0)``\n\n:param x: Un nombre\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Calculer la tangente inverse.\n\nExample: ``math.atan(0)``\n\n:param x: Un nombre\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Calculer la valeur principale de la tangente inverse de ``y/x``.\n\nExample: ``math.atan2(0, -1)``\n\n:param y: Un nombre\n:param x: Un nombre\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Arrondir un nombre vers l'infini positif.\n\nExample: ``math.ceil(0.1)``\n\n:param x: Un nombre\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Calculer ``x`` avec le signe de ``y``.\n\nExample: ``math.copysign(1, -1)``\n\n:param x: Un nombre\n:param y: La source du signe pour la valeur de retour\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Calculer le cosinus de ``x``.\n\nExample: ``math.cos(0)``\n\n:param x: Un nombre\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Convertir les radians en degr\u00e9s. (degr\u00e9s)\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: Une valeur en radians\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Calculer l'exponentiel de ``x``.\n\nExample: ``math.exp(1)``\n\n:param x: Un nombre\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Renvoie la valeur absolue de ``x``.\n\nExample: ``math.fabs(-0.1)``\n\n:param x: Un nombre\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Arrondir un nombre vers l'infini n\u00e9gatif.\n\nExample: ``math.floor(0.9)``\n\n:param x: Un nombre\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Calculer le reste de ``x/y``.\n\nExample: ``math.fmod(10, 3)``\n\n:param x: Le num\u00e9rateur\n:param y: Le d\u00e9nominateur\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"D\u00e9compose un nombre \u00e0 virgule flottante en sa mantisse et son exposant.\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: Un nombre \u00e0 virgule flottante\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"V\u00e9rifier si une valeur est finie.\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: Un nombre.\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"V\u00e9rifie si une valeur est infinie.\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: Un nombre.\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"V\u00e9rifie si une valeur n'est pas un nombre (NaN).\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: Un nombre\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Calculer ``x * (2**exp)``.\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: Un nombre\n:param exp: Exposant entier\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"Calculer le logarithme de ``x`` \u00e0 la base donn\u00e9e (logarithme naturel par d\u00e9faut).\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: Un nombre\n:param base: La base \u00e0 utiliser\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Calculer les parties fractionnelles et int\u00e9grales de ``x``.\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: Un nombre\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Renvoie ``x`` \u00e0 la puissance ``y``.\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: Un nombre\n:param y: L'exposant\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Convertir les degr\u00e9s en radians.\n\nExample: ``math.radians(360)``\n\n:param x: Une valeur en degr\u00e9s\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Calculer le sinus de ``x``.\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: Un nombre\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Calculer la racine carr\u00e9e de ``x``.\n\nExample: ``math.sqrt(4)``\n\n:param x: Un nombre\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Calculer la tangente de ``x``.\n\nExample: ``math.tan(0)``\n\n:param x: Un nombre\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Arrondir un nombre vers 0.\n\nExample: ``math.trunc(-0.9)``\n\n:param x: Un nombre\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"Base du logarithme naturel\"\"\"\npi: float\n\"\"\"Le ratio entre la circonf\u00e9rence d'un cercle et son diam\u00e8tre\"\"\"", + "/typeshed/stdlib/micropython.pyi": "\"\"\"Les coulisses de MicroPython.\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"Utilis\u00e9 pour d\u00e9clarer que l'expression est une constante afin que le compilateur puisse\nl'optimiser.\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: Une expression constante.\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"R\u00e9cup\u00e8re le niveau d'optimisation actuel pour la compilation des scripts.\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"D\u00e9finir le niveau d'optimisation pour la compilation ult\u00e9rieure des scripts.\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: Un entier indiquant le niveau d'optimisation.\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"Afficher des informations sur la m\u00e9moire actuellement utilis\u00e9e.\n\nExample: ``micropython.mem_info()``\n\n:param verbose: Si l'argument ``verbose`` est sp\u00e9cifi\u00e9, des informations suppl\u00e9mentaires seront affich\u00e9es.\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"Affiche des informations sur les cha\u00eenes de caract\u00e8res internalis\u00e9es.\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: Si l'argument ``verbose`` est sp\u00e9cifi\u00e9, des informations suppl\u00e9mentaires seront affich\u00e9es.\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Renvoie un nombre entier repr\u00e9sentant la taille de la pile en cours d'utilisation.\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Verrouille le tas (heap).\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"D\u00e9verrouille le tas (heap).\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"D\u00e9finir le caract\u00e8re qui l\u00e8vera une exception ``KeyboardInterrupt``.\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: Code de caract\u00e8re pour g\u00e9n\u00e9rer l'interruption ou -1 pour d\u00e9sactiver la capture de Ctrl-C.\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", + "/typeshed/stdlib/music.pyi": "\"\"\"Cr\u00e9er et jouer des m\u00e9lodies.\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"M\u00e9lodie : l'ouverture de la 5e symphonie en do mineur de Beethoven.\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"M\u00e9lodie : le fragment d'ouverture du classique de ragtime \"The Entertainer\" de Scott Joplin.\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"M\u00e9lodie : le pr\u00e9lude et fugue en ut majeur (BWV 846) de Jean-S\u00e9bastien Bach.\"\"\"\nODE: Tuple[str, ...]\n\"\"\"M\u00e9lodie : le th\u00e8me de l'\"Ode \u00e0 la joie\" de la 9e symphonie en r\u00e9 mineur de Beethoven.\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"M\u00e9lodie : le th\u00e8me de Nyan Cat (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"M\u00e9lodie : son qui ressemble \u00e0 une sonnerie de t\u00e9l\u00e9phone mobile.\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"M\u00e9lodie : une ligne de basse funky pour les agents secrets et les cerveaux criminels.\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"M\u00e9lodie : une walking bass blues de boogie-woogie \u00e0 12 mesures.\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"M\u00e9lodie : \u00ab Joyeux anniversaire\u2026\u00bb\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"M\u00e9lodie : la marche nuptiale de l'op\u00e9ra \"Lohengrin\" de Wagner.\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"M\u00e9lodie : la \"marche fun\u00e8bre \" aussi connue sous le nom de Sonate pour piano n\u00b0 2 en B\u266d mineur, opus 35 de Fr\u00e9d\u00e9ric Chopin.\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"M\u00e9lodie : un extrait amusant qui signifie qu'une blague a \u00e9t\u00e9 faite.\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"M\u00e9lodie : La marche \"Liberty Bell\" de John Philip Sousa, alias le th\u00e8me du \"Monty Python's Flying Circus\" (qui a donn\u00e9 son nom au langage de programmation Python).\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"M\u00e9lodie\\xa0: entr\u00e9e d'un m\u00e9chant \u00e0 l'\u00e9poque des films muets.\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"M\u00e9lodie : sc\u00e8ne de poursuite \u00e0 l'\u00e9poque du film muet.\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"M\u00e9lodie : un signal court pour indiquer que quelque chose s'est produit.\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"M\u00e9lodie : un trombone tr\u00e8s triste.\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"M\u00e9lodie\\xa0: pour une utilisation dans un jeu, indiquant un mouvement vers le haut.\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"M\u00e9lodie\\xa0: pour une utilisation dans un jeu, indiquant un mouvement vers le bas.\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"M\u00e9lodie : une fanfare pour indiquer un succ\u00e8s d\u00e9bloqu\u00e9.\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"M\u00e9lodie : une fanfare triste pour indiquer un succ\u00e8s manqu\u00e9.\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"D\u00e9finir le tempo approximatif pour la lecture.\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: Le nombre de ticks constituant un battement.\n:param bpm: Un entier d\u00e9terminant le nombre de battements par minute.\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"R\u00e9cup\u00e9rer le tempo actuel sous la forme d'un tuple d'entiers : ``(ticks, bpm)``.\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"Jouer de la musique.\n\nExample: ``music.play(music.NYAN)``\n\n:param music: musique sp\u00e9cifi\u00e9e dans `une notation sp\u00e9ciale `_\n:param pin: (broche) la broche de sortie \u00e0 utiliser avec un haut-parleur externe (par d\u00e9faut ``pin0``), ``None`` pour aucun son.\n:param wait: Si ``wait`` est d\u00e9fini \u00e0 ``True``, cette fonction est bloquante.\n:param loop: Si ``loop`` est d\u00e9fini \u00e0 ``True``, la m\u00e9lodie se r\u00e9p\u00e8te jusqu'\u00e0 ce que ``stop`` soit appel\u00e9, ou que l'appel bloquant soit interrompu.\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"Jouer une note. (tangage)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (fr\u00e9quence) Une fr\u00e9quence enti\u00e8re\n:param duration: Une dur\u00e9e en milliseconde. Si la valeur est n\u00e9gative alors le son sera continu jusqu'au prochain appel, ou jusqu'\u00e0 un appel \u00e0 ``stop``.\n:param pin: (broche) Broche de sortie optionnelle (par d\u00e9faut ``pin0``).\n:param wait: Si ``wait`` est d\u00e9fini \u00e0 ``True``, cette fonction est bloquante.\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Met fin \u00e0 toute lecture de musique sur le haut-parleur int\u00e9gr\u00e9 et \u00e0 tout son en sortie sur la broche.\n\nExample: ``music.stop()``\n\n:param pin: (broche) Un argument optionnel peut \u00eatre sp\u00e9cifi\u00e9 pour indiquer une broche, par exemple ``music.stop(pin1)``.\"\"\"\n\ndef reset() -> None:\n \"\"\"R\u00e9initialiser les ticks, bpm, dur\u00e9e et octave \u00e0 leurs valeurs par d\u00e9faut.\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"Bandes LED RGB et RGBW individuellement adressables.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"Initialiser une nouvelle bande de LEDs neopixel contr\u00f4l\u00e9e via une broche.\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: (broche) La broche qui contr\u00f4le la bande neopixel.\n:param n: Le nombre de neopixels sur la bande.\n:param bpp: Octets par pixel. Pour le support du neopixel RGBW, passez 4 plut\u00f4t que la valeur par d\u00e9faut 3 pour RGB et GRB.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"Effacer tous les pixels.\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"Afficher les pixels.\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"Afficher les pixels (micro:bit V2 uniquement).\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Colorer tous les pixels d'une valeur RGB/RGBW donn\u00e9e (micro:bit V2 uniquement).\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: Un tuple de la m\u00eame longueur que le nombre d'octets par pixel (bpp).\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"D\u00e9finit une couleur de pixel.\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: Le num\u00e9ro du pixel\n:param value: La couleur.\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"R\u00e9cup\u00e8re la couleur d'un pixel\n\nExample: ``r, g, b = np[0]``\n\n:param key: Le num\u00e9ro du pixel\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"R\u00e9cup\u00e8re la longueur de cette bande de pixels.\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/os.pyi": "\"\"\"Acc\u00e9der au syst\u00e8me de fichiers.\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"Lister les fichiers.\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Supprimer (effacer) un fichier.\n\nExample: ``os.remove('data.txt')``\n\n:param filename: Le fichier \u00e0 effacer.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Retourne la taille d'un fichier.\n\nExample: ``os.size('data.txt')``\n\n:param filename: Le fichier\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"R\u00e9sultat de ``os.uname()``\"\"\"\n sysname: str\n \"\"\"Nom du syst\u00e8me d'exploitation.\"\"\"\n nodename: str\n \"\"\"Nom de la machine sur le r\u00e9seau (selon impl\u00e9mentation).\"\"\"\n release: str\n \"\"\"La release du syst\u00e8me d'exploitation\"\"\"\n version: str\n \"\"\"Version du syst\u00e8me d'exploitation\"\"\"\n machine: str\n \"\"\"Identifiant mat\u00e9riel.\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Retourne les informations identifiant le syst\u00e8me d'exploitation actuel.\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", - "/typeshed/stdlib/radio.pyi": "\"\"\"Communicate between micro:bits with the built-in radio.\n\"\"\"\n\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\n\nRATE_1MBIT: int\n\"\"\"Constant used to indicate a throughput of 1 MBit a second.\"\"\"\n\nRATE_2MBIT: int\n\"\"\"Constant used to indicate a throughput of 2 MBit a second.\"\"\"\n\ndef on() -> None:\n \"\"\"Turns the radio on.\n\n Example: ``radio.on()``\n\n This needs to be explicitly called since the radio draws power and takes\n up memory that you may otherwise need.\n \"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Turns off the radio, saving power and memory.\n\n Example: ``radio.off()``\n \"\"\"\n ...\n\ndef config(\n length: int = 32,\n queue: int = 3,\n channel: int = 7,\n power: int = 6,\n address: int = 0x75626974,\n group: int = 0,\n data_rate: int = RATE_1MBIT,\n) -> None:\n \"\"\"Configures the radio.\n\n Example: ``radio.config(group=42)``\n\n The default configuration is suitable for most use.\n\n :param length: (default=32) defines the maximum length, in bytes, of a message sent via the radio.\n It can be up to 251 bytes long (254 - 3 bytes for S0, LENGTH and S1 preamble).\n :param queue: (default=3) specifies the number of messages that can be stored on the incoming message queue.\n If there are no spaces left on the queue for incoming messages, then the incoming message is dropped.\n :param channel: (default=7) an integer value from 0 to 83 (inclusive) that defines an arbitrary \"channel\" to which the radio is tuned.\n Messages will be sent via this channel and only messages received via this channel will be put onto the incoming message queue. Each step is 1MHz wide, based at 2400MHz.\n :param power: (default=6) is an integer value from 0 to 7 (inclusive) to indicate the strength of signal used when broadcasting a message.\n The higher the value the stronger the signal, but the more power is consumed by the device. The numbering translates to positions in the following list of dBm (decibel milliwatt) values: -30, -20, -16, -12, -8, -4, 0, 4.\n :param address: (default=0x75626974) an arbitrary name, expressed as a 32-bit address, that's used to filter incoming packets at the hardware level, keeping only those that match the address you set.\n The default used by other micro:bit related platforms is the default setting used here.\n :param group: (default=0) an 8-bit value (0-255) used with the ``address`` when filtering messages.\n Conceptually, \"address\" is like a house/office address and \"group\" is like the person at that address to which you want to send your message.\n :param data_rate: (default=``radio.RATE_1MBIT``) indicates the speed at which data throughput takes place.\n Can be one of the following constants defined in the ``radio`` module: ``RATE_250KBIT``, ``RATE_1MBIT`` or ``RATE_2MBIT``.\n\n If ``config`` is not called then the defaults described above are assumed.\n \"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset the settings to their default values.\n\n Example: ``radio.reset()``\n\n The defaults as as per the ``config`` function above.\n \"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Sends a message containing bytes.\n\n Example: ``radio.send_bytes(b'hello')``\n\n :param message: The bytes to send.\n \"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Receive the next incoming message on the message queue.\n\n Example: ``radio.receive_bytes()``\n\n :return: The message bytes if any, otherwise ``None``.\n \"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Copy the next incoming message on the message queue into a buffer.\n\n Example: ``radio.receive_bytes_info(buffer)``\n\n :param buffer: The target buffer. The message is truncated if larger than the buffer.\n :return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\n \"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Sends a message string.\n\n Example: ``radio.send('hello')``\n\n This is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\n prepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n :param message: The string to send.\n \"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Works in exactly the same way as ``receive_bytes`` but returns whatever was sent.\n\n Example: ``radio.receive()``\n\n Equivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\n three bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\n may target the micro:bit).\n\n :return: The message with the prepended bytes stripped and converted to a string.\n\n A ``ValueError`` exception is raised if conversion to string fails.\n \"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Returns a tuple containing three values representing the next incoming message on the message queue.\n\n Example: ``radio.receive_full()``\n\n If there are no pending messages then ``None`` is returned.\n\n The three values in the tuple represent:\n\n - the next incoming message on the message queue as bytes.\n - the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n - a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\n For example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\n This function is useful for providing information needed for triangulation\n and/or trilateration with other micro:bit devices.\n\n :return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\n \"\"\"\n ...\n", - "/typeshed/stdlib/random.pyi": "\"\"\"Generate random numbers.\n\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"Generate an integer with ``n`` random bits.\n\n Example: ``random.getrandbits(1)``\n\n :param n: A value between 1-30 (inclusive).\n \"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Initialize the random number generator.\n\n Example: ``random.seed(0)``\n\n :param n: The integer seed\n\n This will give you reproducibly deterministic randomness from a given starting\n state (``n``).\n \"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"Choose a random integer between ``a`` and ``b`` inclusive.\n\n Example: ``random.randint(0, 9)``\n\n :param a: Start value for the range (inclusive)\n :param b: End value for the range (inclusive)\n\n Alias for ``randrange(a, b + 1)``.\n \"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"Choose a randomly selected integer between zero and up to (but not\n including) ``stop``.\n\n Example: ``random.randrange(10)``\n\n :param stop: End value for the range (exclusive)\n \"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int = 1) -> int:\n \"\"\"\n Choose a randomly selected element from ``range(start, stop, step)``.\n\n Example: ``random.randrange(0, 10)``\n\n :param start: The start of the range (inclusive)\n :param stop: The end of the range (exclusive)\n :param step: The step.\n \"\"\"\n ...\n\n_T = TypeVar(\"_T\")\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"Choose a random element from the non-empty sequence ``seq``.\n\n Example: ``random.choice([Image.HAPPY, Image.SAD])``\n\n :param seq: A sequence.\n\n If ``seq`` is empty, raises ``IndexError``.\n \"\"\"\n ...\n\ndef random() -> float:\n \"\"\"Generate a random floating point number in the range [0.0, 1.0).\n\n Example: ``random.random()``\n\n :return: The random floating point number\n \"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"\n Return a random floating point number between ``a`` and ``b`` inclusive.\n\n Example: ``random.uniform(0, 9)``\n\n :param a: Start value for the range (inclusive)\n :param b: End value for the range (inclusive)\n \"\"\"\n ...\n", - "/typeshed/stdlib/speech.pyi": "\"\"\"Make the micro:bit talk, sing and make other speech like sounds.\n\"\"\"\n\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"Translate English words to phonemes.\n\n Example: ``speech.translate('hello world')``\n\n :param words: A string of English words.\n :return: A string containing a best guess at the appropriate phonemes to pronounce.\n The output is generated from this `text to phoneme translation table `_.\n\n This function should be used to generate a first approximation of phonemes\n that can be further hand-edited to improve accuracy, inflection and\n emphasis.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef pronounce(\n phonemes: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: Optional[MicroBitDigitalPin] = pin0,\n) -> None:\n \"\"\"Pronounce phonemes.\n\n Example: ``speech.pronounce(' /HEHLOW WERLD')``\n\n :param phonemes: The string of phonemes to pronounce\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n Override the optional pitch, speed, mouth and throat settings to change the\n timbre (quality) of the voice.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef say(\n words: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: MicroBitDigitalPin = pin0,\n) -> None:\n \"\"\"Say English words.\n\n Example: ``speech.say('hello world')``\n\n :param words: The string of words to say.\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n The result is semi-accurate for English. Override the optional pitch, speed,\n mouth and throat settings to change the timbre (quality) of the voice.\n\n This is a short-hand equivalent of:\n ``speech.pronounce(speech.translate(words))``\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef sing(\n phonemes: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: MicroBitDigitalPin = pin0,\n) -> None:\n \"\"\"Sing phonemes.\n\n Example: ``speech.sing(' /HEHLOW WERLD')``\n\n :param phonemes: The string of words to sing.\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n Override the optional pitch, speed, mouth and throat settings to change\n the timbre (quality) of the voice.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n", - "/typeshed/stdlib/struct.pyi": "\"\"\"Pack and unpack primitive data types.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"Get the number of bytes needed to store the given ``fmt``.\n\n Example: ``struct.calcsize('hf')``\n\n :param fmt: A format string.\n :return The number of bytes needed to store such a value.\n \"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"Pack values according to a format string.\n\n Example: ``struct.pack('hf', 1, 3.1415)``\n\n :param fmt: The format string.\n :param v1: The first value.\n :param *vn: The remaining values.\n :return A bytes object encoding the values.\n \"\"\"\n ...\n\ndef pack_into(\n fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any\n) -> None:\n \"\"\"Pack values according to a format string.\n\n Example: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n :param fmt: The format string.\n :param buffer: The target buffer to write into.\n :param offset: The offset into the buffer. May be negative to count from the end of the buffer.\n :param v1: The first value.\n :param *vn: The remaining values.\n \"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"Unpack data according to a format string.\n\n Example: ``v1, v2 = struct.unpack('hf', buffer)``\n\n :param fmt: The format string.\n :param data: The data.\n :return: A tuple of the unpacked values.\n \"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int = 0) -> Tuple:\n \"\"\"Unpack data from a buffer according to a format string.\n\n Example: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n :param fmt: The format string.\n :param buffer: The source buffer to read from.\n :param offset: The offset into the buffer. May be negative to count from the end of the buffer.\n :return: A tuple of the unpacked values.\n \"\"\"\n ...\n", - "/typeshed/stdlib/sys.pyi": "\"\"\"System specific functions\"\"\"\n\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object = ...) -> NoReturn:\n \"\"\"Terminate current program with a given exit code.\n\n Example: ``sys.exit(1)``\n\n This function raises a ``SystemExit`` exception. If an argument is given, its\n value given as an argument to ``SystemExit``.\n\n :param retval: The exit code or message.\n \"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"\n Print an exception with a traceback.\n\n Example: ``sys.print_exception(e)``\n\n :param exc: The exception to print\n\n This is simplified version of a function which appears in the\n ``traceback`` module in CPython.\n \"\"\"\n\nargv: List[str]\n\"\"\"A mutable list of arguments the current program was started with.\"\"\"\n\nbyteorder: str\n\"\"\"The byte order of the system (``\"little\"`` or ``\"big\"``).\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\n\nimplementation: _implementation\n\"\"\"Object with information about the current Python implementation.\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\n\nmaxsize: int\n\"\"\"\nMaximum value which a native integer type can hold on the current platform,\nor maximum value representable by MicroPython integer type, if it's smaller\nthan platform max value (that is the case for MicroPython ports without\nlong int support).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\n\nmodules: Dict[str, Any]\n\"\"\"Dictionary of loaded modules. \n\nOn some ports, it may not include builtin modules.\"\"\"\n\npath: List[str]\n\"\"\"A mutable list of directories to search for imported modules.\"\"\"\n\nplatform: str\n\"\"\"The platform that MicroPython is running on. \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\n\nversion: str\n\"\"\"Python language version that this implementation conforms to, as a string.\"\"\"\n\nversion_info: Tuple[int, int, int]\n\"\"\"Python language version that this implementation conforms to, as a tuple of ints.\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"\n", + "/typeshed/stdlib/radio.pyi": "\"\"\"Communiquer entre micro:bits avec la radio int\u00e9gr\u00e9e.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"Constante utilis\u00e9e pour indiquer un d\u00e9bit de 1 MBit par seconde.\"\"\"\nRATE_2MBIT: int\n\"\"\"Constante utilis\u00e9e pour indiquer un d\u00e9bit de 2 MBit par seconde.\"\"\"\n\ndef on() -> None:\n \"\"\"Allume la radio.\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"D\u00e9sactive la radio, \u00e9conomisant ainsi de l'\u00e9nergie et de la m\u00e9moire.\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"Configure la radio.\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (par d\u00e9faut=32) d\u00e9finit la longueur maximale en octets d'un message envoy\u00e9 via la radio.\nIl peut faire jusqu'\u00e0 251 octets de long (254 - 3 octets pour S0, LENGTH et pr\u00e9ambule S1).\n:param queue: (par d\u00e9faut=3) sp\u00e9cifie le nombre de messages qui peuvent \u00eatre stock\u00e9s dans la file d'attente des messages entrants.\nS'il n'y a plus de place dans la file d'attente des messages entrants, alors le message entrant est abandonn\u00e9.\n:param channel: (par d\u00e9faut=7) une valeur enti\u00e8re comprise entre 0 et 83 (y compris) qui d\u00e9finit un \u00ab canal \u00bb arbitraire sur lequel la radio est r\u00e9gl\u00e9e.\nLes messages seront envoy\u00e9s via ce canal et seuls les messages re\u00e7us via ce canal seront plac\u00e9s dans la file d'attente des messages entrants. Chaque incr\u00e9ment est de 1 MHz de largeur, bas\u00e9 \u00e0 2400 MHz.\n:param power: (par d\u00e9faut=6) est une valeur enti\u00e8re comprise entre 0 et 7 (y compris) pour indiquer la force du signal utilis\u00e9 lors de la diffusion d'un message.\nPlus la valeur est \u00e9lev\u00e9e, plus le signal est fort, mais plus les besoins en alimentation sont \u00e9lev\u00e9s. La num\u00e9rotation se traduit par des positions dans la liste suivante de valeurs en dBm (d\u00e9cibel milliwatt) : -30, -20, -16, -12, -8, -4, 0, 4.\n:param address: (par d\u00e9faut=0x75626974) un nom arbitraire, exprim\u00e9 sous la forme d'une adresse 32-bit, utilis\u00e9 pour filtrer au niveau mat\u00e9riel les paquet entrants, seuls les paquets correspondant \u00e0 l'adresse d\u00e9finie seront conserv\u00e9s.\nLa valeur par d\u00e9faut utilis\u00e9e par d'autres plateformes li\u00e9es au micro:bit est celle indiqu\u00e9e ici.\n:param group: (par d\u00e9faut=0) une valeur de 8 bits (0-255) utilis\u00e9e avec ``address`` lors du filtrage des messages.\nConceptuellement, \"adress\" est comme l'adresse d'une maison ou d'un bureau, et \"group\" est comme la personne \u00e0 laquelle vous voulez envoyer votre message.\n:param data_rate: (par d\u00e9faut=``radio.RATE_1MBIT``) indique la vitesse \u00e0 laquelle le d\u00e9bit de donn\u00e9es a lieu.\nPeut \u00eatre une des constantes suivantes d\u00e9finies dans le module ``radio``\\xa0: ``RATE_250KBIT``, ``RATE_1MBIT`` ou ``RATE_2MBIT``.\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"R\u00e9initialiser les param\u00e8tres \u00e0 leurs valeurs par d\u00e9faut.\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Envoie un message contenant des octets.\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: Les octets \u00e0 envoyer.\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Recevoir le message entrant suivant dans la file d'attente des messages.\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Copier le message entrant suivant de la file d'attente des messages vers un buffer.\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: Le buffer cible. Le message est tronqu\u00e9 s'il est plus grand que le buffer.\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Envoie un message avec une cha\u00eene de caract\u00e8res.\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: Le texte \u00e0 envoyer.\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Fonctionne exactement de la m\u00eame mani\u00e8re que ``receive_bytes`` mais retourne ce qui a \u00e9t\u00e9 envoy\u00e9.\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Retourne un tuple contenant trois valeurs qui repr\u00e9sentent le prochain message entrant dans la file d'attente.\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", + "/typeshed/stdlib/random.pyi": "\"\"\"G\u00e9n\u00e9rer des nombres al\u00e9atoires.\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"G\u00e9n\u00e9rer un entier avec ``n`` bits al\u00e9atoires.\n\nExample: ``random.getrandbits(1)``\n\n:param n: Une valeur comprise entre 1-30 (inclus).\"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Initialiser le g\u00e9n\u00e9rateur de nombres al\u00e9atoires.\n\nExample: ``random.seed(0)``\n\n:param n: La graine al\u00e9atoire\n\nThis will give you reproducibly deterministic randomness from a given starting\nstate (``n``).\"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"Choisir un entier al\u00e9atoire entre ``a`` et ``b`` inclus.\n\nExample: ``random.randint(0, 9)``\n\n:param a: Valeur de d\u00e9part pour l'intervalle (inclus)\n:param b: Valeur de fin pour l'intervalle (inclus)\n\nAlias for ``randrange(a, b + 1)``.\"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"Choisir un entier al\u00e9atoirement entre z\u00e9ro et ``stop`` (mais sans inclure ce dernier).\n\nExample: ``random.randrange(10)``\n\n:param stop: Valeur de fin pour l'intervalle (exclusif)\"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int=1) -> int:\n \"\"\"Choisir un \u00e9l\u00e9ment s\u00e9lectionn\u00e9 al\u00e9atoirement dans ``range(start, stop, step)``.\n\nExample: ``random.randrange(0, 10)``\n\n:param start: Le d\u00e9but de la plage (inclus)\n:param stop: La fin de l'intervalle (exclusif)\n:param step: L'incr\u00e9ment.\"\"\"\n ...\n_T = TypeVar('_T')\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"Choisir un \u00e9l\u00e9ment al\u00e9atoire dans la s\u00e9quence non vide ``seq``.\n\nExample: ``random.choice([Image.HAPPY, Image.SAD])``\n\n:param seq: Une s\u00e9quence.\n\nIf ``seq`` is empty, raises ``IndexError``.\"\"\"\n ...\n\ndef random() -> float:\n \"\"\"G\u00e9n\u00e9rer un nombre al\u00e9atoire \u00e0 virgule flottante [0.0, 1.0).\n\nExample: ``random.random()``\n\n:return: The random floating point number\"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"Renvoie un nombre al\u00e9atoire \u00e0 virgule flottante entre ``a`` et ``b`` inclus.\n\nExample: ``random.uniform(0, 9)``\n\n:param a: Valeur de d\u00e9part pour l'intervalle (inclus)\n:param b: Valeur de fin pour l'intervalle (inclus)\"\"\"\n ...", + "/typeshed/stdlib/speech.pyi": "\"\"\"Faites parler ou chanter le micro:bit, ainsi que d'autres sons li\u00e9s \u00e0 la parole.\"\"\"\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"Traduire les mots anglais en phon\u00e8mes.\n\nExample: ``speech.translate('hello world')``\n\n:param words: Une cha\u00eene de caract\u00e8res de mots anglais.\n:return: A string containing a best guess at the appropriate phonemes to pronounce.\nThe output is generated from this `text to phoneme translation table `_.\n\nThis function should be used to generate a first approximation of phonemes\nthat can be further hand-edited to improve accuracy, inflection and\nemphasis.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef pronounce(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Prononcer les phon\u00e8mes.\n\nExample: ``speech.pronounce(' /HEHLOW WERLD')``\n\n:param phonemes: La cha\u00eene de phon\u00e8mes \u00e0 prononcer\n:param pitch: (tangage) Un nombre repr\u00e9sentant le ton de la voix\n:param speed: Un nombre repr\u00e9sentant la vitesse de la voix\n:param mouth: Un nombre repr\u00e9sentant la bouche de la voix\n:param throat: Un nombre repr\u00e9sentant la gorge de la voix\n:param pin: (broche) Argument optionnel pour sp\u00e9cifier la broche de sortie. Peut \u00eatre utilis\u00e9 pour remplacer la valeur par d\u00e9faut de ``pin0``.\nPour emp\u00eacher l'\u00e9mission d'un son via les broches, il est possible d'utiliser ``pin=None``. micro:bit V2 seulement.\n\nOverride the optional pitch, speed, mouth and throat settings to change the\ntimbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef say(words: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Dire des mots anglais.\n\nExample: ``speech.say('hello world')``\n\n:param words: La cha\u00eene de mots \u00e0 dire.\n:param pitch: (tangage) Un nombre repr\u00e9sentant le ton de la voix\n:param speed: Un nombre repr\u00e9sentant la vitesse de la voix\n:param mouth: Un nombre repr\u00e9sentant la bouche de la voix\n:param throat: Un nombre repr\u00e9sentant la gorge de la voix\n:param pin: (broche) Argument optionnel pour sp\u00e9cifier la broche de sortie. Peut \u00eatre utilis\u00e9 pour remplacer la valeur par d\u00e9faut de ``pin0``.\nPour emp\u00eacher l'\u00e9mission d'un son via les broches, il est possible d'utiliser ``pin=None``. micro:bit V2 seulement.\n\nThe result is semi-accurate for English. Override the optional pitch, speed,\nmouth and throat settings to change the timbre (quality) of the voice.\n\nThis is a short-hand equivalent of:\n``speech.pronounce(speech.translate(words))``\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef sing(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Chanter des phon\u00e8mes.\n\nExample: ``speech.sing(' /HEHLOW WERLD')``\n\n:param phonemes: La cha\u00eene de mots \u00e0 chanter.\n:param pitch: (tangage) Un nombre repr\u00e9sentant le ton de la voix\n:param speed: Un nombre repr\u00e9sentant la vitesse de la voix\n:param mouth: Un nombre repr\u00e9sentant la bouche de la voix\n:param throat: Un nombre repr\u00e9sentant la gorge de la voix\n:param pin: (broche) Argument optionnel pour sp\u00e9cifier la broche de sortie. Peut \u00eatre utilis\u00e9 pour remplacer la valeur par d\u00e9faut de ``pin0``.\nPour emp\u00eacher l'\u00e9mission d'un son via les broches, il est possible d'utiliser ``pin=None``. micro:bit V2 seulement.\n\nOverride the optional pitch, speed, mouth and throat settings to change\nthe timbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...", + "/typeshed/stdlib/struct.pyi": "\"\"\"Rassembler et d\u00e9sassembler des types de donn\u00e9es primitives.\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"R\u00e9cup\u00e8re le nombre d'octets n\u00e9cessaires pour stocker le ``fmt`` donn\u00e9.\n\nExample: ``struct.calcsize('hf')``\n\n:param fmt: Une cha\u00eene de mise en forme.\n:return The number of bytes needed to store such a value.\"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"Rassembler les valeurs selon une cha\u00eene de mise en forme.\n\nExample: ``struct.pack('hf', 1, 3.1415)``\n\n:param fmt: La cha\u00eene de mise en forme.\n:param v1: La premi\u00e8re valeur.\n:param *vn: Les valeurs restantes.\n:return A bytes object encoding the values.\"\"\"\n ...\n\ndef pack_into(fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any) -> None:\n \"\"\"Rassembler les valeurs selon une cha\u00eene de format. (Rassembler dans)\n\nExample: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n:param fmt: La cha\u00eene de format.\n:param buffer: Le tampon cible dans lequel \u00e9crire.\n:param offset: Le d\u00e9calage dans le tampon. Peut \u00eatre n\u00e9gatif pour compter \u00e0 partir de la fin du tampon.\n:param v1: La premi\u00e8re valeur.\n:param *vn: Les valeurs restantes.\"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"D\u00e9compacter les donn\u00e9es selon une cha\u00eene de format.\n\nExample: ``v1, v2 = struct.unpack('hf', buffer)``\n\n:param fmt: La cha\u00eene de format.\n:param data: Les donn\u00e9es.\n:return: A tuple of the unpacked values.\"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int=0) -> Tuple:\n \"\"\"D\u00e9compacter les donn\u00e9es d'un tampon selon une cha\u00eene de format.\n\nExample: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n:param fmt: La cha\u00eene de format.\n:param buffer: Le tampon source \u00e0 partir duquel lire.\n:param offset: Le d\u00e9calage dans le tampon. Peut \u00eatre n\u00e9gatif pour compter \u00e0 partir de la fin du tampon.\n:return: A tuple of the unpacked values.\"\"\"\n ...", + "/typeshed/stdlib/sys.pyi": "\"\"\"Fonctions sp\u00e9cifiques au syst\u00e8me\"\"\"\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object=...) -> NoReturn:\n \"\"\"Terminer le programme en cours avec un code de sortie donn\u00e9.\n\nExample: ``sys.exit(1)``\n\nThis function raises a ``SystemExit`` exception. If an argument is given, its\nvalue given as an argument to ``SystemExit``.\n\n:param retval: Le code de sortie ou le message.\"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"Imprime une exception avec une pile d'appels.\n\nExample: ``sys.print_exception(e)``\n\n:param exc: L'exception \u00e0 imprimer\n\nThis is simplified version of a function which appears in the\n``traceback`` module in CPython.\"\"\"\nargv: List[str]\n\"\"\"Une liste mutable d'arguments avec lesquels le programme courant a \u00e9t\u00e9 d\u00e9marr\u00e9.\"\"\"\nbyteorder: str\n\"\"\"L'ordre des octets du syst\u00e8me (``\"little\"`` ou ``\"big\"``).\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\nimplementation: _implementation\n\"\"\"Objet avec des informations sur l'impl\u00e9mentation actuelle de Python.\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\nmaxsize: int\n\"\"\"\nValeur maximale qu'un entier natif peut stocker sur la plate-forme courante,\nou valeur maximale repr\u00e9sentable par le type entier de MicroPython, si elle est plus petite\nque la valeur maximale de la plate-forme (c'est le cas pour les portages MicroPython sans support\ndes entiers long).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\nmodules: Dict[str, Any]\n\"\"\"Dictionnaire des modules charg\u00e9s. \n\nOn some ports, it may not include builtin modules.\"\"\"\npath: List[str]\n\"\"\"Une liste mutable de r\u00e9pertoires dans lesquels rechercher des modules import\u00e9s.\"\"\"\nplatform: str\n\"\"\"La plate-forme sur laquelle MicroPython s'ex\u00e9cute. \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\nversion: str\n\"\"\"Version du langage Python \u00e0 laquelle cette impl\u00e9mentation correspond, sous la forme d'une cha\u00eene de caract\u00e8res .\"\"\"\nversion_info: Tuple[int, int, int]\n\"\"\"Version du langage Python \u00e0 laquelle cette impl\u00e9mentation correspond, sous forme d'un tuple d'entiers.\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"", "/typeshed/stdlib/this.pyi": "def authors() -> str: ...\n", - "/typeshed/stdlib/time.pyi": "\"\"\"Measure time and add delays to programs.\n\"\"\"\n\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"\n Delay a number of seconds.\n\n Example: ``time.sleep(1)``\n\n :param seconds: The number of seconds to sleep for.\n Use a floating-point number to sleep for a fractional number of seconds.\n \"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"\n Delay for given number of milliseconds.\n\n Example: ``time.sleep_ms(1_000_000)``\n\n :param ms: The number of milliseconds delay (>= 0).\n \"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"\n Delay for given number of microseconds.\n\n Example: ``time.sleep_us(1000)``\n\n :param us: The number of microseconds delay (>= 0).\n \"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"\n Get an increasing, millisecond counter with an arbitrary reference point,\n that wraps around after some value.\n\n Example: ``time.ticks_ms()``\n\n :return: The counter value in milliseconds.\n \"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"\n Get an increasing, microsecond counter with an arbitrary reference point,\n that wraps around after some value.\n\n Example: ``time.ticks_us()``\n\n :return: The counter value in microseconds.\n \"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"\n Offset ticks value by a given number, which can be either positive or\n negative.\n\n Example: ``time.ticks_add(time.ticks_ms(), 200)``\n\n Given a ticks value, this function allows to calculate ticks\n value delta ticks before or after it, following modular-arithmetic\n definition of tick values.\n\n :param ticks: A ticks value\n :param delta: An integer offset\n\n Example::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\n \"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"\n Measure ticks difference between values returned from\n ``time.ticks_ms()`` or ``ticks_us()``, as a signed value\n which may wrap around.\n\n Example: ``time.ticks_diff(scheduled_time, now)``\n\n :param ticks1: The value to subtract from\n :param ticks2: The value to subtract\n\n The argument order is the same as for subtraction operator,\n ``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n ``ticks_diff()`` is designed to accommodate various usage\n patterns, among them:\n\n Polling with timeout. In this case, the order of events is known, and you\n will deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\n Scheduling events. In this case, :func:`time.ticks_diff()` result may be\n negative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\n \"\"\"\n ...\n", + "/typeshed/stdlib/time.pyi": "\"\"\"Mesurer le temps et ajouter des retards aux programmes.\"\"\"\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"Temporiser d'un certain nombre de secondes.\n\nExample: ``time.sleep(1)``\n\n:param seconds: Le nombre de secondes pendant lesquelles dormir.\nUtiliser un nombre \u00e0 virgule flottante pour dormir pendant un nombre fractionnaire de secondes.\"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"Temporiser pour un nombre donn\u00e9 de millisecondes.\n\nExample: ``time.sleep_ms(1_000_000)``\n\n:param ms: Le nombre de millisecondes \u00e0 attendre (>= 0).\"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"Temporiser pour un nombre donn\u00e9 de microsecondes.\n\nExample: ``time.sleep_us(1000)``\n\n:param us: Le nombre de microsecondes \u00e0 attendre (>= 0).\"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"Obtenir un compteur croissant en millisecondes avec un point de r\u00e9f\u00e9rence arbitraire.\nLe compteur revient \u00e0 z\u00e9ro apr\u00e8s une certaine valeur.\n\nExample: ``time.ticks_ms()``\n\n:return: The counter value in milliseconds.\"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"Obtenir un compteur croissant en microsecondes avec un point de r\u00e9f\u00e9rence arbitraire.\nLe compteur revient \u00e0 z\u00e9ro apr\u00e8s une certaine valeur.\n\nExample: ``time.ticks_us()``\n\n:return: The counter value in microseconds.\"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"D\u00e9caler les ticks par un nombre donn\u00e9, positif ou n\u00e9gatif.\n\nExample: ``time.ticks_add(time.ticks_ms(), 200)``\n\nGiven a ticks value, this function allows to calculate ticks\nvalue delta ticks before or after it, following modular-arithmetic\ndefinition of tick values.\n\n:param ticks: Une valeur de ticks\n:param delta: Un entier repr\u00e9sentant le d\u00e9calage\n\nExample::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"Mesurer la diff\u00e9rence des ticks entre les valeurs retourn\u00e9es par\n``time.ticks_ms()`` ou ``ticks_us()``, sous la forme d'une valeur sign\u00e9e\nqui peut passer plusieurs fois par z\u00e9ro.\n\nExample: ``time.ticks_diff(scheduled_time, now)``\n\n:param ticks1: La valeur \u00e0 partir de laquelle soustraire\n:param ticks2: La valeur \u00e0 soustraire\n\nThe argument order is the same as for subtraction operator,\n``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n``ticks_diff()`` is designed to accommodate various usage\npatterns, among them:\n\nPolling with timeout. In this case, the order of events is known, and you\nwill deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\nScheduling events. In this case, :func:`time.ticks_diff()` result may be\nnegative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\"\"\"\n ...", "/typeshed/stdlib/types.pyi": "import sys\nfrom typing import (\n Any,\n AsyncGenerator,\n Awaitable,\n Callable,\n Generator,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n Tuple,\n Type,\n TypeVar,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, final\n\n# Note, all classes \"defined\" here require special handling.\n\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_V_co = TypeVar(\"_V_co\", covariant=True)\n\n@final\nclass _Cell:\n __hash__: None # type: ignore\n cell_contents: Any\n\n@final\nclass FunctionType:\n __closure__: Tuple[_Cell, ...] | None\n __code__: CodeType\n __defaults__: Tuple[Any, ...] | None\n __dict__: dict[str, Any]\n __globals__: dict[str, Any]\n __name__: str\n __qualname__: str\n __annotations__: dict[str, Any]\n __kwdefaults__: dict[str, Any]\n def __init__(\n self,\n code: CodeType,\n globals: dict[str, Any],\n name: str | None = ...,\n argdefs: Tuple[object, ...] | None = ...,\n closure: Tuple[_Cell, ...] | None = ...,\n ) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: object | None, type: type | None) -> MethodType: ...\n\nLambdaType = FunctionType\n\n@final\nclass CodeType:\n \"\"\"Create a code object. Not for the faint of heart.\"\"\"\n\n co_argcount: int\n if sys.version_info >= (3, 8):\n co_posonlyargcount: int\n co_kwonlyargcount: int\n co_nlocals: int\n co_stacksize: int\n co_flags: int\n co_code: bytes\n co_consts: Tuple[Any, ...]\n co_names: Tuple[str, ...]\n co_varnames: Tuple[str, ...]\n co_filename: str\n co_name: str\n co_firstlineno: int\n co_lnotab: bytes\n co_freevars: Tuple[str, ...]\n co_cellvars: Tuple[str, ...]\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n argcount: int,\n posonlyargcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n else:\n def __init__(\n self,\n argcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n if sys.version_info >= (3, 8):\n def replace(\n self,\n *,\n co_argcount: int = ...,\n co_posonlyargcount: int = ...,\n co_kwonlyargcount: int = ...,\n co_nlocals: int = ...,\n co_stacksize: int = ...,\n co_flags: int = ...,\n co_firstlineno: int = ...,\n co_code: bytes = ...,\n co_consts: Tuple[Any, ...] = ...,\n co_names: Tuple[str, ...] = ...,\n co_varnames: Tuple[str, ...] = ...,\n co_freevars: Tuple[str, ...] = ...,\n co_cellvars: Tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_lnotab: bytes = ...,\n ) -> CodeType: ...\n\n@final\nclass MappingProxyType(Mapping[_KT, _VT_co], Generic[_KT, _VT_co]):\n __hash__: None # type: ignore\n def __init__(self, mapping: Mapping[_KT, _VT_co]) -> None: ...\n def __getitem__(self, k: _KT) -> _VT_co: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __len__(self) -> int: ...\n def copy(self) -> dict[_KT, _VT_co]: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def items(self) -> ItemsView[_KT, _VT_co]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def __or__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n def __ror__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n\nclass SimpleNamespace:\n __hash__: None # type: ignore\n def __init__(self, **kwargs: Any) -> None: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __delattr__(self, name: str) -> None: ...\n\nclass ModuleType:\n __name__: str\n __file__: str\n __dict__: dict[str, Any]\n __package__: str | None\n def __init__(self, name: str, doc: str | None = ...) -> None: ...\n\n@final\nclass GeneratorType(Generator[_T_co, _T_contra, _V_co]):\n gi_code: CodeType\n gi_frame: FrameType\n gi_running: bool\n gi_yieldfrom: GeneratorType[_T_co, _T_contra, Any] | None\n def __iter__(self) -> GeneratorType[_T_co, _T_contra, _V_co]: ...\n def __next__(self) -> _T_co: ...\n def close(self) -> None: ...\n def send(self, __arg: _T_contra) -> _T_co: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> _T_co: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> _T_co: ...\n\n@final\nclass AsyncGeneratorType(AsyncGenerator[_T_co, _T_contra]):\n ag_await: Awaitable[Any] | None\n ag_frame: FrameType\n ag_running: bool\n ag_code: CodeType\n def __aiter__(self) -> AsyncGeneratorType[_T_co, _T_contra]: ...\n def __anext__(self) -> Awaitable[_T_co]: ...\n def asend(self, __val: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Awaitable[_T_co]: ...\n def aclose(self) -> Awaitable[None]: ...\n\n@final\nclass CoroutineType:\n cr_await: Any | None\n cr_code: CodeType\n cr_frame: FrameType\n cr_running: bool\n def close(self) -> None: ...\n def send(self, __arg: Any) -> Any: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Any: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Any: ...\n\nclass _StaticFunctionType:\n \"\"\"Fictional type to correct the type of MethodType.__func__.\n\n FunctionType is a descriptor, so mypy follows the descriptor protocol and\n converts MethodType.__func__ back to MethodType (the return type of\n FunctionType.__get__). But this is actually a special case; MethodType is\n implemented in C and its attribute access doesn't go through\n __getattribute__.\n\n By wrapping FunctionType in _StaticFunctionType, we get the right result;\n similar to wrapping a function in staticmethod() at runtime to prevent it\n being bound as a method.\n \"\"\"\n\n def __get__(self, obj: object | None, type: type | None) -> FunctionType: ...\n\n@final\nclass MethodType:\n __closure__: Tuple[_Cell, ...] | None # inherited from the added function\n __defaults__: Tuple[Any, ...] | None # inherited from the added function\n __func__: _StaticFunctionType\n __self__: object\n __name__: str # inherited from the added function\n __qualname__: str # inherited from the added function\n def __init__(self, func: Callable[..., Any], obj: object) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\n@final\nclass BuiltinFunctionType:\n __self__: object | ModuleType\n __name__: str\n __qualname__: str\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\nBuiltinMethodType = BuiltinFunctionType\n\nif sys.version_info >= (3, 7):\n @final\n class WrapperDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class MethodWrapperType:\n __self__: object\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, other: Any) -> bool: ...\n def __ne__(self, other: Any) -> bool: ...\n @final\n class MethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class ClassMethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n\n@final\nclass TracebackType:\n if sys.version_info >= (3, 7):\n def __init__(\n self,\n tb_next: TracebackType | None,\n tb_frame: FrameType,\n tb_lasti: int,\n tb_lineno: int,\n ) -> None: ...\n tb_next: TracebackType | None\n else:\n @property\n def tb_next(self) -> TracebackType | None: ...\n # the rest are read-only even in 3.7\n @property\n def tb_frame(self) -> FrameType: ...\n @property\n def tb_lasti(self) -> int: ...\n @property\n def tb_lineno(self) -> int: ...\n\n@final\nclass FrameType:\n f_back: FrameType | None\n f_builtins: dict[str, Any]\n f_code: CodeType\n f_globals: dict[str, Any]\n f_lasti: int\n f_lineno: int\n f_locals: dict[str, Any]\n f_trace: Callable[[FrameType, str, Any], Any] | None\n if sys.version_info >= (3, 7):\n f_trace_lines: bool\n f_trace_opcodes: bool\n def clear(self) -> None: ...\n\n@final\nclass GetSetDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\n@final\nclass MemberDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nif sys.version_info >= (3, 7):\n def new_class(\n name: str,\n bases: Iterable[object] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n def resolve_bases(bases: Iterable[object]) -> Tuple[Any, ...]: ...\n\nelse:\n def new_class(\n name: str,\n bases: Tuple[type, ...] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n\ndef prepare_class(\n name: str, bases: Tuple[type, ...] = ..., kwds: dict[str, Any] | None = ...\n) -> Tuple[type, dict[str, Any], dict[str, Any]]: ...\n\n# Actually a different type, but `property` is special and we want that too.\nDynamicClassAttribute = property\n\ndef coroutine(func: Callable[..., Any]) -> CoroutineType: ...\n\nif sys.version_info >= (3, 8):\n CellType = _Cell\n\nif sys.version_info >= (3, 9):\n class GenericAlias:\n __origin__: type\n __args__: Tuple[Any, ...]\n __parameters__: Tuple[Any, ...]\n def __init__(self, origin: type, args: Any) -> None: ...\n def __getattr__(self, name: str) -> Any: ... # incomplete\n\nif sys.version_info >= (3, 10):\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n EllipsisType = ellipsis # noqa F811 from builtins\n from builtins import _NotImplementedType\n\n NotImplementedType = _NotImplementedType # noqa F811 from builtins\n @final\n class UnionType:\n __args__: Tuple[Any, ...]\n def __or__(self, obj: Any) -> UnionType: ...\n def __ror__(self, obj: Any) -> UnionType: ...\n", "/typeshed/stdlib/typing.pyi": "import collections # Needed by aliases like DefaultDict, see mypy issue 2986\nimport sys\nfrom abc import ABCMeta, abstractmethod\nfrom types import BuiltinFunctionType, CodeType, FrameType, FunctionType, MethodType, ModuleType, TracebackType\nfrom typing_extensions import Literal as _Literal\n\nif sys.version_info >= (3, 7):\n from types import MethodDescriptorType, MethodWrapperType, WrapperDescriptorType\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n# Definitions of special type checking related constructs. Their definitions\n# are not used, so their value does not matter.\n\nAny = object()\n\nclass TypeVar:\n __name__: str\n __bound__: Optional[Type[Any]]\n __constraints__: Tuple[Type[Any], ...]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self,\n name: str,\n *constraints: Type[Any],\n bound: Union[None, Type[Any], str] = ...,\n covariant: bool = ...,\n contravariant: bool = ...,\n ) -> None: ...\n\n_promote = object()\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> object: ...\n\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n\ndef overload(func: _F) -> _F: ...\n\nUnion: _SpecialForm = ...\nOptional: _SpecialForm = ...\nTuple: _SpecialForm = ...\nGeneric: _SpecialForm = ...\n# Protocol is only present in 3.8 and later, but mypy needs it unconditionally\nProtocol: _SpecialForm = ...\nCallable: _SpecialForm = ...\nType: _SpecialForm = ...\nClassVar: _SpecialForm = ...\nif sys.version_info >= (3, 8):\n Final: _SpecialForm = ...\n def final(f: _F) -> _F: ...\n Literal: _SpecialForm = ...\n # TypedDict is a (non-subscriptable) special form.\n TypedDict: object\n\nif sys.version_info < (3, 7):\n class GenericMeta(type): ...\n\nif sys.version_info >= (3, 10):\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Optional[Type[Any]]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: Union[None, Type[Any], str] = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n\n# Return type that indicates a function does not return.\n# This type is equivalent to the None type, but the no-op Union is necessary to\n# distinguish the None type from the None value.\nNoReturn = Union[None]\n\n# These type variables are used by the container types.\n_T = TypeVar(\"_T\")\n_S = TypeVar(\"_S\")\n_KT = TypeVar(\"_KT\") # Key type.\n_VT = TypeVar(\"_VT\") # Value type.\n_T_co = TypeVar(\"_T_co\", covariant=True) # Any type covariant containers.\n_V_co = TypeVar(\"_V_co\", covariant=True) # Any type covariant containers.\n_KT_co = TypeVar(\"_KT_co\", covariant=True) # Key type covariant containers.\n_VT_co = TypeVar(\"_VT_co\", covariant=True) # Value type covariant containers.\n_T_contra = TypeVar(\"_T_contra\", contravariant=True) # Ditto contravariant.\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\ndef no_type_check(arg: _F) -> _F: ...\ndef no_type_check_decorator(decorator: _F) -> _F: ...\n\n# Type aliases and type constructors\n\nclass _Alias:\n # Class for defining generic aliases for library types.\n def __getitem__(self, typeargs: Any) -> Any: ...\n\nList = _Alias()\nDict = _Alias()\nDefaultDict = _Alias()\nSet = _Alias()\nFrozenSet = _Alias()\nCounter = _Alias()\nDeque = _Alias()\nChainMap = _Alias()\n\nif sys.version_info >= (3, 7):\n OrderedDict = _Alias()\n\nif sys.version_info >= (3, 9):\n Annotated: _SpecialForm = ...\n\n# Predefined type variables.\nAnyStr = TypeVar(\"AnyStr\", str, bytes)\n\n# Abstract base classes.\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n@runtime_checkable\nclass SupportsInt(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __int__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsFloat(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __float__(self) -> float: ...\n\n@runtime_checkable\nclass SupportsComplex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __complex__(self) -> complex: ...\n\n@runtime_checkable\nclass SupportsBytes(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __bytes__(self) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n @runtime_checkable\n class SupportsIndex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __index__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsAbs(Protocol[_T_co]):\n @abstractmethod\n def __abs__(self) -> _T_co: ...\n\n@runtime_checkable\nclass SupportsRound(Protocol[_T_co]):\n @overload\n @abstractmethod\n def __round__(self) -> int: ...\n @overload\n @abstractmethod\n def __round__(self, ndigits: int) -> _T_co: ...\n\n@runtime_checkable\nclass Sized(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __len__(self) -> int: ...\n\n@runtime_checkable\nclass Hashable(Protocol, metaclass=ABCMeta):\n # TODO: This is special, in that a subclass of a hashable class may not be hashable\n # (for example, list vs. object). It's not obvious how to represent this. This class\n # is currently mostly useless for static checking.\n @abstractmethod\n def __hash__(self) -> int: ...\n\n@runtime_checkable\nclass Iterable(Protocol[_T_co]):\n @abstractmethod\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Iterator(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __next__(self) -> _T_co: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Reversible(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass Generator(Iterator[_T_co], Generic[_T_co, _T_contra, _V_co]):\n def __next__(self) -> _T_co: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n def close(self) -> None: ...\n def __iter__(self) -> Generator[_T_co, _T_contra, _V_co]: ...\n @property\n def gi_code(self) -> CodeType: ...\n @property\n def gi_frame(self) -> FrameType: ...\n @property\n def gi_running(self) -> bool: ...\n @property\n def gi_yieldfrom(self) -> Optional[Generator[Any, Any, Any]]: ...\n\n@runtime_checkable\nclass Awaitable(Protocol[_T_co]):\n @abstractmethod\n def __await__(self) -> Generator[Any, None, _T_co]: ...\n\nclass Coroutine(Awaitable[_V_co], Generic[_T_co, _T_contra, _V_co]):\n __name__: str\n __qualname__: str\n @property\n def cr_await(self) -> Optional[Any]: ...\n @property\n def cr_code(self) -> CodeType: ...\n @property\n def cr_frame(self) -> FrameType: ...\n @property\n def cr_running(self) -> bool: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n @abstractmethod\n def close(self) -> None: ...\n\n# NOTE: This type does not exist in typing.py or PEP 484.\n# The parameters correspond to Generator, but the 4th is the original type.\nclass AwaitableGenerator(\n Awaitable[_V_co], Generator[_T_co, _T_contra, _V_co], Generic[_T_co, _T_contra, _V_co, _S], metaclass=ABCMeta\n): ...\n\n@runtime_checkable\nclass AsyncIterable(Protocol[_T_co]):\n @abstractmethod\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\n@runtime_checkable\nclass AsyncIterator(AsyncIterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\nclass AsyncGenerator(AsyncIterator[_T_co], Generic[_T_co, _T_contra]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n @abstractmethod\n def asend(self, __value: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> Awaitable[_T_co]: ...\n @abstractmethod\n def aclose(self) -> Awaitable[None]: ...\n @abstractmethod\n def __aiter__(self) -> AsyncGenerator[_T_co, _T_contra]: ...\n @property\n def ag_await(self) -> Any: ...\n @property\n def ag_code(self) -> CodeType: ...\n @property\n def ag_frame(self) -> FrameType: ...\n @property\n def ag_running(self) -> bool: ...\n\n@runtime_checkable\nclass Container(Protocol[_T_co]):\n @abstractmethod\n def __contains__(self, __x: object) -> bool: ...\n\n@runtime_checkable\nclass Collection(Iterable[_T_co], Container[_T_co], Protocol[_T_co]):\n # Implement Sized (but don't have it as a base class).\n @abstractmethod\n def __len__(self) -> int: ...\n\n_Collection = Collection[_T_co]\n\nclass Sequence(_Collection[_T_co], Reversible[_T_co], Generic[_T_co]):\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T_co: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> Sequence[_T_co]: ...\n # Mixin methods\n def index(self, value: Any, start: int = ..., stop: int = ...) -> int: ...\n def count(self, value: Any) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass MutableSequence(Sequence[_T], Generic[_T]):\n @abstractmethod\n def insert(self, index: int, value: _T) -> None: ...\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> MutableSequence[_T]: ...\n @overload\n @abstractmethod\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n @abstractmethod\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: int) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: slice) -> None: ...\n # Mixin methods\n def append(self, value: _T) -> None: ...\n def clear(self) -> None: ...\n def extend(self, values: Iterable[_T]) -> None: ...\n def reverse(self) -> None: ...\n def pop(self, index: int = ...) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __iadd__(self, x: Iterable[_T]) -> MutableSequence[_T]: ...\n\nclass AbstractSet(_Collection[_T_co], Generic[_T_co]):\n @abstractmethod\n def __contains__(self, x: object) -> bool: ...\n # Mixin methods\n def __le__(self, s: AbstractSet[Any]) -> bool: ...\n def __lt__(self, s: AbstractSet[Any]) -> bool: ...\n def __gt__(self, s: AbstractSet[Any]) -> bool: ...\n def __ge__(self, s: AbstractSet[Any]) -> bool: ...\n def __and__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def __sub__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def isdisjoint(self, other: Iterable[Any]) -> bool: ...\n\nclass MutableSet(AbstractSet[_T], Generic[_T]):\n @abstractmethod\n def add(self, value: _T) -> None: ...\n @abstractmethod\n def discard(self, value: _T) -> None: ...\n # Mixin methods\n def clear(self) -> None: ...\n def pop(self) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __ior__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __iand__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __isub__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n\nclass MappingView(Sized):\n def __init__(self, mapping: Mapping[Any, Any]) -> None: ... # undocumented\n def __len__(self) -> int: ...\n\nclass ItemsView(MappingView, AbstractSet[Tuple[_KT_co, _VT_co]], Generic[_KT_co, _VT_co]):\n def __init__(self, mapping: Mapping[_KT_co, _VT_co]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n\nclass KeysView(MappingView, AbstractSet[_KT_co], Generic[_KT_co]):\n def __init__(self, mapping: Mapping[_KT_co, Any]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT_co]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n\nclass ValuesView(MappingView, Iterable[_VT_co], Generic[_VT_co]):\n def __init__(self, mapping: Mapping[Any, _VT_co]) -> None: ... # undocumented\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_VT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\n@runtime_checkable\nclass ContextManager(Protocol[_T_co]):\n def __enter__(self) -> _T_co: ...\n def __exit__(\n self,\n __exc_type: Optional[Type[BaseException]],\n __exc_value: Optional[BaseException],\n __traceback: Optional[TracebackType],\n ) -> Optional[bool]: ...\n\n@runtime_checkable\nclass AsyncContextManager(Protocol[_T_co]):\n def __aenter__(self) -> Awaitable[_T_co]: ...\n def __aexit__(\n self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Awaitable[Optional[bool]]: ...\n\nclass Mapping(_Collection[_KT], Generic[_KT, _VT_co]):\n # TODO: We wish the key type could also be covariant, but that doesn't work,\n # see discussion in https: //github.com/python/typing/pull/273.\n @abstractmethod\n def __getitem__(self, k: _KT) -> _VT_co: ...\n # Mixin methods\n @overload\n def get(self, key: _KT) -> Optional[_VT_co]: ...\n @overload\n def get(self, key: _KT, default: Union[_VT_co, _T]) -> Union[_VT_co, _T]: ...\n def items(self) -> AbstractSet[Tuple[_KT, _VT_co]]: ...\n def keys(self) -> AbstractSet[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def __contains__(self, o: object) -> bool: ...\n\nclass MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):\n @abstractmethod\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n @abstractmethod\n def __delitem__(self, v: _KT) -> None: ...\n def clear(self) -> None: ...\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...\n # 'update' used to take a Union, but using overloading is better.\n # The second overloaded type here is a bit too general, because\n # Mapping[Tuple[_KT, _VT], W] is a subclass of Iterable[Tuple[_KT, _VT]],\n # but will always have the behavior of the first overloaded type\n # at runtime, leading to keys of a mix of types _KT and Tuple[_KT, _VT].\n # We don't currently have any way of forcing all Mappings to use\n # the first overload, but by using overloading rather than a Union,\n # mypy will commit to using the first overload when the argument is\n # known to be a Mapping with unknown type parameters, which is closer\n # to the behavior we want. See mypy issue #1430.\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n\nText = str\n\nTYPE_CHECKING = True\n\nclass IO(Iterator[AnyStr], Generic[AnyStr]):\n # TODO use abstract properties\n @property\n def mode(self) -> str: ...\n @property\n def name(self) -> str: ...\n @abstractmethod\n def close(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n @abstractmethod\n def fileno(self) -> int: ...\n @abstractmethod\n def flush(self) -> None: ...\n @abstractmethod\n def isatty(self) -> bool: ...\n @abstractmethod\n def read(self, n: int = ...) -> AnyStr: ...\n @abstractmethod\n def readable(self) -> bool: ...\n @abstractmethod\n def readline(self, limit: int = ...) -> AnyStr: ...\n @abstractmethod\n def readlines(self, hint: int = ...) -> list[AnyStr]: ...\n @abstractmethod\n def seek(self, offset: int, whence: int = ...) -> int: ...\n @abstractmethod\n def seekable(self) -> bool: ...\n @abstractmethod\n def tell(self) -> int: ...\n @abstractmethod\n def truncate(self, size: Optional[int] = ...) -> int: ...\n @abstractmethod\n def writable(self) -> bool: ...\n @abstractmethod\n def write(self, s: AnyStr) -> int: ...\n @abstractmethod\n def writelines(self, lines: Iterable[AnyStr]) -> None: ...\n @abstractmethod\n def __next__(self) -> AnyStr: ...\n @abstractmethod\n def __iter__(self) -> Iterator[AnyStr]: ...\n @abstractmethod\n def __enter__(self) -> IO[AnyStr]: ...\n @abstractmethod\n def __exit__(\n self, t: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Optional[bool]: ...\n\nclass BinaryIO(IO[bytes]):\n @abstractmethod\n def __enter__(self) -> BinaryIO: ...\n\nclass TextIO(IO[str]):\n # TODO use abstractproperty\n @property\n def buffer(self) -> BinaryIO: ...\n @property\n def encoding(self) -> str: ...\n @property\n def errors(self) -> Optional[str]: ...\n @property\n def line_buffering(self) -> int: ... # int on PyPy, bool on CPython\n @property\n def newlines(self) -> Any: ... # None, str or tuple\n @abstractmethod\n def __enter__(self) -> TextIO: ...\n\nclass ByteString(Sequence[int], metaclass=ABCMeta): ...\n\nclass Match(Generic[AnyStr]):\n pos: int\n endpos: int\n lastindex: Optional[int]\n lastgroup: Optional[AnyStr]\n string: AnyStr\n\n # The regular expression object whose match() or search() method produced\n # this match instance.\n re: Pattern[AnyStr]\n def expand(self, template: AnyStr) -> AnyStr: ...\n # group() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def group(self, __group: _Literal[0] = ...) -> AnyStr: ...\n @overload\n def group(self, __group: str | int) -> AnyStr | Any: ...\n @overload\n def group(self, __group1: str | int, __group2: str | int, *groups: str | int) -> Tuple[AnyStr | Any, ...]: ...\n # Each item of groups()'s return tuple is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groups(self) -> Tuple[AnyStr | Any, ...]: ...\n @overload\n def groups(self, default: _T) -> Tuple[AnyStr | _T, ...]: ...\n # Each value in groupdict()'s return dict is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groupdict(self) -> dict[str, AnyStr | Any]: ...\n @overload\n def groupdict(self, default: _T) -> dict[str, AnyStr | _T]: ...\n def start(self, __group: Union[int, str] = ...) -> int: ...\n def end(self, __group: Union[int, str] = ...) -> int: ...\n def span(self, __group: Union[int, str] = ...) -> Tuple[int, int]: ...\n @property\n def regs(self) -> Tuple[Tuple[int, int], ...]: ... # undocumented\n # __getitem__() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def __getitem__(self, __key: _Literal[0]) -> AnyStr: ...\n @overload\n def __getitem__(self, __key: int | str) -> AnyStr | Any: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Pattern(Generic[AnyStr]):\n flags: int\n groupindex: Mapping[str, int]\n groups: int\n pattern: AnyStr\n def search(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def match(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def fullmatch(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def split(self, string: AnyStr, maxsplit: int = ...) -> list[AnyStr]: ...\n def findall(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> list[Any]: ...\n def finditer(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Iterator[Match[AnyStr]]: ...\n @overload\n def sub(self, repl: AnyStr, string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def sub(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def subn(self, repl: AnyStr, string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n @overload\n def subn(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# Functions\n\nif sys.version_info >= (3, 7):\n _get_type_hints_obj_allowed_types = Union[\n object,\n Callable[..., Any],\n FunctionType,\n BuiltinFunctionType,\n MethodType,\n ModuleType,\n WrapperDescriptorType,\n MethodWrapperType,\n MethodDescriptorType,\n ]\nelse:\n _get_type_hints_obj_allowed_types = Union[\n object, Callable[..., Any], FunctionType, BuiltinFunctionType, MethodType, ModuleType,\n ]\n\nif sys.version_info >= (3, 9):\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types,\n globalns: Optional[Dict[str, Any]] = ...,\n localns: Optional[Dict[str, Any]] = ...,\n include_extras: bool = ...,\n ) -> Dict[str, Any]: ...\n\nelse:\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types, globalns: Optional[Dict[str, Any]] = ..., localns: Optional[Dict[str, Any]] = ...\n ) -> Dict[str, Any]: ...\n\nif sys.version_info >= (3, 8):\n def get_origin(tp: Any) -> Optional[Any]: ...\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n\n@overload\ndef cast(typ: Type[_T], val: Any) -> _T: ...\n@overload\ndef cast(typ: str, val: Any) -> Any: ...\n@overload\ndef cast(typ: object, val: Any) -> Any: ...\n\n# Type constructors\n\n# NamedTuple is special-cased in the type checker\nclass NamedTuple(Tuple[Any, ...]):\n _field_types: collections.OrderedDict[str, Type[Any]]\n _field_defaults: Dict[str, Any] = ...\n _fields: Tuple[str, ...]\n _source: str\n def __init__(self, typename: str, fields: Iterable[Tuple[str, Any]] = ..., **kwargs: Any) -> None: ...\n @classmethod\n def _make(cls: Type[_T], iterable: Iterable[Any]) -> _T: ...\n if sys.version_info >= (3, 8):\n def _asdict(self) -> Dict[str, Any]: ...\n else:\n def _asdict(self) -> collections.OrderedDict[str, Any]: ...\n def _replace(self: _T, **kwargs: Any) -> _T: ...\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __or__(self: _T, __value: _T) -> _T: ...\n def __ior__(self: _T, __value: _T) -> _T: ...\n\ndef NewType(name: str, tp: Type[_T]) -> Type[_T]: ...\n\n# This itself is only available during type checking\ndef type_check_only(func_or_cls: _F) -> _F: ...\n\nif sys.version_info >= (3, 7):\n class ForwardRef:\n __forward_arg__: str\n __forward_code__: CodeType\n __forward_evaluated__: bool\n __forward_value__: Optional[Any]\n __forward_is_argument__: bool\n def __init__(self, arg: str, is_argument: bool = ...) -> None: ...\n def _evaluate(self, globalns: Optional[Dict[str, Any]], localns: Optional[Dict[str, Any]]) -> Optional[Any]: ...\n def __eq__(self, other: Any) -> bool: ...\n def __hash__(self) -> int: ...\n def __repr__(self) -> str: ...\n\nif sys.version_info >= (3, 10):\n def is_typeddict(tp: Any) -> bool: ...\n", "/typeshed/stdlib/typing_extensions.pyi": "import abc\nimport sys\nfrom typing import (\n TYPE_CHECKING as TYPE_CHECKING,\n Any,\n AsyncContextManager as AsyncContextManager,\n AsyncGenerator as AsyncGenerator,\n AsyncIterable as AsyncIterable,\n AsyncIterator as AsyncIterator,\n Awaitable as Awaitable,\n Callable,\n ChainMap as ChainMap,\n ClassVar as ClassVar,\n ContextManager as ContextManager,\n Coroutine as Coroutine,\n Counter as Counter,\n DefaultDict as DefaultDict,\n Deque as Deque,\n ItemsView,\n KeysView,\n Mapping,\n NewType as NewType,\n NoReturn as NoReturn,\n Text as Text,\n Tuple,\n Type as Type,\n TypeVar,\n ValuesView,\n _Alias,\n overload as overload,\n)\n\n_T = TypeVar(\"_T\")\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> Any: ...\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n\n# This alias for above is kept here for backwards compatibility.\nruntime = runtime_checkable\nProtocol: _SpecialForm = ...\nFinal: _SpecialForm = ...\n\ndef final(f: _F) -> _F: ...\n\nLiteral: _SpecialForm = ...\n\ndef IntVar(name: str) -> Any: ... # returns a new TypeVar\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n\n# TypedDict is a (non-subscriptable) special form.\nTypedDict: object = ...\n\nOrderedDict = _Alias()\n\ndef get_type_hints(\n obj: Callable[..., Any],\n globalns: dict[str, Any] | None = ...,\n localns: dict[str, Any] | None = ...,\n include_extras: bool = ...,\n) -> dict[str, Any]: ...\n\nif sys.version_info >= (3, 7):\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n def get_origin(tp: Any) -> Any | None: ...\n\nAnnotated: _SpecialForm = ...\n_AnnotatedAlias: Any = ... # undocumented\n\n@runtime_checkable\nclass SupportsIndex(Protocol, metaclass=abc.ABCMeta):\n @abc.abstractmethod\n def __index__(self) -> int: ...\n\n# PEP 612 support for Python < 3.9\nif sys.version_info >= (3, 10):\n from typing import Concatenate as Concatenate, ParamSpec as ParamSpec, TypeAlias as TypeAlias, TypeGuard as TypeGuard\nelse:\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Type[Any] | None\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: None | Type[Any] | str = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n", @@ -35,16 +35,16 @@ "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", - "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pins, images, sounds, temperature and volume.\n\"\"\"\n\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\n\nfrom _typeshed import ReadableBuffer\n\n# V2 only\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(\n callback: Optional[Callable[[], None]] = None,\n days: int = 0,\n h: int = 0,\n min: int = 0,\n s: int = 0,\n ms: int = 0,\n) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Schedule to run a function at the interval specified by the time arguments **V2 only**.\n\n Example: ``run_every(my_logging, min=5)``\n\n ``run_every`` can be used in two ways:\n\n As a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\n As a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\n Each argument corresponds to a different time unit and they are additive.\n So ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\n When an exception is thrown inside the callback function it deschedules the\n function. To avoid this you can catch exceptions with ``try/except``.\n\n :param callback: Function to call at the provided interval. Omit when using as a decorator.\n :param days: Sets the day mark for the scheduling.\n :param h: Sets the hour mark for the scheduling.\n :param min: Sets the minute mark for the scheduling.\n :param s: Sets the second mark for the scheduling.\n :param ms: Sets the millisecond mark for the scheduling.\n \"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Enter a panic mode.\n\n Example: ``panic(127)``\n\n :param n: An arbitrary integer <= 255 to indicate a status.\n\n Requires restart.\n \"\"\"\n\ndef reset() -> None:\n \"\"\"Restart the board.\"\"\"\n\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converts a value from a range to an integer range.\n\n Example: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\n For example, to convert an accelerometer X value to a speaker volume.\n\n If one of the numbers in the ``to`` parameter is a floating point\n (i.e a decimal number like ``10.0``), this function will return a\n floating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n :param value: A number to convert.\n :param from_: A tuple to define the range to convert from.\n :param to: A tuple to define the range to convert to.\n :return: The ``value`` converted to the ``to`` range.\n \"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converts a value from a range to a floating point range.\n\n Example: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\n For example, to convert temperature from a Celsius scale to Fahrenheit.\n\n If one of the numbers in the ``to`` parameter is a floating point\n (i.e a decimal number like ``10.0``), this function will return a\n floating point number.\n If they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n :param value: A number to convert.\n :param from_: A tuple to define the range to convert from.\n :param to: A tuple to define the range to convert to.\n :return: The ``value`` converted to the ``to`` range.\n \"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Wait for ``n`` milliseconds.\n\n Example: ``sleep(1000)``\n\n :param n: The number of milliseconds to wait\n\n One second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\n will pause the execution for one second.\n \"\"\"\n\ndef running_time() -> int:\n \"\"\"Get the running time of the board.\n\n :return: The number of milliseconds since the board was switched on or restarted.\n \"\"\"\n\ndef temperature() -> int:\n \"\"\"Get the temperature of the micro:bit in degrees Celsius.\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Sets the volume.\n\n Example: ``set_volume(127)``\n\n :param v: a value between 0 (low) and 255 (high).\n\n Out of range values will be clamped to 0 or 255.\n\n **V2** only.\n \"\"\"\n ...\n\nclass Button:\n \"\"\"The class for the buttons ``button_a`` and ``button_b``.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Check if the button is pressed.\n\n :return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\n \"\"\"\n ...\n def was_pressed(self) -> bool:\n \"\"\"Check if the button was pressed since the device started or the last time this method was called.\n\n Calling this method will clear the press state so\n that the button must be pressed again before this method will return\n ``True`` again.\n\n :return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\n \"\"\"\n ...\n def get_presses(self) -> int:\n \"\"\"Get the running total of button presses, and resets this total\n to zero before returning.\n\n :return: The number of presses since the device started or the last time this method was called\n \"\"\"\n ...\n\nbutton_a: Button\n\"\"\"The left button ``Button`` object.\"\"\"\n\nbutton_b: Button\n\"\"\"The right button ``Button`` object.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"A digital pin.\n\n Some pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\n \"\"\"\n\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n def read_digital(self) -> int:\n \"\"\"Get the digital value of the pin.\n\n Example: ``value = pin0.read_digital()``\n\n :return: 1 if the pin is high, and 0 if it's low.\n \"\"\"\n ...\n def write_digital(self, value: int) -> None:\n \"\"\"Set the digital value of the pin.\n\n Example: ``pin0.write_digital(1)``\n\n :param value: 1 to set the pin high or 0 to set the pin low\"\"\"\n ...\n def set_pull(self, value: int) -> None:\n \"\"\"Set the pull state to one of three possible values: ``PULL_UP``, ``PULL_DOWN`` or ``NO_PULL``.\n\n Example: ``pin0.set_pull(pin0.PULL_UP)``\n\n :param value: The pull state from the relevant pin, e.g. ``pin0.PULL_UP``.\n \"\"\"\n ...\n def get_pull(self) -> int:\n \"\"\"Get the pull state on a pin.\n\n Example: ``pin0.get_pull()``\n\n :return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\n These are set using the ``set_pull()`` method or automatically configured\n when a pin mode requires it.\n \"\"\"\n ...\n def get_mode(self) -> str:\n \"\"\"Returns the pin mode.\n\n Example: ``pin0.get_mode()``\n\n When a pin is used for a specific function, like\n writing a digital value, or reading an analog value, the pin mode\n changes.\n\n :return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\n \"\"\"\n ...\n def write_analog(self, value: int) -> None:\n \"\"\"Output a PWM signal on the pin, with the duty cycle proportional to ``value``.\n\n Example: ``pin0.write_analog(254)``\n\n :param value: An integer or a floating point number between 0 (0% duty cycle) and 1023 (100% duty).\n \"\"\"\n def set_analog_period(self, period: int) -> None:\n \"\"\"Set the period of the PWM signal being output to ``period`` in milliseconds.\n\n Example: ``pin0.set_analog_period(10)``\n\n :param period: The period in milliseconds with a minimum valid value of 1ms.\n \"\"\"\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Set the period of the PWM signal being output to ``period`` in microseconds.\n\n Example: ``pin0.set_analog_period_microseconds(512)``\n\n :param period: The period in microseconds with a minimum valid value of 256\u00b5s.\n \"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"A pin with analog and digital features.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Read the voltage applied to the pin.\n\n Example: ``pin0.read_analog()``\n\n :return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\n \"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"A pin with analog, digital and touch features.\"\"\"\n\n CAPACITIVE: int\n RESISTIVE: int\n def is_touched(self) -> bool:\n \"\"\"Check if the pin is being touched.\n\n Example: ``pin0.is_touched()``\n\n The default touch mode for the pins on the edge connector is ``resistive``.\n The default for the logo pin **V2** is ``capacitive``.\n\n **Resistive touch**\n This test is done by measuring how much resistance there is between the\n pin and ground. A low resistance gives a reading of ``True``. To get\n a reliable reading using a finger you may need to touch the ground pin\n with another part of your body, for example your other hand.\n\n **Capacitive touch**\n This test is done by interacting with the electric field of a capacitor\n using a finger as a conductor. `Capacitive touch\n `_\n does not require you to make a ground connection as part of a circuit.\n\n :return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\n \"\"\"\n ...\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Set the touch mode for the pin.\n\n Example: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\n The default touch mode for the pins on the edge connector is\n ``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n :param value: ``CAPACITIVE`` or ``RESISTIVE`` from the relevant pin.\n \"\"\"\n ...\n\npin0: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin1: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin2: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin5: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin6: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin7: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin8: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin9: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin11: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin12: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin13: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin14: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin15: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin16: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin19: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin20: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin_logo: MicroBitTouchPin\n\"\"\"A touch sensitive logo pin on the front of the micro:bit, which by default is set to capacitive touch mode.\"\"\"\n\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"A pin to address the micro:bit speaker.\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"An image to show on the micro:bit LED display.\n\n Given an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\n \"\"\"\n\n HEART: Image\n \"\"\"Heart image.\"\"\"\n\n HEART_SMALL: Image\n \"\"\"Small heart image.\"\"\"\n\n HAPPY: Image\n \"\"\"Happy face image.\"\"\"\n\n SMILE: Image\n \"\"\"Smiling mouth image.\"\"\"\n\n SAD: Image\n \"\"\"Sad face image.\"\"\"\n\n CONFUSED: Image\n \"\"\"Confused face image.\"\"\"\n\n ANGRY: Image\n \"\"\"Angry face image.\"\"\"\n\n ASLEEP: Image\n \"\"\"Sleeping face image.\"\"\"\n\n SURPRISED: Image\n \"\"\"Surprised face image.\"\"\"\n\n SILLY: Image\n \"\"\"Silly face image.\"\"\"\n\n FABULOUS: Image\n \"\"\"Sunglasses face image.\"\"\"\n\n MEH: Image\n \"\"\"Unimpressed face image.\"\"\"\n\n YES: Image\n \"\"\"Tick image.\"\"\"\n\n NO: Image\n \"\"\"Cross image.\"\"\"\n\n CLOCK12: Image\n \"\"\"Image with line pointing to 12 o'clock.\"\"\"\n\n CLOCK11: Image\n \"\"\"Image with line pointing to 11 o'clock.\"\"\"\n\n CLOCK10: Image\n \"\"\"Image with line pointing to 10 o'clock.\"\"\"\n\n CLOCK9: Image\n \"\"\"Image with line pointing to 9 o'clock.\"\"\"\n\n CLOCK8: Image\n \"\"\"Image with line pointing to 8 o'clock.\"\"\"\n\n CLOCK7: Image\n \"\"\"Image with line pointing to 7 o'clock.\"\"\"\n\n CLOCK6: Image\n \"\"\"Image with line pointing to 6 o'clock.\"\"\"\n\n CLOCK5: Image\n \"\"\"Image with line pointing to 5 o'clock.\"\"\"\n\n CLOCK4: Image\n \"\"\"Image with line pointing to 4 o'clock.\"\"\"\n\n CLOCK3: Image\n \"\"\"Image with line pointing to 3 o'clock.\"\"\"\n\n CLOCK2: Image\n \"\"\"Image with line pointing to 2 o'clock.\"\"\"\n\n CLOCK1: Image\n \"\"\"Image with line pointing to 1 o'clock.\"\"\"\n\n ARROW_N: Image\n \"\"\"Image of arrow pointing north.\"\"\"\n\n ARROW_NE: Image\n \"\"\"Image of arrow pointing north east.\"\"\"\n\n ARROW_E: Image\n \"\"\"Image of arrow pointing east.\"\"\"\n\n ARROW_SE: Image\n \"\"\"Image of arrow pointing south east.\"\"\"\n\n ARROW_S: Image\n \"\"\"Image of arrow pointing south.\"\"\"\n\n ARROW_SW: Image\n \"\"\"Image of arrow pointing south west.\"\"\"\n\n ARROW_W: Image\n \"\"\"Image of arrow pointing west.\"\"\"\n\n ARROW_NW: Image\n \"\"\"Image of arrow pointing north west.\"\"\"\n\n TRIANGLE: Image\n \"\"\"Image of a triangle pointing up.\"\"\"\n\n TRIANGLE_LEFT: Image\n \"\"\"Image of a triangle in the left corner.\"\"\"\n\n CHESSBOARD: Image\n \"\"\"Alternate LEDs lit in a chessboard pattern.\"\"\"\n\n DIAMOND: Image\n \"\"\"Diamond image.\"\"\"\n\n DIAMOND_SMALL: Image\n \"\"\"Small diamond image.\"\"\"\n\n SQUARE: Image\n \"\"\"Square image.\"\"\"\n\n SQUARE_SMALL: Image\n \"\"\"Small square image.\"\"\"\n\n RABBIT: Image\n \"\"\"Rabbit image.\"\"\"\n\n COW: Image\n \"\"\"Cow image.\"\"\"\n\n MUSIC_CROTCHET: Image\n \"\"\"Crotchet note image.\"\"\"\n\n MUSIC_QUAVER: Image\n \"\"\"Quaver note image.\"\"\"\n\n MUSIC_QUAVERS: Image\n \"\"\"Pair of quavers note image.\"\"\"\n\n PITCHFORK: Image\n \"\"\"Pitchfork image.\"\"\"\n\n XMAS: Image\n \"\"\"Christmas tree image.\"\"\"\n\n PACMAN: Image\n \"\"\"Pac-Man arcade character image.\"\"\"\n\n TARGET: Image\n \"\"\"Target image.\"\"\"\n\n TSHIRT: Image\n \"\"\"T-shirt image.\"\"\"\n\n ROLLERSKATE: Image\n \"\"\"Rollerskate image.\"\"\"\n\n DUCK: Image\n \"\"\"Duck image.\"\"\"\n\n HOUSE: Image\n \"\"\"House image.\"\"\"\n\n TORTOISE: Image\n \"\"\"Tortoise image.\"\"\"\n\n BUTTERFLY: Image\n \"\"\"Butterfly image.\"\"\"\n\n STICKFIGURE: Image\n \"\"\"Stick figure image.\"\"\"\n\n GHOST: Image\n \"\"\"Ghost image.\"\"\"\n\n SWORD: Image\n \"\"\"Sword image.\"\"\"\n\n GIRAFFE: Image\n \"\"\"Giraffe image.\"\"\"\n\n SKULL: Image\n \"\"\"Skull image.\"\"\"\n\n UMBRELLA: Image\n \"\"\"Umbrella image.\"\"\"\n\n SNAKE: Image\n \"\"\"Snake image.\"\"\"\n\n SCISSORS: Image\n \"\"\"Scissors image.\"\"\"\n\n ALL_CLOCKS: List[Image]\n \"\"\"A list containing all the CLOCK_ images in sequence.\"\"\"\n\n ALL_ARROWS: List[Image]\n \"\"\"A list containing all the ARROW_ images in sequence.\"\"\"\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Create an image from a string describing which LEDs are lit.\n\n ``string`` has to consist of digits 0-9 arranged into lines,\n describing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\n will create a 5\u00d75 image of an X. The end of a line is indicated by a\n colon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n :param string: The string describing the image.\n \"\"\"\n ...\n @overload\n def __init__(\n self, width: int = 5, height: int = 5, buffer: ReadableBuffer = None\n ) -> None:\n \"\"\"Create an empty image with ``width`` columns and ``height`` rows.\n\n :param width: Optional width of the image\n :param height: Optional height of the image\n :param buffer: Optional array or bytes of ``width``\u00d7``height`` integers in range 0-9 to initialize the image\n\n Examples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\n These create 2 x 2 pixel images at full brightness.\n \"\"\"\n ...\n def width(self) -> int:\n \"\"\"Get the number of columns.\n\n :return: The number of columns in the image\n \"\"\"\n ...\n def height(self) -> int:\n \"\"\"Get the number of rows.\n\n :return: The number of rows in the image\n \"\"\"\n ...\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Set the brightness of a pixel.\n\n Example: ``my_image.set_pixel(0, 0, 9)``\n\n :param x: The column number\n :param y: The row number\n :param value: The brightness as an integer between 0 (dark) and 9 (bright)\n\n This method will raise an exception when called on any of the built-in\n read-only images, like ``Image.HEART``.\n \"\"\"\n ...\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Get the brightness of a pixel.\n\n Example: ``my_image.get_pixel(0, 0)``\n\n :param x: The column number\n :param y: The row number\n :return: The brightness as an integer between 0 and 9.\n \"\"\"\n ...\n def shift_left(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture left.\n\n Example: ``Image.HEART_SMALL.shift_left(1)``\n\n :param n: The number of columns to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_right(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture right.\n\n Example: ``Image.HEART_SMALL.shift_right(1)``\n\n :param n: The number of columns to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_up(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture up.\n\n Example: ``Image.HEART_SMALL.shift_up(1)``\n\n :param n: The number of rows to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_down(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture down.\n\n Example: ``Image.HEART_SMALL.shift_down(1)``\n\n :param n: The number of rows to shift by\n :return: The shifted image\n \"\"\"\n ...\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Create a new image by cropping the picture.\n\n Example: ``Image.HEART.crop(1, 1, 3, 3)``\n\n :param x: The crop offset column\n :param y: The crop offset row\n :param w: The crop width\n :param h: The crop height\n :return: The new image\n \"\"\"\n ...\n def copy(self) -> Image:\n \"\"\"Create an exact copy of the image.\n\n Example: ``Image.HEART.copy()``\n\n :return: The new image\n \"\"\"\n ...\n def invert(self) -> Image:\n \"\"\"Create a new image by inverting the brightness of the pixels in the\n source image.\n\n Example: ``Image.SMALL_HEART.invert()``\n\n :return: The new image.\n \"\"\"\n ...\n def fill(self, value: int) -> None:\n \"\"\"Set the brightness of all the pixels in the image.\n\n Example: ``my_image.fill(5)``\n\n :param value: The new brightness as a number between 0 (dark) and 9 (bright).\n\n This method will raise an exception when called on any of the built-in\n read-only images, like ``Image.HEART``.\n \"\"\"\n ...\n def blit(\n self,\n src: Image,\n x: int,\n y: int,\n w: int,\n h: int,\n xdest: int = 0,\n ydest: int = 0,\n ) -> None:\n \"\"\"Copy an area from another image into this image.\n\n Example: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n :param src: The source image\n :param x: The starting column offset in the source image\n :param y: The starting row offset in the source image\n :param w: The number of columns to copy\n :param h: The number of rows to copy\n :param xdest: The column offset to modify in this image\n :param ydest: The row offset to modify in this image\n\n Pixels outside the source image are treated as having a brightness of 0.\n\n ``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\n and ``crop()`` can are all implemented by using ``blit()``.\n\n For example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\n \"\"\"\n ...\n def __repr__(self) -> str:\n \"\"\"Get a compact string representation of the image.\"\"\"\n ...\n def __str__(self) -> str:\n \"\"\"Get a readable string representation of the image.\"\"\"\n ...\n def __add__(self, other: Image) -> Image:\n \"\"\"Create a new image by adding the brightness values from the two\n images for each pixel.\n\n Example: ``Image.HEART + Image.HAPPY``\n\n :param other: The image to add.\n \"\"\"\n ...\n def __sub__(self, other: Image) -> Image:\n \"\"\"Create a new image by subtracting the brightness values of the\n other image from this image.\n\n Example: ``Image.HEART - Image.HEART_SMALL``\n\n :param other: The image to subtract.\n \"\"\"\n ...\n def __mul__(self, n: float) -> Image:\n \"\"\"Create a new image by multiplying the brightness of each pixel by\n ``n``.\n\n Example: ``Image.HEART * 0.5``\n\n :param n: The value to multiply by.\n \"\"\"\n ...\n def __truediv__(self, n: float) -> Image:\n \"\"\"Create a new image by dividing the brightness of each pixel by\n ``n``.\n\n Example: ``Image.HEART / 2``\n\n :param n: The value to divide by.\n \"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Represents the transition of sound events, from ``quiet`` to ``loud`` like clapping or shouting.\"\"\"\n\n QUIET: SoundEvent\n \"\"\"Represents the transition of sound events, from ``loud`` to ``quiet`` like speaking or background music.\"\"\"\n\nclass Sound:\n \"\"\"The built-in sounds can be called using ``audio.play(Sound.NAME)``.\"\"\"\n\n GIGGLE: Sound\n \"\"\"Giggling sound.\"\"\"\n\n HAPPY: Sound\n \"\"\"Happy sound.\"\"\"\n\n HELLO: Sound\n \"\"\"Greeting sound.\"\"\"\n\n MYSTERIOUS: Sound\n \"\"\"Mysterious sound.\"\"\"\n\n SAD: Sound\n \"\"\"Sad sound.\"\"\"\n\n SLIDE: Sound\n \"\"\"Sliding sound.\"\"\"\n\n SOARING: Sound\n \"\"\"Soaring sound.\"\"\"\n\n SPRING: Sound\n \"\"\"Spring sound.\"\"\"\n\n TWINKLE: Sound\n \"\"\"Twinkling sound.\"\"\"\n\n YAWN: Sound\n \"\"\"Yawning sound.\"\"\"\n", - "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Measure the acceleration of the micro:bit and recognise gestures.\n\"\"\"\n\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Get the acceleration measurement in the ``x`` axis in milli-g.\n\n Example: ``accelerometer.get_x()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Get the acceleration measurement in the ``y`` axis in milli-g.\n\n Example: ``accelerometer.get_y()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Get the acceleration measurement in the ``z`` axis in milli-g.\n\n Example: ``accelerometer.get_z()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Get the acceleration measurements in all axes at once as a tuple.\n\n Example: ``x, y, z = accelerometer.get_values()``\n\n :return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\n \"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Get the acceleration measurement of all axes combined, as a positive integer. This is the Pythagorean sum of the X, Y and Z axes.\n\n Example: ``accelerometer.get_strength()``\n\n :return: The combined acceleration strength of all the axes, in milli-g.\n \"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Get the name of the current gesture.\n\n Example: ``accelerometer.current_gesture()``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :return: The current gesture\n \"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Check if the named gesture is currently active.\n\n Example: ``accelerometer.is_gesture('shake')``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :param name: The gesture name.\n :return: ``True`` if the gesture is active, ``False`` otherwise.\n \"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Check if the named gesture was active since the last call.\n\n Example: ``accelerometer.was_gesture('shake')``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :param name: The gesture name.\n :return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\n \"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Return a tuple of the gesture history.\n\n Example: ``accelerometer.get_gestures()``\n\n Clears the gesture history before returning.\n\n Gestures are not updated in the background so there needs to be constant\n calls to some accelerometer method to do the gesture detection. Usually\n gestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n :return: The history as a tuple, most recent last.\n \"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Set the accelerometer sensitivity range, in g (standard gravity), to the closest values supported by the hardware, so it rounds to either ``2``, ``4``, or ``8`` g.\n\n Example: ``accelerometer.set_range(8)``\n\n :param value: New range for the accelerometer, an integer in ``g``.\n \"\"\"\n", - "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(\n source: Union[Iterable[AudioFrame], Sound, SoundEffect],\n wait: bool = True,\n pin: MicroBitDigitalPin = pin0,\n return_pin: Union[MicroBitDigitalPin, None] = None,\n) -> None:\n \"\"\"Play a built-in sound, sound effect or custom audio frames.\n\n Example: ``audio.play(Sound.GIGGLE)``\n\n :param source: A built-in ``Sound`` such as ``Sound.GIGGLE``, a ``SoundEffect`` or sample data as an iterable of ``AudioFrame`` objects.\n :param wait: If ``wait`` is ``True``, this function will block until the sound is complete.\n :param pin: An optional argument to specify the output pin can be used to override the default of ``pin0``. If we do not want any sound to play we can use ``pin=None``.\n :param return_pin: Specifies a differential edge connector pin to connect to an external speaker instead of ground. This is ignored for the **V2** revision.\n \"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Check whether a sound is playing.\n\n Example: ``audio.is_playing()``\n\n :return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Stop all audio playback.\n\n Example: ``audio.stop()``\n \"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"A sound effect, composed by a set of parameters configured via the constructor or attributes.\"\"\"\n\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sine wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Sawtooth wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Triangle wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Square wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise option used for the ``waveform`` parameter.\"\"\"\n\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Linear interpolation option used for the ``shape`` parameter.\"\"\"\n\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolation option used for the ``shape`` parameter.\"\"\"\n\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmic interpolation option used for the ``shape`` parameter.\"\"\"\n\n FX_NONE: ClassVar[int]\n \"\"\"No effect option used for the ``fx`` parameter.\"\"\"\n\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect option used for the ``fx`` parameter.\"\"\"\n\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect option used for the ``fx`` parameter.\"\"\"\n\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect option used for the ``fx`` parameter.\"\"\"\n\n freq_start: int\n \"\"\"Start frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n\n freq_end: int\n \"\"\"End frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n\n duration: int\n \"\"\"Duration of the sound in milliseconds, a number between ``0`` and ``9999``\"\"\"\n\n vol_start: int\n \"\"\"Start volume value, a number between ``0`` and ``255``\"\"\"\n\n vol_end: int\n \"\"\"End volume value, a number between ``0`` and ``255``\"\"\"\n\n waveform: int\n \"\"\"Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise)\"\"\"\n\n fx: int\n \"\"\"Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``\"\"\"\n\n shape: int\n \"\"\"The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(\n self,\n freq_start: int = 500,\n freq_end: int = 2500,\n duration: int = 500,\n vol_start: int = 255,\n vol_end: int = 0,\n waveform: int = WAVEFORM_SQUARE,\n fx: int = FX_NONE,\n shape: int = SHAPE_LOG,\n ):\n \"\"\"Create a new sound effect.\n\n Example: ``my_effect = SoundEffect(duration=1000)``\n\n All the parameters are optional, with default values as shown above, and\n they can all be modified via attributes of the same name. For example, we\n can first create an effect ``my_effect = SoundEffect(duration=1000)``,\n and then change its attributes ``my_effect.duration = 500``.\n\n :param freq_start: Start frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n :param freq_end: End frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n :param duration: Duration of the sound in milliseconds, a number between ``0`` and ``9999``.\n :param vol_start: Start volume value, a number between ``0`` and ``255``.\n :param vol_end: End volume value, a number between ``0`` and ``255``.\n :param waveform: Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise).\n :param fx: Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n :param shape: The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\n \"\"\"\n def copy(self) -> SoundEffect:\n \"\"\"Create a copy of this ``SoundEffect``.\n\n Example: ``sound_2 = sound_1.copy()``\n\n :return: A copy of the SoundEffect.\n \"\"\"\n\nclass AudioFrame:\n \"\"\"An ``AudioFrame`` object is a list of 32 samples each of which is a unsigned byte\n (whole number between 0 and 255).\n\n It takes just over 4 ms to play a single frame.\n\n Example::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\n \"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overwrite the data in this ``AudioFrame`` with the data from another ``AudioFrame`` instance.\n\n Example: ``my_frame.copyfrom(source_frame)``\n\n :param other: ``AudioFrame`` instance from which to copy the data.\n \"\"\"\n def __len__(self) -> int: ...\n def __setitem__(self, key: int, value: int) -> None: ...\n def __getitem__(self, key: int) -> int: ...\n", - "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Use the built-in compass.\n\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Starts the calibration process.\n\n Example: ``compass.calibrate()``\n\n An instructive message will be scrolled to the user after which they will need\n to rotate the device in order to draw a circle on the LED display.\n \"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"Check is the compass is calibrated.\n\n Example: ``compass.is_calibrated()``\n\n :return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\n \"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Undoes the calibration, making the compass uncalibrated again.\n\n Example: ``compass.clear_calibration()``\n \"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Get the magnetic field strength on the ``x`` axis.\n\n Example: ``compass.get_x()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Get the magnetic field strength on the ``y`` axis.\n\n Example: ``compass.get_y()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Get the magnetic field strength on the ``z`` axis.\n\n Example: ``compass.get_z()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Get the compass heading.\n\n Example: ``compass.heading()``\n\n :return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\n \"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Get the magnitude of the magnetic field around the device.\n\n Example: ``compass.get_field_strength()``\n\n :return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...\n", - "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Show text, images and animations on the 5\u00d75 LED display.\n\"\"\"\n\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Get the brightness of the LED at column ``x`` and row ``y``.\n\n Example: ``display.get_pixel(0, 0)``\n\n :param x: The display column (0..4)\n :param y: The display row (0..4)\n :return: A number between 0 (off) and 9 (bright)\n \"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Set the brightness of the LED at column ``x`` and row ``y``.\n\n Example: ``display.set_pixel(0, 0, 9)``\n\n :param x: The display column (0..4)\n :param y: The display row (0..4)\n :param value: The brightness between 0 (off) and 9 (bright)\n \"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Set the brightness of all LEDs to 0 (off).\n\n Example: ``display.clear()``\n \"\"\"\n ...\n\ndef show(\n image: Union[str, float, int, Image, Iterable[Image]],\n delay: int = 400,\n wait: bool = True,\n loop: bool = False,\n clear: bool = False,\n) -> None:\n \"\"\"Shows images, letters or digits on the LED display.\n\n Example: ``display.show(Image.HEART)``\n\n When ``image`` is an image or a list of images then each image is displayed in turn.\n If ``image`` is a string or number, each letter or digit is displayed in turn.\n\n :param image: A string, number, image or list of images to show.\n :param delay: Each letter, digit or image is shown with ``delay`` milliseconds between them.\n :param wait: If ``wait`` is ``True``, this function will block until the animation is finished, otherwise the animation will happen in the background.\n :param loop: If ``loop`` is ``True``, the animation will repeat forever.\n :param clear: If ``clear`` is ``True``, the display will be cleared after the sequence has finished.\n\n The ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\n \"\"\"\n ...\n\ndef scroll(\n text: Union[str, float, int],\n delay: int = 150,\n wait: bool = True,\n loop: bool = False,\n monospace: bool = False,\n) -> None:\n \"\"\"Scrolls a number or text on the LED display.\n\n Example: ``display.scroll('micro:bit')``\n\n :param text: The string to scroll. If ``text`` is an integer or float it is first converted to a string using ``str()``.\n :param delay: The ``delay`` parameter controls how fast the text is scrolling.\n :param wait: If ``wait`` is ``True``, this function will block until the animation is finished, otherwise the animation will happen in the background.\n :param loop: If ``loop`` is ``True``, the animation will repeat forever.\n :param monospace: If ``monospace`` is ``True``, the characters will all take up 5 pixel-columns in width, otherwise there will be exactly 1 blank pixel-column between each character as they scroll.\n\n The ``wait``, ``loop`` and ``monospace`` arguments must be specified\n using their keyword.\n \"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Turn on the LED display.\n\n Example: ``display.on()``\n \"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Turn off the LED display (disabling the display allows you to re-use the GPIO pins for other purposes).\n\n Example: ``display.off()``\n \"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"Check whether the LED display is enabled.\n\n Example: ``display.is_on()``\n\n :return: ``True`` if the display is on, otherwise returns ``False``.\n \"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Read the light level.\n\n Example: ``display.read_light_level()``\n\n Uses the display's LEDs in reverse-bias mode to sense the amount of light\n falling on the display.\n\n :return: An integer between 0 and 255 representing the light level, with larger meaning more light.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Communicate with devices using the I\u00b2C bus protocol.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(\n freq: int = 100000, sda: MicroBitDigitalPin = pin20, scl: MicroBitDigitalPin = pin19\n) -> None:\n \"\"\"Re-initialize a peripheral.\n\n Example: ``i2c.init()``\n\n :param freq: clock frequency\n :param sda: ``sda`` pin (default 20)\n :param scl: ``scl`` pin (default 19)\n\n On a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\n the accelerometer and compass stop working, as they are connected\n internally to those pins. This warning does not apply to the **V2**\n revision of the micro:bit as this has `separate I\u00b2C lines `_\n for the motion sensors and the edge connector.\n \"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scan the bus for devices.\n\n Example: ``i2c.scan()``\n\n :return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\n \"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool = False) -> bytes:\n \"\"\"Read bytes from a device.\n\n Example: ``i2c.read(0x50, 64)``\n\n :param addr: The 7-bit address of the device\n :param n: The number of bytes to read\n :param repeat: If ``True``, no stop bit will be sent\n :return: The bytes read\n \"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool = False) -> None:\n \"\"\"Write bytes to a device.\n\n Example: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n :param addr: The 7-bit address of the device\n :param buf: A buffer containing the bytes to write\n :param repeat: If ``True``, no stop bit will be sent\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Respond to sound using the built-in microphone (V2 only).\n\"\"\"\n\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Get the last recorded sound event\n\n Example: ``microphone.current_event()``\n\n :return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\n \"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Check if a sound was heard at least once since the last call.\n\n Example: ``microphone.was_event(SoundEvent.LOUD)``\n\n This call clears the sound history before returning.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\n \"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Check the most recent sound event detected.\n\n Example: ``microphone.is_event(SoundEvent.LOUD)``\n\n This call does not clear the sound event history.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was the most recent heard, ``False`` otherwise.\n \"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Get the sound event history as a tuple.\n\n Example: ``microphone.get_events()``\n\n This call clears the sound history before returning.\n\n :return: A tuple of the event history with the most recent event last.\n \"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Set the threshold for a sound event.\n\n Example: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\n A high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n :param event: A sound event, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``.\n :param value: The threshold level in the range 0-255.\n \"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Get the sound pressure level.\n\n Example: ``microphone.sound_level()``\n\n :return: A representation of the sound pressure level in the range 0 to 255.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Control the built-in speaker (V2 only).\n\"\"\"\n\ndef off() -> None:\n \"\"\"Turn the speaker off.\n\n Example: ``speaker.off()``\n\n This does not disable sound output to an edge connector pin.\n \"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Turn the speaker on.\n\n Example: ``speaker.on()``\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communicate with devices using the serial peripheral interface (SPI) bus.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(\n baudrate: int = 1000000,\n bits: int = 8,\n mode: int = 0,\n sclk: MicroBitDigitalPin = pin13,\n mosi: MicroBitDigitalPin = pin15,\n miso: MicroBitDigitalPin = pin14,\n) -> None:\n \"\"\"Initialize SPI communication.\n\n Example: ``spi.init()``\n\n For correct communication, the parameters have to be the same on both communicating devices.\n\n :param baudrate: The speed of communication.\n :param bits: The width in bits of each transfer. Currently only ``bits=8`` is supported. However, this may change in the future.\n :param mode: Determines the combination of clock polarity and phase - `see online table `_.\n :param sclk: sclk pin (default 13)\n :param mosi: mosi pin (default 15)\n :param miso: miso pin (default 14)\n \"\"\"\n ...\n\ndef read(nbytes: int, out: int = 0) -> bytes:\n \"\"\"Read at most ``nbytes`` while continuously writing the single byte given by ``out``.\n\n Example: ``spi.read(64)``\n\n :param nbytes: Maximum number of bytes to read.\n :param out: The byte value to write (default 0).\n :return: The bytes read.\n \"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Write bytes to the bus.\n\n Example: ``spi.write(bytes([1, 2, 3]))``\n\n :param buffer: A buffer to read data from.\n \"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Write the ``out`` buffer to the bus and read any response into the ``in_`` buffer.\n\n Example: ``spi.write_readinto(out_buffer, in_buffer)``\n\n The length of the buffers should be the same. The buffers can be the same object.\n\n :param out: The buffer to write any response to.\n :param in_: The buffer to read data from.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Communicate with a device using a serial interface.\n\"\"\"\n\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\n\nODD: int\n\"\"\"Odd parity\"\"\"\n\nEVEN: int\n\"\"\"Even parity\"\"\"\n\ndef init(\n baudrate: int = 9600,\n bits: int = 8,\n parity: Optional[int] = None,\n stop: int = 1,\n tx: Optional[MicroBitDigitalPin] = None,\n rx: Optional[MicroBitDigitalPin] = None,\n) -> None:\n \"\"\"Initialize serial communication.\n\n Example: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n :param baudrate: The speed of communication.\n :param bits: The size of bytes being transmitted. micro:bit only supports 8.\n :param parity: How parity is checked, ``None``, ``uart.ODD`` or ``uart.EVEN``.\n :param stop: The number of stop bits, has to be 1 for micro:bit.\n :param tx: Transmitting pin.\n :param rx: Receiving pin.\n\n Initializing the UART on external pins will cause the Python console on\n USB to become unaccessible, as it uses the same hardware. To bring the\n console back you must reinitialize the UART without passing anything for\n ``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\n that calling ``uart.init(115200)`` is enough to restore the Python console.\n\n For more details see `the online documentation `_.\n \"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Check if any data is waiting.\n\n Example: ``uart.any()``\n\n :return: ``True`` if any data is waiting, else ``False``.\n \"\"\"\n ...\n\ndef read(nbytes: Optional[int] = None) -> Optional[bytes]:\n \"\"\"Read bytes.\n\n Example: ``uart.read()``\n\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read as many bytes as possible\n :return: A bytes object or ``None`` on timeout\n \"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int] = None) -> Optional[int]:\n \"\"\"Read bytes into the ``buf``.\n\n Example: ``uart.readinto(input_buffer)``\n\n :param buf: The buffer to write to.\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read ``len(buf)`` bytes.\n :return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\n \"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Read a line, ending in a newline character.\n\n Example: ``uart.readline()``\n\n :return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\n \"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Write a buffer to the bus.\n\n Example: ``uart.write('hello world')``\n\n :param buf: A bytes object or a string.\n :return: The number of bytes written, or ``None`` on timeout.\n\n Examples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\n \"\"\"\n ...\n", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Broches, images, sons, temp\u00e9rature et volume\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Planifie l'ex\u00e9cution d'une fonction \u00e0 l'intervalle sp\u00e9cifi\u00e9 par les arguments temporels **V2 uniquement**.\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Fonction \u00e0 appeler \u00e0 l'intervalle fourni. \u00c0 omettre en cas d'utilisation comme d\u00e9corateur.\n:param days: D\u00e9finit la marque du jour pour la programmation.\n:param h: D\u00e9finit la marque d'heure pour la programmation.\n:param min: D\u00e9finit la marque de minute pour la programmation.\n:param s: D\u00e9finit la marque de seconde pour la programmation.\n:param ms: D\u00e9finit la marque de milliseconde pour la programmation.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Passer en mode panique.\n\nExample: ``panic(127)``\n\n:param n: Un nombre entier arbitraire <= 255 pour indiquer un \u00e9tat.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"Red\u00e9marrer la carte.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Convertit une valeur dans l'intervalle donn\u00e9 vers son \u00e9quivalent dans un autre intervalle d'entiers.\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: Un nombre \u00e0 convertir.\n:param from_: Un tuple qui d\u00e9finit l'intervalle de d\u00e9part.\n:param to: Un tuple qui d\u00e9finit l'intervalle d'arriv\u00e9e.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Convertit une valeur dans l'intervalle donn\u00e9 vers son \u00e9quivalent dans un autre intervalle de nombres \u00e0 virgule flottante.\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: Un nombre \u00e0 convertir.\n:param from_: Un tuple qui d\u00e9finit l'intervalle de d\u00e9part.\n:param to: Un tuple qui d\u00e9finit l'intervalle d'arriv\u00e9e.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Attendre ``n`` millisecondes.\n\nExample: ``sleep(1000)``\n\n:param n: Le nombre de millisecondes \u00e0 attendre\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"Obtenir le temps de fonctionnement de la carte.\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"Obtenir la temp\u00e9rature du micro:bit en degr\u00e9s Celsius.\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"D\u00e9finit le volume.\n\nExample: ``set_volume(127)``\n\n:param v: Une valeur entre 0 (bas) et 255 (haut).\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"La classe pour les boutons ``button_a`` et ``button_b``.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"V\u00e9rifier si le bouton est appuy\u00e9.\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"V\u00e9rifie si le bouton a \u00e9t\u00e9 press\u00e9 depuis que l'appareil a \u00e9t\u00e9 d\u00e9marr\u00e9 ou depuis la derni\u00e8re fois o\u00f9 cette m\u00e9thode a \u00e9t\u00e9 appel\u00e9e.\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"Obtenir le nombre total d'occurrences o\u00f9 le bouton a \u00e9t\u00e9 appuy\u00e9, et r\u00e9initialise ce total avant de retourner.\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"L'objet bouton ``Button`` gauche.\"\"\"\nbutton_b: Button\n\"\"\"L'objet bouton ``Button`` droit.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"Une broche num\u00e9rique.\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"R\u00e9cup\u00e8re la valeur num\u00e9rique de la broche\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"D\u00e9finit la valeur num\u00e9rique de la broche\n\nExample: ``pin0.write_digital(1)``\n\n:param value: 1 pour d\u00e9finir la broche \u00e0 un niveau haut ou 0 pour d\u00e9finir la broche \u00e0 un niveau bas\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"D\u00e9finissez l'\u00e9tat de tirage sur l'une des trois valeurs possibles\\xa0: ``PULL_UP``, ``PULL_DOWN`` ou ``NO_PULL``.\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: L'\u00e9tat de tirage sur la broche correspondante, par exemple ``pin0.PULL_UP``.\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"Obtenir l'\u00e9tat de tirage sur une broche.\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"Renvoie le mode de la broche\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"Sortie d'un signal PWM sur la broche, avec un rapport cyclique proportionnel \u00e0 ``value``.\n\nExample: ``pin0.write_analog(254)``\n\n:param value: Un entier ou un nombre \u00e0 virgule flottante entre 0 (rapport cyclique \u00e0 0%) et 1023 (rapport cyclique \u00e0 100%).\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"D\u00e9finit la p\u00e9riode de sortie du signal PWM \u00e0 ``period`` en millisecondes.\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: La p\u00e9riode en millisecondes avec une valeur minimale valide de 1 ms.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"D\u00e9finit la p\u00e9riode de sortie du signal PWM \u00e0 ``period`` en millisecondes.\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: La p\u00e9riode en microsecondes avec une valeur minimale valide de 256\u00b5s.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"Une broche avec des fonctions analogiques et num\u00e9riques.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Lit la tension appliqu\u00e9e \u00e0 la broche.\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"Une broche avec des fonctions analogiques, num\u00e9riques et tactiles.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"V\u00e9rifie si la broche est touch\u00e9e.\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"D\u00e9finit le mode tactile pour la broche.\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: ``CAPACITIVE`` ou ``RESISTIVE`` pour la broche correspondante.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques, analogiques, et tactiles.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques, analogiques, et tactiles.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques, analogiques, et tactiles.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques et analogiques.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques et analogiques.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques et analogiques.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"Broche avec des fonctionnalit\u00e9s num\u00e9riques\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"Une broche logo sensible au toucher sur l'avant du micro:bit, qui est d\u00e9finie par d\u00e9faut en mode tactile capacitif.\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"Une broche pour adresser le haut-parleur micro:bit.\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"Une image \u00e0 afficher sur l'\u00e9cran LED du micro:bit.\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"Image d'un c\u0153ur.\"\"\"\n HEART_SMALL: Image\n \"\"\"Petite image d'un c\u0153ur\"\"\"\n HAPPY: Image\n \"\"\"Image de visage heureux.\"\"\"\n SMILE: Image\n \"\"\"Image de visage souriant.\"\"\"\n SAD: Image\n \"\"\"Image de visage triste.\"\"\"\n CONFUSED: Image\n \"\"\"Image d'un visage perplexe.\"\"\"\n ANGRY: Image\n \"\"\"Image de visage en col\u00e8re.\"\"\"\n ASLEEP: Image\n \"\"\"Image de visage endormi\"\"\"\n SURPRISED: Image\n \"\"\"Image de visage surpris.\"\"\"\n SILLY: Image\n \"\"\"Image de visage absurde.\"\"\"\n FABULOUS: Image\n \"\"\"Image de visage avec lunettes de soleil.\"\"\"\n MEH: Image\n \"\"\"Image de visage pas impressionn\u00e9\"\"\"\n YES: Image\n \"\"\"Image d'une coche.\"\"\"\n NO: Image\n \"\"\"Image d'une croix.\"\"\"\n CLOCK12: Image\n \"\"\"Image avec une ligne indiquant vers 12 heures.\"\"\"\n CLOCK11: Image\n \"\"\"Image avec une ligne indiquant vers 11 heures.\"\"\"\n CLOCK10: Image\n \"\"\"Image avec une ligne indiquant vers 10 heures.\"\"\"\n CLOCK9: Image\n \"\"\"Image avec une ligne indiquant vers 9 heures.\"\"\"\n CLOCK8: Image\n \"\"\"Image avec une ligne indiquant vers 8 heures.\"\"\"\n CLOCK7: Image\n \"\"\"Image avec une ligne indiquant vers 7 heures.\"\"\"\n CLOCK6: Image\n \"\"\"Image avec une ligne indiquant vers 6 heures.\"\"\"\n CLOCK5: Image\n \"\"\"Image avec une ligne indiquant vers 5 heures.\"\"\"\n CLOCK4: Image\n \"\"\"Image avec une ligne indiquant vers 4 heures.\"\"\"\n CLOCK3: Image\n \"\"\"Image avec une ligne indiquant vers 3 heures.\"\"\"\n CLOCK2: Image\n \"\"\"Image avec une ligne indiquant vers 2 heures.\"\"\"\n CLOCK1: Image\n \"\"\"Image avec une ligne indiquant vers 1 heure.\"\"\"\n ARROW_N: Image\n \"\"\"Image de fl\u00e8che pointant vers le nord.\"\"\"\n ARROW_NE: Image\n \"\"\"Image de fl\u00e8che pointant vers le nord est.\"\"\"\n ARROW_E: Image\n \"\"\"Image de fl\u00e8che pointant vers l'est.\"\"\"\n ARROW_SE: Image\n \"\"\"Image de fl\u00e8che pointant vers le sud-est.\"\"\"\n ARROW_S: Image\n \"\"\"Image de fl\u00e8che pointant vers le sud.\"\"\"\n ARROW_SW: Image\n \"\"\"Image de fl\u00e8che pointant vers le sud-ouest.\"\"\"\n ARROW_W: Image\n \"\"\"Image de fl\u00e8che pointant vers l'ouest.\"\"\"\n ARROW_NW: Image\n \"\"\"Image de fl\u00e8che pointant vers le nord ouest.\"\"\"\n TRIANGLE: Image\n \"\"\"Image d'un triangle pointant vers le haut.\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"Image d'un triangle dans le coin gauche.\"\"\"\n CHESSBOARD: Image\n \"\"\"\u00c9clairage alternatif des LEDs dans un motif d'\u00e9chiquier.\"\"\"\n DIAMOND: Image\n \"\"\"Image de diamant.\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"Petite image de diamant.\"\"\"\n SQUARE: Image\n \"\"\"Image de carr\u00e9.\"\"\"\n SQUARE_SMALL: Image\n \"\"\"Petite image de carr\u00e9.\"\"\"\n RABBIT: Image\n \"\"\"Image de lapin.\"\"\"\n COW: Image\n \"\"\"Image de vache.\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"Image d'une note.\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"Image d'une croche.\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"Image d'une paire de croche.\"\"\"\n PITCHFORK: Image\n \"\"\"Image d'une fourche.\"\"\"\n XMAS: Image\n \"\"\"Image d'un arbre de No\u00ebl.\"\"\"\n PACMAN: Image\n \"\"\"Image du personnage d'arcade Pac-Man.\"\"\"\n TARGET: Image\n \"\"\"Image d'une cible.\"\"\"\n TSHIRT: Image\n \"\"\"Image de t-shirt.\"\"\"\n ROLLERSKATE: Image\n \"\"\"Image de patin \u00e0 roulette.\"\"\"\n DUCK: Image\n \"\"\"Image de canard.\"\"\"\n HOUSE: Image\n \"\"\"Image d'une maison.\"\"\"\n TORTOISE: Image\n \"\"\"Image d'une tortue.\"\"\"\n BUTTERFLY: Image\n \"\"\"Image d'un papillon.\"\"\"\n STICKFIGURE: Image\n \"\"\"Image d'un personnage.\"\"\"\n GHOST: Image\n \"\"\"Image de fant\u00f4me.\"\"\"\n SWORD: Image\n \"\"\"Image d'une \u00e9p\u00e9e.\"\"\"\n GIRAFFE: Image\n \"\"\"Image d'une girafe.\"\"\"\n SKULL: Image\n \"\"\"Image d'un cr\u00e2ne.\"\"\"\n UMBRELLA: Image\n \"\"\"Image d'un parapluie.\"\"\"\n SNAKE: Image\n \"\"\"Image de serpent.\"\"\"\n SCISSORS: Image\n \"\"\"Image de ciseaux.\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"Une liste contenant toutes les images CLOCK_ en s\u00e9quence.\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"Une liste contenant toutes les images ARROW_ en s\u00e9quence.\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Cr\u00e9er une image \u00e0 partir d'une cha\u00eene de caract\u00e8res d\u00e9crivant quelles LED sont allum\u00e9es.\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: La cha\u00eene de caract\u00e8res d\u00e9crivant l'image.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"Cr\u00e9er une image vide avec ``width`` colonnes et ``height`` lignes.\n\n:param width: Largeur optionnelle de l'image\n:param height: Hauteur optionnelle de l'image\n:param buffer: Tableau optionnel ou octets de ``width``\u00d7``height`` entiers dans la plage 0-9 pour initialiser l'image\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"R\u00e9cup\u00e8re le nombre de colonnes.\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"R\u00e9cup\u00e8re le nombre de lignes.\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"D\u00e9finit la luminosit\u00e9 d'un pixel.\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: Le num\u00e9ro de colonne\n:param y: Le num\u00e9ro de ligne\n:param value: La luminosit\u00e9 sous la forme d'un entier compris entre 0 (sombre) et 9 (lumineux)\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"R\u00e9cup\u00e8re la luminosit\u00e9 d'un pixel.\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: Le num\u00e9ro de colonne\n:param y: Le num\u00e9ro de ligne\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en d\u00e9pla\u00e7ant l'image \u00e0 gauche.\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: Le nombre de colonnes par lequel d\u00e9placer\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en d\u00e9pla\u00e7ant l'image \u00e0 droite.\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: Le nombre de colonnes par lequel d\u00e9placer\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en d\u00e9pla\u00e7ant l'image vers le haut.\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: Le nombre de lignes par lequel d\u00e9placer\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en d\u00e9pla\u00e7ant l'image vers le bas.\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: Le nombre de lignes par lequel d\u00e9placer\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en recadrant l'image.\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: Le nombre de colonnes duquel d\u00e9caler le recadrage\n:param y: Le nombre de lignes duquel d\u00e9caler le recadrage\n:param w: La largeur du recadrage\n:param h: La hauteur du recadrage\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"Cr\u00e9er une copie exacte de l'image.\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"Cr\u00e9er une nouvelle image en inversant la luminosit\u00e9 des pixels de l'image source.\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"D\u00e9finit la luminosit\u00e9 de tous les pixels de l'image.\n\nExample: ``my_image.fill(5)``\n\n:param value: La nouvelle luminosit\u00e9 sous la forme d'un nombre compris entre 0 (sombre) et 9 (lumineux).\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"Copier la zone d'une autre image vers cette image.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: L'image source\n:param x: Le d\u00e9calage de la colonne de d\u00e9part dans l'image source\n:param y: D\u00e9calage de la ligne de d\u00e9part dans l'image source\n:param w: Le nombre de colonnes \u00e0 copier\n:param h: Le nombre de lignes \u00e0 copier\n:param xdest: Le d\u00e9calage de la colonne \u00e0 modifier dans cette image\n:param ydest: Le d\u00e9calage de la ligne \u00e0 modifier dans cette image\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"R\u00e9cup\u00e8re une repr\u00e9sentation de l'image sous forme de texte compact.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"R\u00e9cup\u00e8re une cha\u00eene de caract\u00e8res lisible de l'image.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"Cr\u00e9e une nouvelle image en additionnant les valeurs de luminosit\u00e9 des deux images\npour chaque pixel.\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: L'image \u00e0 ajouter.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"Cr\u00e9e une nouvelle image en soustrayant de cette image les valeurs de luminosit\u00e9 de\nl'autre image.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: L'image \u00e0 soustraire.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"Cr\u00e9e une nouvelle image en multipliant la luminosit\u00e9 de chaque pixel par\n``n``.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: La valeur par laquelle multiplier.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"Cr\u00e9e une nouvelle image en divisant la luminosit\u00e9 de chaque pixel par\n``n``.\n\nExample: ``Image.HEART / 2``\n\n:param n: La valeur par laquelle diviser.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Repr\u00e9sente la transition d'\u00e9v\u00e9nements sonores, de ``quiet`` \u00e0 ``loud`` comme un clap dans les mains ou un cri.\"\"\"\n QUIET: SoundEvent\n \"\"\"Repr\u00e9sente la transition d'\u00e9v\u00e9nements sonores de ``loud`` \u00e0 ``quiet`` comme parler ou \u00e9couter de la musique de fond.\"\"\"\n\nclass Sound:\n \"\"\"Les sons int\u00e9gr\u00e9s peuvent \u00eatre appel\u00e9s en utilisant ``audio.play(Sound.NAME)``.\"\"\"\n GIGGLE: Sound\n \"\"\"Bruit de gloussement.\"\"\"\n HAPPY: Sound\n \"\"\"Son joyeux.\"\"\"\n HELLO: Sound\n \"\"\"Son de salutation.\"\"\"\n MYSTERIOUS: Sound\n \"\"\"Son myst\u00e9rieux.\"\"\"\n SAD: Sound\n \"\"\"Son triste.\"\"\"\n SLIDE: Sound\n \"\"\"Bruit de glissade.\"\"\"\n SOARING: Sound\n \"\"\"Bruit d'envol\u00e9e.\"\"\"\n SPRING: Sound\n \"\"\"Son d'un ressort.\"\"\"\n TWINKLE: Sound\n \"\"\"Son de scintillement.\"\"\"\n YAWN: Sound\n \"\"\"Son de b\u00e2illement.\"\"\"", + "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Mesurer l'acc\u00e9l\u00e9ration du micro:bit et reconnaitre des mouvements.\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"R\u00e9cup\u00e9rer la mesure de l'acc\u00e9l\u00e9ration dans l'axe ``x`` en milli-g.\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"R\u00e9cup\u00e9rer la mesure de l'acc\u00e9l\u00e9ration dans l'axe ``y`` en milli-g.\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"R\u00e9cup\u00e9rer la mesure de l'acc\u00e9l\u00e9ration dans l'axe ``z`` en milli-g.\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"R\u00e9cup\u00e9rer en une fois les mesures d'acc\u00e9l\u00e9ration dans tous les axes sous forme d'un tuple.\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Obtenir la mesure de l'acc\u00e9l\u00e9ration de tous les axes combin\u00e9s, sous la forme d'un nombre entier positif. C'est la somme pythagoricienne des axes X, Y et Z.\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"R\u00e9cup\u00e9rer le nom du geste actuel.\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"V\u00e9rifier si le geste nomm\u00e9 est actif en ce moment.\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: Le nom du geste.\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"V\u00e9rifier si le geste nomm\u00e9 a \u00e9t\u00e9 actif depuis le dernier appel.\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: Le nom du geste.\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Renvoyer un tuple de l'historique des gestes.\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"D\u00e9finir la plage de sensibilit\u00e9 de l'acc\u00e9l\u00e9rom\u00e8tre, en g (gravit\u00e9 standard), \u00e0 la valeur la plus proche support\u00e9e par le mat\u00e9riel, l'arrondi se fait soit \u00e0 ``2``, ``4``, ou ``8`` g.\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: Nouvelle plage pour l'acc\u00e9l\u00e9rom\u00e8tre, un entier en ``g``.\"\"\"", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Jouer des sons en utilisant le micro:bit (importer ``audio`` pour compatibilit\u00e9 V1).\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Jouer un son int\u00e9gr\u00e9, un effet sonore ou des frames audio personnalis\u00e9es.\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: Un ``Sound`` int\u00e9gr\u00e9 tel que ``Sound.GIGGLE``, un ``SoundEffect`` ou un \u00e9chantillon de donn\u00e9es sous la forme d'un it\u00e9rable d'objets ``AudioFrame``.\n:param wait: Si ``wait`` est ``True``, cette fonction bloquera jusqu'\u00e0 ce que le son soit termin\u00e9.\n:param pin: (broche) Un argument optionnel pour sp\u00e9cifier la broche de sortie, peut \u00eatre utilis\u00e9 pour remplacer la valeur par d\u00e9faut ``pin0``. Si nous ne voulons pas que le son soit jou\u00e9, il est possible d'utiliser ``pin=None``.\n:param return_pin: Sp\u00e9cifie une broche de connecteur de bord diff\u00e9rentiel \u00e0 connecter \u00e0 un haut-parleur externe au lieu de la masse. Ceci est ignor\u00e9 dans la r\u00e9vision **V2**.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"V\u00e9rifier si un son est en train d'\u00eatre jou\u00e9.\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Arr\u00eater toute lecture audio.\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"Un effet sonore, compos\u00e9 d'un ensemble de param\u00e8tres configur\u00e9s via le constructeur ou les attributs.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Option d'onde sinuso\u00efdale utilis\u00e9e pour le param\u00e8tre ``waveform``.\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Optionde forme d'onde en dent de scie utilis\u00e9e pour le param\u00e8tre ``waveform``.\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Option d'onde triangulaire utilis\u00e9e pour le param\u00e8tre ``waveform``.\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Option d'onde carr\u00e9e utilis\u00e9e pour le param\u00e8tre ``waveform``.\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Option d'onde de bruit utilis\u00e9e pour le param\u00e8tre ``waveform``.\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Option d'interpolation lin\u00e9aire utilis\u00e9e pour le param\u00e8tre ``shape``.\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Option d'interpolation courbe utilis\u00e9e pour le param\u00e8tre ``shape``.\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Option d'interpolation logarithmique utilis\u00e9e pour le param\u00e8tre ``shape``.\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"Option sans effet utilis\u00e9e pour le param\u00e8tre ``fx``.\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Option d'effet tremolo utilis\u00e9e pour le param\u00e8tre ``fx``.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Option d'effet vibrato utilis\u00e9e pour le param\u00e8tre ``fx``.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Option d'effet de Warble utilis\u00e9e pour le param\u00e8tre ``fx``.\"\"\"\n freq_start: int\n \"\"\"Fr\u00e9quence de d\u00e9part en Hertz (Hz), un nombre compris entre ``0`` et ``9999``\"\"\"\n freq_end: int\n \"\"\"Fr\u00e9quence de fin en Hertz (Hz), un nombre compris entre ``0`` et ``9999``\"\"\"\n duration: int\n \"\"\"Dur\u00e9e du son en millisecondes, un nombre compris entre ``0`` et ``9999``\"\"\"\n vol_start: int\n \"\"\"Valeur du volume de d\u00e9part, un nombre compris entre ``0`` et ``255``\"\"\"\n vol_end: int\n \"\"\"Valeur du volume \u00e0 la fin, un nombre compris entre ``0`` et ``255``\"\"\"\n waveform: int\n \"\"\"Type de forme d'onde, une de ces valeurs : ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (bruit g\u00e9n\u00e9r\u00e9 al\u00e9atoirement)\"\"\"\n fx: int\n \"\"\"Effet \u00e0 ajouter au son, l'une des valeurs suivantes : ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, ou ``FX_NONE``\"\"\"\n shape: int\n \"\"\"Le type de la courbe d'interpolation entre les fr\u00e9quences de d\u00e9but et de fin, les diff\u00e9rentes formes d'onde ont des taux de variation de fr\u00e9quence diff\u00e9rents. L'une des valeurs suivantes : ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Cr\u00e9er un nouvel effet sonore.\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: Fr\u00e9quence de d\u00e9part en Hertz (Hz), un nombre compris entre ``0`` et ``9999``.\n:param freq_end: Fr\u00e9quence de fin en Hertz (Hz), un nombre compris entre ``0`` et ``9999``.\n:param duration: Dur\u00e9e du son en millisecondes, un nombre compris entre ``0`` et ``9999``.\n:param vol_start: Valeur du volume de d\u00e9part, un nombre compris entre ``0`` et ``255``.\n:param vol_end: Valeur du volume \u00e0 la fin, un nombre compris entre ``0`` et ``255``.\n:param waveform: Type de forme d'onde, une de ces valeurs : ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (bruit g\u00e9n\u00e9r\u00e9 al\u00e9atoirement).\n:param fx: Effet \u00e0 ajouter au son, l'une des valeurs suivantes : ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, ou ``FX_NONE``.\n:param shape: Le type de la courbe d'interpolation entre les fr\u00e9quences de d\u00e9but et de fin, les diff\u00e9rentes formes d'onde ont des taux de variation de fr\u00e9quence diff\u00e9rents. L'une des valeurs suivantes : ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Cr\u00e9er une copie de ce ``SoundEffect``.\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"Un objet ``AudioFrame`` est une liste de 32 \u00e9chantillons, chacun d'eux \u00e9tant un octet non sign\u00e9\n(nombre entier entre 0 et 255).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"\u00c9craser les donn\u00e9es de ce ``AudioFrame`` avec les donn\u00e9es d'une autre instance ``AudioFrame``.\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: Instance ``AudioFrame`` \u00e0 partir de laquelle copier les donn\u00e9es.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Utiliser la boussole int\u00e9gr\u00e9e.\"\"\"\n\ndef calibrate() -> None:\n \"\"\"D\u00e9marrer le processus d'\u00e9talonnage.\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"V\u00e9rifier si la boussole est \u00e9talonn\u00e9e.\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Annule l'\u00e9talonnage, la boussole est ainsi \u00e0 nouveau non-\u00e9talonn\u00e9e.\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Obtenir la force du champ magn\u00e9tique sur l'axe ``x``.\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Obtenir la force du champ magn\u00e9tique sur l'axe ``y``.\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Obtenir la force du champ magn\u00e9tique sur l'axe ``z``.\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Obtenir le cap de la boussole.\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"R\u00e9cup\u00e8re la magnitude du champ magn\u00e9tique autour de l'appareil.\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", + "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Afficher du texte, des images et des animations sur l'\u00e9cran LED 5\u00d75.\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"R\u00e9cup\u00e8re la luminosit\u00e9 de la LED \u00e0 la colonne ``x`` et \u00e0 la ligne ``y``.\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: La colonne d'affichage (0..4)\n:param y: La ligne d'affichage (0..4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"D\u00e9finit la luminosit\u00e9 de la LED \u00e0 la colonne ``x`` et \u00e0 la ligne ``y``.\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: La colonne d'affichage (0..4)\n:param y: La ligne d'affichage (0..4)\n:param value: La luminosit\u00e9 entre 0 (\u00e9teint) et 9 (lumineux)\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"R\u00e9gler la luminosit\u00e9 de toutes les LED \u00e0 0 (\u00e9teintes).\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"Afficher des images, des lettres ou des chiffres sur l'affichage LED.\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: Une cha\u00eene de caract\u00e8res, un nombre, une image ou une liste d'images \u00e0 afficher.\n:param delay: Chaque lettre, chiffre ou image est s\u00e9par\u00e9 par un d\u00e9lai de ``delay`` millisecondes.\n:param wait: Si ``wait`` est ``True`` cette fonction bloquera jusqu'\u00e0 la fin de l'animation, sinon l'animation s'effectuera en arri\u00e8re-plan.\n:param loop: Si ``loop`` est ``True``, l'animation se r\u00e9p\u00e9tera ind\u00e9finiment.\n:param clear: Si ``clear`` est ``True``, l'affichage sera effac\u00e9 une fois la s\u00e9quence termin\u00e9e.\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"Faire d\u00e9filer un nombre ou un texte sur l'affichage LED.\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: La cha\u00eene de caract\u00e8res \u00e0 faire d\u00e9filer. Si ``text`` est un entier ou un nombre d\u00e9cimal, il sera converti en une cha\u00eene avec ``str()``.\n:param delay: Le param\u00e8tre ``delay`` contr\u00f4le la vitesse de d\u00e9filement du texte.\n:param wait: Si ``wait`` est ``True`` cette fonction bloquera jusqu'\u00e0 la fin de l'animation, sinon l'animation s'effectuera en arri\u00e8re-plan.\n:param loop: Si ``loop`` est ``True``, l'animation se r\u00e9p\u00e9tera ind\u00e9finiment.\n:param monospace: Si ``monospace`` est ``True``, tous les caract\u00e8res utiliseront 5 pixels en largeur, sinon, exactement 1 colonne de pixel vide sera ins\u00e9r\u00e9e entre chaque caract\u00e8re lors du d\u00e9filement.\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Allumer l'\u00e9cran LED.\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Eteindre l'\u00e9cran LED (d\u00e9sactiver l'affichage vous permet de r\u00e9utiliser les broches GPIO \u00e0 d'autres fins).\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"V\u00e9rifier si l'affichage LED est activ\u00e9.\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Lit le niveau de lumi\u00e8re.\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Communiquer avec les p\u00e9riph\u00e9riques en utilisant le protocole de bus I\u00b2C.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"R\u00e9initialiser un p\u00e9riph\u00e9rique.\n\nExample: ``i2c.init()``\n\n:param freq: fr\u00e9quence d'horloge\n:param sda: Broche ``sda`` (19 par d\u00e9faut)\n:param scl: Broche ``scl`` (19 par d\u00e9faut)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scanner le bus pour d\u00e9tecter des p\u00e9riph\u00e9riques.\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Lire des octets depuis un p\u00e9riph\u00e9rique.\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: L'adresse 7-bit du p\u00e9riph\u00e9rique\n:param n: Le nombre d'octets \u00e0 lire\n:param repeat: Si ``True``, aucun bit d'arr\u00eat ne sera envoy\u00e9\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"\u00c9crire des octets sur un p\u00e9riph\u00e9rique.\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: L'adresse 7-bit du p\u00e9riph\u00e9rique\n:param buf: Un buffer contenant les octets \u00e0 \u00e9crire\n:param repeat: Si ``True``, aucun bit d'arr\u00eat ne sera envoy\u00e9\"\"\"\n ...", + "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"R\u00e9agir \u00e0 du son en utilisant le microphone int\u00e9gr\u00e9 (V2 uniquement).\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"R\u00e9cup\u00e9rer le dernier \u00e9v\u00e9nement sonore enregistr\u00e9\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"V\u00e9rifier si un son a \u00e9t\u00e9 entendu au moins une fois depuis le dernier appel.\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: L'\u00e9v\u00e9nement \u00e0 v\u00e9rifier, tel que ``SoundEvent.LOUD`` ou ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"V\u00e9rifier l'\u00e9v\u00e9nement sonore le plus r\u00e9cent d\u00e9tect\u00e9.\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: L'\u00e9v\u00e9nement \u00e0 v\u00e9rifier, tel que ``SoundEvent.LOUD`` ou ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"R\u00e9cup\u00e9rer l'historique des \u00e9v\u00e9nements sonores en tant que tuple.\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"D\u00e9finir le seuil pour un \u00e9v\u00e9nement sonore.\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: Un \u00e9v\u00e9nement sonore, tel que ``SoundEvent.LOUD`` ou ``SoundEvent.QUIET``.\n:param value: Le niveau du seuil dans la plage 0-255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Obtenir le niveau de pression acoustique.\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", + "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Contr\u00f4ler le haut-parleur int\u00e9gr\u00e9 (V2 uniquement).\"\"\"\n\ndef off() -> None:\n \"\"\"\u00c9teindre le haut-parleur.\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Activer le haut-parleur.\n\nExample: ``speaker.on()``\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communiquer avec les p\u00e9riph\u00e9riques \u00e0 l'aide du bus SPI (Serial Peripheral Interface).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Initialiser la communication SPI.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: La vitesse de communication.\n:param bits: La largeur en bits de chaque transfert. Actuellement, seul ``bits=8`` est pris en charge. Cependant, cela peut \u00e9voluer \u00e0 l'avenir.\n:param mode: D\u00e9termine la combinaison de la polarit\u00e9 et de la phase de l'horloge. - `voir le tableau en ligne `_.\n:param sclk: Broche sclk (13 par d\u00e9faut)\n:param mosi: Broche mosi (15 par d\u00e9faut)\n:param miso: Broche miso (14 par d\u00e9faut)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"Lire des octets.\n\nExample: ``spi.read(64)``\n\n:param nbytes: Nombre maximal d'octets \u00e0 lire.\n:param out: (Sortie) La valeur d'octet \u00e0 \u00e9crire (0 par d\u00e9faut).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\u00c9crire des octets sur le bus.\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: Un buffer \u00e0 partir duquel lire les donn\u00e9es.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Ecrire le buffer ``out`` sur le bus et lire toute r\u00e9ponse dans le buffer ``in_``.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: Le buffer vers lequel \u00e9crire une r\u00e9ponse.\n:param in_: Le buffer depuis lequel lire les donn\u00e9es.\"\"\"\n ...", + "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Communiquer avec un p\u00e9riph\u00e9rique \u00e0 l'aide d'une interface s\u00e9rie.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"Parit\u00e9 impaire\"\"\"\nEVEN: int\n\"\"\"Parit\u00e9 paire\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"Initialiser la communication s\u00e9rie.\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: La vitesse de communication.\n:param bits: La taille des octets transmis. micro:bit ne prend en charge que 8.\n:param parity: Comment la parit\u00e9 est v\u00e9rifi\u00e9e, ``None``, ``uart.ODD`` ou ``uart.EVEN``.\n:param stop: Le nombre de bits d'arr\u00eat, doit \u00eatre 1 pour micro:bit.\n:param tx: Broche de transmission.\n:param rx: Broche de r\u00e9ception.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"V\u00e9rifier s'il y a des donn\u00e9es en attente.\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"Lire des octets.\n\nExample: ``uart.read()``\n\n:param nbytes: Si ``nbytes`` est sp\u00e9cifi\u00e9, alors lire au maximum cette quantit\u00e9 d'octets, sinon lire autant d'octets que possible\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"Lire les octets dans le ``buf``.\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: Le buffer dans lequel \u00e9crire.\n:param nbytes: Si ``nbytes`` est sp\u00e9cifi\u00e9, alors lire au maximum cette quantit\u00e9 d'octets, sinon lire ``len(buf)`` octets.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Lire une ligne termin\u00e9e par un caract\u00e8re de nouvelle ligne.\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"\u00c9crire un buffer sur un bus\n\nExample: ``uart.write('hello world')``\n\n:param buf: Un objet d'octets ou une cha\u00eene de caract\u00e8res.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" } diff --git a/src/micropython/main/typeshed.ja.json b/src/micropython/main/typeshed.ja.json index a1439b3f0..726733b4c 100644 --- a/src/micropython/main/typeshed.ja.json +++ b/src/micropython/main/typeshed.ja.json @@ -7,23 +7,23 @@ "/typeshed/stdlib/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\n# Re-export for V1 compatibility.\nfrom .microbit.audio import (\n is_playing as is_playing,\n play as play,\n stop as stop,\n AudioFrame as AudioFrame,\n SoundEffect as SoundEffect,\n)\n", "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", - "/typeshed/stdlib/gc.pyi": "\"\"\"Control the garbage collector\"\"\"\n\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"Enable automatic garbage collection.\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"Disable automatic garbage collection.\n\n Heap memory can still be allocated,\n and garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Run a garbage collection.\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Get the number of bytes of heap RAM that are allocated.\n\n :return: The number of bytes allocated.\n\n This function is MicroPython extension.\n \"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Get the number of bytes of available heap RAM, or -1 if this amount is not known.\n\n :return: The number of bytes free.\n\n This function is MicroPython extension.\n \"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Query the additional GC allocation threshold.\n\n :return: The GC allocation threshold.\n\n This function is a MicroPython extension. CPython has a similar\n function - ``set_threshold()``, but due to different GC\n implementations, its signature and semantics are different.\n \"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Set the additional GC allocation threshold.\n\n Normally, a collection is triggered only when a new allocation\n cannot be satisfied, i.e. on an out-of-memory (OOM) condition.\n If this function is called, in addition to OOM, a collection\n will be triggered each time after ``amount`` bytes have been\n allocated (in total, since the previous time such an amount of bytes\n have been allocated). ``amount`` is usually specified as less than the\n full heap size, with the intention to trigger a collection earlier than when the\n heap becomes exhausted, and in the hope that an early collection will prevent\n excessive memory fragmentation. This is a heuristic measure, the effect\n of which will vary from application to application, as well as\n the optimal value of the ``amount`` parameter.\n\n A value of -1 means a disabled allocation threshold.\n\n This function is a MicroPython extension. CPython has a similar\n function - ``set_threshold()``, but due to different GC\n implementations, its signature and semantics are different.\n\n :param amount: The number of bytes after which a garbage collection should be triggered.\n \"\"\"\n ...\n", - "/typeshed/stdlib/log.pyi": "\"\"\"Log data to your micro:bit V2.\"\"\"\n\nfrom typing import Literal, Mapping, Optional, Union, overload\n\nMILLISECONDS = 1\n\"\"\"Milliseconds timestamp format.\"\"\"\n\nSECONDS = 10\n\"\"\"Seconds timestamp format.\"\"\"\n\nMINUTES = 600\n\"\"\"Minutes timestamp format.\"\"\"\n\nHOURS = 36000\n\"\"\"Hours timestamp format.\"\"\"\n\nDAYS = 864000\n\"\"\"Days timestamp format.\"\"\"\n\ndef set_labels(\n *labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]] = SECONDS\n) -> None:\n \"\"\"Set up the log file header.\n\n Example: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\n Ideally this function should be called a single time, before any data is\n logged, to configure the data table header once.\n\n If a log file already exists when the program starts, or if this function\n is called multiple times, it will check the labels already defined in the\n log file. If this function call contains any new labels not already\n present, it will generate a new header row with the additional columns.\n\n By default the first column contains a timestamp for each row. The time\n unit can be selected via the timestamp argument.\n\n :param *labels: Any number of positional arguments, each corresponding to an entry in the log header.\n :param timestamp: Select the timestamp unit that will be automatically added as the first column in every row. Timestamp values can be one of ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` or ``None`` to disable the timestamp. The default value is ``log.SECONDS``.\n \"\"\"\n ...\n\n@overload\ndef add(\n data_dictionary: Optional[Mapping[str, Union[str, int, float]]],\n) -> None:\n \"\"\"Add a data row to the log by passing a dictionary of headers and values.\n\n Example: ``log.add({ 'temp': temperature() })``\n\n Each call to this function adds a row to the log.\n\n New labels not previously specified via the set_labels function, or by a\n previous call to this function, will trigger a new header entry to be added\n to the log with the extra labels.\n\n Labels previously specified and not present in a call to this function will\n be skipped with an empty value in the log row.\n\n :param data_dictionary: The data to log as a dictionary with a key for each header.\n \"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"Add a data row to the log using keyword arguments.\n\n Example: ``log.add(temp=temperature())``\n\n Each call to this function adds a row to the log.\n\n New labels not previously specified via the set_labels function, or by a\n previous call to this function, will trigger a new header entry to be added\n to the log with the extra labels.\n\n Labels previously specified and not present in a call to this function will\n be skipped with an empty value in the log row.\n \"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"Deletes the contents of the log, including headers.\n\n Example: ``log.delete()``\n\n To add the log headers again the ``set_labels`` function should to be called after this function.\n\n There are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\n and \u201cfast\u201d invalidates the data without removing it.\n\n :param full: ``True`` selects a \u201cfull\u201d erase and ``False`` selects the \u201cfast\u201d erase method.\n \"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Configure mirroring of the data logging activity to the serial output.\n\n Example: ``log.set_mirroring(True)``\n\n Serial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n :param serial: ``True`` enables mirroring data to the serial output.\n \"\"\"\n ...\n", + "/typeshed/stdlib/gc.pyi": "\"\"\"\u30ac\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30bf\u30fc\u3092\u5236\u5fa1\u3057\u307e\u3059\u3002\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"\u81ea\u52d5\u30ac\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3092\u6709\u52b9\u306b\u3057\u307e\u3059\u3002\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"\u81ea\u52d5\u30ac\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3092\u7121\u52b9\u306b\u3057\u307e\u3059\u3002\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"\u30ac\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"\u5272\u308a\u5f53\u3066\u3089\u308c\u3066\u3044\u308b\u30d2\u30fc\u30d7RAM\u306e\u30d0\u30a4\u30c8\u6570\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"\u4f7f\u7528\u53ef\u80fd\u306a\u30d2\u30fc\u30d7RAM\u306e\u30d0\u30a4\u30c8\u6570\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\u3053\u306e\u91cf\u304c\u4e0d\u660e\u306e\u5834\u5408\u306f -1\u304c\u8fd4\u3055\u308c\u307e\u3059\u3002\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"\u8ffd\u52a0\u306eGC \u5272\u308a\u5f53\u3066\u3057\u304d\u3044\u5024\u3092\u7167\u4f1a\u3057\u307e\u3059\u3002\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"\u8ffd\u52a0\u306e GC \u5272\u308a\u5f53\u3066\u3057\u304d\u3044\u5024\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: \u30ac\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3092\u8d77\u3053\u3059\u30d0\u30a4\u30c8\u6570\u3002\"\"\"\n ...", + "/typeshed/stdlib/log.pyi": "\"\"\"micro:bit V2\u306e\u30ed\u30b0\u306b\u30c7\u30fc\u30bf\u3092\u8a18\u9332\u3057\u307e\u3059\u3002\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"\u30df\u30ea\u79d2\u5358\u4f4d\u306e\u65e5\u6642\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3002\"\"\"\nSECONDS = 10\n\"\"\"\u79d2\u5358\u4f4d\u306e\u65e5\u6642\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3002\"\"\"\nMINUTES = 600\n\"\"\"\u5206\u5358\u4f4d\u306e\u65e5\u6642\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3002\"\"\"\nHOURS = 36000\n\"\"\"\u6642\u9593\u5358\u4f4d\u306e\u65e5\u6642\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3002\"\"\"\nDAYS = 864000\n\"\"\"\u65e5\u5358\u4f4d\u306e\u65e5\u6642\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3002\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"\u30ed\u30b0\u30d5\u30a1\u30a4\u30eb\u306e\u30d8\u30c3\u30c0\u30fc\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: \u4efb\u610f\u306e\u6570\u306e\u4f4d\u7f6e\u5f15\u6570\u3067\u3002\u305d\u308c\u305e\u308c\u304c\u30ed\u30b0\u30d8\u30c3\u30c0\u306e\u898b\u51fa\u3057\u306b\u306a\u308a\u307e\u3059\u3002\n:param timestamp: \u3059\u3079\u3066\u306e\u884c\u306e\u6700\u521d\u306e\u5217\u3068\u3057\u3066\u81ea\u52d5\u7684\u306b\u8ffd\u52a0\u3055\u308c\u308b\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u306e\u5358\u4f4d\u3092\u9078\u629e\u3057\u307e\u3059\u3002\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u306e\u5024\u306f ``log.MILLISECONDS``\u3001 ``log.SECONDS``\u3001``log.MINUTES``\u3001``log.HOURS``\u3001``log.DAYS`` \u307e\u305f\u306f\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u3092\u7121\u52b9\u306b\u3059\u308b ``None`` \u306e\u3046\u3061\u306e\u3044\u305a\u308c\u304b\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306f ``log.SECONDS`` \u3067\u3059\u3002\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"\u30d8\u30c3\u30c0\u30fc\u3068\u5024\u306e\u8f9e\u66f8\u3092\u6e21\u3059\u3053\u3068\u306b\u3088\u308a\u3001\u30ed\u30b0\u306b\u30c7\u30fc\u30bf\u884c\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: (data dictionary \u3068\u306f\u30c7\u30fc\u30bf\u8f9e\u66f8\u306e\u610f\u5473\u3067\u3059) \u8a18\u9332\u3059\u308b\u30c7\u30fc\u30bf\u3092\u8f9e\u66f8\u3067\u6307\u5b9a\u3057\u307e\u3059\u3002\u8f9e\u66f8\u306e\u5404\u30ad\u30fc\u304c\u898b\u51fa\u3057\u3092\u8868\u3057\u307e\u3059\u3002\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"\u30ad\u30fc\u30ef\u30fc\u30c9\u5f15\u6570\u3067\u30ed\u30b0\u306b\u30c7\u30fc\u30bf\u884c\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"\u30ed\u30b0\u306e\u5185\u5bb9\u3092\u3001\u30d8\u30c3\u30c0\u30fc\u3082\u3042\u308f\u305b\u3066\u524a\u9664\u3057\u307e\u3059\u3002\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: ``True`` \u3092\u6307\u5b9a\u3059\u308b\u3068\u300c\u5b8c\u5168\u300d\u6d88\u53bb\u306b\u306a\u308a\u3001``False`` \u3092\u6307\u5b9a\u3059\u308b\u3068\u300c\u9ad8\u901f\u300d\u6d88\u53bb\u306b\u306a\u308a\u307e\u3059\u3002\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"\u30ed\u30b0\u306e\u30c7\u30fc\u30bf\u8a18\u9332\u3092\u30b7\u30ea\u30a2\u30eb\u51fa\u529b\u306b\u30df\u30e9\u30fc\u30ea\u30f3\u30b0\u3059\u308b\u304b\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: ``True`` \u3092\u6307\u5b9a\u3059\u308b\u3068\u30b7\u30ea\u30a2\u30eb\u51fa\u529b\u306b\u30c7\u30fc\u30bf\u3092\u30df\u30e9\u30fc\u30ea\u30f3\u30b0\u3057\u307e\u3059\u3002\"\"\"\n ...", "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", - "/typeshed/stdlib/machine.pyi": "\"\"\"Low-level utilities.\n\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"Get a byte string with a unique identifier of a board.\n\n Example: ``machine.unique_id()``\n\n :return: An identifier that varies from one board instance to another.\n \"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset the device in a manner similar to pushing the external RESET button.\n\n Example: ``machine.reset()``\n \"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"Get the CPU frequency in hertz.\n\n Example: ``machine.freq()``\n\n :return: The CPU frequency.\n \"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"Disable interrupt requests.\n\n Example: ``interrupt_state = machine.disable_irq()``\n\n :return: the previous IRQ state which should be considered an opaque value\n\n The return value should be passed to the ``enable_irq`` function to restore\n interrupts to their original state.\n \"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"Re-enable interrupt requests.\n\n Example: ``machine.enable_irq(interrupt_state)``\n\n :param state: The value that was returned from the most recent call to the ``disable_irq`` function.\n \"\"\"\n ...\n\ndef time_pulse_us(\n pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int = 1000000\n) -> int:\n \"\"\"Time a pulse on a pin.\n\n Example: ``time_pulse_us(pin0, 1)``\n\n If the current input value of the pin is different to ``pulse_level``, the\n function first waits until the pin input becomes equal to\n ``pulse_level``, then times the duration that the pin is equal to\n ``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\n starts straight away.\n\n :param pin: The pin to use\n :param pulse_level: 0 to time a low pulse or 1 to time a high pulse\n :param timeout_us: A microsecond timeout\n :return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\n \"\"\"\n ...\n\nclass mem:\n \"\"\"The class for the ``mem8``, ``mem16`` and ``mem32`` memory views.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Access a value from memory.\n\n :param address: The memory address.\n :return: The value at that address as an integer.\n \"\"\"\n ...\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"Set a value at the given address.\n\n :param address: The memory address.\n :param value: The integer value to set.\n \"\"\"\n ...\n\nmem8: mem\n\"\"\"8-bit (byte) view of memory.\"\"\"\n\nmem16: mem\n\"\"\"16-bit view of memory.\"\"\"\n\nmem32: mem\n\"\"\"32-bit view of memory.\"\"\"\n", - "/typeshed/stdlib/math.pyi": "\"\"\"Mathematical functions.\n\"\"\"\n\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Calculate the inverse cosine.\n\n Example: ``math.acos(1)``\n\n :param x: A number\n :return: The inverse cosine of ``x``\n \"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Calculate the inverse sine.\n\n Example: ``math.asin(0)``\n\n :param x: A number\n :return: The inverse sine of ``x``\n \"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Calculate the inverse tangent.\n\n Example: ``math.atan(0)``\n\n :param x: A number\n :return: The inverse tangent of ``x``\n \"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Calculate the principal value of the inverse tangent of ``y/x``.\n\n Example: ``math.atan2(0, -1)``\n\n :param y: A number\n :param x: A number\n :return: The principal value of the inverse tangent of ``y/x``\n \"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Round a number towards positive infinity.\n\n Example: ``math.ceil(0.1)``\n\n :param x: A number\n :return: ``x`` rounded towards positive infinity.\n \"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Calculate ``x`` with the sign of ``y``.\n\n Example: ``math.copysign(1, -1)``\n\n :param x: A number\n :param y: The source of the sign for the return value\n :return: ``x`` with the sign of ``y``\n \"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Calculate the cosine of ``x``.\n\n Example: ``math.cos(0)``\n\n :param x: A number\n :return: The cosine of ``x``\n \"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Convert radians to degrees.\n\n Example: ``math.degrees(2 * math.pi)``\n\n :param x: A value in radians\n :return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Calculate the exponential of ``x``.\n\n Example: ``math.exp(1)``\n\n :param x: A number\n :return: The exponential of ``x``.\n \"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Return the absolute value of ``x``.\n\n Example: ``math.fabs(-0.1)``\n\n :param x: A number\n :return: The absolute value of ``x``\n \"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Round a number towards negative infinity.\n\n Example: ``math.floor(0.9)``\n\n :param x: A number\n :return: ``x`` rounded towards negative infinity.\n \"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Calculate the remainder of ``x/y``.\n\n Example: ``math.fmod(10, 3)``\n\n :param x: The numerator\n :param y: The denominator\n \"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Decomposes a floating-point number into its mantissa and exponent.\n\n Example: ``mantissa, exponent = math.frexp(2)``\n\n The returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\n exactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\n the relation ``0.5 <= abs(m) < 1`` holds.\n\n :param x: A floating-point number\n :return: A tuple of length two containing its mantissa then exponent\n \"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"Check if a value is finite.\n\n Example: ``math.isfinite(float('inf'))``\n\n :param x: A number.\n :return: ``True`` if ``x`` is finite, ``False`` otherwise.\n \"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"Check if a value is infinite.\n\n Example: ``math.isinf(float('-inf'))``\n\n :param x: A number.\n :return: ``True`` if ``x`` is infinite, ``False`` otherwise.\n \"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Check if a value is not-a-number (NaN).\n\n Example: ``math.isnan(float('nan'))``\n\n :param x: A number\n :return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Calculate ``x * (2**exp)``.\n\n Example: ``math.ldexp(0.5, 2)``\n\n :param x: A number\n :param exp: Integer exponent\n :return: ``x * (2**exp)``\n \"\"\"\n ...\n\ndef log(x: float, base: float = e) -> float:\n \"\"\"Calculate the logarithm of ``x`` to the given base (defaults to natural logorithm).\n\n Example: ``math.log(math.e)``\n\n With one argument, return the natural logarithm of x (to base e).\n\n With two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n :param x: A number\n :param base: The base to use\n :return: The natural logarithm of ``x``\n \"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Calculate the fractional and integral parts of ``x``.\n\n Example: ``fractional, integral = math.modf(1.5)``\n\n :param x: A number\n :return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\n Both the fractional and integral values have the same sign as ``x``.\n \"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Returns ``x`` to the power of ``y``.\n\n Example: ``math.pow(4, 0.5)``\n\n :param x: A number\n :param y: The exponent\n :return: ``x`` to the power of ``y``\n \"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Convert a degrees to radians.\n\n Example: ``math.radians(360)``\n\n :param x: A value in degrees\n :return: The value converted to radians\n \"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Calculate the sine of ``x``.\n\n Example: ``math.sin(math.pi/2)``\n\n :param x: A number\n :return: The sine of ``x``\n \"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Calculate the square root of ``x``.\n\n Example: ``math.sqrt(4)``\n\n :param x: A number\n :return: The square root of ``x``\n \"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Calculate the tangent of ``x``.\n\n Example: ``math.tan(0)``\n\n :param x: A number\n :return: The tangent of ``x``.\n \"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Round a number towards 0.\n\n Example: ``math.trunc(-0.9)``\n\n :param x: A number\n :return: ``x`` rounded towards zero.\n \"\"\"\n ...\n\ne: float\n\"\"\"Base of the natural logarithm\"\"\"\n\npi: float\n\"\"\"The ratio of a circle's circumference to its diameter\"\"\"\n", - "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython internals.\"\"\"\n\nfrom typing import Any, TypeVar, overload\n\n_T = TypeVar(\"_T\")\n\ndef const(expr: _T) -> _T:\n \"\"\"Used to declare that the expression is a constant so that the compiler can\n optimise it.\n\n The use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\n Constants declared this way are still accessible as global variables from\n outside the module they are declared in. On the other hand, if a constant\n begins with an underscore then it is hidden, it is not available as a\n global variable, and does not take up any memory during execution.\n\n :param expr: A constant expression.\n \"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Get the current optimisation level for the compilation of scripts.\n\n Example: ``micropython.opt_level()``\n\n The optimisation level controls the following compilation features:\n\n - Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n - Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n - Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n :return: An integer representing the current level.\n \"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Sets the optimisation level for subsequent compilation of scripts.\n\n Example: ``micropython.opt_level(1)``\n\n The optimisation level controls the following compilation features:\n\n - Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n - Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n - Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n The default optimisation level is usually level 0.\n\n :param level: An integer optimisation level.\n \"\"\"\n ...\n\ndef mem_info(verbose: Any = None) -> None:\n \"\"\"Print information about currently used memory.\n\n Example: ``micropython.mem_info()``\n\n :param verbose: If the ``verbose`` argument is given then extra information is printed.\n \"\"\"\n ...\n\ndef qstr_info(verbose: Any = None) -> None:\n \"\"\"Print information about currently interned strings.\n\n Example: ``micropython.qstr_info()``\n\n :param verbose: If the ``verbose`` argument is given then extra information is printed.\n\n The information that is printed is implementation dependent, but currently\n includes the number of interned strings and the amount of RAM they use. In\n verbose mode it prints out the names of all RAM-interned strings.\n \"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Return an integer representing the current amount of stack that is being\n used.\n\n Example: ``micropython.stack_use()``\n\n The absolute value of this is not particularly useful, rather it\n should be used to compute differences in stack usage at different points.\n\n :return: An integer representing current stack use.\n \"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Lock the heap.\n\n Example: ``micropython.heap_lock()``\n\n When locked no memory allocation can occur and a ``MemoryError`` will be\n raised if any heap allocation is attempted.\n \"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Unlock the heap.\n\n Example: ``micropython.heap_unlock()``\n\n When locked no memory allocation can occur and a ``MemoryError`` will be\n raised if any heap allocation is attempted.\n \"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Set the character that will raise a ``KeyboardInterrupt`` exception.\n\n Example: ``micropython.kbd_intr(-1)``\n\n :param chr: Character code to raise the interrupt or -1 to disable capture of Ctrl-C.\n\n By default this is set to 3 during script execution, corresponding to Ctrl-C.\n Passing -1 to this function will disable capture of Ctrl-C, and passing 3\n will restore it.\n\n This function can be used to prevent the capturing of Ctrl-C on the\n incoming stream of characters that is usually used for the REPL, in case\n that stream is used for other purposes.\n \"\"\"\n ...\n", - "/typeshed/stdlib/music.pyi": "\"\"\"Create and play melodies.\n\"\"\"\nfrom typing import Optional, Tuple, Union, List\n\nfrom .microbit import MicroBitDigitalPin, pin0\n\nDADADADUM: Tuple[str, ...]\n\"\"\"Melody: the opening to Beethoven\u2019s 5th Symphony in C minor.\"\"\"\n\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melody: the opening fragment of Scott Joplin\u2019s Ragtime classic \u201cThe Entertainer\u201d.\"\"\"\n\nPRELUDE: Tuple[str, ...]\n\"\"\"Melody: the opening of the first Prelude in C Major of J.S.Bach\u2019s 48 Preludes and Fugues.\"\"\"\n\nODE: Tuple[str, ...]\n\"\"\"Melody: the \u201cOde to Joy\u201d theme from Beethoven\u2019s 9th Symphony in D minor.\"\"\"\n\nNYAN: Tuple[str, ...]\n\"\"\"Melody: the Nyan Cat theme (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\n\nRINGTONE: Tuple[str, ...]\n\"\"\"Melody: something that sounds like a mobile phone ringtone.\n\nTo be used to indicate an incoming message.\n\"\"\"\n\nFUNK: Tuple[str, ...]\n\"\"\"Melody: a funky bass line for secret agents and criminal masterminds.\"\"\"\n\nBLUES: Tuple[str, ...]\n\"\"\"Melody: a boogie-woogie 12-bar blues walking bass.\"\"\"\n\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melody: \u201cHappy Birthday to You\u2026\u201d\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\n\nWEDDING: Tuple[str, ...]\n\"\"\"Melody: the bridal chorus from Wagner\u2019s opera \u201cLohengrin\u201d.\"\"\"\n\nFUNERAL: Tuple[str, ...]\n\"\"\"Melody: the \u201cfuneral march\u201d otherwise known as Fr\u00e9d\u00e9ric Chopin\u2019s Piano Sonata No. 2 in B\u266d minor, Op. 35.\"\"\"\n\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melody: a fun fragment that signifies a joke has been made.\"\"\"\n\nPYTHON: Tuple[str, ...]\n\"\"\"Melody: John Philip Sousa\u2019s march \u201cLiberty Bell\u201d aka, the theme for \u201cMonty Python\u2019s Flying Circus\u201d (after which the Python programming language is named).\"\"\"\n\nBADDY: Tuple[str, ...]\n\"\"\"Melody: silent movie era entrance of a baddy.\"\"\"\n\nCHASE: Tuple[str, ...]\n\"\"\"Melody: silent movie era chase scene.\"\"\"\n\nBA_DING: Tuple[str, ...]\n\"\"\"Melody: a short signal to indicate something has happened.\"\"\"\n\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melody: a very sad trombone.\"\"\"\n\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melody: for use in a game, indicating upward movement.\"\"\"\n\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melody: for use in a game, indicating downward movement.\"\"\"\n\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melody: a fanfare to indicate an achievement unlocked.\"\"\"\n\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melody: a sad fanfare to indicate an achievement lost.\"\"\"\n\ndef set_tempo(ticks: int = 4, bpm: int = 120) -> None:\n \"\"\"Sets the approximate tempo for playback.\n\n Example: ``music.set_tempo(bpm=120)``\n\n :param ticks: The number of ticks constituting a beat.\n :param bpm: An integer determining how many beats per minute.\n\n Suggested default values allow the following useful behaviour:\n\n - music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n - music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n - music.set_tempo(bpm=180) \u2013 just change the tempo\n\n To work out the length of a tick in milliseconds is very simple arithmetic:\n 60000/bpm/ticks_per_beat. For the default values that\u2019s\n 60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\n \"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Gets the current tempo as a tuple of integers: ``(ticks, bpm)``.\n\n Example: ``ticks, beats = music.get_tempo()``\n\n :return: The temp as a tuple with two integer values, the ticks then the beats per minute.\n \"\"\"\n ...\n\ndef play(\n music: Union[str, List[str], Tuple[str, ...]],\n pin: Optional[MicroBitDigitalPin] = pin0,\n wait: bool = True,\n loop: bool = False,\n) -> None:\n \"\"\"Plays music.\n\n Example: ``music.play(music.NYAN)``\n\n :param music: music specified in `a special notation `_\n :param pin: the output pin for use with an external speaker (default ``pin0``), ``None`` for no sound.\n :param wait: If ``wait`` is set to ``True``, this function is blocking.\n :param loop: If ``loop`` is set to ``True``, the tune repeats until ``stop`` is called or the blocking call is interrupted.\n\n Many built-in melodies are defined in this module.\n \"\"\"\n ...\n\ndef pitch(\n frequency: int,\n duration: int = -1,\n pin: Optional[MicroBitDigitalPin] = pin0,\n wait: bool = True,\n) -> None:\n \"\"\"Play a note.\n\n Example: ``music.pitch(185, 1000)``\n\n :param frequency: An integer frequency\n :param duration: A millisecond duration. If negative then sound is continuous until the next call or a call to ``stop``.\n :param pin: Optional output pin (default ``pin0``).\n :param wait: If ``wait`` is set to ``True``, this function is blocking.\n\n For example, if the frequency is set to 440 and the length to\n 1000 then we hear a standard concert A for one second.\n\n You can only play one pitch on one pin at any one time.\n \"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin] = pin0) -> None:\n \"\"\"Stops all music playback on the built-in speaker and any pin outputting sound.\n\n Example: ``music.stop()``\n\n :param pin: An optional argument can be provided to specify a pin, e.g. ``music.stop(pin1)``.\n \"\"\"\n\ndef reset() -> None:\n \"\"\"Resets ticks, bpm, duration and octave to their default values.\n\n Example: ``music.reset()``\n\n Values:\n - ``ticks = 4``\n - ``bpm = 120``\n - ``duration = 4``\n - ``octave = 4``\n \"\"\"\n ...\n", - "/typeshed/stdlib/neopixel.pyi": "\"\"\"Individually addressable RGB and RGBW LED strips.\n\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int = 3) -> None:\n \"\"\"Initialise a new strip of neopixel LEDs controlled via a pin.\n\n Example: ``np = neopixel.NeoPixel(pin0, 8)``\n\n To support RGBW neopixels, a third argument can be passed to\n ``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\n For RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\n Each pixel is addressed by a position (starting from 0). Neopixels are\n given RGB (red, green, blue) / RGBW (red, green, blue, white) values\n between 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\n white. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\n See `the online docs `_ for warnings and other advice.\n\n :param pin: The pin controlling the neopixel strip.\n :param n: The number of neopixels in the strip.\n :param bpp: Bytes per pixel. For RGBW neopixel support, pass 4 rather than the default of 3 for RGB and GRB.\n \"\"\"\n ...\n def clear(self) -> None:\n \"\"\"Clear all the pixels.\n\n Example: ``np.clear()``\n \"\"\"\n ...\n def show(self) -> None:\n \"\"\"Show the pixels.\n\n Example: ``np.show()``\n\n Must be called for any updates to become visible.\n \"\"\"\n ...\n def write(self) -> None:\n \"\"\"Show the pixels (micro:bit V2 only).\n\n Example: ``np.write()``\n\n Must be called for any updates to become visible.\n\n Equivalent to ``show``.\n \"\"\"\n ...\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Colour all pixels a given RGB/RGBW value (micro:bit V2 only).\n\n Example: ``np.fill((0, 0, 255))``\n\n :param colour: A tuple of the same length as the number of bytes per pixel (bpp).\n\n Use in conjunction with ``show()`` to update the neopixels.\n \"\"\"\n ...\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Set a pixel colour.\n\n Example: ``np[0] = (255, 0, 0)``\n\n :param key: The pixel number.\n :param value: The colour.\n \"\"\"\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Get a pixel colour.\n\n Example: ``r, g, b = np[0]``\n\n :param key: The pixel number.\n :return: The colour tuple.\n \"\"\"\n def __len__(self) -> int:\n \"\"\"Get length of this pixel strip.\n\n Example: ``len(np)``\n \"\"\"\n", - "/typeshed/stdlib/os.pyi": "\"\"\"Access the file system.\n\"\"\"\n\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"List files.\n\n Example: ``os.listdir()``\n\n :return: A list of the names of all the files contained within the local\n persistent on-device file system.\n \"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Remove (delete) a file.\n\n Example: ``os.remove('data.txt')``\n\n :param filename: The file to delete.\n\n If the file does not exist an ``OSError`` exception will occur.\n \"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Returns the size of a file.\n\n Example: ``os.size('data.txt')``\n\n :param filename: The file\n :return: The size in bytes.\n\n If the file does not exist an ``OSError`` exception will occur.\n \"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Result of ``os.uname()``\"\"\"\n sysname: str\n \"\"\"Operating system name.\"\"\"\n\n nodename: str\n \"\"\"Name of machine on network (implementation-defined).\"\"\"\n\n release: str\n \"\"\"Operating system release.\"\"\"\n \n version: str\n \"\"\"Operating system version.\"\"\"\n \n machine: str\n \"\"\"Hardware identifier.\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Returns information identifying the current operating system.\n\n Example: ``os.uname()``\n\n The return value is an object with five attributes:\n\n - ``sysname`` - operating system name\n - ``nodename`` - name of machine on network (implementation-defined)\n - ``release`` - operating system release\n - ``version`` - operating system version\n - ``machine`` - hardware identifier\n\n There is no underlying operating system in MicroPython. As a result the\n information returned by the ``uname`` function is mostly useful for\n versioning details.\n \"\"\"\n ...\n", + "/typeshed/stdlib/machine.pyi": "\"\"\"\u4f4e\u30ec\u30d9\u30eb\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"\u30dc\u30fc\u30c9\u306e\u4e00\u610f\u306e\u8b58\u5225\u5b50\u3092\u6301\u3064\u30d0\u30a4\u30c8\u5217\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"\u5916\u90e8\u306eRESET\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u305f\u3068\u540c\u69d8\u306b\u30c7\u30d0\u30a4\u30b9\u3092\u30ea\u30bb\u30c3\u30c8\u3057\u307e\u3059\u3002\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"CPU\u5468\u6ce2\u6570\u3092\u30d8\u30eb\u30c4\u5358\u4f4d\u3067\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"\u5272\u308a\u8fbc\u307f\u8981\u6c42\u3092\u7121\u52b9\u306b\u3057\u307e\u3059\u3002\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"\u5272\u308a\u8fbc\u307f\u8981\u6c42\u3092\u518d\u5ea6\u6709\u52b9\u306b\u3057\u307e\u3059\u3002\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: ``disable_irq`` \u95a2\u6570\u306e\u6700\u3082\u6700\u8fd1\u306e\u547c\u3073\u51fa\u3057\u304b\u3089\u8fd4\u3055\u308c\u305f\u5024\u3002\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"\u7aef\u5b50\u306e\u30d1\u30eb\u30b9\u6642\u9593\u3092\u8a08\u6e2c\u3057\u307e\u3059\u3002\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: (\u30d4\u30f3) \u8a08\u6e2c\u5bfe\u8c61\u306e\u7aef\u5b50\n:param pulse_level: \u4f4e\u30d1\u30eb\u30b9\u306e\u6642\u9593\u8a08\u6e2c\u3067 0\u3001\u9ad8\u30d1\u30eb\u30b9\u306e\u6642\u9593\u8a08\u6e2c\u3067 1 \u3092\u6307\u5b9a\n:param timeout_us: \u30de\u30a4\u30af\u30ed\u79d2\u5358\u4f4d\u306e\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u6642\u9593\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"``mem8``\u3001``mem16``\u3001``mem32`` \u30e1\u30e2\u30ea\u30d3\u30e5\u30fc\u306e\u30af\u30e9\u30b9\u3002\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"\u30e1\u30e2\u30ea\u306b\u3042\u308b\u5024\u3092\u53c2\u7167\u3057\u307e\u3059\u3002\n\n:param address: \u30e1\u30e2\u30ea\u306e\u30a2\u30c9\u30ec\u30b9\u3002\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"\u6307\u5b9a\u30a2\u30c9\u30ec\u30b9\u306b\u5024\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\n:param address: \u30e1\u30e2\u30ea\u306e\u30a2\u30c9\u30ec\u30b9\u3002\n:param value: \u8a2d\u5b9a\u3059\u308b\u6574\u6570\u5024\u3002\"\"\"\n ...\nmem8: mem\n\"\"\"\u30e1\u30e2\u30ea\u306e8\u30d3\u30c3\u30c8\uff08\u30d0\u30a4\u30c8\uff09\u30d3\u30e5\u30fc\u3002\"\"\"\nmem16: mem\n\"\"\"\u30e1\u30e2\u30ea\u306e16\u30d3\u30c3\u30c8\u30d3\u30e5\u30fc\u3002\"\"\"\nmem32: mem\n\"\"\"\u30e1\u30e2\u30ea\u306e32\u30d3\u30c3\u30c8\u30d3\u30e5\u30fc\u3002\"\"\"", + "/typeshed/stdlib/math.pyi": "\"\"\"\u6570\u5b66\u95a2\u6570\u3002\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"\u9006\u4f59\u5f26\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.acos(1)``\n\n:param x: \u6570\u5024\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"\u9006\u6b63\u5f26\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.asin(0)``\n\n:param x: \u6570\u5024\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"\u9006\u6b63\u63a5\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.atan(0)``\n\n:param x: \u6570\u5024\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"``y/x`` \u306e\u9006\u6b63\u63a5\u306e\u4e3b\u5024\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.atan2(0, -1)``\n\n:param y: \u6570\u5024\n:param x: \u6570\u5024\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"\u6b63\u306e\u7121\u9650\u5927\u65b9\u5411\u306b\u6570\u5024\u3092\u4e38\u3081\u307e\u3059\u3002\n\nExample: ``math.ceil(0.1)``\n\n:param x: \u6570\u5024\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"``y`` \u306e\u7b26\u53f7\u3067 ``x`` \u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.copysign(1, -1)``\n\n:param x: \u6570\u5024\n:param y: \u623b\u308a\u5024\u306e\u7b26\u53f7\u306e\u5143\u306b\u306a\u308b\u5024\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"``x`` \u306e\u4f59\u5f26\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.cos(0)``\n\n:param x: \u6570\u5024\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"\u30e9\u30b8\u30a2\u30f3\u3092\u5ea6\u306b\u5909\u63db\u3057\u307e\u3059\u3002 (\u309c(\u5ea6))\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: \u30e9\u30b8\u30a2\u30f3\u5358\u4f4d\u306e\u5024\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"``x`` \u306e\u6307\u6570\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.exp(1)``\n\n:param x: \u6570\u5024\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"``x`` \u306e\u7d76\u5bfe\u5024\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``math.fabs(-0.1)``\n\n:param x: \u6570\u5024\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"\u8ca0\u306e\u7121\u9650\u5927\u65b9\u5411\u306b\u6570\u5024\u3092\u4e38\u3081\u307e\u3059\u3002\n\nExample: ``math.floor(0.9)``\n\n:param x: \u6570\u5024\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"``x/y`` \u306e\u5270\u4f59\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.fmod(10, 3)``\n\n:param x: \u5206\u5b50\u306e\u5024\n:param y: \u5206\u6bcd\u306e\u5024\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3092\u4eee\u6570\u90e8\u3068\u6307\u6570\u90e8\u306b\u5206\u89e3\u3057\u307e\u3059\u3002\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: \u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"\u6709\u9650\u6570\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: \u6570\u5024\u3002\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"\u7121\u9650\u6570\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: \u6570\u5024\u3002\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"\u975e\u6570\uff08NaN: Not-a-Number\uff09\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: \u6570\u5024\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"``x * (2**exp)`` \u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: \u6570\u5024\n:param exp: \u6574\u6570\u306e\u6307\u6570\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"``x`` \u306e\u5bfe\u6570\u3092\u6307\u5b9a\u3055\u308c\u305f\u5e95\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f\u81ea\u7136\u5bfe\u6570\uff09\u3067\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: \u6570\u5024\n:param base: \u4f7f\u7528\u3059\u308b\u5e95\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"``x`` \u306e\u6574\u6570\u90e8\u5206\u3068\u5c0f\u6570\u90e8\u5206\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: \u6570\u5024\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"``x`` \u306e ``y`` \u4e57\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: \u6570\u5024\n:param y: \u6307\u6570\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"\u5ea6\u3092\u30e9\u30b8\u30a2\u30f3\u306b\u5909\u63db\u3057\u307e\u3059\u3002\n\nExample: ``math.radians(360)``\n\n:param x: \u5ea6\u5358\u4f4d\u306e\u89d2\u5ea6\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"``x`` \u306e\u6b63\u5f26\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: \u6570\u5024\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"``x`` \u306e\u5e73\u65b9\u6839\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.sqrt(4)``\n\n:param x: \u6570\u5024\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"``x`` \u306e\u6b63\u63a5\u3092\u7b97\u51fa\u3057\u307e\u3059\u3002\n\nExample: ``math.tan(0)``\n\n:param x: \u6570\u5024\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"0 \u65b9\u5411\u306b\u6570\u5024\u3092\u4e38\u3081\u307e\u3059\u3002\n\nExample: ``math.trunc(-0.9)``\n\n:param x: \u6570\u5024\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"\u81ea\u7136\u5bfe\u6570\u306e\u5e95\"\"\"\npi: float\n\"\"\"\u5186\u306e\u5186\u5468\u3068\u76f4\u5f84\u306e\u6bd4\"\"\"", + "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython\u306e\u5185\u90e8\u3002\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"\u30b3\u30f3\u30d1\u30a4\u30eb\u304c\u6700\u9069\u5316\u3067\u304d\u308b\u3088\u3046\u306b\u3001\u5f0f\u304c\u5b9a\u6570\u3067\u3042\u308b\u3053\u3068\u3092\u5ba3\u8a00\u3059\u308b\u305f\u3081\u306b\u4f7f\u3044\u307e\u3059\u3002\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: \u5b9a\u6570\u5f0f\u3002\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u73fe\u5728\u306e\u30b3\u30f3\u30d1\u30a4\u30eb\u6700\u9069\u5316\u30ec\u30d9\u30eb\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u5f8c\u7d9a\u306e\u30b3\u30f3\u30d1\u30a4\u30eb\u6700\u9069\u5316\u30ec\u30d9\u30eb\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: \u6700\u9069\u5316\u30ec\u30d9\u30eb\u3092\u793a\u3059\u6574\u6570\u5024\u3002\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"\u73fe\u5728\u4f7f\u3063\u3066\u3044\u308b\u30e1\u30e2\u30ea\u306b\u95a2\u3059\u308b\u60c5\u5831\u3092\u8868\u793a\u3057\u307e\u3059\u3002\n\nExample: ``micropython.mem_info()``\n\n:param verbose: ``verbose`` \u5f15\u6570\u3092\u6307\u5b9a\u3059\u308b\u3068\u3001\u8a73\u3057\u3044\u60c5\u5831\u3092\u8868\u793a\u3057\u307e\u3059\u3002\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"\u73fe\u5728\u30a4\u30f3\u30bf\u30fc\u30f3\u3055\u308c\u3066\u3044\u308b\u6587\u5b57\u5217\u306b\u95a2\u3059\u308b\u60c5\u5831\u3092\u8868\u793a\u3057\u307e\u3059\u3002\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: ``verbose`` \u5f15\u6570\u3092\u6307\u5b9a\u3059\u308b\u3068\u3001\u8a73\u3057\u3044\u60c5\u5831\u3092\u8868\u793a\u3057\u307e\u3059\u3002\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"\u73fe\u5728\u4f7f\u308f\u308c\u3066\u3044\u308b\u30b9\u30bf\u30c3\u30af\u306e\u30b5\u30a4\u30ba\u3092\u8868\u3059\u6574\u6570\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"\u30d2\u30fc\u30d7\u3092\u30ed\u30c3\u30af\u3057\u307e\u3059\u3002\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"\u30d2\u30fc\u30d7\u306e\u30ed\u30c3\u30af\u3092\u89e3\u9664\u3057\u307e\u3059\u3002\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"``KeyboardInterrupt`` \u4f8b\u5916\u3092\u767a\u751f\u3055\u305b\u308b\u6587\u5b57\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: \u5272\u308a\u8fbc\u307f\u3092\u767a\u751f\u3055\u305b\u308b\u6587\u5b57\u30b3\u30fc\u30c9\u3002\u3042\u308b\u3044\u306f\u3001Ctrl-C\u306e\u30ad\u30e3\u30d7\u30c1\u30e3\u3092\u7121\u52b9\u306b\u3059\u308b\u306b\u306f-1\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", + "/typeshed/stdlib/music.pyi": "\"\"\"\u30e1\u30ed\u30c7\u30a3\u30fc\u306e\u4f5c\u6210\u3068\u518d\u751f\u3002\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30d9\u30fc\u30c8\u30fc\u30f4\u30a7\u30f3\u306e\u4ea4\u97ff\u66f2\u7b2c5\u756a\u30cf\u77ed\u8abf\u306e\u5192\u982d\u3002\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30b9\u30b3\u30c3\u30c8\u30fb\u30b8\u30e7\u30d7\u30ea\u30f3\u306e\u30e9\u30b0\u30bf\u30a4\u30e0\u30fb\u30af\u30e9\u30b7\u30c3\u30af\u300e\u30b8\u30fb\u30a8\u30f3\u30bf\u30fc\u30c6\u30a4\u30ca\u30fc \u300f\u306e\u5192\u982d\u3002\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: J\u30fbS\u30fb\u30d0\u30c3\u30cf\u306e\u524d\u594f\u66f2\u3068\u30d5\u30fc\u30ac\u8a0848\u66f2\u306e\u524d\u594f\u66f2\u7b2c1\u756a\u30cf\u9577\u8abf\u306e\u5192\u982d\u3002\"\"\"\nODE: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30d9\u30fc\u30c8\u30fc\u30f4\u30a7\u30f3\u306e\u4ea4\u97ff\u66f2\u7b2c9\u756a\u30cb\u77ed\u8abf\u3088\u308a\u300e\u6b53\u559c\u306e\u6b4c\u300f\u306e\u30c6\u30fc\u30de\u3002\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: Nyan Cat \u30c6\u30fc\u30de (http://www.nyan.cat/)\u3002\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u643a\u5e2f\u96fb\u8a71\u306e\u7740\u4fe1\u97f3\u306e\u3088\u3046\u306a\u3082\u306e\u3002\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30b9\u30d1\u30a4\u3068\u72af\u7f6a\u306e\u9ed2\u5e55\u7528\u306e\u30d5\u30a1\u30f3\u30ad\u30fc\u306a\u30d9\u30fc\u30b9\u30e9\u30a4\u30f3\u3002\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30d6\u30ae\u30fc\u30fb\u30a6\u30fc\u30ae\u30fc\u306e 12 \u5c0f\u7bc0\u306e\u30d6\u30eb\u30fc\u30b9\u30fb\u30a6\u30a9\u30fc\u30ad\u30f3\u30b0\u30fb\u30d9\u30fc\u30b9\u3002\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3:\u300e\u30cf\u30c3\u30d4\u30fc\u30d0\u30fc\u30b9\u30c7\u30a3\u30c8\u30a5\u30e6\u30fc ...\u300f\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30ef\u30b0\u30ca\u30fc\u306e\u30aa\u30da\u30e9\u300e\u30ed\u30fc\u30a8\u30f3\u30b0\u30ea\u30f3\u300f\u3088\u308a\u5a5a\u793c\u306e\u5408\u5531\u3002\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30d5\u30ec\u30c7\u30ea\u30c3\u30af\u30fb\u30b7\u30e7\u30d1\u30f3\u306e\u30d4\u30a2\u30ce\u30bd\u30ca\u30bf\u7b2c2\u756a\u5909\u30ed\u77ed\u8abf \u4f5c\u54c135\uff08\u5225\u540d\u300e\u846c\u9001\u300f\uff09\u3002\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30b8\u30e7\u30fc\u30af\u304c\u8a00\u308f\u308c\u305f\u3053\u3068\u3092\u610f\u5473\u3059\u308b\u697d\u3057\u3044\u97f3\u697d\u3002\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30b8\u30e7\u30f3\u30fb\u30d5\u30a3\u30ea\u30c3\u30d7\u30fb\u30b9\u30fc\u30b6\u306e\u300e\u81ea\u7531\u306e\u9418\u300f\uff08\u300e\u7a7a\u98db\u3076\u30e2\u30f3\u30c6\u30a3\u30fb\u30d1\u30a4\u30bd\u30f3\u300f\u306e\u30c6\u30fc\u30de\u3068\u3082\u3044\u3046\uff09\uff08\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9ePython\u306e\u540d\u524d\u306e\u7531\u6765\u3068\u306a\u3063\u305f\uff09\u3002\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u7121\u58f0\u6620\u753b\u6642\u4ee3\u306e\u60aa\u5f79\u306e\u767b\u5834\u3002\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u7121\u58f0\u6620\u753b\u6642\u4ee3\u306e\u30c1\u30a7\u30a4\u30b9\u30b7\u30fc\u30f3\u3002\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u4f55\u304b\u304c\u8d77\u3053\u3063\u305f\u3053\u3068\u3092\u793a\u3059\u77ed\u3044\u4fe1\u53f7\u3002\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u975e\u5e38\u306b\u60b2\u3057\u3044\u30c8\u30ed\u30f3\u30dc\u30fc\u30f3\u3002\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30b2\u30fc\u30e0\u3067\u306e\u4f7f\u7528\u3067\u3001\u4e0a\u65b9\u5411\u306e\u52d5\u304d\u3092\u793a\u3057\u307e\u3059\u3002\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30b2\u30fc\u30e0\u3067\u306e\u4f7f\u7528\u3067\u3001\u4e0b\u5411\u304d\u306e\u52d5\u304d\u3092\u793a\u3057\u307e\u3059\u3002\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30a2\u30c1\u30fc\u30d6\u30e1\u30f3\u30c8\u3092\u9054\u6210\u3057\u305f\u3053\u3068\u3092\u793a\u3059\u30d5\u30a1\u30f3\u30d5\u30a1\u30fc\u30ec\u3002\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"\u30e1\u30ed\u30c7\u30a3: \u30a2\u30c1\u30fc\u30d6\u30e1\u30f3\u30c8\u3092\u9054\u6210\u3057\u306a\u304b\u3063\u305f\u3053\u3068\u3092\u793a\u3059\u30d5\u30a1\u30f3\u30d5\u30a1\u30fc\u30ec\u3002\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"\u518d\u751f\u3059\u308b\u305f\u3081\u306e\u304a\u304a\u3088\u305d\u306e\u30c6\u30f3\u30dd\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: 1\u30d3\u30fc\u30c8\u3092\u69cb\u6210\u3059\u308b\u30c6\u30a3\u30c3\u30af\u6570\u3002\n:param bpm: \u6bce\u5206\u306e\u30d3\u30fc\u30c8\u6570\u3092\u6c7a\u5b9a\u3059\u308b\u6574\u6570\u3002\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"\u73fe\u5728\u306e\u30c6\u30f3\u30dd\u3092\u6574\u6570\u306e\u30bf\u30d7\u30eb ``(ticks, bpm)`` \u3068\u3057\u3066\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"\u30df\u30e5\u30fc\u30b8\u30c3\u30af\u3092\u518d\u751f\u3057\u307e\u3059\u3002\n\nExample: ``music.play(music.NYAN)``\n\n:param music: `\u7279\u5225\u306a\u8868\u8a18 `_ \u3067\u6307\u5b9a\u3055\u308c\u305f\u30df\u30e5\u30fc\u30b8\u30c3\u30af\n:param pin: (\u30d4\u30f3) \u5916\u90e8\u30b9\u30d4\u30fc\u30ab\u30fc\u7528\u51fa\u529b\u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f ``pin0``\uff09\u3002\u97f3\u3092\u9cf4\u3089\u3057\u305f\u304f\u306a\u3044\u5834\u5408\u306f ``None`` \u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\n:param wait: ``wait`` \u3092 ``True`` \u306b\u8a2d\u5b9a\u3057\u305f\u5834\u5408\u3001\u3053\u306e\u95a2\u6570\u304c\u30d6\u30ed\u30c3\u30af\u3057\u307e\u3059\u3002\n:param loop: ``loop`` \u304c ``True`` \u306e\u5834\u5408\u3001\u66f2\u306f ``stop`` \u304c\u547c\u3073\u51fa\u3055\u308c\u308b\u304b\u3001\u30d6\u30ed\u30c3\u30af\u30b3\u30fc\u30eb\u304c\u4e2d\u65ad\u3055\u308c\u308b\u307e\u3067\u7e70\u308a\u8fd4\u3057\u518d\u751f\u3055\u308c\u307e\u3059\u3002\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"\u97f3\u7b26\u3092\u518d\u751f\u3057\u307e\u3059\u3002\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: \u5468\u6ce2\u6570\u3092\u793a\u3059\u6574\u6570\u5024\n:param duration: \u6301\u7d9a\u6642\u9593\u3092\u30df\u30ea\u79d2\u5358\u4f4d\u3067\u6307\u5b9a\u3057\u307e\u3059\u3002\u8ca0\u306e\u5834\u5408\u3001\u6b21\u306e\u547c\u3073\u51fa\u3057\u304b ``stop`` \u306e\u547c\u3073\u51fa\u3057\u307e\u3067\u518d\u751f\u304c\u7d9a\u304d\u307e\u3059\u3002\n:param pin: \u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u51fa\u529b\u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f ``pin0``\uff09\u3002\n:param wait: ``wait`` \u3092 ``True`` \u306b\u8a2d\u5b9a\u3057\u305f\u5834\u5408\u3001\u3053\u306e\u95a2\u6570\u304c\u30d6\u30ed\u30c3\u30af\u3057\u307e\u3059\u3002\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"\u5185\u8535\u30b9\u30d4\u30fc\u30ab\u30fc\u3084\u30b5\u30a6\u30f3\u30c9\u3092\u51fa\u529b\u3059\u308b\u7aef\u5b50\u304b\u3089\u9cf4\u3089\u3057\u3066\u3044\u308b\u3059\u3079\u3066\u306e\u30df\u30e5\u30fc\u30b8\u30c3\u30af\u518d\u751f\u3092\u505c\u6b62\u3057\u307e\u3059\u3002\n\nExample: ``music.stop()``\n\n:param pin: \u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u5f15\u6570\u306b\u306f\u3001\u305f\u3068\u3048\u3070 ``music.stop(pin1)`` \u306a\u3069\u306e\u7aef\u5b50\u3092\u6307\u5b9a\u3067\u304d\u307e\u3059\u3002\"\"\"\n\ndef reset() -> None:\n \"\"\"\u30c6\u30a3\u30c3\u30af\u3001bpm\u3001\u6301\u7d9a\u6642\u9593\u3001\u30aa\u30af\u30bf\u30fc\u30d6\u3092\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306b\u30ea\u30bb\u30c3\u30c8\u3057\u307e\u3059\u3002\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"\u500b\u5225\u306b\u30a2\u30c9\u30ec\u30b9\u53ef\u80fd\u306a RGB/RGBW LED \u30b9\u30c8\u30ea\u30c3\u30d7\u3002\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"\u7aef\u5b50\u3092\u4ecb\u3057\u3066\u5236\u5fa1\u3059\u308b\u30cd\u30aa\u30d4\u30af\u30bb\u30ebLED\u306e\u65b0\u3057\u3044\u30b9\u30c8\u30ea\u30c3\u30d7\u3092\u521d\u671f\u5316\u3057\u307e\u3059\u3002\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: \u30cd\u30aa\u30d4\u30af\u30bb\u30eb\u30b9\u30c8\u30ea\u30c3\u30d7\u3092\u5236\u5fa1\u3059\u308b\u7aef\u5b50\u3002\n:param n: \u30b9\u30c8\u30ea\u30c3\u30d7\u5185\u306e\u30cd\u30aa\u30d4\u30af\u30bb\u30eb\u306e\u6570\u3002\n:param bpp: \u30d4\u30af\u30bb\u30eb\u3042\u305f\u308a\u306e\u30d0\u30a4\u30c8\u6570\u3002RGBW \u30cd\u30aa\u30d4\u30af\u30bb\u30eb\u306b\u5bfe\u5fdc\u3059\u308b\u306b\u306f\u3001RGB\u3084GRB\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306e3\u3067\u306f\u306a\u304f\u30014 \u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"\u3059\u3079\u3066\u306e\u30d4\u30af\u30bb\u30eb\u3092\u30af\u30ea\u30a2\u3057\u307e\u3059\u3002\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"\u30d4\u30af\u30bb\u30eb\u3092\u8868\u793a\u3057\u307e\u3059\u3002\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"\u30d4\u30af\u30bb\u30eb\u3092\u8868\u793a\u3057\u307e\u3059\uff08micro:bit V2 \u306e\u307f\uff09\u3002\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"\u6307\u5b9a\u3057\u305f RGB/RGBW \u5024\u3092\u3059\u3079\u3066\u306e\u30d4\u30af\u30bb\u30eb\u306b\u8a2d\u5b9a\u3057\u307e\u3059\uff08micro:bit V2 \u306e\u307f\uff09\u3002\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: \u30d4\u30af\u30bb\u30eb\u3042\u305f\u308a\u306e\u30d0\u30a4\u30c8\u6570\uff08bpp\uff09\u3068\u540c\u3058\u9577\u3055\u306e\u30bf\u30d7\u30eb\u3002\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"\u30d4\u30af\u30bb\u30eb\u306e\u8272\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: \u30d4\u30af\u30bb\u30eb\u756a\u53f7\u3002\n:param value: \u8272\u3002\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"\u30d4\u30af\u30bb\u30eb\u306e\u8272\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``r, g, b = np[0]``\n\n:param key: \u30d4\u30af\u30bb\u30eb\u756a\u53f7\u3002\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"\u3053\u306e\u30d4\u30af\u30bb\u30eb\u30b9\u30c8\u30ea\u30c3\u30d7\u306e\u9577\u3055\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/os.pyi": "\"\"\"\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u306b\u30a2\u30af\u30bb\u30b9\u3057\u307e\u3059\u3002\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"\u30d5\u30a1\u30a4\u30eb\u3059\u3079\u3066\u306e\u540d\u524d\u306e\u30ea\u30b9\u30c8\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3057\u307e\u3059\u3002\n\nExample: ``os.remove('data.txt')``\n\n:param filename: \u524a\u9664\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u306e\u540d\u524d\u3002\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"\u30d5\u30a1\u30a4\u30eb\u306e\u30b5\u30a4\u30ba\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``os.size('data.txt')``\n\n:param filename: \u30d5\u30a1\u30a4\u30eb\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"``os.uname()`` \u306e\u7d50\u679c\"\"\"\n sysname: str\n \"\"\"\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u540d\u3002\"\"\"\n nodename: str\n \"\"\"\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u306e\u30de\u30b7\u30f3\u306e\u540d\u524d\uff08\u5b9f\u88c5\u5b9a\u7fa9\uff09\u3002\"\"\"\n release: str\n \"\"\"\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u306e\u30ea\u30ea\u30fc\u30b9\u3002\"\"\"\n version: str\n \"\"\"\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3002\"\"\"\n machine: str\n \"\"\"\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u8b58\u5225\u5b50\u3002\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"\u73fe\u5728\u306e\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u3092\u8b58\u5225\u3059\u308b\u60c5\u5831\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", - "/typeshed/stdlib/radio.pyi": "\"\"\"Communicate between micro:bits with the built-in radio.\n\"\"\"\n\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\n\nRATE_1MBIT: int\n\"\"\"Constant used to indicate a throughput of 1 MBit a second.\"\"\"\n\nRATE_2MBIT: int\n\"\"\"Constant used to indicate a throughput of 2 MBit a second.\"\"\"\n\ndef on() -> None:\n \"\"\"Turns the radio on.\n\n Example: ``radio.on()``\n\n This needs to be explicitly called since the radio draws power and takes\n up memory that you may otherwise need.\n \"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Turns off the radio, saving power and memory.\n\n Example: ``radio.off()``\n \"\"\"\n ...\n\ndef config(\n length: int = 32,\n queue: int = 3,\n channel: int = 7,\n power: int = 6,\n address: int = 0x75626974,\n group: int = 0,\n data_rate: int = RATE_1MBIT,\n) -> None:\n \"\"\"Configures the radio.\n\n Example: ``radio.config(group=42)``\n\n The default configuration is suitable for most use.\n\n :param length: (default=32) defines the maximum length, in bytes, of a message sent via the radio.\n It can be up to 251 bytes long (254 - 3 bytes for S0, LENGTH and S1 preamble).\n :param queue: (default=3) specifies the number of messages that can be stored on the incoming message queue.\n If there are no spaces left on the queue for incoming messages, then the incoming message is dropped.\n :param channel: (default=7) an integer value from 0 to 83 (inclusive) that defines an arbitrary \"channel\" to which the radio is tuned.\n Messages will be sent via this channel and only messages received via this channel will be put onto the incoming message queue. Each step is 1MHz wide, based at 2400MHz.\n :param power: (default=6) is an integer value from 0 to 7 (inclusive) to indicate the strength of signal used when broadcasting a message.\n The higher the value the stronger the signal, but the more power is consumed by the device. The numbering translates to positions in the following list of dBm (decibel milliwatt) values: -30, -20, -16, -12, -8, -4, 0, 4.\n :param address: (default=0x75626974) an arbitrary name, expressed as a 32-bit address, that's used to filter incoming packets at the hardware level, keeping only those that match the address you set.\n The default used by other micro:bit related platforms is the default setting used here.\n :param group: (default=0) an 8-bit value (0-255) used with the ``address`` when filtering messages.\n Conceptually, \"address\" is like a house/office address and \"group\" is like the person at that address to which you want to send your message.\n :param data_rate: (default=``radio.RATE_1MBIT``) indicates the speed at which data throughput takes place.\n Can be one of the following constants defined in the ``radio`` module: ``RATE_250KBIT``, ``RATE_1MBIT`` or ``RATE_2MBIT``.\n\n If ``config`` is not called then the defaults described above are assumed.\n \"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset the settings to their default values.\n\n Example: ``radio.reset()``\n\n The defaults as as per the ``config`` function above.\n \"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Sends a message containing bytes.\n\n Example: ``radio.send_bytes(b'hello')``\n\n :param message: The bytes to send.\n \"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Receive the next incoming message on the message queue.\n\n Example: ``radio.receive_bytes()``\n\n :return: The message bytes if any, otherwise ``None``.\n \"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Copy the next incoming message on the message queue into a buffer.\n\n Example: ``radio.receive_bytes_info(buffer)``\n\n :param buffer: The target buffer. The message is truncated if larger than the buffer.\n :return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\n \"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Sends a message string.\n\n Example: ``radio.send('hello')``\n\n This is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\n prepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n :param message: The string to send.\n \"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Works in exactly the same way as ``receive_bytes`` but returns whatever was sent.\n\n Example: ``radio.receive()``\n\n Equivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\n three bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\n may target the micro:bit).\n\n :return: The message with the prepended bytes stripped and converted to a string.\n\n A ``ValueError`` exception is raised if conversion to string fails.\n \"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Returns a tuple containing three values representing the next incoming message on the message queue.\n\n Example: ``radio.receive_full()``\n\n If there are no pending messages then ``None`` is returned.\n\n The three values in the tuple represent:\n\n - the next incoming message on the message queue as bytes.\n - the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n - a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\n For example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\n This function is useful for providing information needed for triangulation\n and/or trilateration with other micro:bit devices.\n\n :return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\n \"\"\"\n ...\n", - "/typeshed/stdlib/random.pyi": "\"\"\"Generate random numbers.\n\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"Generate an integer with ``n`` random bits.\n\n Example: ``random.getrandbits(1)``\n\n :param n: A value between 1-30 (inclusive).\n \"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Initialize the random number generator.\n\n Example: ``random.seed(0)``\n\n :param n: The integer seed\n\n This will give you reproducibly deterministic randomness from a given starting\n state (``n``).\n \"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"Choose a random integer between ``a`` and ``b`` inclusive.\n\n Example: ``random.randint(0, 9)``\n\n :param a: Start value for the range (inclusive)\n :param b: End value for the range (inclusive)\n\n Alias for ``randrange(a, b + 1)``.\n \"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"Choose a randomly selected integer between zero and up to (but not\n including) ``stop``.\n\n Example: ``random.randrange(10)``\n\n :param stop: End value for the range (exclusive)\n \"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int = 1) -> int:\n \"\"\"\n Choose a randomly selected element from ``range(start, stop, step)``.\n\n Example: ``random.randrange(0, 10)``\n\n :param start: The start of the range (inclusive)\n :param stop: The end of the range (exclusive)\n :param step: The step.\n \"\"\"\n ...\n\n_T = TypeVar(\"_T\")\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"Choose a random element from the non-empty sequence ``seq``.\n\n Example: ``random.choice([Image.HAPPY, Image.SAD])``\n\n :param seq: A sequence.\n\n If ``seq`` is empty, raises ``IndexError``.\n \"\"\"\n ...\n\ndef random() -> float:\n \"\"\"Generate a random floating point number in the range [0.0, 1.0).\n\n Example: ``random.random()``\n\n :return: The random floating point number\n \"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"\n Return a random floating point number between ``a`` and ``b`` inclusive.\n\n Example: ``random.uniform(0, 9)``\n\n :param a: Start value for the range (inclusive)\n :param b: End value for the range (inclusive)\n \"\"\"\n ...\n", - "/typeshed/stdlib/speech.pyi": "\"\"\"Make the micro:bit talk, sing and make other speech like sounds.\n\"\"\"\n\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"Translate English words to phonemes.\n\n Example: ``speech.translate('hello world')``\n\n :param words: A string of English words.\n :return: A string containing a best guess at the appropriate phonemes to pronounce.\n The output is generated from this `text to phoneme translation table `_.\n\n This function should be used to generate a first approximation of phonemes\n that can be further hand-edited to improve accuracy, inflection and\n emphasis.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef pronounce(\n phonemes: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: Optional[MicroBitDigitalPin] = pin0,\n) -> None:\n \"\"\"Pronounce phonemes.\n\n Example: ``speech.pronounce(' /HEHLOW WERLD')``\n\n :param phonemes: The string of phonemes to pronounce\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n Override the optional pitch, speed, mouth and throat settings to change the\n timbre (quality) of the voice.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef say(\n words: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: MicroBitDigitalPin = pin0,\n) -> None:\n \"\"\"Say English words.\n\n Example: ``speech.say('hello world')``\n\n :param words: The string of words to say.\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n The result is semi-accurate for English. Override the optional pitch, speed,\n mouth and throat settings to change the timbre (quality) of the voice.\n\n This is a short-hand equivalent of:\n ``speech.pronounce(speech.translate(words))``\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef sing(\n phonemes: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: MicroBitDigitalPin = pin0,\n) -> None:\n \"\"\"Sing phonemes.\n\n Example: ``speech.sing(' /HEHLOW WERLD')``\n\n :param phonemes: The string of words to sing.\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n Override the optional pitch, speed, mouth and throat settings to change\n the timbre (quality) of the voice.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n", - "/typeshed/stdlib/struct.pyi": "\"\"\"Pack and unpack primitive data types.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"Get the number of bytes needed to store the given ``fmt``.\n\n Example: ``struct.calcsize('hf')``\n\n :param fmt: A format string.\n :return The number of bytes needed to store such a value.\n \"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"Pack values according to a format string.\n\n Example: ``struct.pack('hf', 1, 3.1415)``\n\n :param fmt: The format string.\n :param v1: The first value.\n :param *vn: The remaining values.\n :return A bytes object encoding the values.\n \"\"\"\n ...\n\ndef pack_into(\n fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any\n) -> None:\n \"\"\"Pack values according to a format string.\n\n Example: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n :param fmt: The format string.\n :param buffer: The target buffer to write into.\n :param offset: The offset into the buffer. May be negative to count from the end of the buffer.\n :param v1: The first value.\n :param *vn: The remaining values.\n \"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"Unpack data according to a format string.\n\n Example: ``v1, v2 = struct.unpack('hf', buffer)``\n\n :param fmt: The format string.\n :param data: The data.\n :return: A tuple of the unpacked values.\n \"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int = 0) -> Tuple:\n \"\"\"Unpack data from a buffer according to a format string.\n\n Example: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n :param fmt: The format string.\n :param buffer: The source buffer to read from.\n :param offset: The offset into the buffer. May be negative to count from the end of the buffer.\n :return: A tuple of the unpacked values.\n \"\"\"\n ...\n", - "/typeshed/stdlib/sys.pyi": "\"\"\"System specific functions\"\"\"\n\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object = ...) -> NoReturn:\n \"\"\"Terminate current program with a given exit code.\n\n Example: ``sys.exit(1)``\n\n This function raises a ``SystemExit`` exception. If an argument is given, its\n value given as an argument to ``SystemExit``.\n\n :param retval: The exit code or message.\n \"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"\n Print an exception with a traceback.\n\n Example: ``sys.print_exception(e)``\n\n :param exc: The exception to print\n\n This is simplified version of a function which appears in the\n ``traceback`` module in CPython.\n \"\"\"\n\nargv: List[str]\n\"\"\"A mutable list of arguments the current program was started with.\"\"\"\n\nbyteorder: str\n\"\"\"The byte order of the system (``\"little\"`` or ``\"big\"``).\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\n\nimplementation: _implementation\n\"\"\"Object with information about the current Python implementation.\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\n\nmaxsize: int\n\"\"\"\nMaximum value which a native integer type can hold on the current platform,\nor maximum value representable by MicroPython integer type, if it's smaller\nthan platform max value (that is the case for MicroPython ports without\nlong int support).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\n\nmodules: Dict[str, Any]\n\"\"\"Dictionary of loaded modules. \n\nOn some ports, it may not include builtin modules.\"\"\"\n\npath: List[str]\n\"\"\"A mutable list of directories to search for imported modules.\"\"\"\n\nplatform: str\n\"\"\"The platform that MicroPython is running on. \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\n\nversion: str\n\"\"\"Python language version that this implementation conforms to, as a string.\"\"\"\n\nversion_info: Tuple[int, int, int]\n\"\"\"Python language version that this implementation conforms to, as a tuple of ints.\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"\n", + "/typeshed/stdlib/radio.pyi": "\"\"\"\u5185\u8535\u306e\u7121\u7dda\u901a\u4fe1\u3092\u4f7f\u3063\u305fmicro:bit\u9593\u306e\u901a\u4fe1\u3002\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"1 MBit/\u79d2\u306e\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u3092\u793a\u3059\u305f\u3081\u306b\u4f7f\u308f\u308c\u308b\u5b9a\u6570\u3002\"\"\"\nRATE_2MBIT: int\n\"\"\"2 MBit/\u79d2\u306e\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u3092\u793a\u3059\u305f\u3081\u306b\u4f7f\u308f\u308c\u308b\u5b9a\u6570\u3002\"\"\"\n\ndef on() -> None:\n \"\"\"\u7121\u7dda\u901a\u4fe1\u3092\u30aa\u30f3\u306b\u3057\u307e\u3059\u3002\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"\u7121\u7dda\u901a\u4fe1\u3092\u30aa\u30d5\u306b\u3057\u3066\u3001\u96fb\u529b\u3068\u30e1\u30e2\u30ea\u3092\u7bc0\u7d04\u3057\u307e\u3059\u3002\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"\u7121\u7dda\u901a\u4fe1\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (\u30c7\u30d5\u30a9\u30eb\u30c8=32)\\u3000\u7121\u7dda\u3092\u4ecb\u3057\u3066\u9001\u4fe1\u3055\u308c\u308b\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u30d0\u30a4\u30c8\u5358\u4f4d\u306e\u6700\u5927\u9577\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\u6700\u5927\u3067 251 \u30d0\u30a4\u30c8\uff08S0\u3001\u9577\u3055\u3001S1 \u30d7\u30ea\u30a2\u30f3\u30d6\u30eb\u306f254 \u304b\u3089 3 \u3092\u5f15\u3044\u305f\u30d0\u30a4\u30c8\u6570\uff09\u306b\u8a2d\u5b9a\u3067\u304d\u307e\u3059\u3002\n:param queue: (\u30c7\u30d5\u30a9\u30eb\u30c8=3)\\u3000\u53d7\u4fe1\u30e1\u30c3\u30bb\u30fc\u30b8\u30ad\u30e5\u30fc\u306b\u683c\u7d0d\u3067\u304d\u308b\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u6570\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\n\u7740\u4fe1\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u30ad\u30e5\u30fc\u306b\u7a7a\u304d\u304c\u306a\u3044\u5834\u5408\u3001\u7740\u4fe1\u30e1\u30c3\u30bb\u30fc\u30b8\u306f\u6368\u3066\u3089\u308c\u307e\u3059\u3002\n:param channel: (\u30c7\u30d5\u30a9\u30eb\u30c8=7)\\u3000\u7121\u7dda\u304c\u540c\u8abf\u3055\u308c\u3066\u3044\u308b\u4efb\u610f\u306e\u300c\u30c1\u30e3\u30cd\u30eb\u300d\u3092\u5b9a\u7fa9\u3059\u308b\u3082\u306e\u3067\u30010 \u304b\u3089 83 \u307e\u3067\u306e\u6574\u6570\u5024\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u3059\u3002\u30e1\u30c3\u30bb\u30fc\u30b8\u306f\u3053\u306e\u30c1\u30e3\u30cd\u30eb\u7d4c\u7531\u3067\u9001\u4fe1\u3055\u308c\u3001\u3053\u306e\u30c1\u30e3\u30cd\u30eb\u7d4c\u7531\u3067\u53d7\u4fe1\u3057\u305f\u30e1\u30c3\u30bb\u30fc\u30b8\u3060\u3051\u304c\u53d7\u4fe1\u30e1\u30c3\u30bb\u30fc\u30b8\u30ad\u30e5\u30fc\u306b\u5165\u308c\u3089\u308c\u307e\u3059\u3002\u5404\u30b9\u30c6\u30c3\u30d7\u306f 1MHz \u5e45\u3067\u30012400MHz \u3092\u57fa\u6e96\u306b\u3057\u3066\u3044\u307e\u3059\u3002\n:param power: (\u30c7\u30d5\u30a9\u30eb\u30c8=6)\\u3000\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u30d6\u30ed\u30fc\u30c9\u30ad\u30e3\u30b9\u30c8\u3059\u308b\u3068\u304d\u306b\u4f7f\u7528\u3055\u308c\u308b\u4fe1\u53f7\u306e\u5f37\u5ea6\u3092\u793a\u3059\u3082\u306e\u3067\u30010 \u304b\u3089 7 \u307e\u3067\u306e\u6574\u6570\u5024\uff08\u6307\u5b9a\u306e\u5024\u3092\u542b\u3080\u3002\uff09\u3092\u8a2d\u5b9a\u3067\u304d\u3067\u3059\u3002\n\u5024\u304c\u9ad8\u3044\u307b\u3069\u4fe1\u53f7\u306f\u5f37\u304f\u306a\u308a\u307e\u3059\u304c\u3001\u30c7\u30d0\u30a4\u30b9\u304c\u6d88\u8cbb\u3059\u308b\u96fb\u529b\u304c\u5927\u304d\u304f\u306a\u308a\u307e\u3059\u3002\u6307\u5b9a\u306e\u756a\u53f7\u306f\u6b21\u306e\u30ea\u30b9\u30c8\u306e dBm\uff08\u30c7\u30b7\u30d9\u30eb\u30df\u30ea\u30ef\u30c3\u30c8\uff09\u5024\u306e\u4f4d\u7f6e\u306b\u5909\u63db\u3055\u308c\u307e\u3059: -30, -20, -16, -12, -8, -4, 0, 4 \u3002\n:param address: (\u30c7\u30d5\u30a9\u30eb\u30c8=0x75626974)\\u300032 \u30d3\u30c3\u30c8\u306e\u30a2\u30c9\u30ec\u30b9\u3068\u3057\u3066\u8868\u3055\u308c\u308b\u4efb\u610f\u306e\u540d\u524d\u3067\u3042\u308a\u3001\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u30ec\u30d9\u30eb\u3067\u7740\u4fe1\u30d1\u30b1\u30c3\u30c8\u3092\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u306f\u30e6\u30fc\u30b6\u30fc\u304c\u8a2d\u5b9a\u3057\u305f\u30a2\u30c9\u30ec\u30b9\u3068\u4e00\u81f4\u3059\u308b\u3082\u306e\u306e\u307f\u3092\u7dad\u6301\u3057\u307e\u3059\u3002\n\u4ed6\u306emicro:bit\u95a2\u9023\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u4f7f\u308f\u308c\u308b\u30c7\u30d5\u30a9\u30eb\u30c8\u306f\u3001\u3053\u3053\u3067\u4f7f\u308f\u308c\u308b\u30c7\u30d5\u30a9\u30eb\u30c8\u8a2d\u5b9a\u3068\u306a\u3063\u3066\u3044\u307e\u3059\u3002\n:param group: (\u30c7\u30d5\u30a9\u30eb\u30c8=0)\\u30008\u30d3\u30c3\u30c8\u306e\u5024\uff080\u301c255\uff09\u3067\u3042\u308a\u3001 ``address`` \u30d5\u30a3\u30eb\u30bf\u3057\u305f\u30e1\u30c3\u30bb\u30fc\u30b8\u3067\u4f7f\u3044\u307e\u3059\u3002\n\u6982\u5ff5\u7684\u306b\u300caddress\u300d\u306f\u81ea\u5b85/\u4e8b\u52d9\u6240\u306e\u4f4f\u6240\u306e\u3088\u3046\u306a\u3082\u306e\u3067\u3042\u308a\u3001\u300cgroup\u300d\u306f\u305d\u306e\u4f4f\u6240\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u53d7\u3051\u53d6\u4eba\u306e\u3088\u3046\u306a\u3082\u306e\u3067\u3059\u3002\n:param data_rate: (\u30c7\u30d5\u30a9\u30eb\u30c8=``radio.RATE_1MBIT``)\\u3000\u30c7\u30fc\u30bf\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u304c\u8d77\u3053\u308b\u901f\u5ea6\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002\n``radio`` \u30e2\u30b8\u30e5\u30fc\u30eb\u306b\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u5b9a\u6570 ``RATE_250KBIT``\u3001``RATE_1MBIT``\u3001``RATE_2MBIT`` \u306e\u3044\u305a\u308c\u304b\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"\u8a2d\u5b9a\u3092\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306b\u30ea\u30bb\u30c3\u30c8\u3057\u307e\u3059\u3002\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"\u30d0\u30a4\u30c8\u5217\u3092\u542b\u3093\u3060\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9001\u4fe1\u3057\u307e\u3059\u3002\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: \u9001\u4fe1\u3059\u308b\u30d0\u30a4\u30c8\u5217\u3002\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"\u30e1\u30c3\u30bb\u30fc\u30b8\u30ad\u30e5\u30fc\u306b\u3042\u308b\u6b21\u306e\u7740\u4fe1\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u53d7\u4fe1\u3057\u307e\u3059\u3002\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"\u30e1\u30c3\u30bb\u30fc\u30b8\u30ad\u30e5\u30fc\u306b\u3042\u308b\u6b21\u306e\u7740\u4fe1\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u30d0\u30c3\u30d5\u30a1\u306b\u30b3\u30d4\u30fc\u3057\u307e\u3059\u3002\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: \u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u683c\u7d0d\u3059\u308b\u30d0\u30c3\u30d5\u30a1\u3002\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u30d0\u30c3\u30d5\u30a1\u3088\u308a\u5927\u304d\u3044\u5834\u5408\u3001\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u53ce\u307e\u3089\u306a\u3044\u90e8\u5206\u304c\u5207\u308a\u6368\u3066\u3089\u308c\u307e\u3059\u3002\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"\u30e1\u30c3\u30bb\u30fc\u30b8\u6587\u5b57\u5217\u3092\u9001\u4fe1\u3057\u307e\u3059\u3002\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: \u9001\u4fe1\u3059\u308b\u6587\u5b57\u5217\u3002\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"``receive_bytes`` \u3068\u540c\u3058\u3088\u3046\u306b\u52d5\u4f5c\u3057\u307e\u3059\u304c\u3001\u9001\u4fe1\u3055\u308c\u3066\u304d\u305f\u3082\u306e\u306f\u3059\u3079\u3066\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"\u30e1\u30c3\u30bb\u30fc\u30b8\u30ad\u30e5\u30fc\u306b\u3042\u308b\u6b21\u306e\u53d7\u4fe1\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u8868\u30593\u3064\u306e\u5024\u3092\u30bf\u30d7\u30eb\u3067\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", + "/typeshed/stdlib/random.pyi": "\"\"\"\u4e71\u6570\u3092\u751f\u6210\u3057\u307e\u3059\u3002\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"``n`` \u4e71\u6570\u30d3\u30c3\u30c8\u6570\u3092\u6301\u3064\u6574\u6570\u3092\u751f\u6210\u3057\u307e\u3059\u3002\n\nExample: ``random.getrandbits(1)``\n\n:param n: 1\uff5e30\u306e\u5024\uff08\u6307\u5b9a\u306e\u5024\u3092\u542b\u307f\u307e\u3059\uff09\u3002\"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"\u4e71\u6570\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u3092\u521d\u671f\u5316\u3057\u307e\u3059\u3002\n\nExample: ``random.seed(0)``\n\n:param n: \u6574\u6570\u30b7\u30fc\u30c9\n\nThis will give you reproducibly deterministic randomness from a given starting\nstate (``n``).\"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"``a`` \u304b\u3089 ``b`` \u306e\u533a\u9593\u5185\u306e\u30e9\u30f3\u30c0\u30e0\u306a\u6574\u6570\u5024\u3092\u8fd4\u3057\u307e\u3059\uff08\u6307\u5b9a\u306e\u5024\u3092\u542b\u307f\u307e\u3059\uff09\u3002\n\nExample: ``random.randint(0, 9)``\n\n:param a: (A) \u4e71\u6570\u533a\u9593\u306e\u958b\u59cb\u5024\uff08\u6307\u5b9a\u306e\u5024\u3092\u542b\u307f\u307e\u3059\uff09\n:param b: \u4e71\u6570\u533a\u9593\u306e\u7d42\u4e86\u5024\uff08\u6307\u5b9a\u306e\u5024\u3092\u542b\u307f\u307e\u3059\uff09\n\nAlias for ``randrange(a, b + 1)``.\"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"0 \u304b\u3089 ``stop`` \u672a\u6e80\u307e\u3067\u306e\u9593\u3067\u7121\u4f5c\u70ba\u306b\u9078\u629e\u3055\u308c\u305f\u6574\u6570\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``random.randrange(10)``\n\n:param stop: \u4e71\u6570\u533a\u9593\u306e\u7d42\u4e86\u5024\uff08\u6307\u5b9a\u306e\u5024\u3092\u542b\u307f\u307e\u305b\u3093\uff09\"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int=1) -> int:\n \"\"\"``range(start, stop, step)`` \u304b\u3089\u7121\u4f5c\u70ba\u306b\u9078\u629e\u3055\u308c\u305f\u6574\u6570\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``random.randrange(0, 10)``\n\n:param start: \u4e71\u6570\u533a\u9593\u306e\u958b\u59cb\u5024\uff08\u6307\u5b9a\u306e\u5024\u3092\u542b\u307f\u307e\u3059\uff09\n:param stop: \u4e71\u6570\u533a\u9593\u306e\u7d42\u4e86\u5024\uff08\u6307\u5b9a\u306e\u5024\u3092\u542b\u307f\u307e\u305b\u3093\uff09\n:param step: \u30b9\u30c6\u30c3\u30d7\u5024\u3002\"\"\"\n ...\n_T = TypeVar('_T')\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"\u7a7a\u3067\u306a\u3044\u30b7\u30fc\u30b1\u30f3\u30b9 ``seq`` \u304b\u3089\u30e9\u30f3\u30c0\u30e0\u306a\u8981\u7d20\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``random.choice([Image.HAPPY, Image.SAD])``\n\n:param seq: \u30b7\u30fc\u30b1\u30f3\u30b9\u3002\n\nIf ``seq`` is empty, raises ``IndexError``.\"\"\"\n ...\n\ndef random() -> float:\n \"\"\"0.0 \u4ee5\u4e0a\u30011.0 \u672a\u6e80\u306e\u533a\u9593\u304b\u3089\u7121\u4f5c\u70ba\u306b\u9078\u629e\u3055\u308c\u305f\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3092\u751f\u6210\u3057\u307e\u3059\u3002\n\nExample: ``random.random()``\n\n:return: The random floating point number\"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"``a`` \u304b\u3089 ``b`` \u306e\u533a\u9593\u5185\u306e\u30e9\u30f3\u30c0\u30e0\u306a\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3092\u8fd4\u3057\u307e\u3059\uff08\u6307\u5b9a\u306e\u5024\u3092\u542b\u307f\u307e\u3059\uff09\u3002\n\nExample: ``random.uniform(0, 9)``\n\n:param a: (A) \u4e71\u6570\u533a\u9593\u306e\u958b\u59cb\u5024\uff08\u6307\u5b9a\u306e\u5024\u3092\u542b\u307f\u307e\u3059\uff09\n:param b: \u4e71\u6570\u533a\u9593\u306e\u7d42\u4e86\u5024\uff08\u6307\u5b9a\u306e\u5024\u3092\u542b\u307f\u307e\u3059\uff09\"\"\"\n ...", + "/typeshed/stdlib/speech.pyi": "\"\"\"micro:bit \u306b\u8a71\u3055\u305b\u305f\u308a\u3001\u6b4c\u308f\u305b\u305f\u308a\u3001\u305d\u306e\u4ed6\u306e\u97f3\u58f0\u306e\u3088\u3046\u306a\u30b5\u30a6\u30f3\u30c9\u3092\u4f5c\u3089\u305b\u305f\u308a\u3057\u307e\u3059\u3002\"\"\"\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"\u82f1\u5358\u8a9e\u306e\u4e26\u3073\u3092\u97f3\u7d20\u306b\u5909\u63db\u3057\u307e\u3059\u3002\n\nExample: ``speech.translate('hello world')``\n\n:param words: \u82f1\u5358\u8a9e\u306e\u4e26\u3073\u306e\u6587\u5b57\u5217\u3002\n:return: A string containing a best guess at the appropriate phonemes to pronounce.\nThe output is generated from this `text to phoneme translation table `_.\n\nThis function should be used to generate a first approximation of phonemes\nthat can be further hand-edited to improve accuracy, inflection and\nemphasis.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef pronounce(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"\u97f3\u7d20\u3092\u767a\u58f0\u3057\u307e\u3059\u3002\n\nExample: ``speech.pronounce(' /HEHLOW WERLD')``\n\n:param phonemes: \u767a\u97f3\u3059\u308b\u97f3\u7d20\u306e\u6587\u5b57\u5217\n:param pitch: \u97f3\u58f0\u306e\u97f3\u9ad8\u3092\u8868\u3059\u6570\u5024\n:param speed: \u97f3\u58f0\u306e\u901f\u5ea6\u3092\u8868\u3059\u6570\u5024\n:param mouth: \u97f3\u58f0\u306e\u53e3\u306e\u52d5\u304d\u3092\u8868\u3059\u6570\u5024\n:param throat: \u97f3\u58f0\u306e\u5589\u306e\u52d5\u304d\u3092\u8868\u3059\u6570\u5024\n:param pin: (\u30d4\u30f3) \u51fa\u529b\u7aef\u5b50\u3092\u30c7\u30d5\u30a9\u30eb\u30c8\u306e ``pin0`` \u304b\u3089\u5909\u3048\u308b\u305f\u3081\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u5f15\u6570\u3002\n\u97f3\u3092\u9cf4\u3089\u3057\u305f\u304f\u306a\u3044\u5834\u5408\u306f ``pin=None`` \u3092\u6307\u5b9a\u3057\u307e\u3059\u3002micro:bit V2 \u306e\u307f\u3067\u4f7f\u3048\u307e\u3059\u3002\n\nOverride the optional pitch, speed, mouth and throat settings to change the\ntimbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef say(words: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"\u82f1\u5358\u8a9e\u306e\u4e26\u3073\u3092\u767a\u58f0\u3057\u307e\u3059\u3002\n\nExample: ``speech.say('hello world')``\n\n:param words: \u767a\u58f0\u3059\u308b\u8a00\u8449\u306e\u6587\u5b57\u5217\u3002\n:param pitch: \u97f3\u58f0\u306e\u97f3\u9ad8\u3092\u8868\u3059\u6570\u5024\n:param speed: \u97f3\u58f0\u306e\u901f\u5ea6\u3092\u8868\u3059\u6570\u5024\n:param mouth: \u97f3\u58f0\u306e\u53e3\u306e\u52d5\u304d\u3092\u8868\u3059\u6570\u5024\n:param throat: \u97f3\u58f0\u306e\u5589\u306e\u52d5\u304d\u3092\u8868\u3059\u6570\u5024\n:param pin: (\u30d4\u30f3) \u51fa\u529b\u7aef\u5b50\u3092\u30c7\u30d5\u30a9\u30eb\u30c8\u306e ``pin0`` \u304b\u3089\u5909\u3048\u308b\u305f\u3081\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u5f15\u6570\u3002\n\u97f3\u3092\u9cf4\u3089\u3057\u305f\u304f\u306a\u3044\u5834\u5408\u306f ``pin=None`` \u3092\u6307\u5b9a\u3057\u307e\u3059\u3002micro:bit V2 \u306e\u307f\u3067\u4f7f\u3048\u307e\u3059\u3002\n\nThe result is semi-accurate for English. Override the optional pitch, speed,\nmouth and throat settings to change the timbre (quality) of the voice.\n\nThis is a short-hand equivalent of:\n``speech.pronounce(speech.translate(words))``\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef sing(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"\u97f3\u7d20\u3092\u6b4c\u3044\u307e\u3059\u3002\n\nExample: ``speech.sing(' /HEHLOW WERLD')``\n\n:param phonemes: \u6b4c\u3046\u8a00\u8449\u306e\u6587\u5b57\u5217\u3002\n:param pitch: \u97f3\u58f0\u306e\u97f3\u9ad8\u3092\u8868\u3059\u6570\u5024\n:param speed: \u97f3\u58f0\u306e\u901f\u5ea6\u3092\u8868\u3059\u6570\u5024\n:param mouth: \u97f3\u58f0\u306e\u53e3\u306e\u52d5\u304d\u3092\u8868\u3059\u6570\u5024\n:param throat: \u97f3\u58f0\u306e\u5589\u306e\u52d5\u304d\u3092\u8868\u3059\u6570\u5024\n:param pin: (\u30d4\u30f3) \u51fa\u529b\u7aef\u5b50\u3092\u30c7\u30d5\u30a9\u30eb\u30c8\u306e ``pin0`` \u304b\u3089\u5909\u3048\u308b\u305f\u3081\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u5f15\u6570\u3002\n\u97f3\u3092\u9cf4\u3089\u3057\u305f\u304f\u306a\u3044\u5834\u5408\u306f ``pin=None`` \u3092\u6307\u5b9a\u3057\u307e\u3059\u3002micro:bit V2 \u306e\u307f\u3067\u4f7f\u3048\u307e\u3059\u3002\n\nOverride the optional pitch, speed, mouth and throat settings to change\nthe timbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...", + "/typeshed/stdlib/struct.pyi": "\"\"\"\u30d7\u30ea\u30df\u30c6\u30a3\u30d6\u30c7\u30fc\u30bf\u578b\u306e\u30d1\u30c3\u30af\u3068\u30a2\u30f3\u30d1\u30c3\u30af\u3002\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"\u6307\u5b9a\u3057\u305f ``fmt`` \u3067\u683c\u7d0d\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a\u30d0\u30a4\u30c8\u6570\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``struct.calcsize('hf')``\n\n:param fmt: \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u6587\u5b57\u5217\u3002\n:return The number of bytes needed to store such a value.\"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u6587\u5b57\u5217\u306b\u3057\u305f\u304c\u3063\u3066\u8907\u6570\u306e\u5024\u3092\u30d1\u30c3\u30af\u3057\u307e\u3059\u3002\n\nExample: ``struct.pack('hf', 1, 3.1415)``\n\n:param fmt: \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u6587\u5b57\u5217\u3002\n:param v1: \u5148\u982d\u306e\u5024\u3002\n:param *vn: \u6b8b\u308a\u306e\u5024\u3002\n:return A bytes object encoding the values.\"\"\"\n ...\n\ndef pack_into(fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any) -> None:\n \"\"\"\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u6587\u5b57\u5217\u306b\u3057\u305f\u304c\u3063\u3066\u8907\u6570\u306e\u5024\u3092\u30d1\u30c3\u30af\u3057\u307e\u3059\u3002\n\nExample: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n:param fmt: \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u6587\u5b57\u5217\u3002\n:param buffer: \u66f8\u304d\u8fbc\u307f\u5148\u306e\u30d0\u30c3\u30d5\u30a1\u3002\n:param offset: \u30d0\u30c3\u30d5\u30a1\u306e\u30aa\u30d5\u30bb\u30c3\u30c8\u3002\u8ca0\u306e\u5834\u5408\u306f\u30d0\u30c3\u30d5\u30a1\u306e\u6700\u5f8c\u304b\u3089\u306e\u30aa\u30d5\u30bb\u30c3\u30c8\u306b\u306a\u308a\u307e\u3059\u3002\n:param v1: \u5148\u982d\u306e\u5024\u3002\n:param *vn: \u6b8b\u308a\u306e\u5024\u3002\"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u6587\u5b57\u5217\u306b\u3057\u305f\u304c\u3063\u3066\u30c7\u30fc\u30bf\u3092\u30a2\u30f3\u30d1\u30c3\u30af\u3057\u307e\u3059\u3002\n\nExample: ``v1, v2 = struct.unpack('hf', buffer)``\n\n:param fmt: \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u6587\u5b57\u5217\u3002\n:param data: \u30c7\u30fc\u30bf\u3002\n:return: A tuple of the unpacked values.\"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int=0) -> Tuple:\n \"\"\"\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u6587\u5b57\u5217\u306b\u3057\u305f\u304c\u3063\u3066\u30d0\u30c3\u30d5\u30a1\u304b\u3089\u30c7\u30fc\u30bf\u3092\u30a2\u30f3\u30d1\u30c3\u30af\u3057\u307e\u3059\u3002\n\nExample: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n:param fmt: \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u6587\u5b57\u5217\u3002\n:param buffer: \u8aad\u307f\u8fbc\u307f\u5143\u306e\u30d0\u30c3\u30d5\u30a1\u3002\n:param offset: \u30d0\u30c3\u30d5\u30a1\u306e\u30aa\u30d5\u30bb\u30c3\u30c8\u3002\u8ca0\u306e\u5834\u5408\u306f\u30d0\u30c3\u30d5\u30a1\u306e\u6700\u5f8c\u304b\u3089\u306e\u30aa\u30d5\u30bb\u30c3\u30c8\u306b\u306a\u308a\u307e\u3059\u3002\n:return: A tuple of the unpacked values.\"\"\"\n ...", + "/typeshed/stdlib/sys.pyi": "\"\"\"\u30b7\u30b9\u30c6\u30e0\u56fa\u6709\u95a2\u6570\u3002\"\"\"\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object=...) -> NoReturn:\n \"\"\"\u4e0e\u3048\u305f\u7d42\u4e86\u30b3\u30fc\u30c9\u3067\u73fe\u5728\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u7d42\u4e86\u3057\u307e\u3059\u3002\n\nExample: ``sys.exit(1)``\n\nThis function raises a ``SystemExit`` exception. If an argument is given, its\nvalue given as an argument to ``SystemExit``.\n\n:param retval: \u7d42\u4e86\u30b3\u30fc\u30c9\u307e\u305f\u306f\u30e1\u30c3\u30bb\u30fc\u30b8\u3002\"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"\u4f8b\u5916\u3092\u30c8\u30ec\u30fc\u30b9\u30d0\u30c3\u30af\u4ed8\u304d\u3067\u51fa\u529b\u3057\u307e\u3059\u3002\n\nExample: ``sys.print_exception(e)``\n\n:param exc: \u8868\u793a\u3059\u308b\u4f8b\u5916\n\nThis is simplified version of a function which appears in the\n``traceback`` module in CPython.\"\"\"\nargv: List[str]\n\"\"\"\u73fe\u5728\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u958b\u59cb\u6642\u306e\u5f15\u6570\u306e\u5909\u66f4\u53ef\u80fd\u306a\u30ea\u30b9\u30c8\u3002\"\"\"\nbyteorder: str\n\"\"\"\u30b7\u30b9\u30c6\u30e0\u306e\u30d0\u30a4\u30c8\u9806\uff08``\"little\"`` \u307e\u305f\u306f ``\"big\"``\uff09\u3002\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\nimplementation: _implementation\n\"\"\"\u73fe\u5728\u306e Python \u51e6\u7406\u7cfb\u306b\u95a2\u3059\u308b\u60c5\u5831\u3092\u6301\u3064\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3002\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\nmaxsize: int\n\"\"\"\n\u73fe\u5728\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u30cd\u30a4\u30c6\u30a3\u30d6\u6574\u6570\u578b\u304c\u4fdd\u6301\u3067\u304d\u308b\u6700\u5927\u5024\u3001\u307e\u305f\u306f\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u306e\u6700\u5927\u5024\u3088\u308a\u5c0f\u3055\u3044\u5834\u5408\u306f MicroPython \u6574\u6570\u578b\u3067\u8868\u73fe\u53ef\u80fd\u306a\u6700\u5927\u5024\uff08MicroPython \u30dd\u30fc\u30c8\u3067 \u9577\u6574\u6570\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u306a\u3044\u3068\u3057\u305f\u5834\u5408\uff09\u3002\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\nmodules: Dict[str, Any]\n\"\"\"\u8aad\u307f\u8fbc\u307e\u308c\u305f\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u8f9e\u66f8\u3002 \n\nOn some ports, it may not include builtin modules.\"\"\"\npath: List[str]\n\"\"\"\u30a4\u30f3\u30dd\u30fc\u30c8\u3059\u308b\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u691c\u7d22\u3059\u308b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u5909\u66f4\u53ef\u80fd\u306a\u30ea\u30b9\u30c8\u3002\"\"\"\nplatform: str\n\"\"\"MicroPython \u304c\u5b9f\u884c\u3055\u308c\u3066\u3044\u308b\u30d7\u30e9\\u200b\\u200b\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3002 \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\nversion: str\n\"\"\"\u3053\u306e\u51e6\u7406\u7cfb\u304c\u6e96\u62e0\u3059\u308bPython\u8a00\u8a9e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u8868\u3059\u6587\u5b57\u5217\u3002\"\"\"\nversion_info: Tuple[int, int, int]\n\"\"\"\u3053\u306e\u5b9f\u88c5\u304c\u6e96\u62e0\u3057\u3066\u3044\u308bPython\u8a00\u8a9e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u8868\u3059int\u306e\u30bf\u30d7\u30eb\u3002\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"", "/typeshed/stdlib/this.pyi": "def authors() -> str: ...\n", - "/typeshed/stdlib/time.pyi": "\"\"\"Measure time and add delays to programs.\n\"\"\"\n\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"\n Delay a number of seconds.\n\n Example: ``time.sleep(1)``\n\n :param seconds: The number of seconds to sleep for.\n Use a floating-point number to sleep for a fractional number of seconds.\n \"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"\n Delay for given number of milliseconds.\n\n Example: ``time.sleep_ms(1_000_000)``\n\n :param ms: The number of milliseconds delay (>= 0).\n \"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"\n Delay for given number of microseconds.\n\n Example: ``time.sleep_us(1000)``\n\n :param us: The number of microseconds delay (>= 0).\n \"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"\n Get an increasing, millisecond counter with an arbitrary reference point,\n that wraps around after some value.\n\n Example: ``time.ticks_ms()``\n\n :return: The counter value in milliseconds.\n \"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"\n Get an increasing, microsecond counter with an arbitrary reference point,\n that wraps around after some value.\n\n Example: ``time.ticks_us()``\n\n :return: The counter value in microseconds.\n \"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"\n Offset ticks value by a given number, which can be either positive or\n negative.\n\n Example: ``time.ticks_add(time.ticks_ms(), 200)``\n\n Given a ticks value, this function allows to calculate ticks\n value delta ticks before or after it, following modular-arithmetic\n definition of tick values.\n\n :param ticks: A ticks value\n :param delta: An integer offset\n\n Example::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\n \"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"\n Measure ticks difference between values returned from\n ``time.ticks_ms()`` or ``ticks_us()``, as a signed value\n which may wrap around.\n\n Example: ``time.ticks_diff(scheduled_time, now)``\n\n :param ticks1: The value to subtract from\n :param ticks2: The value to subtract\n\n The argument order is the same as for subtraction operator,\n ``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n ``ticks_diff()`` is designed to accommodate various usage\n patterns, among them:\n\n Polling with timeout. In this case, the order of events is known, and you\n will deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\n Scheduling events. In this case, :func:`time.ticks_diff()` result may be\n negative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\n \"\"\"\n ...\n", + "/typeshed/stdlib/time.pyi": "\"\"\"\u6642\u9593\u306e\u6e2c\u5b9a\u3068\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u9045\u5ef6\u3002\"\"\"\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"\u6307\u5b9a\u3057\u305f\u79d2\u6570\u3060\u3051\u9045\u5ef6\u3057\u307e\u3059\u3002\n\nExample: ``time.sleep(1)``\n\n:param seconds: \u30b9\u30ea\u30fc\u30d7\u3059\u308b\u79d2\u6570\u3002\n\u79d2\u3088\u308a\u7d30\u304b\u3044\u7cbe\u5ea6\u3067\u6307\u5b9a\u3057\u305f\u3044\u5834\u5408\u306f\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3092\u4f7f\u3063\u3066\u304f\u3060\u3055\u3044\u3002\"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"\u6307\u5b9a\u3057\u305f\u30df\u30ea\u79d2\u3060\u3051\u9045\u5ef6\u3057\u307e\u3059\u3002\n\nExample: ``time.sleep_ms(1_000_000)``\n\n:param ms: \u9045\u5ef6\u3059\u308b\u30df\u30ea\u79d2\u6570\uff08>= 0\uff09\u3002\"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"\u6307\u5b9a\u3057\u305f\u30de\u30a4\u30af\u30ed\u79d2\u3060\u3051\u9045\u5ef6\u3057\u307e\u3059\u3002\n\nExample: ``time.sleep_us(1000)``\n\n:param us: \u9045\u5ef6\u3059\u308b\u30de\u30a4\u30af\u30ed\u79d2\u6570\uff08>= 0\uff09\u3002\"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"\u547c\u51fa\u3057\u6642\u70b9\u3067\u306e\u7a3c\u50cd\u6642\u9593\u3092\u30df\u30ea\u79d2\u5358\u4f4d\u3067\u53d6\u5f97\u3057\u307e\u3059\u3002\u7a3c\u50cd\u6642\u9593\u306f\u6700\u5927\u5024\u306b\u9054\u3059\u308b\u3068\u30e9\u30c3\u30d7\u30a2\u30e9\u30a6\u30f3\u30c9\u3057\u307e\u3059\u3002\n\nExample: ``time.ticks_ms()``\n\n:return: The counter value in milliseconds.\"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"\u547c\u51fa\u3057\u6642\u70b9\u3067\u306e\u7a3c\u50cd\u6642\u9593\u3092\u30de\u30a4\u30af\u30ed\u79d2\u5358\u4f4d\u3067\u53d6\u5f97\u3057\u307e\u3059\u3002\u7a3c\u50cd\u6642\u9593\u306f\u6700\u5927\u5024\u306b\u9054\u3059\u308b\u3068\u30e9\u30c3\u30d7\u30a2\u30e9\u30a6\u30f3\u30c9\u3057\u307e\u3059\u3002\n\nExample: ``time.ticks_us()``\n\n:return: The counter value in microseconds.\"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"\u4e0e\u3048\u305f\u6570\u3092\u30c6\u30a3\u30c3\u30af\u5024\u304b\u3089\u306e\u30aa\u30d5\u30bb\u30c3\u30c8\u3068\u3057\u3066\u52a0\u7b97\u3057\u305f\u5024\u3092\u8fd4\u3057\u307e\u3059\u3002\u5f15\u6570\u306e\u5024\u306f\u6b63\u3067\u3082\u8ca0\u3067\u3082\u304b\u307e\u3044\u307e\u305b\u3093\u3002\n\nExample: ``time.ticks_add(time.ticks_ms(), 200)``\n\nGiven a ticks value, this function allows to calculate ticks\nvalue delta ticks before or after it, following modular-arithmetic\ndefinition of tick values.\n\n:param ticks: \u30c6\u30a3\u30c3\u30af\u5024\n:param delta: \u6574\u6570\u30aa\u30d5\u30bb\u30c3\u30c8\n\nExample::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"``time.ticks_ms()`` \u3084 ``ticks_us()`` \u95a2\u6570\u306e\u623b\u308a\u5024\uff08\u30e9\u30c3\u30d7\u30a2\u30e9\u30a6\u30f3\u30c9\u3059\u308b\u53ef\u80fd\u6027\u306e\u3042\u308b\u7b26\u53f7\u4ed8\u304d\u306e\u5024\uff09\u306e\u9593\u306e\u30c6\u30a3\u30c3\u30af\u5024\u306e\u5dee\u3092\u8a08\u7b97\u3057\u307e\u3059\u3002\n\nExample: ``time.ticks_diff(scheduled_time, now)``\n\n:param ticks1: \u5f15\u304b\u3089\u308c\u308b\u65b9\u306e\u5024\n:param ticks2: \u5f15\u304f\u65b9\u306e\u5024\n\nThe argument order is the same as for subtraction operator,\n``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n``ticks_diff()`` is designed to accommodate various usage\npatterns, among them:\n\nPolling with timeout. In this case, the order of events is known, and you\nwill deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\nScheduling events. In this case, :func:`time.ticks_diff()` result may be\nnegative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\"\"\"\n ...", "/typeshed/stdlib/types.pyi": "import sys\nfrom typing import (\n Any,\n AsyncGenerator,\n Awaitable,\n Callable,\n Generator,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n Tuple,\n Type,\n TypeVar,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, final\n\n# Note, all classes \"defined\" here require special handling.\n\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_V_co = TypeVar(\"_V_co\", covariant=True)\n\n@final\nclass _Cell:\n __hash__: None # type: ignore\n cell_contents: Any\n\n@final\nclass FunctionType:\n __closure__: Tuple[_Cell, ...] | None\n __code__: CodeType\n __defaults__: Tuple[Any, ...] | None\n __dict__: dict[str, Any]\n __globals__: dict[str, Any]\n __name__: str\n __qualname__: str\n __annotations__: dict[str, Any]\n __kwdefaults__: dict[str, Any]\n def __init__(\n self,\n code: CodeType,\n globals: dict[str, Any],\n name: str | None = ...,\n argdefs: Tuple[object, ...] | None = ...,\n closure: Tuple[_Cell, ...] | None = ...,\n ) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: object | None, type: type | None) -> MethodType: ...\n\nLambdaType = FunctionType\n\n@final\nclass CodeType:\n \"\"\"Create a code object. Not for the faint of heart.\"\"\"\n\n co_argcount: int\n if sys.version_info >= (3, 8):\n co_posonlyargcount: int\n co_kwonlyargcount: int\n co_nlocals: int\n co_stacksize: int\n co_flags: int\n co_code: bytes\n co_consts: Tuple[Any, ...]\n co_names: Tuple[str, ...]\n co_varnames: Tuple[str, ...]\n co_filename: str\n co_name: str\n co_firstlineno: int\n co_lnotab: bytes\n co_freevars: Tuple[str, ...]\n co_cellvars: Tuple[str, ...]\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n argcount: int,\n posonlyargcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n else:\n def __init__(\n self,\n argcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n if sys.version_info >= (3, 8):\n def replace(\n self,\n *,\n co_argcount: int = ...,\n co_posonlyargcount: int = ...,\n co_kwonlyargcount: int = ...,\n co_nlocals: int = ...,\n co_stacksize: int = ...,\n co_flags: int = ...,\n co_firstlineno: int = ...,\n co_code: bytes = ...,\n co_consts: Tuple[Any, ...] = ...,\n co_names: Tuple[str, ...] = ...,\n co_varnames: Tuple[str, ...] = ...,\n co_freevars: Tuple[str, ...] = ...,\n co_cellvars: Tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_lnotab: bytes = ...,\n ) -> CodeType: ...\n\n@final\nclass MappingProxyType(Mapping[_KT, _VT_co], Generic[_KT, _VT_co]):\n __hash__: None # type: ignore\n def __init__(self, mapping: Mapping[_KT, _VT_co]) -> None: ...\n def __getitem__(self, k: _KT) -> _VT_co: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __len__(self) -> int: ...\n def copy(self) -> dict[_KT, _VT_co]: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def items(self) -> ItemsView[_KT, _VT_co]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def __or__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n def __ror__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n\nclass SimpleNamespace:\n __hash__: None # type: ignore\n def __init__(self, **kwargs: Any) -> None: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __delattr__(self, name: str) -> None: ...\n\nclass ModuleType:\n __name__: str\n __file__: str\n __dict__: dict[str, Any]\n __package__: str | None\n def __init__(self, name: str, doc: str | None = ...) -> None: ...\n\n@final\nclass GeneratorType(Generator[_T_co, _T_contra, _V_co]):\n gi_code: CodeType\n gi_frame: FrameType\n gi_running: bool\n gi_yieldfrom: GeneratorType[_T_co, _T_contra, Any] | None\n def __iter__(self) -> GeneratorType[_T_co, _T_contra, _V_co]: ...\n def __next__(self) -> _T_co: ...\n def close(self) -> None: ...\n def send(self, __arg: _T_contra) -> _T_co: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> _T_co: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> _T_co: ...\n\n@final\nclass AsyncGeneratorType(AsyncGenerator[_T_co, _T_contra]):\n ag_await: Awaitable[Any] | None\n ag_frame: FrameType\n ag_running: bool\n ag_code: CodeType\n def __aiter__(self) -> AsyncGeneratorType[_T_co, _T_contra]: ...\n def __anext__(self) -> Awaitable[_T_co]: ...\n def asend(self, __val: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Awaitable[_T_co]: ...\n def aclose(self) -> Awaitable[None]: ...\n\n@final\nclass CoroutineType:\n cr_await: Any | None\n cr_code: CodeType\n cr_frame: FrameType\n cr_running: bool\n def close(self) -> None: ...\n def send(self, __arg: Any) -> Any: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Any: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Any: ...\n\nclass _StaticFunctionType:\n \"\"\"Fictional type to correct the type of MethodType.__func__.\n\n FunctionType is a descriptor, so mypy follows the descriptor protocol and\n converts MethodType.__func__ back to MethodType (the return type of\n FunctionType.__get__). But this is actually a special case; MethodType is\n implemented in C and its attribute access doesn't go through\n __getattribute__.\n\n By wrapping FunctionType in _StaticFunctionType, we get the right result;\n similar to wrapping a function in staticmethod() at runtime to prevent it\n being bound as a method.\n \"\"\"\n\n def __get__(self, obj: object | None, type: type | None) -> FunctionType: ...\n\n@final\nclass MethodType:\n __closure__: Tuple[_Cell, ...] | None # inherited from the added function\n __defaults__: Tuple[Any, ...] | None # inherited from the added function\n __func__: _StaticFunctionType\n __self__: object\n __name__: str # inherited from the added function\n __qualname__: str # inherited from the added function\n def __init__(self, func: Callable[..., Any], obj: object) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\n@final\nclass BuiltinFunctionType:\n __self__: object | ModuleType\n __name__: str\n __qualname__: str\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\nBuiltinMethodType = BuiltinFunctionType\n\nif sys.version_info >= (3, 7):\n @final\n class WrapperDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class MethodWrapperType:\n __self__: object\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, other: Any) -> bool: ...\n def __ne__(self, other: Any) -> bool: ...\n @final\n class MethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class ClassMethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n\n@final\nclass TracebackType:\n if sys.version_info >= (3, 7):\n def __init__(\n self,\n tb_next: TracebackType | None,\n tb_frame: FrameType,\n tb_lasti: int,\n tb_lineno: int,\n ) -> None: ...\n tb_next: TracebackType | None\n else:\n @property\n def tb_next(self) -> TracebackType | None: ...\n # the rest are read-only even in 3.7\n @property\n def tb_frame(self) -> FrameType: ...\n @property\n def tb_lasti(self) -> int: ...\n @property\n def tb_lineno(self) -> int: ...\n\n@final\nclass FrameType:\n f_back: FrameType | None\n f_builtins: dict[str, Any]\n f_code: CodeType\n f_globals: dict[str, Any]\n f_lasti: int\n f_lineno: int\n f_locals: dict[str, Any]\n f_trace: Callable[[FrameType, str, Any], Any] | None\n if sys.version_info >= (3, 7):\n f_trace_lines: bool\n f_trace_opcodes: bool\n def clear(self) -> None: ...\n\n@final\nclass GetSetDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\n@final\nclass MemberDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nif sys.version_info >= (3, 7):\n def new_class(\n name: str,\n bases: Iterable[object] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n def resolve_bases(bases: Iterable[object]) -> Tuple[Any, ...]: ...\n\nelse:\n def new_class(\n name: str,\n bases: Tuple[type, ...] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n\ndef prepare_class(\n name: str, bases: Tuple[type, ...] = ..., kwds: dict[str, Any] | None = ...\n) -> Tuple[type, dict[str, Any], dict[str, Any]]: ...\n\n# Actually a different type, but `property` is special and we want that too.\nDynamicClassAttribute = property\n\ndef coroutine(func: Callable[..., Any]) -> CoroutineType: ...\n\nif sys.version_info >= (3, 8):\n CellType = _Cell\n\nif sys.version_info >= (3, 9):\n class GenericAlias:\n __origin__: type\n __args__: Tuple[Any, ...]\n __parameters__: Tuple[Any, ...]\n def __init__(self, origin: type, args: Any) -> None: ...\n def __getattr__(self, name: str) -> Any: ... # incomplete\n\nif sys.version_info >= (3, 10):\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n EllipsisType = ellipsis # noqa F811 from builtins\n from builtins import _NotImplementedType\n\n NotImplementedType = _NotImplementedType # noqa F811 from builtins\n @final\n class UnionType:\n __args__: Tuple[Any, ...]\n def __or__(self, obj: Any) -> UnionType: ...\n def __ror__(self, obj: Any) -> UnionType: ...\n", "/typeshed/stdlib/typing.pyi": "import collections # Needed by aliases like DefaultDict, see mypy issue 2986\nimport sys\nfrom abc import ABCMeta, abstractmethod\nfrom types import BuiltinFunctionType, CodeType, FrameType, FunctionType, MethodType, ModuleType, TracebackType\nfrom typing_extensions import Literal as _Literal\n\nif sys.version_info >= (3, 7):\n from types import MethodDescriptorType, MethodWrapperType, WrapperDescriptorType\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n# Definitions of special type checking related constructs. Their definitions\n# are not used, so their value does not matter.\n\nAny = object()\n\nclass TypeVar:\n __name__: str\n __bound__: Optional[Type[Any]]\n __constraints__: Tuple[Type[Any], ...]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self,\n name: str,\n *constraints: Type[Any],\n bound: Union[None, Type[Any], str] = ...,\n covariant: bool = ...,\n contravariant: bool = ...,\n ) -> None: ...\n\n_promote = object()\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> object: ...\n\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n\ndef overload(func: _F) -> _F: ...\n\nUnion: _SpecialForm = ...\nOptional: _SpecialForm = ...\nTuple: _SpecialForm = ...\nGeneric: _SpecialForm = ...\n# Protocol is only present in 3.8 and later, but mypy needs it unconditionally\nProtocol: _SpecialForm = ...\nCallable: _SpecialForm = ...\nType: _SpecialForm = ...\nClassVar: _SpecialForm = ...\nif sys.version_info >= (3, 8):\n Final: _SpecialForm = ...\n def final(f: _F) -> _F: ...\n Literal: _SpecialForm = ...\n # TypedDict is a (non-subscriptable) special form.\n TypedDict: object\n\nif sys.version_info < (3, 7):\n class GenericMeta(type): ...\n\nif sys.version_info >= (3, 10):\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Optional[Type[Any]]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: Union[None, Type[Any], str] = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n\n# Return type that indicates a function does not return.\n# This type is equivalent to the None type, but the no-op Union is necessary to\n# distinguish the None type from the None value.\nNoReturn = Union[None]\n\n# These type variables are used by the container types.\n_T = TypeVar(\"_T\")\n_S = TypeVar(\"_S\")\n_KT = TypeVar(\"_KT\") # Key type.\n_VT = TypeVar(\"_VT\") # Value type.\n_T_co = TypeVar(\"_T_co\", covariant=True) # Any type covariant containers.\n_V_co = TypeVar(\"_V_co\", covariant=True) # Any type covariant containers.\n_KT_co = TypeVar(\"_KT_co\", covariant=True) # Key type covariant containers.\n_VT_co = TypeVar(\"_VT_co\", covariant=True) # Value type covariant containers.\n_T_contra = TypeVar(\"_T_contra\", contravariant=True) # Ditto contravariant.\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\ndef no_type_check(arg: _F) -> _F: ...\ndef no_type_check_decorator(decorator: _F) -> _F: ...\n\n# Type aliases and type constructors\n\nclass _Alias:\n # Class for defining generic aliases for library types.\n def __getitem__(self, typeargs: Any) -> Any: ...\n\nList = _Alias()\nDict = _Alias()\nDefaultDict = _Alias()\nSet = _Alias()\nFrozenSet = _Alias()\nCounter = _Alias()\nDeque = _Alias()\nChainMap = _Alias()\n\nif sys.version_info >= (3, 7):\n OrderedDict = _Alias()\n\nif sys.version_info >= (3, 9):\n Annotated: _SpecialForm = ...\n\n# Predefined type variables.\nAnyStr = TypeVar(\"AnyStr\", str, bytes)\n\n# Abstract base classes.\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n@runtime_checkable\nclass SupportsInt(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __int__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsFloat(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __float__(self) -> float: ...\n\n@runtime_checkable\nclass SupportsComplex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __complex__(self) -> complex: ...\n\n@runtime_checkable\nclass SupportsBytes(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __bytes__(self) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n @runtime_checkable\n class SupportsIndex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __index__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsAbs(Protocol[_T_co]):\n @abstractmethod\n def __abs__(self) -> _T_co: ...\n\n@runtime_checkable\nclass SupportsRound(Protocol[_T_co]):\n @overload\n @abstractmethod\n def __round__(self) -> int: ...\n @overload\n @abstractmethod\n def __round__(self, ndigits: int) -> _T_co: ...\n\n@runtime_checkable\nclass Sized(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __len__(self) -> int: ...\n\n@runtime_checkable\nclass Hashable(Protocol, metaclass=ABCMeta):\n # TODO: This is special, in that a subclass of a hashable class may not be hashable\n # (for example, list vs. object). It's not obvious how to represent this. This class\n # is currently mostly useless for static checking.\n @abstractmethod\n def __hash__(self) -> int: ...\n\n@runtime_checkable\nclass Iterable(Protocol[_T_co]):\n @abstractmethod\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Iterator(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __next__(self) -> _T_co: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Reversible(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass Generator(Iterator[_T_co], Generic[_T_co, _T_contra, _V_co]):\n def __next__(self) -> _T_co: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n def close(self) -> None: ...\n def __iter__(self) -> Generator[_T_co, _T_contra, _V_co]: ...\n @property\n def gi_code(self) -> CodeType: ...\n @property\n def gi_frame(self) -> FrameType: ...\n @property\n def gi_running(self) -> bool: ...\n @property\n def gi_yieldfrom(self) -> Optional[Generator[Any, Any, Any]]: ...\n\n@runtime_checkable\nclass Awaitable(Protocol[_T_co]):\n @abstractmethod\n def __await__(self) -> Generator[Any, None, _T_co]: ...\n\nclass Coroutine(Awaitable[_V_co], Generic[_T_co, _T_contra, _V_co]):\n __name__: str\n __qualname__: str\n @property\n def cr_await(self) -> Optional[Any]: ...\n @property\n def cr_code(self) -> CodeType: ...\n @property\n def cr_frame(self) -> FrameType: ...\n @property\n def cr_running(self) -> bool: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n @abstractmethod\n def close(self) -> None: ...\n\n# NOTE: This type does not exist in typing.py or PEP 484.\n# The parameters correspond to Generator, but the 4th is the original type.\nclass AwaitableGenerator(\n Awaitable[_V_co], Generator[_T_co, _T_contra, _V_co], Generic[_T_co, _T_contra, _V_co, _S], metaclass=ABCMeta\n): ...\n\n@runtime_checkable\nclass AsyncIterable(Protocol[_T_co]):\n @abstractmethod\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\n@runtime_checkable\nclass AsyncIterator(AsyncIterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\nclass AsyncGenerator(AsyncIterator[_T_co], Generic[_T_co, _T_contra]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n @abstractmethod\n def asend(self, __value: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> Awaitable[_T_co]: ...\n @abstractmethod\n def aclose(self) -> Awaitable[None]: ...\n @abstractmethod\n def __aiter__(self) -> AsyncGenerator[_T_co, _T_contra]: ...\n @property\n def ag_await(self) -> Any: ...\n @property\n def ag_code(self) -> CodeType: ...\n @property\n def ag_frame(self) -> FrameType: ...\n @property\n def ag_running(self) -> bool: ...\n\n@runtime_checkable\nclass Container(Protocol[_T_co]):\n @abstractmethod\n def __contains__(self, __x: object) -> bool: ...\n\n@runtime_checkable\nclass Collection(Iterable[_T_co], Container[_T_co], Protocol[_T_co]):\n # Implement Sized (but don't have it as a base class).\n @abstractmethod\n def __len__(self) -> int: ...\n\n_Collection = Collection[_T_co]\n\nclass Sequence(_Collection[_T_co], Reversible[_T_co], Generic[_T_co]):\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T_co: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> Sequence[_T_co]: ...\n # Mixin methods\n def index(self, value: Any, start: int = ..., stop: int = ...) -> int: ...\n def count(self, value: Any) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass MutableSequence(Sequence[_T], Generic[_T]):\n @abstractmethod\n def insert(self, index: int, value: _T) -> None: ...\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> MutableSequence[_T]: ...\n @overload\n @abstractmethod\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n @abstractmethod\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: int) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: slice) -> None: ...\n # Mixin methods\n def append(self, value: _T) -> None: ...\n def clear(self) -> None: ...\n def extend(self, values: Iterable[_T]) -> None: ...\n def reverse(self) -> None: ...\n def pop(self, index: int = ...) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __iadd__(self, x: Iterable[_T]) -> MutableSequence[_T]: ...\n\nclass AbstractSet(_Collection[_T_co], Generic[_T_co]):\n @abstractmethod\n def __contains__(self, x: object) -> bool: ...\n # Mixin methods\n def __le__(self, s: AbstractSet[Any]) -> bool: ...\n def __lt__(self, s: AbstractSet[Any]) -> bool: ...\n def __gt__(self, s: AbstractSet[Any]) -> bool: ...\n def __ge__(self, s: AbstractSet[Any]) -> bool: ...\n def __and__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def __sub__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def isdisjoint(self, other: Iterable[Any]) -> bool: ...\n\nclass MutableSet(AbstractSet[_T], Generic[_T]):\n @abstractmethod\n def add(self, value: _T) -> None: ...\n @abstractmethod\n def discard(self, value: _T) -> None: ...\n # Mixin methods\n def clear(self) -> None: ...\n def pop(self) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __ior__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __iand__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __isub__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n\nclass MappingView(Sized):\n def __init__(self, mapping: Mapping[Any, Any]) -> None: ... # undocumented\n def __len__(self) -> int: ...\n\nclass ItemsView(MappingView, AbstractSet[Tuple[_KT_co, _VT_co]], Generic[_KT_co, _VT_co]):\n def __init__(self, mapping: Mapping[_KT_co, _VT_co]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n\nclass KeysView(MappingView, AbstractSet[_KT_co], Generic[_KT_co]):\n def __init__(self, mapping: Mapping[_KT_co, Any]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT_co]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n\nclass ValuesView(MappingView, Iterable[_VT_co], Generic[_VT_co]):\n def __init__(self, mapping: Mapping[Any, _VT_co]) -> None: ... # undocumented\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_VT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\n@runtime_checkable\nclass ContextManager(Protocol[_T_co]):\n def __enter__(self) -> _T_co: ...\n def __exit__(\n self,\n __exc_type: Optional[Type[BaseException]],\n __exc_value: Optional[BaseException],\n __traceback: Optional[TracebackType],\n ) -> Optional[bool]: ...\n\n@runtime_checkable\nclass AsyncContextManager(Protocol[_T_co]):\n def __aenter__(self) -> Awaitable[_T_co]: ...\n def __aexit__(\n self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Awaitable[Optional[bool]]: ...\n\nclass Mapping(_Collection[_KT], Generic[_KT, _VT_co]):\n # TODO: We wish the key type could also be covariant, but that doesn't work,\n # see discussion in https: //github.com/python/typing/pull/273.\n @abstractmethod\n def __getitem__(self, k: _KT) -> _VT_co: ...\n # Mixin methods\n @overload\n def get(self, key: _KT) -> Optional[_VT_co]: ...\n @overload\n def get(self, key: _KT, default: Union[_VT_co, _T]) -> Union[_VT_co, _T]: ...\n def items(self) -> AbstractSet[Tuple[_KT, _VT_co]]: ...\n def keys(self) -> AbstractSet[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def __contains__(self, o: object) -> bool: ...\n\nclass MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):\n @abstractmethod\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n @abstractmethod\n def __delitem__(self, v: _KT) -> None: ...\n def clear(self) -> None: ...\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...\n # 'update' used to take a Union, but using overloading is better.\n # The second overloaded type here is a bit too general, because\n # Mapping[Tuple[_KT, _VT], W] is a subclass of Iterable[Tuple[_KT, _VT]],\n # but will always have the behavior of the first overloaded type\n # at runtime, leading to keys of a mix of types _KT and Tuple[_KT, _VT].\n # We don't currently have any way of forcing all Mappings to use\n # the first overload, but by using overloading rather than a Union,\n # mypy will commit to using the first overload when the argument is\n # known to be a Mapping with unknown type parameters, which is closer\n # to the behavior we want. See mypy issue #1430.\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n\nText = str\n\nTYPE_CHECKING = True\n\nclass IO(Iterator[AnyStr], Generic[AnyStr]):\n # TODO use abstract properties\n @property\n def mode(self) -> str: ...\n @property\n def name(self) -> str: ...\n @abstractmethod\n def close(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n @abstractmethod\n def fileno(self) -> int: ...\n @abstractmethod\n def flush(self) -> None: ...\n @abstractmethod\n def isatty(self) -> bool: ...\n @abstractmethod\n def read(self, n: int = ...) -> AnyStr: ...\n @abstractmethod\n def readable(self) -> bool: ...\n @abstractmethod\n def readline(self, limit: int = ...) -> AnyStr: ...\n @abstractmethod\n def readlines(self, hint: int = ...) -> list[AnyStr]: ...\n @abstractmethod\n def seek(self, offset: int, whence: int = ...) -> int: ...\n @abstractmethod\n def seekable(self) -> bool: ...\n @abstractmethod\n def tell(self) -> int: ...\n @abstractmethod\n def truncate(self, size: Optional[int] = ...) -> int: ...\n @abstractmethod\n def writable(self) -> bool: ...\n @abstractmethod\n def write(self, s: AnyStr) -> int: ...\n @abstractmethod\n def writelines(self, lines: Iterable[AnyStr]) -> None: ...\n @abstractmethod\n def __next__(self) -> AnyStr: ...\n @abstractmethod\n def __iter__(self) -> Iterator[AnyStr]: ...\n @abstractmethod\n def __enter__(self) -> IO[AnyStr]: ...\n @abstractmethod\n def __exit__(\n self, t: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Optional[bool]: ...\n\nclass BinaryIO(IO[bytes]):\n @abstractmethod\n def __enter__(self) -> BinaryIO: ...\n\nclass TextIO(IO[str]):\n # TODO use abstractproperty\n @property\n def buffer(self) -> BinaryIO: ...\n @property\n def encoding(self) -> str: ...\n @property\n def errors(self) -> Optional[str]: ...\n @property\n def line_buffering(self) -> int: ... # int on PyPy, bool on CPython\n @property\n def newlines(self) -> Any: ... # None, str or tuple\n @abstractmethod\n def __enter__(self) -> TextIO: ...\n\nclass ByteString(Sequence[int], metaclass=ABCMeta): ...\n\nclass Match(Generic[AnyStr]):\n pos: int\n endpos: int\n lastindex: Optional[int]\n lastgroup: Optional[AnyStr]\n string: AnyStr\n\n # The regular expression object whose match() or search() method produced\n # this match instance.\n re: Pattern[AnyStr]\n def expand(self, template: AnyStr) -> AnyStr: ...\n # group() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def group(self, __group: _Literal[0] = ...) -> AnyStr: ...\n @overload\n def group(self, __group: str | int) -> AnyStr | Any: ...\n @overload\n def group(self, __group1: str | int, __group2: str | int, *groups: str | int) -> Tuple[AnyStr | Any, ...]: ...\n # Each item of groups()'s return tuple is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groups(self) -> Tuple[AnyStr | Any, ...]: ...\n @overload\n def groups(self, default: _T) -> Tuple[AnyStr | _T, ...]: ...\n # Each value in groupdict()'s return dict is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groupdict(self) -> dict[str, AnyStr | Any]: ...\n @overload\n def groupdict(self, default: _T) -> dict[str, AnyStr | _T]: ...\n def start(self, __group: Union[int, str] = ...) -> int: ...\n def end(self, __group: Union[int, str] = ...) -> int: ...\n def span(self, __group: Union[int, str] = ...) -> Tuple[int, int]: ...\n @property\n def regs(self) -> Tuple[Tuple[int, int], ...]: ... # undocumented\n # __getitem__() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def __getitem__(self, __key: _Literal[0]) -> AnyStr: ...\n @overload\n def __getitem__(self, __key: int | str) -> AnyStr | Any: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Pattern(Generic[AnyStr]):\n flags: int\n groupindex: Mapping[str, int]\n groups: int\n pattern: AnyStr\n def search(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def match(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def fullmatch(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def split(self, string: AnyStr, maxsplit: int = ...) -> list[AnyStr]: ...\n def findall(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> list[Any]: ...\n def finditer(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Iterator[Match[AnyStr]]: ...\n @overload\n def sub(self, repl: AnyStr, string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def sub(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def subn(self, repl: AnyStr, string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n @overload\n def subn(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# Functions\n\nif sys.version_info >= (3, 7):\n _get_type_hints_obj_allowed_types = Union[\n object,\n Callable[..., Any],\n FunctionType,\n BuiltinFunctionType,\n MethodType,\n ModuleType,\n WrapperDescriptorType,\n MethodWrapperType,\n MethodDescriptorType,\n ]\nelse:\n _get_type_hints_obj_allowed_types = Union[\n object, Callable[..., Any], FunctionType, BuiltinFunctionType, MethodType, ModuleType,\n ]\n\nif sys.version_info >= (3, 9):\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types,\n globalns: Optional[Dict[str, Any]] = ...,\n localns: Optional[Dict[str, Any]] = ...,\n include_extras: bool = ...,\n ) -> Dict[str, Any]: ...\n\nelse:\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types, globalns: Optional[Dict[str, Any]] = ..., localns: Optional[Dict[str, Any]] = ...\n ) -> Dict[str, Any]: ...\n\nif sys.version_info >= (3, 8):\n def get_origin(tp: Any) -> Optional[Any]: ...\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n\n@overload\ndef cast(typ: Type[_T], val: Any) -> _T: ...\n@overload\ndef cast(typ: str, val: Any) -> Any: ...\n@overload\ndef cast(typ: object, val: Any) -> Any: ...\n\n# Type constructors\n\n# NamedTuple is special-cased in the type checker\nclass NamedTuple(Tuple[Any, ...]):\n _field_types: collections.OrderedDict[str, Type[Any]]\n _field_defaults: Dict[str, Any] = ...\n _fields: Tuple[str, ...]\n _source: str\n def __init__(self, typename: str, fields: Iterable[Tuple[str, Any]] = ..., **kwargs: Any) -> None: ...\n @classmethod\n def _make(cls: Type[_T], iterable: Iterable[Any]) -> _T: ...\n if sys.version_info >= (3, 8):\n def _asdict(self) -> Dict[str, Any]: ...\n else:\n def _asdict(self) -> collections.OrderedDict[str, Any]: ...\n def _replace(self: _T, **kwargs: Any) -> _T: ...\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __or__(self: _T, __value: _T) -> _T: ...\n def __ior__(self: _T, __value: _T) -> _T: ...\n\ndef NewType(name: str, tp: Type[_T]) -> Type[_T]: ...\n\n# This itself is only available during type checking\ndef type_check_only(func_or_cls: _F) -> _F: ...\n\nif sys.version_info >= (3, 7):\n class ForwardRef:\n __forward_arg__: str\n __forward_code__: CodeType\n __forward_evaluated__: bool\n __forward_value__: Optional[Any]\n __forward_is_argument__: bool\n def __init__(self, arg: str, is_argument: bool = ...) -> None: ...\n def _evaluate(self, globalns: Optional[Dict[str, Any]], localns: Optional[Dict[str, Any]]) -> Optional[Any]: ...\n def __eq__(self, other: Any) -> bool: ...\n def __hash__(self) -> int: ...\n def __repr__(self) -> str: ...\n\nif sys.version_info >= (3, 10):\n def is_typeddict(tp: Any) -> bool: ...\n", "/typeshed/stdlib/typing_extensions.pyi": "import abc\nimport sys\nfrom typing import (\n TYPE_CHECKING as TYPE_CHECKING,\n Any,\n AsyncContextManager as AsyncContextManager,\n AsyncGenerator as AsyncGenerator,\n AsyncIterable as AsyncIterable,\n AsyncIterator as AsyncIterator,\n Awaitable as Awaitable,\n Callable,\n ChainMap as ChainMap,\n ClassVar as ClassVar,\n ContextManager as ContextManager,\n Coroutine as Coroutine,\n Counter as Counter,\n DefaultDict as DefaultDict,\n Deque as Deque,\n ItemsView,\n KeysView,\n Mapping,\n NewType as NewType,\n NoReturn as NoReturn,\n Text as Text,\n Tuple,\n Type as Type,\n TypeVar,\n ValuesView,\n _Alias,\n overload as overload,\n)\n\n_T = TypeVar(\"_T\")\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> Any: ...\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n\n# This alias for above is kept here for backwards compatibility.\nruntime = runtime_checkable\nProtocol: _SpecialForm = ...\nFinal: _SpecialForm = ...\n\ndef final(f: _F) -> _F: ...\n\nLiteral: _SpecialForm = ...\n\ndef IntVar(name: str) -> Any: ... # returns a new TypeVar\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n\n# TypedDict is a (non-subscriptable) special form.\nTypedDict: object = ...\n\nOrderedDict = _Alias()\n\ndef get_type_hints(\n obj: Callable[..., Any],\n globalns: dict[str, Any] | None = ...,\n localns: dict[str, Any] | None = ...,\n include_extras: bool = ...,\n) -> dict[str, Any]: ...\n\nif sys.version_info >= (3, 7):\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n def get_origin(tp: Any) -> Any | None: ...\n\nAnnotated: _SpecialForm = ...\n_AnnotatedAlias: Any = ... # undocumented\n\n@runtime_checkable\nclass SupportsIndex(Protocol, metaclass=abc.ABCMeta):\n @abc.abstractmethod\n def __index__(self) -> int: ...\n\n# PEP 612 support for Python < 3.9\nif sys.version_info >= (3, 10):\n from typing import Concatenate as Concatenate, ParamSpec as ParamSpec, TypeAlias as TypeAlias, TypeGuard as TypeGuard\nelse:\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Type[Any] | None\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: None | Type[Any] | str = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n", @@ -35,16 +35,16 @@ "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", - "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pins, images, sounds, temperature and volume.\n\"\"\"\n\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\n\nfrom _typeshed import ReadableBuffer\n\n# V2 only\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(\n callback: Optional[Callable[[], None]] = None,\n days: int = 0,\n h: int = 0,\n min: int = 0,\n s: int = 0,\n ms: int = 0,\n) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Schedule to run a function at the interval specified by the time arguments **V2 only**.\n\n Example: ``run_every(my_logging, min=5)``\n\n ``run_every`` can be used in two ways:\n\n As a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\n As a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\n Each argument corresponds to a different time unit and they are additive.\n So ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\n When an exception is thrown inside the callback function it deschedules the\n function. To avoid this you can catch exceptions with ``try/except``.\n\n :param callback: Function to call at the provided interval. Omit when using as a decorator.\n :param days: Sets the day mark for the scheduling.\n :param h: Sets the hour mark for the scheduling.\n :param min: Sets the minute mark for the scheduling.\n :param s: Sets the second mark for the scheduling.\n :param ms: Sets the millisecond mark for the scheduling.\n \"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Enter a panic mode.\n\n Example: ``panic(127)``\n\n :param n: An arbitrary integer <= 255 to indicate a status.\n\n Requires restart.\n \"\"\"\n\ndef reset() -> None:\n \"\"\"Restart the board.\"\"\"\n\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converts a value from a range to an integer range.\n\n Example: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\n For example, to convert an accelerometer X value to a speaker volume.\n\n If one of the numbers in the ``to`` parameter is a floating point\n (i.e a decimal number like ``10.0``), this function will return a\n floating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n :param value: A number to convert.\n :param from_: A tuple to define the range to convert from.\n :param to: A tuple to define the range to convert to.\n :return: The ``value`` converted to the ``to`` range.\n \"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converts a value from a range to a floating point range.\n\n Example: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\n For example, to convert temperature from a Celsius scale to Fahrenheit.\n\n If one of the numbers in the ``to`` parameter is a floating point\n (i.e a decimal number like ``10.0``), this function will return a\n floating point number.\n If they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n :param value: A number to convert.\n :param from_: A tuple to define the range to convert from.\n :param to: A tuple to define the range to convert to.\n :return: The ``value`` converted to the ``to`` range.\n \"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Wait for ``n`` milliseconds.\n\n Example: ``sleep(1000)``\n\n :param n: The number of milliseconds to wait\n\n One second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\n will pause the execution for one second.\n \"\"\"\n\ndef running_time() -> int:\n \"\"\"Get the running time of the board.\n\n :return: The number of milliseconds since the board was switched on or restarted.\n \"\"\"\n\ndef temperature() -> int:\n \"\"\"Get the temperature of the micro:bit in degrees Celsius.\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Sets the volume.\n\n Example: ``set_volume(127)``\n\n :param v: a value between 0 (low) and 255 (high).\n\n Out of range values will be clamped to 0 or 255.\n\n **V2** only.\n \"\"\"\n ...\n\nclass Button:\n \"\"\"The class for the buttons ``button_a`` and ``button_b``.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Check if the button is pressed.\n\n :return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\n \"\"\"\n ...\n def was_pressed(self) -> bool:\n \"\"\"Check if the button was pressed since the device started or the last time this method was called.\n\n Calling this method will clear the press state so\n that the button must be pressed again before this method will return\n ``True`` again.\n\n :return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\n \"\"\"\n ...\n def get_presses(self) -> int:\n \"\"\"Get the running total of button presses, and resets this total\n to zero before returning.\n\n :return: The number of presses since the device started or the last time this method was called\n \"\"\"\n ...\n\nbutton_a: Button\n\"\"\"The left button ``Button`` object.\"\"\"\n\nbutton_b: Button\n\"\"\"The right button ``Button`` object.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"A digital pin.\n\n Some pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\n \"\"\"\n\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n def read_digital(self) -> int:\n \"\"\"Get the digital value of the pin.\n\n Example: ``value = pin0.read_digital()``\n\n :return: 1 if the pin is high, and 0 if it's low.\n \"\"\"\n ...\n def write_digital(self, value: int) -> None:\n \"\"\"Set the digital value of the pin.\n\n Example: ``pin0.write_digital(1)``\n\n :param value: 1 to set the pin high or 0 to set the pin low\"\"\"\n ...\n def set_pull(self, value: int) -> None:\n \"\"\"Set the pull state to one of three possible values: ``PULL_UP``, ``PULL_DOWN`` or ``NO_PULL``.\n\n Example: ``pin0.set_pull(pin0.PULL_UP)``\n\n :param value: The pull state from the relevant pin, e.g. ``pin0.PULL_UP``.\n \"\"\"\n ...\n def get_pull(self) -> int:\n \"\"\"Get the pull state on a pin.\n\n Example: ``pin0.get_pull()``\n\n :return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\n These are set using the ``set_pull()`` method or automatically configured\n when a pin mode requires it.\n \"\"\"\n ...\n def get_mode(self) -> str:\n \"\"\"Returns the pin mode.\n\n Example: ``pin0.get_mode()``\n\n When a pin is used for a specific function, like\n writing a digital value, or reading an analog value, the pin mode\n changes.\n\n :return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\n \"\"\"\n ...\n def write_analog(self, value: int) -> None:\n \"\"\"Output a PWM signal on the pin, with the duty cycle proportional to ``value``.\n\n Example: ``pin0.write_analog(254)``\n\n :param value: An integer or a floating point number between 0 (0% duty cycle) and 1023 (100% duty).\n \"\"\"\n def set_analog_period(self, period: int) -> None:\n \"\"\"Set the period of the PWM signal being output to ``period`` in milliseconds.\n\n Example: ``pin0.set_analog_period(10)``\n\n :param period: The period in milliseconds with a minimum valid value of 1ms.\n \"\"\"\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Set the period of the PWM signal being output to ``period`` in microseconds.\n\n Example: ``pin0.set_analog_period_microseconds(512)``\n\n :param period: The period in microseconds with a minimum valid value of 256\u00b5s.\n \"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"A pin with analog and digital features.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Read the voltage applied to the pin.\n\n Example: ``pin0.read_analog()``\n\n :return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\n \"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"A pin with analog, digital and touch features.\"\"\"\n\n CAPACITIVE: int\n RESISTIVE: int\n def is_touched(self) -> bool:\n \"\"\"Check if the pin is being touched.\n\n Example: ``pin0.is_touched()``\n\n The default touch mode for the pins on the edge connector is ``resistive``.\n The default for the logo pin **V2** is ``capacitive``.\n\n **Resistive touch**\n This test is done by measuring how much resistance there is between the\n pin and ground. A low resistance gives a reading of ``True``. To get\n a reliable reading using a finger you may need to touch the ground pin\n with another part of your body, for example your other hand.\n\n **Capacitive touch**\n This test is done by interacting with the electric field of a capacitor\n using a finger as a conductor. `Capacitive touch\n `_\n does not require you to make a ground connection as part of a circuit.\n\n :return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\n \"\"\"\n ...\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Set the touch mode for the pin.\n\n Example: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\n The default touch mode for the pins on the edge connector is\n ``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n :param value: ``CAPACITIVE`` or ``RESISTIVE`` from the relevant pin.\n \"\"\"\n ...\n\npin0: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin1: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin2: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin5: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin6: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin7: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin8: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin9: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin11: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin12: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin13: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin14: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin15: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin16: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin19: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin20: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin_logo: MicroBitTouchPin\n\"\"\"A touch sensitive logo pin on the front of the micro:bit, which by default is set to capacitive touch mode.\"\"\"\n\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"A pin to address the micro:bit speaker.\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"An image to show on the micro:bit LED display.\n\n Given an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\n \"\"\"\n\n HEART: Image\n \"\"\"Heart image.\"\"\"\n\n HEART_SMALL: Image\n \"\"\"Small heart image.\"\"\"\n\n HAPPY: Image\n \"\"\"Happy face image.\"\"\"\n\n SMILE: Image\n \"\"\"Smiling mouth image.\"\"\"\n\n SAD: Image\n \"\"\"Sad face image.\"\"\"\n\n CONFUSED: Image\n \"\"\"Confused face image.\"\"\"\n\n ANGRY: Image\n \"\"\"Angry face image.\"\"\"\n\n ASLEEP: Image\n \"\"\"Sleeping face image.\"\"\"\n\n SURPRISED: Image\n \"\"\"Surprised face image.\"\"\"\n\n SILLY: Image\n \"\"\"Silly face image.\"\"\"\n\n FABULOUS: Image\n \"\"\"Sunglasses face image.\"\"\"\n\n MEH: Image\n \"\"\"Unimpressed face image.\"\"\"\n\n YES: Image\n \"\"\"Tick image.\"\"\"\n\n NO: Image\n \"\"\"Cross image.\"\"\"\n\n CLOCK12: Image\n \"\"\"Image with line pointing to 12 o'clock.\"\"\"\n\n CLOCK11: Image\n \"\"\"Image with line pointing to 11 o'clock.\"\"\"\n\n CLOCK10: Image\n \"\"\"Image with line pointing to 10 o'clock.\"\"\"\n\n CLOCK9: Image\n \"\"\"Image with line pointing to 9 o'clock.\"\"\"\n\n CLOCK8: Image\n \"\"\"Image with line pointing to 8 o'clock.\"\"\"\n\n CLOCK7: Image\n \"\"\"Image with line pointing to 7 o'clock.\"\"\"\n\n CLOCK6: Image\n \"\"\"Image with line pointing to 6 o'clock.\"\"\"\n\n CLOCK5: Image\n \"\"\"Image with line pointing to 5 o'clock.\"\"\"\n\n CLOCK4: Image\n \"\"\"Image with line pointing to 4 o'clock.\"\"\"\n\n CLOCK3: Image\n \"\"\"Image with line pointing to 3 o'clock.\"\"\"\n\n CLOCK2: Image\n \"\"\"Image with line pointing to 2 o'clock.\"\"\"\n\n CLOCK1: Image\n \"\"\"Image with line pointing to 1 o'clock.\"\"\"\n\n ARROW_N: Image\n \"\"\"Image of arrow pointing north.\"\"\"\n\n ARROW_NE: Image\n \"\"\"Image of arrow pointing north east.\"\"\"\n\n ARROW_E: Image\n \"\"\"Image of arrow pointing east.\"\"\"\n\n ARROW_SE: Image\n \"\"\"Image of arrow pointing south east.\"\"\"\n\n ARROW_S: Image\n \"\"\"Image of arrow pointing south.\"\"\"\n\n ARROW_SW: Image\n \"\"\"Image of arrow pointing south west.\"\"\"\n\n ARROW_W: Image\n \"\"\"Image of arrow pointing west.\"\"\"\n\n ARROW_NW: Image\n \"\"\"Image of arrow pointing north west.\"\"\"\n\n TRIANGLE: Image\n \"\"\"Image of a triangle pointing up.\"\"\"\n\n TRIANGLE_LEFT: Image\n \"\"\"Image of a triangle in the left corner.\"\"\"\n\n CHESSBOARD: Image\n \"\"\"Alternate LEDs lit in a chessboard pattern.\"\"\"\n\n DIAMOND: Image\n \"\"\"Diamond image.\"\"\"\n\n DIAMOND_SMALL: Image\n \"\"\"Small diamond image.\"\"\"\n\n SQUARE: Image\n \"\"\"Square image.\"\"\"\n\n SQUARE_SMALL: Image\n \"\"\"Small square image.\"\"\"\n\n RABBIT: Image\n \"\"\"Rabbit image.\"\"\"\n\n COW: Image\n \"\"\"Cow image.\"\"\"\n\n MUSIC_CROTCHET: Image\n \"\"\"Crotchet note image.\"\"\"\n\n MUSIC_QUAVER: Image\n \"\"\"Quaver note image.\"\"\"\n\n MUSIC_QUAVERS: Image\n \"\"\"Pair of quavers note image.\"\"\"\n\n PITCHFORK: Image\n \"\"\"Pitchfork image.\"\"\"\n\n XMAS: Image\n \"\"\"Christmas tree image.\"\"\"\n\n PACMAN: Image\n \"\"\"Pac-Man arcade character image.\"\"\"\n\n TARGET: Image\n \"\"\"Target image.\"\"\"\n\n TSHIRT: Image\n \"\"\"T-shirt image.\"\"\"\n\n ROLLERSKATE: Image\n \"\"\"Rollerskate image.\"\"\"\n\n DUCK: Image\n \"\"\"Duck image.\"\"\"\n\n HOUSE: Image\n \"\"\"House image.\"\"\"\n\n TORTOISE: Image\n \"\"\"Tortoise image.\"\"\"\n\n BUTTERFLY: Image\n \"\"\"Butterfly image.\"\"\"\n\n STICKFIGURE: Image\n \"\"\"Stick figure image.\"\"\"\n\n GHOST: Image\n \"\"\"Ghost image.\"\"\"\n\n SWORD: Image\n \"\"\"Sword image.\"\"\"\n\n GIRAFFE: Image\n \"\"\"Giraffe image.\"\"\"\n\n SKULL: Image\n \"\"\"Skull image.\"\"\"\n\n UMBRELLA: Image\n \"\"\"Umbrella image.\"\"\"\n\n SNAKE: Image\n \"\"\"Snake image.\"\"\"\n\n SCISSORS: Image\n \"\"\"Scissors image.\"\"\"\n\n ALL_CLOCKS: List[Image]\n \"\"\"A list containing all the CLOCK_ images in sequence.\"\"\"\n\n ALL_ARROWS: List[Image]\n \"\"\"A list containing all the ARROW_ images in sequence.\"\"\"\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Create an image from a string describing which LEDs are lit.\n\n ``string`` has to consist of digits 0-9 arranged into lines,\n describing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\n will create a 5\u00d75 image of an X. The end of a line is indicated by a\n colon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n :param string: The string describing the image.\n \"\"\"\n ...\n @overload\n def __init__(\n self, width: int = 5, height: int = 5, buffer: ReadableBuffer = None\n ) -> None:\n \"\"\"Create an empty image with ``width`` columns and ``height`` rows.\n\n :param width: Optional width of the image\n :param height: Optional height of the image\n :param buffer: Optional array or bytes of ``width``\u00d7``height`` integers in range 0-9 to initialize the image\n\n Examples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\n These create 2 x 2 pixel images at full brightness.\n \"\"\"\n ...\n def width(self) -> int:\n \"\"\"Get the number of columns.\n\n :return: The number of columns in the image\n \"\"\"\n ...\n def height(self) -> int:\n \"\"\"Get the number of rows.\n\n :return: The number of rows in the image\n \"\"\"\n ...\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Set the brightness of a pixel.\n\n Example: ``my_image.set_pixel(0, 0, 9)``\n\n :param x: The column number\n :param y: The row number\n :param value: The brightness as an integer between 0 (dark) and 9 (bright)\n\n This method will raise an exception when called on any of the built-in\n read-only images, like ``Image.HEART``.\n \"\"\"\n ...\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Get the brightness of a pixel.\n\n Example: ``my_image.get_pixel(0, 0)``\n\n :param x: The column number\n :param y: The row number\n :return: The brightness as an integer between 0 and 9.\n \"\"\"\n ...\n def shift_left(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture left.\n\n Example: ``Image.HEART_SMALL.shift_left(1)``\n\n :param n: The number of columns to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_right(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture right.\n\n Example: ``Image.HEART_SMALL.shift_right(1)``\n\n :param n: The number of columns to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_up(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture up.\n\n Example: ``Image.HEART_SMALL.shift_up(1)``\n\n :param n: The number of rows to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_down(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture down.\n\n Example: ``Image.HEART_SMALL.shift_down(1)``\n\n :param n: The number of rows to shift by\n :return: The shifted image\n \"\"\"\n ...\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Create a new image by cropping the picture.\n\n Example: ``Image.HEART.crop(1, 1, 3, 3)``\n\n :param x: The crop offset column\n :param y: The crop offset row\n :param w: The crop width\n :param h: The crop height\n :return: The new image\n \"\"\"\n ...\n def copy(self) -> Image:\n \"\"\"Create an exact copy of the image.\n\n Example: ``Image.HEART.copy()``\n\n :return: The new image\n \"\"\"\n ...\n def invert(self) -> Image:\n \"\"\"Create a new image by inverting the brightness of the pixels in the\n source image.\n\n Example: ``Image.SMALL_HEART.invert()``\n\n :return: The new image.\n \"\"\"\n ...\n def fill(self, value: int) -> None:\n \"\"\"Set the brightness of all the pixels in the image.\n\n Example: ``my_image.fill(5)``\n\n :param value: The new brightness as a number between 0 (dark) and 9 (bright).\n\n This method will raise an exception when called on any of the built-in\n read-only images, like ``Image.HEART``.\n \"\"\"\n ...\n def blit(\n self,\n src: Image,\n x: int,\n y: int,\n w: int,\n h: int,\n xdest: int = 0,\n ydest: int = 0,\n ) -> None:\n \"\"\"Copy an area from another image into this image.\n\n Example: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n :param src: The source image\n :param x: The starting column offset in the source image\n :param y: The starting row offset in the source image\n :param w: The number of columns to copy\n :param h: The number of rows to copy\n :param xdest: The column offset to modify in this image\n :param ydest: The row offset to modify in this image\n\n Pixels outside the source image are treated as having a brightness of 0.\n\n ``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\n and ``crop()`` can are all implemented by using ``blit()``.\n\n For example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\n \"\"\"\n ...\n def __repr__(self) -> str:\n \"\"\"Get a compact string representation of the image.\"\"\"\n ...\n def __str__(self) -> str:\n \"\"\"Get a readable string representation of the image.\"\"\"\n ...\n def __add__(self, other: Image) -> Image:\n \"\"\"Create a new image by adding the brightness values from the two\n images for each pixel.\n\n Example: ``Image.HEART + Image.HAPPY``\n\n :param other: The image to add.\n \"\"\"\n ...\n def __sub__(self, other: Image) -> Image:\n \"\"\"Create a new image by subtracting the brightness values of the\n other image from this image.\n\n Example: ``Image.HEART - Image.HEART_SMALL``\n\n :param other: The image to subtract.\n \"\"\"\n ...\n def __mul__(self, n: float) -> Image:\n \"\"\"Create a new image by multiplying the brightness of each pixel by\n ``n``.\n\n Example: ``Image.HEART * 0.5``\n\n :param n: The value to multiply by.\n \"\"\"\n ...\n def __truediv__(self, n: float) -> Image:\n \"\"\"Create a new image by dividing the brightness of each pixel by\n ``n``.\n\n Example: ``Image.HEART / 2``\n\n :param n: The value to divide by.\n \"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Represents the transition of sound events, from ``quiet`` to ``loud`` like clapping or shouting.\"\"\"\n\n QUIET: SoundEvent\n \"\"\"Represents the transition of sound events, from ``loud`` to ``quiet`` like speaking or background music.\"\"\"\n\nclass Sound:\n \"\"\"The built-in sounds can be called using ``audio.play(Sound.NAME)``.\"\"\"\n\n GIGGLE: Sound\n \"\"\"Giggling sound.\"\"\"\n\n HAPPY: Sound\n \"\"\"Happy sound.\"\"\"\n\n HELLO: Sound\n \"\"\"Greeting sound.\"\"\"\n\n MYSTERIOUS: Sound\n \"\"\"Mysterious sound.\"\"\"\n\n SAD: Sound\n \"\"\"Sad sound.\"\"\"\n\n SLIDE: Sound\n \"\"\"Sliding sound.\"\"\"\n\n SOARING: Sound\n \"\"\"Soaring sound.\"\"\"\n\n SPRING: Sound\n \"\"\"Spring sound.\"\"\"\n\n TWINKLE: Sound\n \"\"\"Twinkling sound.\"\"\"\n\n YAWN: Sound\n \"\"\"Yawning sound.\"\"\"\n", - "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Measure the acceleration of the micro:bit and recognise gestures.\n\"\"\"\n\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Get the acceleration measurement in the ``x`` axis in milli-g.\n\n Example: ``accelerometer.get_x()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Get the acceleration measurement in the ``y`` axis in milli-g.\n\n Example: ``accelerometer.get_y()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Get the acceleration measurement in the ``z`` axis in milli-g.\n\n Example: ``accelerometer.get_z()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Get the acceleration measurements in all axes at once as a tuple.\n\n Example: ``x, y, z = accelerometer.get_values()``\n\n :return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\n \"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Get the acceleration measurement of all axes combined, as a positive integer. This is the Pythagorean sum of the X, Y and Z axes.\n\n Example: ``accelerometer.get_strength()``\n\n :return: The combined acceleration strength of all the axes, in milli-g.\n \"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Get the name of the current gesture.\n\n Example: ``accelerometer.current_gesture()``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :return: The current gesture\n \"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Check if the named gesture is currently active.\n\n Example: ``accelerometer.is_gesture('shake')``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :param name: The gesture name.\n :return: ``True`` if the gesture is active, ``False`` otherwise.\n \"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Check if the named gesture was active since the last call.\n\n Example: ``accelerometer.was_gesture('shake')``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :param name: The gesture name.\n :return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\n \"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Return a tuple of the gesture history.\n\n Example: ``accelerometer.get_gestures()``\n\n Clears the gesture history before returning.\n\n Gestures are not updated in the background so there needs to be constant\n calls to some accelerometer method to do the gesture detection. Usually\n gestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n :return: The history as a tuple, most recent last.\n \"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Set the accelerometer sensitivity range, in g (standard gravity), to the closest values supported by the hardware, so it rounds to either ``2``, ``4``, or ``8`` g.\n\n Example: ``accelerometer.set_range(8)``\n\n :param value: New range for the accelerometer, an integer in ``g``.\n \"\"\"\n", - "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(\n source: Union[Iterable[AudioFrame], Sound, SoundEffect],\n wait: bool = True,\n pin: MicroBitDigitalPin = pin0,\n return_pin: Union[MicroBitDigitalPin, None] = None,\n) -> None:\n \"\"\"Play a built-in sound, sound effect or custom audio frames.\n\n Example: ``audio.play(Sound.GIGGLE)``\n\n :param source: A built-in ``Sound`` such as ``Sound.GIGGLE``, a ``SoundEffect`` or sample data as an iterable of ``AudioFrame`` objects.\n :param wait: If ``wait`` is ``True``, this function will block until the sound is complete.\n :param pin: An optional argument to specify the output pin can be used to override the default of ``pin0``. If we do not want any sound to play we can use ``pin=None``.\n :param return_pin: Specifies a differential edge connector pin to connect to an external speaker instead of ground. This is ignored for the **V2** revision.\n \"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Check whether a sound is playing.\n\n Example: ``audio.is_playing()``\n\n :return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Stop all audio playback.\n\n Example: ``audio.stop()``\n \"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"A sound effect, composed by a set of parameters configured via the constructor or attributes.\"\"\"\n\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sine wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Sawtooth wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Triangle wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Square wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise option used for the ``waveform`` parameter.\"\"\"\n\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Linear interpolation option used for the ``shape`` parameter.\"\"\"\n\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolation option used for the ``shape`` parameter.\"\"\"\n\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmic interpolation option used for the ``shape`` parameter.\"\"\"\n\n FX_NONE: ClassVar[int]\n \"\"\"No effect option used for the ``fx`` parameter.\"\"\"\n\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect option used for the ``fx`` parameter.\"\"\"\n\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect option used for the ``fx`` parameter.\"\"\"\n\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect option used for the ``fx`` parameter.\"\"\"\n\n freq_start: int\n \"\"\"Start frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n\n freq_end: int\n \"\"\"End frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n\n duration: int\n \"\"\"Duration of the sound in milliseconds, a number between ``0`` and ``9999``\"\"\"\n\n vol_start: int\n \"\"\"Start volume value, a number between ``0`` and ``255``\"\"\"\n\n vol_end: int\n \"\"\"End volume value, a number between ``0`` and ``255``\"\"\"\n\n waveform: int\n \"\"\"Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise)\"\"\"\n\n fx: int\n \"\"\"Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``\"\"\"\n\n shape: int\n \"\"\"The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(\n self,\n freq_start: int = 500,\n freq_end: int = 2500,\n duration: int = 500,\n vol_start: int = 255,\n vol_end: int = 0,\n waveform: int = WAVEFORM_SQUARE,\n fx: int = FX_NONE,\n shape: int = SHAPE_LOG,\n ):\n \"\"\"Create a new sound effect.\n\n Example: ``my_effect = SoundEffect(duration=1000)``\n\n All the parameters are optional, with default values as shown above, and\n they can all be modified via attributes of the same name. For example, we\n can first create an effect ``my_effect = SoundEffect(duration=1000)``,\n and then change its attributes ``my_effect.duration = 500``.\n\n :param freq_start: Start frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n :param freq_end: End frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n :param duration: Duration of the sound in milliseconds, a number between ``0`` and ``9999``.\n :param vol_start: Start volume value, a number between ``0`` and ``255``.\n :param vol_end: End volume value, a number between ``0`` and ``255``.\n :param waveform: Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise).\n :param fx: Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n :param shape: The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\n \"\"\"\n def copy(self) -> SoundEffect:\n \"\"\"Create a copy of this ``SoundEffect``.\n\n Example: ``sound_2 = sound_1.copy()``\n\n :return: A copy of the SoundEffect.\n \"\"\"\n\nclass AudioFrame:\n \"\"\"An ``AudioFrame`` object is a list of 32 samples each of which is a unsigned byte\n (whole number between 0 and 255).\n\n It takes just over 4 ms to play a single frame.\n\n Example::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\n \"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overwrite the data in this ``AudioFrame`` with the data from another ``AudioFrame`` instance.\n\n Example: ``my_frame.copyfrom(source_frame)``\n\n :param other: ``AudioFrame`` instance from which to copy the data.\n \"\"\"\n def __len__(self) -> int: ...\n def __setitem__(self, key: int, value: int) -> None: ...\n def __getitem__(self, key: int) -> int: ...\n", - "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Use the built-in compass.\n\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Starts the calibration process.\n\n Example: ``compass.calibrate()``\n\n An instructive message will be scrolled to the user after which they will need\n to rotate the device in order to draw a circle on the LED display.\n \"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"Check is the compass is calibrated.\n\n Example: ``compass.is_calibrated()``\n\n :return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\n \"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Undoes the calibration, making the compass uncalibrated again.\n\n Example: ``compass.clear_calibration()``\n \"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Get the magnetic field strength on the ``x`` axis.\n\n Example: ``compass.get_x()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Get the magnetic field strength on the ``y`` axis.\n\n Example: ``compass.get_y()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Get the magnetic field strength on the ``z`` axis.\n\n Example: ``compass.get_z()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Get the compass heading.\n\n Example: ``compass.heading()``\n\n :return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\n \"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Get the magnitude of the magnetic field around the device.\n\n Example: ``compass.get_field_strength()``\n\n :return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...\n", - "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Show text, images and animations on the 5\u00d75 LED display.\n\"\"\"\n\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Get the brightness of the LED at column ``x`` and row ``y``.\n\n Example: ``display.get_pixel(0, 0)``\n\n :param x: The display column (0..4)\n :param y: The display row (0..4)\n :return: A number between 0 (off) and 9 (bright)\n \"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Set the brightness of the LED at column ``x`` and row ``y``.\n\n Example: ``display.set_pixel(0, 0, 9)``\n\n :param x: The display column (0..4)\n :param y: The display row (0..4)\n :param value: The brightness between 0 (off) and 9 (bright)\n \"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Set the brightness of all LEDs to 0 (off).\n\n Example: ``display.clear()``\n \"\"\"\n ...\n\ndef show(\n image: Union[str, float, int, Image, Iterable[Image]],\n delay: int = 400,\n wait: bool = True,\n loop: bool = False,\n clear: bool = False,\n) -> None:\n \"\"\"Shows images, letters or digits on the LED display.\n\n Example: ``display.show(Image.HEART)``\n\n When ``image`` is an image or a list of images then each image is displayed in turn.\n If ``image`` is a string or number, each letter or digit is displayed in turn.\n\n :param image: A string, number, image or list of images to show.\n :param delay: Each letter, digit or image is shown with ``delay`` milliseconds between them.\n :param wait: If ``wait`` is ``True``, this function will block until the animation is finished, otherwise the animation will happen in the background.\n :param loop: If ``loop`` is ``True``, the animation will repeat forever.\n :param clear: If ``clear`` is ``True``, the display will be cleared after the sequence has finished.\n\n The ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\n \"\"\"\n ...\n\ndef scroll(\n text: Union[str, float, int],\n delay: int = 150,\n wait: bool = True,\n loop: bool = False,\n monospace: bool = False,\n) -> None:\n \"\"\"Scrolls a number or text on the LED display.\n\n Example: ``display.scroll('micro:bit')``\n\n :param text: The string to scroll. If ``text`` is an integer or float it is first converted to a string using ``str()``.\n :param delay: The ``delay`` parameter controls how fast the text is scrolling.\n :param wait: If ``wait`` is ``True``, this function will block until the animation is finished, otherwise the animation will happen in the background.\n :param loop: If ``loop`` is ``True``, the animation will repeat forever.\n :param monospace: If ``monospace`` is ``True``, the characters will all take up 5 pixel-columns in width, otherwise there will be exactly 1 blank pixel-column between each character as they scroll.\n\n The ``wait``, ``loop`` and ``monospace`` arguments must be specified\n using their keyword.\n \"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Turn on the LED display.\n\n Example: ``display.on()``\n \"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Turn off the LED display (disabling the display allows you to re-use the GPIO pins for other purposes).\n\n Example: ``display.off()``\n \"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"Check whether the LED display is enabled.\n\n Example: ``display.is_on()``\n\n :return: ``True`` if the display is on, otherwise returns ``False``.\n \"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Read the light level.\n\n Example: ``display.read_light_level()``\n\n Uses the display's LEDs in reverse-bias mode to sense the amount of light\n falling on the display.\n\n :return: An integer between 0 and 255 representing the light level, with larger meaning more light.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Communicate with devices using the I\u00b2C bus protocol.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(\n freq: int = 100000, sda: MicroBitDigitalPin = pin20, scl: MicroBitDigitalPin = pin19\n) -> None:\n \"\"\"Re-initialize a peripheral.\n\n Example: ``i2c.init()``\n\n :param freq: clock frequency\n :param sda: ``sda`` pin (default 20)\n :param scl: ``scl`` pin (default 19)\n\n On a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\n the accelerometer and compass stop working, as they are connected\n internally to those pins. This warning does not apply to the **V2**\n revision of the micro:bit as this has `separate I\u00b2C lines `_\n for the motion sensors and the edge connector.\n \"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scan the bus for devices.\n\n Example: ``i2c.scan()``\n\n :return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\n \"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool = False) -> bytes:\n \"\"\"Read bytes from a device.\n\n Example: ``i2c.read(0x50, 64)``\n\n :param addr: The 7-bit address of the device\n :param n: The number of bytes to read\n :param repeat: If ``True``, no stop bit will be sent\n :return: The bytes read\n \"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool = False) -> None:\n \"\"\"Write bytes to a device.\n\n Example: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n :param addr: The 7-bit address of the device\n :param buf: A buffer containing the bytes to write\n :param repeat: If ``True``, no stop bit will be sent\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Respond to sound using the built-in microphone (V2 only).\n\"\"\"\n\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Get the last recorded sound event\n\n Example: ``microphone.current_event()``\n\n :return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\n \"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Check if a sound was heard at least once since the last call.\n\n Example: ``microphone.was_event(SoundEvent.LOUD)``\n\n This call clears the sound history before returning.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\n \"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Check the most recent sound event detected.\n\n Example: ``microphone.is_event(SoundEvent.LOUD)``\n\n This call does not clear the sound event history.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was the most recent heard, ``False`` otherwise.\n \"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Get the sound event history as a tuple.\n\n Example: ``microphone.get_events()``\n\n This call clears the sound history before returning.\n\n :return: A tuple of the event history with the most recent event last.\n \"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Set the threshold for a sound event.\n\n Example: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\n A high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n :param event: A sound event, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``.\n :param value: The threshold level in the range 0-255.\n \"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Get the sound pressure level.\n\n Example: ``microphone.sound_level()``\n\n :return: A representation of the sound pressure level in the range 0 to 255.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Control the built-in speaker (V2 only).\n\"\"\"\n\ndef off() -> None:\n \"\"\"Turn the speaker off.\n\n Example: ``speaker.off()``\n\n This does not disable sound output to an edge connector pin.\n \"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Turn the speaker on.\n\n Example: ``speaker.on()``\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communicate with devices using the serial peripheral interface (SPI) bus.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(\n baudrate: int = 1000000,\n bits: int = 8,\n mode: int = 0,\n sclk: MicroBitDigitalPin = pin13,\n mosi: MicroBitDigitalPin = pin15,\n miso: MicroBitDigitalPin = pin14,\n) -> None:\n \"\"\"Initialize SPI communication.\n\n Example: ``spi.init()``\n\n For correct communication, the parameters have to be the same on both communicating devices.\n\n :param baudrate: The speed of communication.\n :param bits: The width in bits of each transfer. Currently only ``bits=8`` is supported. However, this may change in the future.\n :param mode: Determines the combination of clock polarity and phase - `see online table `_.\n :param sclk: sclk pin (default 13)\n :param mosi: mosi pin (default 15)\n :param miso: miso pin (default 14)\n \"\"\"\n ...\n\ndef read(nbytes: int, out: int = 0) -> bytes:\n \"\"\"Read at most ``nbytes`` while continuously writing the single byte given by ``out``.\n\n Example: ``spi.read(64)``\n\n :param nbytes: Maximum number of bytes to read.\n :param out: The byte value to write (default 0).\n :return: The bytes read.\n \"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Write bytes to the bus.\n\n Example: ``spi.write(bytes([1, 2, 3]))``\n\n :param buffer: A buffer to read data from.\n \"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Write the ``out`` buffer to the bus and read any response into the ``in_`` buffer.\n\n Example: ``spi.write_readinto(out_buffer, in_buffer)``\n\n The length of the buffers should be the same. The buffers can be the same object.\n\n :param out: The buffer to write any response to.\n :param in_: The buffer to read data from.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Communicate with a device using a serial interface.\n\"\"\"\n\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\n\nODD: int\n\"\"\"Odd parity\"\"\"\n\nEVEN: int\n\"\"\"Even parity\"\"\"\n\ndef init(\n baudrate: int = 9600,\n bits: int = 8,\n parity: Optional[int] = None,\n stop: int = 1,\n tx: Optional[MicroBitDigitalPin] = None,\n rx: Optional[MicroBitDigitalPin] = None,\n) -> None:\n \"\"\"Initialize serial communication.\n\n Example: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n :param baudrate: The speed of communication.\n :param bits: The size of bytes being transmitted. micro:bit only supports 8.\n :param parity: How parity is checked, ``None``, ``uart.ODD`` or ``uart.EVEN``.\n :param stop: The number of stop bits, has to be 1 for micro:bit.\n :param tx: Transmitting pin.\n :param rx: Receiving pin.\n\n Initializing the UART on external pins will cause the Python console on\n USB to become unaccessible, as it uses the same hardware. To bring the\n console back you must reinitialize the UART without passing anything for\n ``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\n that calling ``uart.init(115200)`` is enough to restore the Python console.\n\n For more details see `the online documentation `_.\n \"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Check if any data is waiting.\n\n Example: ``uart.any()``\n\n :return: ``True`` if any data is waiting, else ``False``.\n \"\"\"\n ...\n\ndef read(nbytes: Optional[int] = None) -> Optional[bytes]:\n \"\"\"Read bytes.\n\n Example: ``uart.read()``\n\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read as many bytes as possible\n :return: A bytes object or ``None`` on timeout\n \"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int] = None) -> Optional[int]:\n \"\"\"Read bytes into the ``buf``.\n\n Example: ``uart.readinto(input_buffer)``\n\n :param buf: The buffer to write to.\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read ``len(buf)`` bytes.\n :return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\n \"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Read a line, ending in a newline character.\n\n Example: ``uart.readline()``\n\n :return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\n \"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Write a buffer to the bus.\n\n Example: ``uart.write('hello world')``\n\n :param buf: A bytes object or a string.\n :return: The number of bytes written, or ``None`` on timeout.\n\n Examples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\n \"\"\"\n ...\n", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"\u7aef\u5b50\u3001\u30a4\u30e1\u30fc\u30b8\u3001\u30b5\u30a6\u30f3\u30c9\u3001\u6e29\u5ea6\u3068\u97f3\u91cf\u3002\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"time \u5f15\u6570\u3067\u6307\u5b9a\u3057\u305f\u9593\u9694\u3067\u95a2\u6570\u3092\u5b9f\u884c\u3059\u308b\u3088\u3046\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u3057\u307e\u3059\u3002 **V2** \u306e\u307f\u3067\u4f7f\u3048\u307e\u3059\u3002\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: \u6307\u5b9a\u3057\u305f\u9593\u9694\u3067\u547c\u3073\u51fa\u3059\u95a2\u6570\u3002\u30c7\u30b3\u30ec\u30fc\u30bf\u3068\u3057\u3066\u4f7f\u3046\u5834\u5408\u306f\u7701\u7565\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n:param days: \u30b9\u30b1\u30b8\u30e5\u30fc\u30ea\u30f3\u30b0\u306e\u305f\u3081\u306e\u65e5\u6570\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n:param h: \u30b9\u30b1\u30b8\u30e5\u30fc\u30ea\u30f3\u30b0\u306e\u305f\u3081\u306e\u6642\u9593\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n:param min: \u30b9\u30b1\u30b8\u30e5\u30fc\u30ea\u30f3\u30b0\u306e\u305f\u3081\u306e\u5206\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n:param s: \u30b9\u30b1\u30b8\u30e5\u30fc\u30ea\u30f3\u30b0\u306e\u305f\u3081\u306e\u79d2\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n:param ms: \u30b9\u30b1\u30b8\u30e5\u30fc\u30ea\u30f3\u30b0\u306e\u305f\u3081\u306e\u30df\u30ea\u79d2\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"\u30d1\u30cb\u30c3\u30af\u30e2\u30fc\u30c9\u306b\u5165\u308a\u307e\u3059\u3002\n\nExample: ``panic(127)``\n\n:param n: \u72b6\u614b\u3092\u793a\u3059 255 \u4ee5\u4e0b\u306e\u4efb\u610f\u306e\u6574\u6570\u3002\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"\u30dc\u30fc\u30c9\u3092\u518d\u8d77\u52d5\u3057\u307e\u3059\u3002\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"\u3042\u308b\u6574\u6570\u533a\u9593\u304b\u3089\u5225\u306e\u6574\u6570\u533a\u9593\u306b\u5024\u3092\u5909\u63db\u3057\u307e\u3059\u3002\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: \u5909\u63db\u3059\u308b\u6570\u5024\u3002\n:param from_: \u5909\u63db\u5143\u306e\u533a\u9593\u3092\u5b9a\u7fa9\u3059\u308b\u305f\u3081\u306e\u30bf\u30d7\u30eb\u3002\n:param to: \u5909\u63db\u5148\u306e\u533a\u9593\u3092\u5b9a\u7fa9\u3059\u308b\u305f\u3081\u306e\u30bf\u30d7\u30eb\u3002\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"\u3042\u308b\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u533a\u9593\u304b\u3089\u5225\u306e\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u533a\u9593\u306b\u5024\u3092\u5909\u63db\u3057\u307e\u3059\u3002\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: \u5909\u63db\u3059\u308b\u6570\u5024\u3002\n:param from_: \u5909\u63db\u5143\u306e\u533a\u9593\u3092\u5b9a\u7fa9\u3059\u308b\u305f\u3081\u306e\u30bf\u30d7\u30eb\u3002\n:param to: \u5909\u63db\u5148\u306e\u533a\u9593\u3092\u5b9a\u7fa9\u3059\u308b\u305f\u3081\u306e\u30bf\u30d7\u30eb\u3002\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"``n`` \u30df\u30ea\u79d2\u5f85\u6a5f\u3057\u307e\u3059\u3002\n\nExample: ``sleep(1000)``\n\n:param n: \u30df\u30ea\u79d2\u5358\u4f4d\u306e\u5f85\u6a5f\u6642\u9593\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"\u30dc\u30fc\u30c9\u306e\u5b9f\u884c\u6642\u9593\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"micro:bit\u306e\u6e29\u5ea6\u3092\u6442\u6c0f\u3067\u53d6\u5f97\u3057\u307e\u3059\u3002 (\u6e29\u5ea6)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"\u97f3\u91cf\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``set_volume(127)``\n\n:param v: 0\uff08\u4e0b\u9650\uff09\u304b\u3089 255\uff08\u4e0a\u9650\uff09\u307e\u3067\u306e\u9593\u306e\u5024\u3002\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"\u30dc\u30bf\u30f3 ``button_a`` \u3068 ``button_b`` \u306e\u30af\u30e9\u30b9\u3002\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"\u30dc\u30bf\u30f3\u304c\u62bc\u3055\u308c\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"\u30c7\u30d0\u30a4\u30b9\u304c\u8d77\u52d5\u3055\u308c\u3066\u304b\u3089\u3001\u3082\u3057\u304f\u306f\u524d\u56de\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u304c\u547c\u3073\u51fa\u3055\u308c\u3066\u304b\u3089\u30dc\u30bf\u30f3\u304c\u62bc\u3055\u308c\u305f\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u305f\u56de\u6570\u306e\u5408\u8a08\u3092\u53d6\u5f97\u3057\u3001\u8fd4\u3059\u524d\u306b\u56de\u6570\u3092\u30bc\u30ed\u306b\u30ea\u30bb\u30c3\u30c8\u3057\u307e\u3059\u3002\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"\u5de6\u306e\u30dc\u30bf\u30f3 ``Button`` \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3002\"\"\"\nbutton_b: Button\n\"\"\"\u53f3\u306e\u30dc\u30bf\u30f3 ``Button`` \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3002\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"\u30c7\u30b8\u30bf\u30eb\u7aef\u5b50\u3002\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"\u7aef\u5b50\u306e\u30c7\u30b8\u30bf\u30eb\u5024\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"\u7aef\u5b50\u306e\u30c7\u30b8\u30bf\u30eb\u5024\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``pin0.write_digital(1)``\n\n:param value: \u7aef\u5b50\u3092\u30cf\u30a4\u306b\u3059\u308b\u306b\u306f 1 \u3001\u30ed\u30fc\u306b\u3059\u308b\u306b\u306f 0 \u3092\u6307\u5b9a\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"\u30d7\u30eb\u72b6\u614b\u3092 ``PULL_UP``\u3001``PULL_DOWN``\u3001``NO_PULL`` \u306e\uff13\u3064\u306e\u5024\u306e\u3044\u305a\u308c\u304b\u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: ``pin0.PULL_UP`` \u306a\u3069\u306e\u95a2\u9023\u3059\u308b\u7aef\u5b50\u306e\u30d7\u30eb\u72b6\u614b\u3002\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"\u7aef\u5b50\u306e\u30d7\u30eb\u72b6\u614b\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"\u7aef\u5b50\u306e\u30e2\u30fc\u30c9\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"PWM \u4fe1\u53f7\u3092\u7aef\u5b50\u306b\u51fa\u529b\u3057\u307e\u3059\u3002\u6642\u9593\u5e45\u5468\u671f\u306f ``value`` \u306b\u6bd4\u4f8b\u3057\u307e\u3059\u3002\n\nExample: ``pin0.write_analog(254)``\n\n:param value: 0\uff08\u6642\u9593\u5e45\u5468\u671f 0%\uff09\u304b\u3089 1023\uff08\u6642\u9593\u5e45\u5468\u671f 100%\uff09\u307e\u3067\u306e\u6574\u6570\u307e\u305f\u306f\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3002\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"\u51fa\u529b\u3055\u308c\u308bPWM\u4fe1\u53f7\u306e\u5468\u671f\u3092 ``period`` \u306b\u30df\u30ea\u79d2\u5358\u4f4d\u3067\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: \u5468\u671f\u3092\u30df\u30ea\u79d2\u5358\u4f4d\u3067\u6307\u5b9a\u3002\u6709\u52b9\u306a\u6700\u5c0f\u5024\u306f1ms\u3002\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"\u51fa\u529b\u3055\u308c\u308bPWM\u4fe1\u53f7\u306e\u5468\u671f\u3092 ``period`` \u306b\u30de\u30a4\u30af\u30ed\u79d2\u5358\u4f4d\u3067\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: \u5468\u671f\u3092\u30de\u30a4\u30af\u30ed\u79d2\u5358\u4f4d\u3067\u6307\u5b9a\u3002\u6709\u52b9\u306a\u6700\u5c0f\u5024\u306f256\u00b5s\u3002\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"\u30a2\u30ca\u30ed\u30b0\u3068\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"\u7aef\u5b50\u306b\u304b\u304b\u3063\u3066\u3044\u308b\u96fb\u5727\u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"\u30a2\u30ca\u30ed\u30b0\u3001\u30c7\u30b8\u30bf\u30eb\u3001\u30bf\u30c3\u30c1\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"\u7aef\u5b50\u306b\u30bf\u30c3\u30c1\u3057\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"\u7aef\u5b50\u306e\u30bf\u30c3\u30c1\u30e2\u30fc\u30c9\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: \u95a2\u9023\u3059\u308b\u7aef\u5b50\u306e ``CAPACITIVE`` \u307e\u305f\u306f ``RESISTIVE``\u3002\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u3001\u30a2\u30ca\u30ed\u30b0\u3001\u30bf\u30c3\u30c1\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin1: MicroBitTouchPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u3001\u30a2\u30ca\u30ed\u30b0\u3001\u30bf\u30c3\u30c1\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin2: MicroBitTouchPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u3001\u30a2\u30ca\u30ed\u30b0\u3001\u30bf\u30c3\u30c1\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u3068\u30a2\u30ca\u30ed\u30b0\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u3068\u30a2\u30ca\u30ed\u30b0\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u3068\u30a2\u30ca\u30ed\u30b0\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"\u30c7\u30b8\u30bf\u30eb\u6a5f\u80fd\u3092\u5099\u3048\u305f\u7aef\u5b50\u3002\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"micro:bit\u306e\u524d\u9762\u306b\u3042\u308b\u30bf\u30c3\u30c1\u30bb\u30f3\u30b5\u30fc\u6a5f\u80fd\u306e\u3042\u308b\u30ed\u30b4\u306e\u7aef\u5b50\u3067\u3059\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u306f\u9759\u96fb\u5bb9\u91cf\u65b9\u5f0f\u30bf\u30c3\u30c1\u30e2\u30fc\u30c9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"micro:bit\u30b9\u30d4\u30fc\u30ab\u30fc\u3092\u30a2\u30c9\u30ec\u30b9\u3059\u308b\u305f\u3081\u306e\u7aef\u5b50\u3002\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"micro:bit\u306eLED\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u306b\u8868\u793a\u3059\u308b\u30a4\u30e1\u30fc\u30b8\u3002\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"\u300c\u30cf\u30fc\u30c8\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n HEART_SMALL: Image\n \"\"\"\u300c\u5c0f\u3055\u3044\u30cf\u30fc\u30c8\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n HAPPY: Image\n \"\"\"\u300c\u3046\u308c\u3057\u3044\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SMILE: Image\n \"\"\"\u300c\u7b11\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SAD: Image\n \"\"\"\u300c\u304b\u306a\u3057\u3044\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CONFUSED: Image\n \"\"\"\u300c\u3053\u307e\u308a\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ANGRY: Image\n \"\"\"\u300c\u304a\u3053\u308a\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ASLEEP: Image\n \"\"\"\u300c\u306d\u3066\u308b\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SURPRISED: Image\n \"\"\"\u300c\u3073\u3063\u304f\u308a\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SILLY: Image\n \"\"\"\u300c\u3078\u3093\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n FABULOUS: Image\n \"\"\"\u300c\u30b5\u30f3\u30b0\u30e9\u30b9\u306e\u7b11\u9854\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n MEH: Image\n \"\"\"\u300c\u3075\u30fc\u3093\u300d\u30a4\u30e1\u30fc\u30b8\"\"\"\n YES: Image\n \"\"\"\u300c\u30c1\u30a7\u30c3\u30af\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n NO: Image\n \"\"\"\u300c\u30d0\u30c4\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK12: Image\n \"\"\"\u300c12\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK11: Image\n \"\"\"\u300c11\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK10: Image\n \"\"\"\u300c10\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK9: Image\n \"\"\"\u300c9\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK8: Image\n \"\"\"\u300c8\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK7: Image\n \"\"\"\u300c7\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK6: Image\n \"\"\"\u300c6\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK5: Image\n \"\"\"\u300c5\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK4: Image\n \"\"\"\u300c4\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK3: Image\n \"\"\"\u300c3\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK2: Image\n \"\"\"\u300c2\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CLOCK1: Image\n \"\"\"\u300c1\u6642\u3092\u6307\u3059\u7dda\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ARROW_N: Image\n \"\"\"\u300c\u5317\u3092\u6307\u3059\u77e2\u5370\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ARROW_NE: Image\n \"\"\"\u300c\u5317\u6771\u3092\u6307\u3059\u77e2\u5370\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ARROW_E: Image\n \"\"\"\u300c\u897f\u3092\u6307\u3059\u77e2\u5370\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ARROW_SE: Image\n \"\"\"\u300c\u5357\u6771\u3092\u6307\u3059\u77e2\u5370\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ARROW_S: Image\n \"\"\"\u300c\u5357\u3092\u6307\u3059\u77e2\u5370\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ARROW_SW: Image\n \"\"\"\u300c\u5357\u897f\u3092\u6307\u3059\u77e2\u5370\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ARROW_W: Image\n \"\"\"\u300c\u897f\u3092\u6307\u3059\u77e2\u5370\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ARROW_NW: Image\n \"\"\"\u300c\u5317\u897f\u3092\u6307\u3059\u77e2\u5370\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n TRIANGLE: Image\n \"\"\"\u300c\u4e0a\u5411\u304d\u306e\u4e09\u89d2\u5f62\u300d\u30a4\u30e1\u30fc\u30b8\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"\u300c\u5de6\u5411\u304d\u4e09\u89d2\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n CHESSBOARD: Image\n \"\"\"\u30c1\u30a7\u30b9\u76e4\u30d1\u30bf\u30fc\u30f3\u3067\u4ea4\u4e92\u306b\u70b9\u706f\u3059\u308bLED\u3002\"\"\"\n DIAMOND: Image\n \"\"\"\u300c\u30c0\u30a4\u30e4\u30e2\u30f3\u30c9\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"\u300c\u5c0f\u3055\u3044\u30c0\u30a4\u30e4\u30e2\u30f3\u30c9\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SQUARE: Image\n \"\"\"\u300c\u56db\u89d2\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SQUARE_SMALL: Image\n \"\"\"\u300c\u5c0f\u3055\u3044\u56db\u89d2\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n RABBIT: Image\n \"\"\"\u300c\u3046\u3055\u304e\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n COW: Image\n \"\"\"\u300c\u3046\u3057\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"\u300c\uff14\u5206\u97f3\u7b26\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"\u300c\uff18\u5206\u97f3\u7b26\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"\u300c\u9023\u7d50\u3057\u305f\uff18\u5206\u97f3\u7b26\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n PITCHFORK: Image\n \"\"\"\u300c\u304f\u307e\u3067\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n XMAS: Image\n \"\"\"\u300c\u30af\u30ea\u30b9\u30de\u30b9\u30c4\u30ea\u30fc\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n PACMAN: Image\n \"\"\"\u300c\u30d1\u30c3\u30af\u30de\u30f3\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n TARGET: Image\n \"\"\"\u300c\u307e\u3068\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n TSHIRT: Image\n \"\"\"\u300cT\u30b7\u30e3\u30c4\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ROLLERSKATE: Image\n \"\"\"\u300c\u30ed\u30fc\u30e9\u30fc\u30b9\u30b1\u30fc\u30c8\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n DUCK: Image\n \"\"\"\u300c\u3042\u3072\u308b\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n HOUSE: Image\n \"\"\"\u300c\u5bb6\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n TORTOISE: Image\n \"\"\"\u300c\u304b\u3081\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n BUTTERFLY: Image\n \"\"\"\u300c\u3061\u3087\u3046\u3061\u3087\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n STICKFIGURE: Image\n \"\"\"\u300c\u68d2\u4eba\u9593\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n GHOST: Image\n \"\"\"\u300c\u304a\u3070\u3051\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SWORD: Image\n \"\"\"\u300c\u5263\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n GIRAFFE: Image\n \"\"\"\u300c\u304d\u308a\u3093\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SKULL: Image\n \"\"\"\u300c\u304c\u3044\u3053\u3064\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n UMBRELLA: Image\n \"\"\"\u300c\u304b\u3055\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SNAKE: Image\n \"\"\"\u300c\u3078\u3073\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n SCISSORS: Image\n \"\"\"\u300c\u306f\u3055\u307f\u300d\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"\u3059\u3079\u3066\u306e\u6642\u8a08\u30a4\u30e1\u30fc\u30b8\u3092\u9806\u756a\u306b\u4e26\u3079\u305f\u30ea\u30b9\u30c8\u3002\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"\u3059\u3079\u3066\u306e\u77e2\u5370\u30a4\u30e1\u30fc\u30b8\u3092\u9806\u756a\u306b\u4e26\u3079\u305f\u30ea\u30b9\u30c8\u3002\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"LED\u306e\u70b9\u706f\u30d1\u30bf\u30fc\u30f3\u3092\u793a\u3059\u6587\u5b57\u5217\u304b\u3089\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: \u30a4\u30e1\u30fc\u30b8\u306b\u3064\u3044\u3066\u8a18\u8ff0\u3059\u308b\u6587\u5b57\u5217\u3002\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"``width`` \u5217\u3068 ``height`` \u884c\u304b\u3089\u306a\u308b\u7a7a\u306e\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\n:param width: \u30a4\u30e1\u30fc\u30b8\u306e\u5e45\u3092\u6307\u5b9a\u3059\u308b\u30aa\u30d7\u30b7\u30e7\u30f3\n:param height: \u30a4\u30e1\u30fc\u30b8\u306e\u9ad8\u3055\u3092\u6307\u5b9a\u3059\u308b\u30aa\u30d7\u30b7\u30e7\u30f3\n:param buffer: \u30a4\u30e1\u30fc\u30b8\u3092\u521d\u671f\u5316\u3059\u308b\u305f\u3081\u306b\u3001\u6574\u6570\u5024\uff080\uff5e9\uff09\u3092 ``width``\u00d7``height`` \u500b\u4e26\u3079\u305f\u914d\u5217\u307e\u305f\u306f\u30d0\u30a4\u30c8\u5217\u3092\u6307\u5b9a\u3057\u307e\u3059\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"\u5217\u6570\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"\u884c\u6570\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"1\u30d4\u30af\u30bb\u30eb\u306e\u660e\u308b\u3055\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: \u5217\u6570\n:param y: \u884c\u6570\n:param value: \u660e\u308b\u3055\u3092 0\uff08\u6697\u3044\uff09\u304b\u3089 9\uff08\u660e\u308b\u3044\uff09\u307e\u3067\u306e\u6574\u6570\u5024\u3067\u6307\u5b9a\u3057\u307e\u3059\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"1\u30d4\u30af\u30bb\u30eb\u306e\u660e\u308b\u3055\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: \u5217\u6570\n:param y: \u884c\u6570\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"\u753b\u50cf\u3092\u5de6\u306b\u30b7\u30d5\u30c8\u3057\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: \u30b7\u30d5\u30c8\u3059\u308b\u5217\u6570\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"\u753b\u50cf\u3092\u53f3\u306b\u30b7\u30d5\u30c8\u3057\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: \u30b7\u30d5\u30c8\u3059\u308b\u5217\u6570\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"\u753b\u50cf\u3092\u4e0a\u306b\u30b7\u30d5\u30c8\u3057\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: \u30b7\u30d5\u30c8\u3059\u308b\u884c\u6570\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"\u753b\u50cf\u3092\u4e0b\u306b\u30b7\u30d5\u30c8\u3057\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: \u30b7\u30d5\u30c8\u3059\u308b\u884c\u6570\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"\u753b\u50cf\u3092\u30c8\u30ea\u30df\u30f3\u30b0\u3057\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: \u30c8\u30ea\u30df\u30f3\u30b0\u3059\u308b\u30aa\u30d5\u30bb\u30c3\u30c8\u5217\n:param y: \u30c8\u30ea\u30df\u30f3\u30b0\u3059\u308b\u30aa\u30d5\u30bb\u30c3\u30c8\u884c\n:param w: \u30c8\u30ea\u30df\u30f3\u30b0\u3059\u308b\u5e45\n:param h: \u30c8\u30ea\u30df\u30f3\u30b0\u3059\u308b\u9ad8\u3055\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"\u30a4\u30e1\u30fc\u30b8\u5168\u4f53\u306e\u30b3\u30d4\u30fc\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"\u5143\u30a4\u30e1\u30fc\u30b8\u306e\u30d4\u30af\u30bb\u30eb\u306e\u660e\u308b\u3055\u3092\u53cd\u8ee2\u3057\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"\u30a4\u30e1\u30fc\u30b8\u306e\u3059\u3079\u3066\u306e\u30d4\u30af\u30bb\u30eb\u306e\u660e\u308b\u3055\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``my_image.fill(5)``\n\n:param value: 0\uff08\u6697\u3044\uff09\u304b\u3089 9\uff08\u660e\u308b\u3044\uff09\u307e\u3067\u306e\u6570\u5024\u3067\u65b0\u3057\u3044\u660e\u308b\u3055\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"\u3053\u306e\u30a4\u30e1\u30fc\u30b8\u306b\u5225\u306e\u30a4\u30e1\u30fc\u30b8\u304b\u3089\u9818\u57df\u3092\u30b3\u30d4\u30fc\u3057\u307e\u3059\u3002\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: \u5143\u30a4\u30e1\u30fc\u30b8\n:param x: \u5143\u30a4\u30e1\u30fc\u30b8\u306e\u958b\u59cb\u5217\u30aa\u30d5\u30bb\u30c3\u30c8\n:param y: \u5143\u30a4\u30e1\u30fc\u30b8\u306e\u958b\u59cb\u884c\u30aa\u30d5\u30bb\u30c3\u30c8\n:param w: \u30b3\u30d4\u30fc\u3059\u308b\u5217\u6570\n:param h: \u30b3\u30d4\u30fc\u3059\u308b\u884c\u6570\n:param xdest: \u3053\u306e\u30a4\u30e1\u30fc\u30b8\u3067\u5909\u66f4\u3059\u308b\u5217\u30aa\u30d5\u30bb\u30c3\u30c8\n:param ydest: \u3053\u306e\u30a4\u30e1\u30fc\u30b8\u3067\u5909\u66f4\u3059\u308b\u884c\u30aa\u30d5\u30bb\u30c3\u30c8\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"\u30a4\u30e1\u30fc\u30b8\u306e\u30b3\u30f3\u30d1\u30af\u30c8\u306a\u6587\u5b57\u5217\u8868\u73fe\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"\u30a4\u30e1\u30fc\u30b8\u306e\u5224\u8aad\u53ef\u80fd\u306a\u6587\u5b57\u5217\u8868\u73fe\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"\uff12\u3064\u306e\u30a4\u30e1\u30fc\u30b8\u306e\u5404\u30d4\u30af\u30bb\u30eb\u306e\u660e\u308b\u3055\u3092\u8db3\u3057\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: \u52a0\u7b97\u3059\u308b\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"\u3053\u306e\u30a4\u30e1\u30fc\u30b8\u304b\u3089\u4ed6\u306e\u30a4\u30e1\u30fc\u30b8\u306e\u660e\u308b\u3055\u306e\u5024\u3092\u5f15\u3044\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: \u6e1b\u7b97\u3059\u308b\u30a4\u30e1\u30fc\u30b8\u3002\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"\u5404\u30d4\u30af\u30bb\u30eb\u306e\u660e\u308b\u3055\u3092 ``n`` \u500d\u3057\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART * 0.5``\n\n:param n: \u4e57\u7b97\u3059\u308b\u5024\u3002\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"\u5404\u30d4\u30af\u30bb\u30eb\u306e\u660e\u308b\u3055\u3092 ``n`` \u3067\u5272\u3063\u305f\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``Image.HEART / 2``\n\n:param n: \u9664\u7b97\u3059\u308b\u5024\u3002\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"\u62cd\u624b\u3084\u53eb\u3073\u58f0\u306a\u3069\u3067 ``quiet`` \u304b\u3089 ``loud`` \u3078\u306e\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u306e\u5909\u5316\u3092\u8868\u3057\u307e\u3059\u3002\"\"\"\n QUIET: SoundEvent\n \"\"\"\u767a\u8a71\u3084BGM\u306a\u3069\u3067 ``loud`` \u304b\u3089 ``quiet`` \u3078\u306e\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u306e\u5909\u5316\u3092\u8868\u3057\u307e\u3059\u3002\"\"\"\n\nclass Sound:\n \"\"\"\u5185\u8535\u306e\u30b5\u30a6\u30f3\u30c9\u306f ``audio.play(Sound.NAME)`` \u3067\u547c\u3073\u51fa\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\"\"\"\n GIGGLE: Sound\n \"\"\"\u300c\u304f\u3059\u304f\u3059\u7b11\u3046\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"\n HAPPY: Sound\n \"\"\"\u300c\u30cf\u30c3\u30d4\u30fc\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"\n HELLO: Sound\n \"\"\"\u300c\u30cf\u30ed\u30fc\u300d\u30b5\u30a6\u30f3\u30c9\"\"\"\n MYSTERIOUS: Sound\n \"\"\"\u300c\u30df\u30b9\u30c6\u30ea\u30a2\u30b9\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"\n SAD: Sound\n \"\"\"\u300c\u60b2\u3057\u3044\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"\n SLIDE: Sound\n \"\"\"\u300c\u3059\u308b\u3059\u308b\u52d5\u304f\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"\n SOARING: Sound\n \"\"\"\u300c\u821e\u3044\u4e0a\u304c\u308b\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"\n SPRING: Sound\n \"\"\"\u300c\u30d0\u30cd\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"\n TWINKLE: Sound\n \"\"\"\u300c\u30ad\u30e9\u30ad\u30e9\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"\n YAWN: Sound\n \"\"\"\u300c\u3042\u304f\u3073\u300d\u30b5\u30a6\u30f3\u30c9\u3002\"\"\"", + "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"micro:bit\u306e\u52a0\u901f\u5ea6\u6e2c\u5b9a\u3068\u30b8\u30a7\u30b9\u30c1\u30e3\u30fc\u8a8d\u8b58\u3092\u3057\u307e\u3059\u3002\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"``x`` \u8ef8\u306e\u52a0\u901f\u5ea6\u6e2c\u5b9a\u5024\u3092\u30df\u30eag\u5358\u4f4d\u3067\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"``y`` \u8ef8\u306e\u52a0\u901f\u5ea6\u6e2c\u5b9a\u5024\u3092\u30df\u30eag\u5358\u4f4d\u3067\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"``z`` \u8ef8\u306e\u52a0\u901f\u5ea6\u6e2c\u5b9a\u5024\u3092\u30df\u30eag\u5358\u4f4d\u3067\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"\u3059\u3079\u3066\u306e\u8ef8\u306e\u52a0\u901f\u5ea6\u6e2c\u5b9a\u5024\u3092\u30bf\u30d7\u30eb\u3068\u3057\u3066\u4e00\u5ea6\u306b\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"\u3059\u3079\u3066\u306e\u8ef8\u3092\u5408\u6210\u3057\u305f\u52a0\u901f\u5ea6\u6e2c\u5b9a\u5024\u3092\u6b63\u306e\u6574\u6570\u5024\u3067\u5f97\u307e\u3059\u3002\u3053\u308c\u306f X\u8ef8\u3001Y\u8ef8\u3001Z\u8ef8\u306e\u30d4\u30bf\u30b4\u30e9\u30b9\u548c\u306b\u306a\u308a\u307e\u3059\u3002\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"\u73fe\u5728\u306e\u30b8\u30a7\u30b9\u30c1\u30e3\u30fc\u306e\u540d\u524d\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"\u6307\u5b9a\u3057\u305f\u540d\u524d\u306e\u30b8\u30a7\u30b9\u30c1\u30e3\u30fc\u304c\u73fe\u5728\u30a2\u30af\u30c6\u30a3\u30d6\u3067\u3042\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \u30b8\u30a7\u30b9\u30c1\u30e3\u30fc\u540d\u3002\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"\u76f4\u524d\u306e\u547c\u3073\u51fa\u3057\u4ee5\u964d\u306b\u3001\u6307\u5b9a\u3057\u305f\u540d\u524d\u306e\u30b8\u30a7\u30b9\u30c1\u30e3\u30fc\u304c\u30a2\u30af\u30c6\u30a3\u30d6\u306b\u306a\u3063\u305f\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \u30b8\u30a7\u30b9\u30c1\u30e3\u30fc\u540d\u3002\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"\u30b8\u30a7\u30b9\u30c1\u30e3\u30fc\u5c65\u6b74\u306e\u30bf\u30d7\u30eb\u3092\u8fd4\u3057\u307e\u3059\u3002\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"\u52a0\u901f\u5ea6\u30bb\u30f3\u30b5\u30fc\u306e\u611f\u5ea6\u7bc4\u56f2\u3092 g (\u6a19\u6e96\u91cd\u529b)\u3067\u8a2d\u5b9a\u3057\u307e\u3059\u3002\u8a2d\u5b9a\u5024\u306f\u3001\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u304c\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u6700\u3082\u8fd1\u3044\u5024\u3001\u3059\u306a\u308f\u3061 ``2``\u3001``4``\u3001``8`` g \u306e\u3044\u305a\u308c\u304b\u306b\u4e38\u3081\u3089\u308c\u307e\u3059\u3002\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: \u52a0\u901f\u5ea6\u30bb\u30f3\u30b5\u30fc\u306e\u65b0\u3057\u3044\u611f\u5ea6\u7bc4\u56f2\u3002``g`` \u5358\u4f4d\u306e\u6574\u6570\u5024\u3067\u6307\u5b9a\u3057\u307e\u3059\u3002\"\"\"", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"micro:bit\u3067\u30b5\u30a6\u30f3\u30c9\u3092\u518d\u751f\u3057\u307e\u3059\uff08V1\u3068\u306e\u4e92\u63db\u306e\u305f\u3081\u306b ``audio`` \u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u3066\u304f\u3060\u3055\u3044\uff09\u3002\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"\u5185\u8535\u30b5\u30a6\u30f3\u30c9\u3001\u30b5\u30a6\u30f3\u30c9\u52b9\u679c\u3001\u30ab\u30b9\u30bf\u30e0\u5316\u3057\u305f\u30aa\u30fc\u30c7\u30a3\u30aa\u30d5\u30ec\u30fc\u30e0\u306e\u3044\u305a\u308c\u304b\u3092\u518d\u751f\u3057\u307e\u3059\u3002\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: ``Sound.GIGGLE`` \u306a\u3069\u306e\u5185\u8535\u306e``Sound``\u3001``SoundEffect``\u3001``AudioFrame`` \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u30a4\u30c6\u30e9\u30d6\u30eb\u3067\u3042\u308b\u30b5\u30f3\u30d7\u30eb\u30c7\u30fc\u30bf\u306e\u3044\u305a\u308c\u304b\u3002\n:param wait: ``wait`` \u304c ``True`` \u306e\u5834\u5408\u3001\u30b5\u30a6\u30f3\u30c9\u306e\u518d\u751f\u304c\u7d42\u308f\u308b\u307e\u3067\u3053\u306e\u95a2\u6570\u304c\u30d6\u30ed\u30c3\u30af\u3057\u307e\u3059\u3002\n:param pin: (\u30d4\u30f3) \u51fa\u529b\u7aef\u5b50\u3092\u30c7\u30d5\u30a9\u30eb\u30c8\u306e ``pin0`` \u304b\u3089\u5909\u3048\u308b\u305f\u3081\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u5f15\u6570\u3067\u3059\u3002\u97f3\u3092\u9cf4\u3089\u3057\u305f\u304f\u306a\u3044\u5834\u5408\u306f ``pin=None`` \u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\n:param return_pin: \u30b0\u30e9\u30f3\u30c9\u3067\u306f\u306a\u304f\u5916\u90e8\u30b9\u30d4\u30fc\u30ab\u30fc\u306b\u63a5\u7d9a\u3059\u308b\u5dee\u52d5\u30a8\u30c3\u30b8\u30b3\u30cd\u30af\u30bf\u306e\u7aef\u5b50\n\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002**V2** \u3067\u306f\u3053\u306e\u6307\u5b9a\u3092\u7121\u8996\u3057\u307e\u3059\u3002\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"\u30aa\u30fc\u30c7\u30a3\u30aa\u304c\u518d\u751f\u4e2d\u3067\u3042\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"\u3059\u3079\u3066\u306e\u30aa\u30fc\u30c7\u30a3\u30aa\u518d\u751f\u3092\u505c\u6b62\u3057\u307e\u3059\u3002\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3084\u5c5e\u6027\u3067\u8a2d\u5b9a\u3057\u305f\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u30bb\u30c3\u30c8\u3067\u69cb\u6210\u3055\u308c\u308b\u30b5\u30a6\u30f3\u30c9\u52b9\u679c\u3002\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"``waveform`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u30b5\u30a4\u30f3\u6ce2\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"``waveform`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u306e\u3053\u304e\u308a\u6ce2\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"``waveform`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u4e09\u89d2\u6ce2\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"``waveform`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u77e9\u5f62\u6ce2\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"``waveform`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u30ce\u30a4\u30ba\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"``shape`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u30ea\u30cb\u30a2\u88dc\u9593\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"``shape`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u30ab\u30fc\u30d6\u88dc\u9593\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"``shape`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u5bfe\u6570\u88dc\u9593\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"``fx`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u52b9\u679c\u306a\u3057\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"``fx`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u30c8\u30ec\u30e2\u30ed\u52b9\u679c\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"``fx`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u30d3\u30d6\u30e9\u30fc\u30c8\u52b9\u679c\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"``fx`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u300c\u30ef\u30d6\u30eb\u52b9\u679c\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3002\"\"\"\n freq_start: int\n \"\"\"\u958b\u59cb\u5468\u6ce2\u6570\u3002\u5358\u4f4d\u306f\u30d8\u30eb\u30c4(Hz)\u3067\u3001``0``\u304b\u3089``9999``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\"\"\"\n freq_end: int\n \"\"\"\u7d42\u4e86\u5468\u6ce2\u6570\u3002\u5358\u4f4d\u306f\u30d8\u30eb\u30c4(Hz)\u3067\u3001``0``\u304b\u3089``9999``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\"\"\"\n duration: int\n \"\"\"\u30b5\u30a6\u30f3\u30c9\u306e\u9577\u3055\u3002``0`` \u304b\u3089``9999``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\"\"\"\n vol_start: int\n \"\"\"\u958b\u59cb\u97f3\u91cf\u3002``0``\u304b\u3089``255``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\"\"\"\n vol_end: int\n \"\"\"\u7d42\u4e86\u97f3\u91cf\u3002``0``\u304b\u3089``255``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\"\"\"\n waveform: int\n \"\"\"\u6ce2\u5f62\u306e\u7a2e\u985e\u3002\u6b21\u306e\u5024\u306e\u3044\u305a\u308c\u304b: ``WAVEFORM_SINE``\u3001 ``WAVEFORM_SAWTOOTH``\u3001``WAVEFORM_TRIANGLE``\u3001 ``WAVEFORM_SQUARE``\u3001``WAVEFORM_NOISE`` (\u30e9\u30f3\u30c0\u30e0\u306b\u751f\u6210\u3057\u305f\u30ce\u30a4\u30ba)\"\"\"\n fx: int\n \"\"\"\u30b5\u30a6\u30f3\u30c9\u306b\u8ffd\u52a0\u3059\u308b\u52b9\u679c\u3002\u6b21\u306e\u5024\u306e\u3044\u305a\u308c\u304b: ``FX_TREMOLO``\u3001``FX_VIBRATO``\u3001``FX_WARBLE``\u3001``FX_NONE``\"\"\"\n shape: int\n \"\"\"\u958b\u59cb\u5468\u6ce2\u6570\u3068\u7d42\u4e86\u5468\u6ce2\u6570\u306e\u88dc\u9593\u66f2\u7dda\u306e\u7a2e\u985e\u3067\u3001\u6ce2\u5f62\u306e\u9055\u3044\u306b\u3088\u308a\u5468\u6ce2\u6570\u306e\u5909\u5316\u7387\u304c\u7570\u306a\u308a\u307e\u3059\u3002\u6b21\u306e\u5024\u306e\u3046\u3061\u306e\u3044\u305a\u308c\u304b: ``SHAPE_LINEAR``\u3001``SHAPE_CURVE``\u3001``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"\u65b0\u3057\u3044\u30b5\u30a6\u30f3\u30c9\u52b9\u679c\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: \u958b\u59cb\u5468\u6ce2\u6570\u3002\u5358\u4f4d\u306f\u30d8\u30eb\u30c4(Hz)\u3067\u3001``0``\u304b\u3089``9999``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\n:param freq_end: \u7d42\u4e86\u5468\u6ce2\u6570\u3002\u5358\u4f4d\u306f\u30d8\u30eb\u30c4(Hz)\u3067\u3001``0``\u304b\u3089``9999``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\n:param duration: \u30b5\u30a6\u30f3\u30c9\u306e\u9577\u3055\u3002\u5358\u4f4d\u306f\u30df\u30ea\u79d2\u3067\u3001``0`` \u304b\u3089``9999``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\n:param vol_start: \u958b\u59cb\u97f3\u91cf\u3002``0``\u304b\u3089``255``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\n:param vol_end: \u7d42\u4e86\u97f3\u91cf\u3002``0``\u304b\u3089``255``\u306e\u7bc4\u56f2\u306e\u6570\u5024\u3067\u3059\u3002\n:param waveform: \u6ce2\u5f62\u306e\u7a2e\u985e\u3002\u6b21\u306e\u5024\u306e\u3044\u305a\u308c\u304b: ``WAVEFORM_SINE``\u3001 ``WAVEFORM_SAWTOOTH``\u3001``WAVEFORM_TRIANGLE``\u3001 ``WAVEFORM_SQUARE``\u3001``WAVEFORM_NOISE`` (\u30e9\u30f3\u30c0\u30e0\u306b\u751f\u6210\u3057\u305f\u30ce\u30a4\u30ba)\u3002\n:param fx: \u30b5\u30a6\u30f3\u30c9\u306b\u8ffd\u52a0\u3059\u308b\u52b9\u679c\u3002\u6b21\u306e\u5024\u306e\u3044\u305a\u308c\u304b: ``FX_TREMOLO``\u3001``FX_VIBRATO``\u3001``FX_WARBLE``\u3001``FX_NONE``\n:param shape: \u958b\u59cb\u5468\u6ce2\u6570\u3068\u7d42\u4e86\u5468\u6ce2\u6570\u306e\u88dc\u9593\u66f2\u7dda\u306e\u7a2e\u985e\u3067\u3001\u6ce2\u5f62\u306e\u9055\u3044\u306b\u3088\u308a\u5468\u6ce2\u6570\u306e\u5909\u5316\u7387\u304c\u7570\u306a\u308a\u307e\u3059\u3002\u6b21\u306e\u5024\u306e\u3046\u3061\u306e\u3044\u305a\u308c\u304b: ``SHAPE_LINEAR``\u3001``SHAPE_CURVE``\u3001``SHAPE_LOG``\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"\u3053\u306e ``SoundEffect`` \u306e\u30b3\u30d4\u30fc\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"``AudioFrame`` \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f32\u500b\u306e\u30b5\u30f3\u30d7\u30eb\u304b\u3089\u306a\u308b\u30ea\u30b9\u30c8\u3067\u3059\u3002\u305d\u308c\u305e\u306e\u30b5\u30f3\u30d7\u30eb\u306f\u7b26\u53f7\u306a\u3057\u30d0\u30a4\u30c8\uff080\u301c255\u306e\u6574\u6570\uff09\u3067\u3059\u3002\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"\u3053\u306e ``AudioFrame`` \u306e\u30c7\u30fc\u30bf\u3092\u3001\u5225\u306e ``AudioFrame`` \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u30c7\u30fc\u30bf\u3067\u4e0a\u66f8\u304d\u3057\u307e\u3059\u3002\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: \u30b3\u30d4\u30fc\u3059\u308b\u30c7\u30fc\u30bf\u3092\u6301\u3064 ``AudioFrame`` \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3002\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"\u5185\u8535\u306e\u30b3\u30f3\u30d1\u30b9\u3092\u4f7f\u3044\u307e\u3059\u3002 (\u65b9\u4f4d\u78c1\u91dd\uff08\u30b3\u30f3\u30d1\u30b9\uff09)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"\u8abf\u6574\u51e6\u7406\u3092\u958b\u59cb\u3057\u307e\u3059\u3002\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"\u30b3\u30f3\u30d1\u30b9\u304c\u8abf\u6574\u3055\u308c\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"\u8abf\u6574\u3092\u53d6\u308a\u6d88\u3057\u3001\u30b3\u30f3\u30d1\u30b9\u3092\u672a\u8abf\u6574\u72b6\u614b\u306b\u3057\u307e\u3059\u3002\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"``x`` \u8ef8\u306e\u78c1\u5834\u5f37\u5ea6\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"``y`` \u8ef8\u306e\u78c1\u5834\u5f37\u5ea6\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"``z`` \u8ef8\u306e\u78c1\u5834\u5f37\u5ea6\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"\u30b3\u30f3\u30d1\u30b9\u306e\u65b9\u4f4d\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"\u30c7\u30d0\u30a4\u30b9\u306e\u307e\u308f\u308a\u306e\u78c1\u5834\u306e\u5f37\u3055\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", + "/typeshed/stdlib/microbit/display.pyi": "\"\"\"5\u00d75 LED \u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u4e0a\u306b\u30c6\u30ad\u30b9\u30c8\u3001\u30a4\u30e1\u30fc\u30b8\u3001\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3092\u8868\u793a\u3057\u307e\u3059\u3002\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"``x`` \u5217 ``y`` \u884c\u306e LED\u306e\u660e\u308b\u3055\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: \u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u306e\u5217 (0..4)\n:param y: \u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u306e\u884c (0..4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"``x`` \u5217 ``y`` \u884c\u306e LED\u306e\u660e\u308b\u3055\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: \u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u306e\u5217 (0..4)\n:param y: \u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u306e\u884c (0..4)\n:param value: 0\uff08\u30aa\u30d5\uff09\u304b\u3089 9\uff08\u660e\u308b\u3044\uff09\u307e\u3067\u306e\u660e\u308b\u3055\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"\u3059\u3079\u3066\u306e LED \u306e\u660e\u308b\u3055\u3092 0\uff08\u30aa\u30d5\uff09\u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"\u30a4\u30e1\u30fc\u30b8\u3001\u6587\u5b57\u3001\u6570\u5b57\u3092LED\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u306b\u8868\u793a\u3057\u307e\u3059\u3002\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: \u8868\u793a\u3059\u308b\u6587\u5b57\u5217\u3001\u6570\u5024\u3001\u30a4\u30e1\u30fc\u30b8\u3001\u30a4\u30e1\u30fc\u30b8\u306e\u30ea\u30b9\u30c8\u3002\n:param delay: \u305d\u308c\u305e\u308c\u306e\u6587\u5b57\u3001\u6570\u5b57\u3001\u30a4\u30e1\u30fc\u30b8\u306f ``delay`` \u30df\u30ea\u79d2\u9593\u9694\u3067\u8868\u793a\u3055\u308c\u307e\u3059\u3002\n:param wait: ``wait`` \u304c ``True`` \u3067\u3042\u308b\u5834\u5408\u3001\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u304c\u7d42\u4e86\u3059\u308b\u307e\u3067\u95a2\u6570\u304c\u30d6\u30ed\u30c3\u30af\u3057\u3001 \u305d\u3046\u3067\u306a\u3044\u5834\u5408\u306b\u306f\u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9\u3067\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002\n:param loop: ``loop`` \u304c ``True`` \u3067\u3042\u308b\u5834\u5408\u3001\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3092\u6c38\u9060\u306b\u7e70\u308a\u8fd4\u3057\u307e\u3059\u3002\n:param clear: ``clear`` \u304c ``True`` \u3067\u3042\u308b\u5834\u5408\u3001\u30b7\u30fc\u30b1\u30f3\u30b9\u306e\u7d42\u4e86\u5f8c\u306b\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u3092\u30af\u30ea\u30a2\u3057\u307e\u3059\u3002\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"LED\u30c7\u30a3\u30b9\u30d7\u30ec\u30a3\u4e0a\u306b\u6570\u5024\u3084\u30c6\u30ad\u30b9\u30c8\u3092\u30b9\u30af\u30ed\u30fc\u30eb\u8868\u793a\u3057\u307e\u3059\u3002\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: \u30b9\u30af\u30ed\u30fc\u30eb\u3059\u308b\u6587\u5b57\u5217\u3002``text`` \u304c\u6574\u6570\u304b\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570\u3067\u3042\u308c\u3070\u3001\u307e\u305a ``str()`` \u3092\u4f7f\u3063\u3066\u6587\u5b57\u5217\u306b\u5909\u63db\u3057\u307e\u3059\u3002\n:param delay: ``delay`` \u30d1\u30e9\u30e1\u30fc\u30bf\u306f\u30c6\u30ad\u30b9\u30c8\u306e\u30b9\u30af\u30ed\u30fc\u30eb\u901f\u5ea6\u3092\u5236\u5fa1\u3057\u307e\u3059\u3002\n:param wait: ``wait`` \u304c ``True`` \u3067\u3042\u308b\u5834\u5408\u3001\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u304c\u7d42\u4e86\u3059\u308b\u307e\u3067\u95a2\u6570\u304c\u30d6\u30ed\u30c3\u30af\u3057\u3001 \u305d\u3046\u3067\u306a\u3044\u5834\u5408\u306b\u306f\u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9\u3067\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002\n:param loop: ``loop`` \u304c ``True`` \u3067\u3042\u308b\u5834\u5408\u3001\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3092\u6c38\u9060\u306b\u7e70\u308a\u8fd4\u3057\u307e\u3059\u3002\n:param monospace: ``monospace`` \u304c ``True`` \u3067\u3042\u308b\u5834\u5408\u3001\u6587\u5b57\u306e\u5e45\u304c 5 \u30d4\u30af\u30bb\u30eb\u306b\u306a\u308a\u3001\u305d\u3046\u3067\u306a\u3044\u5834\u5408\u306b\u306f\u30b9\u30af\u30ed\u30fc\u30eb\u6642\u306e\u6587\u5b57\u9593\u306e\u5e45\u304c 1 \u30d4\u30af\u30bb\u30eb\u306b\u306a\u308a\u307e\u3059\u3002\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u3092\u30aa\u30f3\u306b\u3057\u307e\u3059\u3002\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"LED\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u3092\u30aa\u30d5\u306b\u3057\u307e\u3059\uff08\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u3092\u7121\u52b9\u306b\u3059\u308b\u3053\u3068\u306b\u3088\u308a\u3001GPIO\u7aef\u5b50\u3092\u4ed6\u306e\u76ee\u7684\u306b\u518d\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\uff09\u3002\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"LED\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u304c\u6709\u52b9\u3067\u3042\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4\u306e\u307e\u308f\u308a\u306e\u5149\u91cf\u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"I\u00b2C \u30d0\u30b9\u30d7\u30ed\u30c8\u30b3\u30eb\u3067\u30c7\u30d0\u30a4\u30b9\u3068\u901a\u4fe1\u3057\u307e\u3059\u3002\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"\u30da\u30ea\u30d5\u30a7\u30e9\u30eb\u3092\u518d\u521d\u671f\u5316\u3057\u307e\u3059\u3002\n\nExample: ``i2c.init()``\n\n:param freq: \u30af\u30ed\u30c3\u30af\u5468\u6ce2\u6570\n:param sda: ``sda`` \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 20\uff09\n:param scl: ``scl`` \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 19\uff09\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"\u30d0\u30b9\u3092\u30b9\u30ad\u30e3\u30f3\u3057\u3066\u30c7\u30d0\u30a4\u30b9\u3092\u63a2\u3057\u307e\u3059\u3002\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"\u30c7\u30d0\u30a4\u30b9\u304b\u3089\u30d0\u30a4\u30c8\u5217\u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: \u30c7\u30d0\u30a4\u30b9\u306e7\u30d3\u30c3\u30c8\u30a2\u30c9\u30ec\u30b9\n:param n: \u8aad\u307f\u53d6\u308b\u30d0\u30a4\u30c8\u6570\n:param repeat: ``True`` \u306b\u3059\u308b\u3068\u3001\u30b9\u30c8\u30c3\u30d7\u30d3\u30c3\u30c8\u304c\u9001\u3089\u308c\u307e\u305b\u3093\u3002\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"\u30c7\u30d0\u30a4\u30b9\u306b\u30d0\u30a4\u30c8\u5217\u3092\u66f8\u304d\u8fbc\u307f\u307e\u3059\u3002\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: \u30c7\u30d0\u30a4\u30b9\u306e7\u30d3\u30c3\u30c8\u30a2\u30c9\u30ec\u30b9\n:param buf: \u66f8\u304d\u8fbc\u3080\u30d0\u30a4\u30c8\u3092\u542b\u3080\u30d0\u30c3\u30d5\u30a1\n:param repeat: ``True`` \u306b\u3059\u308b\u3068\u3001\u30b9\u30c8\u30c3\u30d7\u30d3\u30c3\u30c8\u304c\u9001\u3089\u308c\u307e\u305b\u3093\u3002\"\"\"\n ...", + "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"\u5185\u8535\u30de\u30a4\u30af\u3092\u4f7f\u3063\u3066\u97f3\u306b\u5fdc\u7b54\u3057\u307e\u3059\uff08V2 \u306e\u307f\uff09\u3002\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"\u8a18\u9332\u3055\u308c\u3066\u3044\u308b\u6700\u65b0\u306e\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"\u76f4\u524d\u306e\u547c\u3073\u51fa\u3057\u304b\u3089\u5c11\u306a\u304f\u3068\u3082\u4e00\u5ea6\u306f\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u304c\u767a\u751f\u3057\u305f\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: ``SoundEvent.LOUD`` \u3084 ``SoundEvent.QUIET`` \u306a\u3069\u306e\u30a4\u30d9\u30f3\u30c8\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"\u76f4\u8fd1\u306b\u691c\u51fa\u3055\u308c\u305f\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: ``SoundEvent.LOUD`` \u3084 ``SoundEvent.QUIET`` \u306a\u3069\u3001\u78ba\u8a8d\u3059\u308b\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u5c65\u6b74\u3092\u30bf\u30d7\u30eb\u3068\u3057\u3066\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u306e\u3057\u304d\u3044\u5024\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: ``SoundEvent.LOUD`` \u3084 ``SoundEvent.QUIET`` \u306a\u3069\u306e\u30b5\u30a6\u30f3\u30c9\u30a4\u30d9\u30f3\u30c8\u3002\n:param value: 0\uff5e255\u306e\u7bc4\u56f2\u3067\u6307\u5b9a\u3059\u308b\u3057\u304d\u3044\u5024\u30ec\u30d9\u30eb\u3002\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"\u97f3\u5727\u30ec\u30d9\u30eb\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", + "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"\u5185\u8535\u30b9\u30d4\u30fc\u30ab\u30fc\u3092\u5236\u5fa1\u3057\u307e\u3059\uff08V2\u306e\u307f\uff09\u3002\"\"\"\n\ndef off() -> None:\n \"\"\"\u30b9\u30d4\u30fc\u30ab\u30fc\u3092\u30aa\u30d5\u306b\u3057\u307e\u3059\u3002\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\u30b9\u30d4\u30fc\u30ab\u30fc\u3092\u30aa\u30f3\u306b\u3057\u307e\u3059\u3002\n\nExample: ``speaker.on()``\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"\u30b7\u30ea\u30a2\u30eb\u30da\u30ea\u30d5\u30a7\u30e9\u30eb\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\uff08SPI\uff09\u30d0\u30b9\u3092\u4f7f\u3063\u3066\u30c7\u30d0\u30a4\u30b9\u3068\u901a\u4fe1\u3057\u307e\u3059\u3002\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"SPI\u901a\u4fe1\u3092\u521d\u671f\u5316\u3057\u307e\u3059\u3002\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: \u901a\u4fe1\u901f\u5ea6\u3002\n:param bits: \u9001\u4fe1\u6642\u306e\u30d3\u30c3\u30c8\u5e45\u3002\u73fe\u5728\u306e\u3068\u3053\u308d\u306f ``bits=8`` \u3060\u3051\u3092\u30b5\u30dd\u30fc\u30c8\u3002\u3057\u304b\u3057\u3001\u3053\u308c\u306f\u5c06\u6765\u7684\u306b\u5909\u66f4\u3059\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002\n:param mode: \u30af\u30ed\u30c3\u30af\u306e\u6975\u6027\u3068\u4f4d\u76f8\u306e\u7d44\u307f\u5408\u308f\u305b\u3092\u6c7a\u5b9a\u3057\u307e\u3059 - `\u30aa\u30f3\u30e9\u30a4\u30f3\u306e\u8868\u3092\u53c2\u7167 `_ \u3002\n:param sclk: sclk \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 13\uff09\n:param mosi: mosi \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 15\uff09\n:param miso: miso \u7aef\u5b50\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u306f 14\uff09\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"\u30d0\u30a4\u30c8\u5217\u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``spi.read(64)``\n\n:param nbytes: \u8aad\u307f\u53d6\u308b\u6700\u5927\u30d0\u30a4\u30c8\u6570\u3002\n:param out: \u66f8\u304d\u8fbc\u3080\u30d0\u30a4\u30c8\u5024\uff08\u521d\u671f\u5024\u306f'0'\uff09\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\u30c7\u30d0\u30a4\u30b9\u306b\u30d0\u30a4\u30c8\u5217\u3092\u66f8\u304d\u8fbc\u307f\u307e\u3059\u3002\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: \u30c7\u30fc\u30bf\u306e\u8aad\u307f\u53d6\u308a\u5143\u306e\u30d0\u30c3\u30d5\u30a1\u3002\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"``out`` \u30d0\u30c3\u30d5\u30a1\u3092\u30d0\u30b9\u306b\u66f8\u304d\u8fbc\u307f\u3001\u4efb\u610f\u306e\u30ec\u30b9\u30dd\u30f3\u30b9\u3092 ``in_`` \u30d0\u30c3\u30d5\u30a1\u306b\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: \u30ec\u30b9\u30dd\u30f3\u30b9\u306e\u66f8\u304d\u8fbc\u307f\u30d0\u30c3\u30d5\u30a1\u3002\n:param in_: \u30c7\u30fc\u30bf\u306e\u8aad\u307f\u53d6\u308a\u5143\u306e\u30d0\u30c3\u30d5\u30a1\u3002\"\"\"\n ...", + "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"\u30b7\u30ea\u30a2\u30eb\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3092\u4f7f\u3063\u3066\u30c7\u30d0\u30a4\u30b9\u3068\u901a\u4fe1\u3057\u307e\u3059\u3002\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"\u5947\u6570\u30d1\u30ea\u30c6\u30a3\"\"\"\nEVEN: int\n\"\"\"\u5076\u6570\u30d1\u30ea\u30c6\u30a3\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"\u30b7\u30ea\u30a2\u30eb\u901a\u4fe1\u3092\u521d\u671f\u5316\u3057\u307e\u3059\u3002\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: \u901a\u4fe1\u901f\u5ea6\u3002\n:param bits: \u9001\u4fe1\u3059\u308b\u30d3\u30c3\u30c8\u5e45\u3002micro:bit\u306f8\u3060\u3051\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u3059\u3002\n:param parity: \u30d1\u30ea\u30c6\u30a3\u306e\u30c1\u30a7\u30c3\u30af\u65b9\u6cd5\u3002``None``\u3001``uart.ODD``\u3001``uart.EVEN`` \u306e\u3044\u305a\u308c\u304b\u3092\u6307\u5b9a\u3067\u304d\u307e\u3059\u3002\n:param stop: \u30b9\u30c8\u30c3\u30d7\u30d3\u30c3\u30c8\u306e\u6570\u306fmicro:bit\u3067\u306f1\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\n:param tx: \u9001\u4fe1\u7aef\u5b50\u3002\n:param rx: \u53d7\u4fe1\u7aef\u5b50\u3002\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"\u53d7\u4fe1\u5f85\u3061\u306e\u30c7\u30fc\u30bf\u304c\u3042\u308b\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"\u30d0\u30a4\u30c8\u5217\u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``uart.read()``\n\n:param nbytes: ``nbytes`` \u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u308c\u3070\u3001\u305d\u306e\u30d0\u30a4\u30c8\u6570\u307e\u3067\u8aad\u307f\u8fbc\u307f\u307e\u3059\u3002\u6307\u5b9a\u3055\u308c\u3066\u3044\u306a\u3051\u308c\u3070\u3001\u3067\u304d\u308b\u3060\u3051\u591a\u304f\u8aad\u307f\u53d6\u308a\u307e\u3059\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"``buf`` \u306b\u30d0\u30a4\u30c8\u5217\u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: \u66f8\u304d\u8fbc\u307f\u30d0\u30c3\u30d5\u30a1\u3002\n:param nbytes: ``nbytes`` \u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u308c\u3070\u3001\u305d\u306e\u30d0\u30a4\u30c8\u6570\u307e\u3067\u8aad\u307f\u8fbc\u307f\u307e\u3059\u3002\u6307\u5b9a\u3055\u308c\u3066\u3044\u306a\u3051\u308c\u3070\u3001``len(buf)`` \u3092\u8aad\u307f\u53d6\u308a\u307e\u3059\u3002\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"\u6539\u884c\u6587\u5b57\u3067\u7d42\u308f\u308b\u884c\u3092\u8aad\u307f\u307e\u3059\u3002\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"\u30d0\u30b9\u306b\u30d0\u30c3\u30d5\u30a1\u3092\u66f8\u304d\u8fbc\u307f\u307e\u3059\u3002\n\nExample: ``uart.write('hello world')``\n\n:param buf: \u30d0\u30a4\u30c8\u5217\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u307e\u305f\u306f\u6587\u5b57\u5217\u3002\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" } diff --git a/src/micropython/main/typeshed.ko.json b/src/micropython/main/typeshed.ko.json index a1439b3f0..1e18ad73d 100644 --- a/src/micropython/main/typeshed.ko.json +++ b/src/micropython/main/typeshed.ko.json @@ -7,23 +7,23 @@ "/typeshed/stdlib/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\n# Re-export for V1 compatibility.\nfrom .microbit.audio import (\n is_playing as is_playing,\n play as play,\n stop as stop,\n AudioFrame as AudioFrame,\n SoundEffect as SoundEffect,\n)\n", "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", - "/typeshed/stdlib/gc.pyi": "\"\"\"Control the garbage collector\"\"\"\n\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"Enable automatic garbage collection.\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"Disable automatic garbage collection.\n\n Heap memory can still be allocated,\n and garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Run a garbage collection.\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Get the number of bytes of heap RAM that are allocated.\n\n :return: The number of bytes allocated.\n\n This function is MicroPython extension.\n \"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Get the number of bytes of available heap RAM, or -1 if this amount is not known.\n\n :return: The number of bytes free.\n\n This function is MicroPython extension.\n \"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Query the additional GC allocation threshold.\n\n :return: The GC allocation threshold.\n\n This function is a MicroPython extension. CPython has a similar\n function - ``set_threshold()``, but due to different GC\n implementations, its signature and semantics are different.\n \"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Set the additional GC allocation threshold.\n\n Normally, a collection is triggered only when a new allocation\n cannot be satisfied, i.e. on an out-of-memory (OOM) condition.\n If this function is called, in addition to OOM, a collection\n will be triggered each time after ``amount`` bytes have been\n allocated (in total, since the previous time such an amount of bytes\n have been allocated). ``amount`` is usually specified as less than the\n full heap size, with the intention to trigger a collection earlier than when the\n heap becomes exhausted, and in the hope that an early collection will prevent\n excessive memory fragmentation. This is a heuristic measure, the effect\n of which will vary from application to application, as well as\n the optimal value of the ``amount`` parameter.\n\n A value of -1 means a disabled allocation threshold.\n\n This function is a MicroPython extension. CPython has a similar\n function - ``set_threshold()``, but due to different GC\n implementations, its signature and semantics are different.\n\n :param amount: The number of bytes after which a garbage collection should be triggered.\n \"\"\"\n ...\n", - "/typeshed/stdlib/log.pyi": "\"\"\"Log data to your micro:bit V2.\"\"\"\n\nfrom typing import Literal, Mapping, Optional, Union, overload\n\nMILLISECONDS = 1\n\"\"\"Milliseconds timestamp format.\"\"\"\n\nSECONDS = 10\n\"\"\"Seconds timestamp format.\"\"\"\n\nMINUTES = 600\n\"\"\"Minutes timestamp format.\"\"\"\n\nHOURS = 36000\n\"\"\"Hours timestamp format.\"\"\"\n\nDAYS = 864000\n\"\"\"Days timestamp format.\"\"\"\n\ndef set_labels(\n *labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]] = SECONDS\n) -> None:\n \"\"\"Set up the log file header.\n\n Example: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\n Ideally this function should be called a single time, before any data is\n logged, to configure the data table header once.\n\n If a log file already exists when the program starts, or if this function\n is called multiple times, it will check the labels already defined in the\n log file. If this function call contains any new labels not already\n present, it will generate a new header row with the additional columns.\n\n By default the first column contains a timestamp for each row. The time\n unit can be selected via the timestamp argument.\n\n :param *labels: Any number of positional arguments, each corresponding to an entry in the log header.\n :param timestamp: Select the timestamp unit that will be automatically added as the first column in every row. Timestamp values can be one of ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` or ``None`` to disable the timestamp. The default value is ``log.SECONDS``.\n \"\"\"\n ...\n\n@overload\ndef add(\n data_dictionary: Optional[Mapping[str, Union[str, int, float]]],\n) -> None:\n \"\"\"Add a data row to the log by passing a dictionary of headers and values.\n\n Example: ``log.add({ 'temp': temperature() })``\n\n Each call to this function adds a row to the log.\n\n New labels not previously specified via the set_labels function, or by a\n previous call to this function, will trigger a new header entry to be added\n to the log with the extra labels.\n\n Labels previously specified and not present in a call to this function will\n be skipped with an empty value in the log row.\n\n :param data_dictionary: The data to log as a dictionary with a key for each header.\n \"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"Add a data row to the log using keyword arguments.\n\n Example: ``log.add(temp=temperature())``\n\n Each call to this function adds a row to the log.\n\n New labels not previously specified via the set_labels function, or by a\n previous call to this function, will trigger a new header entry to be added\n to the log with the extra labels.\n\n Labels previously specified and not present in a call to this function will\n be skipped with an empty value in the log row.\n \"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"Deletes the contents of the log, including headers.\n\n Example: ``log.delete()``\n\n To add the log headers again the ``set_labels`` function should to be called after this function.\n\n There are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\n and \u201cfast\u201d invalidates the data without removing it.\n\n :param full: ``True`` selects a \u201cfull\u201d erase and ``False`` selects the \u201cfast\u201d erase method.\n \"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Configure mirroring of the data logging activity to the serial output.\n\n Example: ``log.set_mirroring(True)``\n\n Serial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n :param serial: ``True`` enables mirroring data to the serial output.\n \"\"\"\n ...\n", + "/typeshed/stdlib/gc.pyi": "\"\"\"\uac00\ube44\uc9c0 \uceec\ub809\ud130 \uc81c\uc5b4\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"\uc790\ub3d9 \uac00\ube44\uc9c0 \uceec\ub809\uc158\uc744 \ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"\uc790\ub3d9 \uac00\ube44\uc9c0 \uceec\ub809\uc158\uc744 \ube44\ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"\uac00\ube44\uc9c0 \uceec\ub809\uc158\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4.\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"\ud560\ub2f9\ub41c \ud799 RAM\uc758 \ubc14\uc774\ud2b8 \uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"\uc774\uc6a9 \uac00\ub2a5\ud55c \ud799 RAM\uc758 \ubc14\uc774\ud2b8 \uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4. \uac12\uc744 \uc54c \uc218 \uc5c6\ub294 \uacbd\uc6b0 -1\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4.\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"\ucd94\uac00 GC \ud560\ub2f9 \uc784\uacc4\uac12\uc744 \uc694\uccad\ud569\ub2c8\ub2e4.\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"\ucd94\uac00 GC \ud560\ub2f9 \uc784\uacc4\uac12\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: \uac00\ube44\uc9c0 \uceec\ub809\uc158\uc774 \ud2b8\ub9ac\uac70\ub418\ub294 \ubc14\uc774\ud2b8 \uc218\uc785\ub2c8\ub2e4.\"\"\"\n ...", + "/typeshed/stdlib/log.pyi": "\"\"\"micro:bit V2\uc5d0 \ub370\uc774\ud130\ub97c \uae30\ub85d\ud569\ub2c8\ub2e4.\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"\ubc00\ub9ac\ucd08 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\nSECONDS = 10\n\"\"\"\ucd08 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\nMINUTES = 600\n\"\"\"\ubd84 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\nHOURS = 36000\n\"\"\"\uc2dc\uac04 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\nDAYS = 864000\n\"\"\"\uc77c \ud0c0\uc784\uc2a4\ud0ec\ud504 \ud615\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"\ub85c\uadf8 \ud30c\uc77c \ud5e4\ub354\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: (*\ub808\uc774\ube14) \uac01\uac01 \ub85c\uadf8 \ud5e4\ub354\uc758 \ud56d\ubaa9\uc5d0 \ud574\ub2f9\ud558\ub294 \uc784\uc758\uc758 \uc704\uce58 \uc778\uc218 \uc218\uc785\ub2c8\ub2e4.\n:param timestamp: (\ud0c0\uc784\uc2a4\ud0ec\ud504) \ubaa8\ub4e0 \ud589\uc758 \uccab \ubc88\uc9f8\uc5d0 \uc790\ub3d9\uc73c\ub85c \uc0bd\uc785\ub420 \ud0c0\uc784\uc2a4\ud0ec\ud504 \ub2e8\uc704\ub97c \uc120\ud0dd\ud558\uc2ed\uc2dc\uc624. \ud0c0\uc784\uc2a4\ud0ec\ud504\uc758 \uac12\uc740 ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS``\uac00 \ub420 \uc218 \uc788\uace0 \ube44\ud65c\uc131\ud654\ud558\ub824\uba74 ``None``\uac12\uc73c\ub85c \uc124\uc815\ud558\uc2ed\uc2dc\uc624. \ud0c0\uc784\uc2a4\ud0ec\ud504\uc758 \uae30\ubcf8\uac12\uc740 ``log.SECONDS``\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"\ud5e4\ub354 \ubc0f \uac12\uc758 \ub515\uc154\ub108\ub9ac\ub97c \ud328\uc2a4\ud574 \ub85c\uadf8\uc5d0 \ub370\uc774\ud130 \ud589\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4.\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: (\ub370\uc774\ud130 \uc0ac\uc804) \uac01 \ud5e4\ub354\uc5d0 \ub300\ud55c \ud0a4\uac00 \uc788\ub294 \uc0ac\uc804\uc73c\ub85c \uae30\ub85d\ud560 \ub370\uc774\ud130\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"\ud0a4\uc6cc\ub4dc \uc778\uc790\ub97c \uc0ac\uc6a9\ud574 \ub85c\uadf8\uc5d0 \ub370\uc774\ud130 \ud589\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4.\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"\ud5e4\ub354\ub97c \ud3ec\ud568\ud55c \ub85c\uadf8\uc758 \ub0b4\uc6a9\uc744 \uc0ad\uc81c\ud569\ub2c8\ub2e4.\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: ``True``\ub294 \"\uc804\uccb4\" \uc9c0\uc6b0\uae30\ub97c \uc120\ud0dd\ud558\uace0 ``False``\ub294 \"\ube60\ub978\" \uc9c0\uc6b0\uae30 \ubc29\ubc95\uc744 \uc120\ud0dd\ud569\ub2c8\ub2e4.\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"\uc9c1\ub82c \ucd9c\ub825\uc5d0 \ub300\ud55c \ub370\uc774\ud130 \ub85c\uae45 \uc791\uc5c5 \ubbf8\ub7ec\ub9c1\uc744 \uad6c\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: ``True``\ub85c \uc124\uc815\ud560 \uacbd\uc6b0 \uc2dc\ub9ac\uc5bc \ucd9c\ub825 \uc778\ud130\ud398\uc774\uc2a4\uc5d0 \ub370\uc774\ud130\ub97c \ubbf8\ub7ec\ub9c1\ud558\ub294 \uac83\uc774 \ud5c8\uc6a9\ub429\ub2c8\ub2e4.\"\"\"\n ...", "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", - "/typeshed/stdlib/machine.pyi": "\"\"\"Low-level utilities.\n\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"Get a byte string with a unique identifier of a board.\n\n Example: ``machine.unique_id()``\n\n :return: An identifier that varies from one board instance to another.\n \"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset the device in a manner similar to pushing the external RESET button.\n\n Example: ``machine.reset()``\n \"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"Get the CPU frequency in hertz.\n\n Example: ``machine.freq()``\n\n :return: The CPU frequency.\n \"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"Disable interrupt requests.\n\n Example: ``interrupt_state = machine.disable_irq()``\n\n :return: the previous IRQ state which should be considered an opaque value\n\n The return value should be passed to the ``enable_irq`` function to restore\n interrupts to their original state.\n \"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"Re-enable interrupt requests.\n\n Example: ``machine.enable_irq(interrupt_state)``\n\n :param state: The value that was returned from the most recent call to the ``disable_irq`` function.\n \"\"\"\n ...\n\ndef time_pulse_us(\n pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int = 1000000\n) -> int:\n \"\"\"Time a pulse on a pin.\n\n Example: ``time_pulse_us(pin0, 1)``\n\n If the current input value of the pin is different to ``pulse_level``, the\n function first waits until the pin input becomes equal to\n ``pulse_level``, then times the duration that the pin is equal to\n ``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\n starts straight away.\n\n :param pin: The pin to use\n :param pulse_level: 0 to time a low pulse or 1 to time a high pulse\n :param timeout_us: A microsecond timeout\n :return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\n \"\"\"\n ...\n\nclass mem:\n \"\"\"The class for the ``mem8``, ``mem16`` and ``mem32`` memory views.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Access a value from memory.\n\n :param address: The memory address.\n :return: The value at that address as an integer.\n \"\"\"\n ...\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"Set a value at the given address.\n\n :param address: The memory address.\n :param value: The integer value to set.\n \"\"\"\n ...\n\nmem8: mem\n\"\"\"8-bit (byte) view of memory.\"\"\"\n\nmem16: mem\n\"\"\"16-bit view of memory.\"\"\"\n\nmem32: mem\n\"\"\"32-bit view of memory.\"\"\"\n", - "/typeshed/stdlib/math.pyi": "\"\"\"Mathematical functions.\n\"\"\"\n\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Calculate the inverse cosine.\n\n Example: ``math.acos(1)``\n\n :param x: A number\n :return: The inverse cosine of ``x``\n \"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Calculate the inverse sine.\n\n Example: ``math.asin(0)``\n\n :param x: A number\n :return: The inverse sine of ``x``\n \"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Calculate the inverse tangent.\n\n Example: ``math.atan(0)``\n\n :param x: A number\n :return: The inverse tangent of ``x``\n \"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Calculate the principal value of the inverse tangent of ``y/x``.\n\n Example: ``math.atan2(0, -1)``\n\n :param y: A number\n :param x: A number\n :return: The principal value of the inverse tangent of ``y/x``\n \"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Round a number towards positive infinity.\n\n Example: ``math.ceil(0.1)``\n\n :param x: A number\n :return: ``x`` rounded towards positive infinity.\n \"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Calculate ``x`` with the sign of ``y``.\n\n Example: ``math.copysign(1, -1)``\n\n :param x: A number\n :param y: The source of the sign for the return value\n :return: ``x`` with the sign of ``y``\n \"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Calculate the cosine of ``x``.\n\n Example: ``math.cos(0)``\n\n :param x: A number\n :return: The cosine of ``x``\n \"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Convert radians to degrees.\n\n Example: ``math.degrees(2 * math.pi)``\n\n :param x: A value in radians\n :return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Calculate the exponential of ``x``.\n\n Example: ``math.exp(1)``\n\n :param x: A number\n :return: The exponential of ``x``.\n \"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Return the absolute value of ``x``.\n\n Example: ``math.fabs(-0.1)``\n\n :param x: A number\n :return: The absolute value of ``x``\n \"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Round a number towards negative infinity.\n\n Example: ``math.floor(0.9)``\n\n :param x: A number\n :return: ``x`` rounded towards negative infinity.\n \"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Calculate the remainder of ``x/y``.\n\n Example: ``math.fmod(10, 3)``\n\n :param x: The numerator\n :param y: The denominator\n \"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Decomposes a floating-point number into its mantissa and exponent.\n\n Example: ``mantissa, exponent = math.frexp(2)``\n\n The returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\n exactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\n the relation ``0.5 <= abs(m) < 1`` holds.\n\n :param x: A floating-point number\n :return: A tuple of length two containing its mantissa then exponent\n \"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"Check if a value is finite.\n\n Example: ``math.isfinite(float('inf'))``\n\n :param x: A number.\n :return: ``True`` if ``x`` is finite, ``False`` otherwise.\n \"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"Check if a value is infinite.\n\n Example: ``math.isinf(float('-inf'))``\n\n :param x: A number.\n :return: ``True`` if ``x`` is infinite, ``False`` otherwise.\n \"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Check if a value is not-a-number (NaN).\n\n Example: ``math.isnan(float('nan'))``\n\n :param x: A number\n :return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Calculate ``x * (2**exp)``.\n\n Example: ``math.ldexp(0.5, 2)``\n\n :param x: A number\n :param exp: Integer exponent\n :return: ``x * (2**exp)``\n \"\"\"\n ...\n\ndef log(x: float, base: float = e) -> float:\n \"\"\"Calculate the logarithm of ``x`` to the given base (defaults to natural logorithm).\n\n Example: ``math.log(math.e)``\n\n With one argument, return the natural logarithm of x (to base e).\n\n With two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n :param x: A number\n :param base: The base to use\n :return: The natural logarithm of ``x``\n \"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Calculate the fractional and integral parts of ``x``.\n\n Example: ``fractional, integral = math.modf(1.5)``\n\n :param x: A number\n :return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\n Both the fractional and integral values have the same sign as ``x``.\n \"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Returns ``x`` to the power of ``y``.\n\n Example: ``math.pow(4, 0.5)``\n\n :param x: A number\n :param y: The exponent\n :return: ``x`` to the power of ``y``\n \"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Convert a degrees to radians.\n\n Example: ``math.radians(360)``\n\n :param x: A value in degrees\n :return: The value converted to radians\n \"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Calculate the sine of ``x``.\n\n Example: ``math.sin(math.pi/2)``\n\n :param x: A number\n :return: The sine of ``x``\n \"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Calculate the square root of ``x``.\n\n Example: ``math.sqrt(4)``\n\n :param x: A number\n :return: The square root of ``x``\n \"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Calculate the tangent of ``x``.\n\n Example: ``math.tan(0)``\n\n :param x: A number\n :return: The tangent of ``x``.\n \"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Round a number towards 0.\n\n Example: ``math.trunc(-0.9)``\n\n :param x: A number\n :return: ``x`` rounded towards zero.\n \"\"\"\n ...\n\ne: float\n\"\"\"Base of the natural logarithm\"\"\"\n\npi: float\n\"\"\"The ratio of a circle's circumference to its diameter\"\"\"\n", - "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython internals.\"\"\"\n\nfrom typing import Any, TypeVar, overload\n\n_T = TypeVar(\"_T\")\n\ndef const(expr: _T) -> _T:\n \"\"\"Used to declare that the expression is a constant so that the compiler can\n optimise it.\n\n The use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\n Constants declared this way are still accessible as global variables from\n outside the module they are declared in. On the other hand, if a constant\n begins with an underscore then it is hidden, it is not available as a\n global variable, and does not take up any memory during execution.\n\n :param expr: A constant expression.\n \"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Get the current optimisation level for the compilation of scripts.\n\n Example: ``micropython.opt_level()``\n\n The optimisation level controls the following compilation features:\n\n - Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n - Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n - Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n :return: An integer representing the current level.\n \"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Sets the optimisation level for subsequent compilation of scripts.\n\n Example: ``micropython.opt_level(1)``\n\n The optimisation level controls the following compilation features:\n\n - Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n - Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n - Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n The default optimisation level is usually level 0.\n\n :param level: An integer optimisation level.\n \"\"\"\n ...\n\ndef mem_info(verbose: Any = None) -> None:\n \"\"\"Print information about currently used memory.\n\n Example: ``micropython.mem_info()``\n\n :param verbose: If the ``verbose`` argument is given then extra information is printed.\n \"\"\"\n ...\n\ndef qstr_info(verbose: Any = None) -> None:\n \"\"\"Print information about currently interned strings.\n\n Example: ``micropython.qstr_info()``\n\n :param verbose: If the ``verbose`` argument is given then extra information is printed.\n\n The information that is printed is implementation dependent, but currently\n includes the number of interned strings and the amount of RAM they use. In\n verbose mode it prints out the names of all RAM-interned strings.\n \"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Return an integer representing the current amount of stack that is being\n used.\n\n Example: ``micropython.stack_use()``\n\n The absolute value of this is not particularly useful, rather it\n should be used to compute differences in stack usage at different points.\n\n :return: An integer representing current stack use.\n \"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Lock the heap.\n\n Example: ``micropython.heap_lock()``\n\n When locked no memory allocation can occur and a ``MemoryError`` will be\n raised if any heap allocation is attempted.\n \"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Unlock the heap.\n\n Example: ``micropython.heap_unlock()``\n\n When locked no memory allocation can occur and a ``MemoryError`` will be\n raised if any heap allocation is attempted.\n \"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Set the character that will raise a ``KeyboardInterrupt`` exception.\n\n Example: ``micropython.kbd_intr(-1)``\n\n :param chr: Character code to raise the interrupt or -1 to disable capture of Ctrl-C.\n\n By default this is set to 3 during script execution, corresponding to Ctrl-C.\n Passing -1 to this function will disable capture of Ctrl-C, and passing 3\n will restore it.\n\n This function can be used to prevent the capturing of Ctrl-C on the\n incoming stream of characters that is usually used for the REPL, in case\n that stream is used for other purposes.\n \"\"\"\n ...\n", - "/typeshed/stdlib/music.pyi": "\"\"\"Create and play melodies.\n\"\"\"\nfrom typing import Optional, Tuple, Union, List\n\nfrom .microbit import MicroBitDigitalPin, pin0\n\nDADADADUM: Tuple[str, ...]\n\"\"\"Melody: the opening to Beethoven\u2019s 5th Symphony in C minor.\"\"\"\n\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melody: the opening fragment of Scott Joplin\u2019s Ragtime classic \u201cThe Entertainer\u201d.\"\"\"\n\nPRELUDE: Tuple[str, ...]\n\"\"\"Melody: the opening of the first Prelude in C Major of J.S.Bach\u2019s 48 Preludes and Fugues.\"\"\"\n\nODE: Tuple[str, ...]\n\"\"\"Melody: the \u201cOde to Joy\u201d theme from Beethoven\u2019s 9th Symphony in D minor.\"\"\"\n\nNYAN: Tuple[str, ...]\n\"\"\"Melody: the Nyan Cat theme (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\n\nRINGTONE: Tuple[str, ...]\n\"\"\"Melody: something that sounds like a mobile phone ringtone.\n\nTo be used to indicate an incoming message.\n\"\"\"\n\nFUNK: Tuple[str, ...]\n\"\"\"Melody: a funky bass line for secret agents and criminal masterminds.\"\"\"\n\nBLUES: Tuple[str, ...]\n\"\"\"Melody: a boogie-woogie 12-bar blues walking bass.\"\"\"\n\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melody: \u201cHappy Birthday to You\u2026\u201d\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\n\nWEDDING: Tuple[str, ...]\n\"\"\"Melody: the bridal chorus from Wagner\u2019s opera \u201cLohengrin\u201d.\"\"\"\n\nFUNERAL: Tuple[str, ...]\n\"\"\"Melody: the \u201cfuneral march\u201d otherwise known as Fr\u00e9d\u00e9ric Chopin\u2019s Piano Sonata No. 2 in B\u266d minor, Op. 35.\"\"\"\n\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melody: a fun fragment that signifies a joke has been made.\"\"\"\n\nPYTHON: Tuple[str, ...]\n\"\"\"Melody: John Philip Sousa\u2019s march \u201cLiberty Bell\u201d aka, the theme for \u201cMonty Python\u2019s Flying Circus\u201d (after which the Python programming language is named).\"\"\"\n\nBADDY: Tuple[str, ...]\n\"\"\"Melody: silent movie era entrance of a baddy.\"\"\"\n\nCHASE: Tuple[str, ...]\n\"\"\"Melody: silent movie era chase scene.\"\"\"\n\nBA_DING: Tuple[str, ...]\n\"\"\"Melody: a short signal to indicate something has happened.\"\"\"\n\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melody: a very sad trombone.\"\"\"\n\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melody: for use in a game, indicating upward movement.\"\"\"\n\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melody: for use in a game, indicating downward movement.\"\"\"\n\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melody: a fanfare to indicate an achievement unlocked.\"\"\"\n\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melody: a sad fanfare to indicate an achievement lost.\"\"\"\n\ndef set_tempo(ticks: int = 4, bpm: int = 120) -> None:\n \"\"\"Sets the approximate tempo for playback.\n\n Example: ``music.set_tempo(bpm=120)``\n\n :param ticks: The number of ticks constituting a beat.\n :param bpm: An integer determining how many beats per minute.\n\n Suggested default values allow the following useful behaviour:\n\n - music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n - music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n - music.set_tempo(bpm=180) \u2013 just change the tempo\n\n To work out the length of a tick in milliseconds is very simple arithmetic:\n 60000/bpm/ticks_per_beat. For the default values that\u2019s\n 60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\n \"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Gets the current tempo as a tuple of integers: ``(ticks, bpm)``.\n\n Example: ``ticks, beats = music.get_tempo()``\n\n :return: The temp as a tuple with two integer values, the ticks then the beats per minute.\n \"\"\"\n ...\n\ndef play(\n music: Union[str, List[str], Tuple[str, ...]],\n pin: Optional[MicroBitDigitalPin] = pin0,\n wait: bool = True,\n loop: bool = False,\n) -> None:\n \"\"\"Plays music.\n\n Example: ``music.play(music.NYAN)``\n\n :param music: music specified in `a special notation `_\n :param pin: the output pin for use with an external speaker (default ``pin0``), ``None`` for no sound.\n :param wait: If ``wait`` is set to ``True``, this function is blocking.\n :param loop: If ``loop`` is set to ``True``, the tune repeats until ``stop`` is called or the blocking call is interrupted.\n\n Many built-in melodies are defined in this module.\n \"\"\"\n ...\n\ndef pitch(\n frequency: int,\n duration: int = -1,\n pin: Optional[MicroBitDigitalPin] = pin0,\n wait: bool = True,\n) -> None:\n \"\"\"Play a note.\n\n Example: ``music.pitch(185, 1000)``\n\n :param frequency: An integer frequency\n :param duration: A millisecond duration. If negative then sound is continuous until the next call or a call to ``stop``.\n :param pin: Optional output pin (default ``pin0``).\n :param wait: If ``wait`` is set to ``True``, this function is blocking.\n\n For example, if the frequency is set to 440 and the length to\n 1000 then we hear a standard concert A for one second.\n\n You can only play one pitch on one pin at any one time.\n \"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin] = pin0) -> None:\n \"\"\"Stops all music playback on the built-in speaker and any pin outputting sound.\n\n Example: ``music.stop()``\n\n :param pin: An optional argument can be provided to specify a pin, e.g. ``music.stop(pin1)``.\n \"\"\"\n\ndef reset() -> None:\n \"\"\"Resets ticks, bpm, duration and octave to their default values.\n\n Example: ``music.reset()``\n\n Values:\n - ``ticks = 4``\n - ``bpm = 120``\n - ``duration = 4``\n - ``octave = 4``\n \"\"\"\n ...\n", - "/typeshed/stdlib/neopixel.pyi": "\"\"\"Individually addressable RGB and RGBW LED strips.\n\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int = 3) -> None:\n \"\"\"Initialise a new strip of neopixel LEDs controlled via a pin.\n\n Example: ``np = neopixel.NeoPixel(pin0, 8)``\n\n To support RGBW neopixels, a third argument can be passed to\n ``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\n For RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\n Each pixel is addressed by a position (starting from 0). Neopixels are\n given RGB (red, green, blue) / RGBW (red, green, blue, white) values\n between 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\n white. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\n See `the online docs `_ for warnings and other advice.\n\n :param pin: The pin controlling the neopixel strip.\n :param n: The number of neopixels in the strip.\n :param bpp: Bytes per pixel. For RGBW neopixel support, pass 4 rather than the default of 3 for RGB and GRB.\n \"\"\"\n ...\n def clear(self) -> None:\n \"\"\"Clear all the pixels.\n\n Example: ``np.clear()``\n \"\"\"\n ...\n def show(self) -> None:\n \"\"\"Show the pixels.\n\n Example: ``np.show()``\n\n Must be called for any updates to become visible.\n \"\"\"\n ...\n def write(self) -> None:\n \"\"\"Show the pixels (micro:bit V2 only).\n\n Example: ``np.write()``\n\n Must be called for any updates to become visible.\n\n Equivalent to ``show``.\n \"\"\"\n ...\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Colour all pixels a given RGB/RGBW value (micro:bit V2 only).\n\n Example: ``np.fill((0, 0, 255))``\n\n :param colour: A tuple of the same length as the number of bytes per pixel (bpp).\n\n Use in conjunction with ``show()`` to update the neopixels.\n \"\"\"\n ...\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Set a pixel colour.\n\n Example: ``np[0] = (255, 0, 0)``\n\n :param key: The pixel number.\n :param value: The colour.\n \"\"\"\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Get a pixel colour.\n\n Example: ``r, g, b = np[0]``\n\n :param key: The pixel number.\n :return: The colour tuple.\n \"\"\"\n def __len__(self) -> int:\n \"\"\"Get length of this pixel strip.\n\n Example: ``len(np)``\n \"\"\"\n", - "/typeshed/stdlib/os.pyi": "\"\"\"Access the file system.\n\"\"\"\n\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"List files.\n\n Example: ``os.listdir()``\n\n :return: A list of the names of all the files contained within the local\n persistent on-device file system.\n \"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Remove (delete) a file.\n\n Example: ``os.remove('data.txt')``\n\n :param filename: The file to delete.\n\n If the file does not exist an ``OSError`` exception will occur.\n \"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Returns the size of a file.\n\n Example: ``os.size('data.txt')``\n\n :param filename: The file\n :return: The size in bytes.\n\n If the file does not exist an ``OSError`` exception will occur.\n \"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Result of ``os.uname()``\"\"\"\n sysname: str\n \"\"\"Operating system name.\"\"\"\n\n nodename: str\n \"\"\"Name of machine on network (implementation-defined).\"\"\"\n\n release: str\n \"\"\"Operating system release.\"\"\"\n \n version: str\n \"\"\"Operating system version.\"\"\"\n \n machine: str\n \"\"\"Hardware identifier.\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Returns information identifying the current operating system.\n\n Example: ``os.uname()``\n\n The return value is an object with five attributes:\n\n - ``sysname`` - operating system name\n - ``nodename`` - name of machine on network (implementation-defined)\n - ``release`` - operating system release\n - ``version`` - operating system version\n - ``machine`` - hardware identifier\n\n There is no underlying operating system in MicroPython. As a result the\n information returned by the ``uname`` function is mostly useful for\n versioning details.\n \"\"\"\n ...\n", + "/typeshed/stdlib/machine.pyi": "\"\"\"\ub85c\uc6b0 \ub808\ubca8 \uc720\ud2f8\ub9ac\ud2f0\uc785\ub2c8\ub2e4.\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"\ubcf4\ub4dc\uc758 \uace0\uc720 \uc2dd\ubcc4\uc790\uac00 \uc788\ub294 \ubc14\uc774\ud2b8 \ubb38\uc790\uc5f4\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"\uc678\ubd80 \ucd08\uae30\ud654 \ubc84\ud2bc\uc744 \ub204\ub978 \uac83\uacfc \uc720\uc0ac\ud55c \ubc29\uc2dd\uc73c\ub85c \uae30\uae30\ub97c \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"\ud5e4\ub974\uce20\ub85c \ud45c\uc2dc\ub41c CPU \uc9c4\ub3d9\uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"\uc778\ud130\ub7fd\ud2b8 \uc694\uccad\uc744 \ube44\ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"\uc778\ud130\ub7fd\ud2b8 \uc694\uccad\uc744 \uc7ac\ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: ``disable_irq`` \ud568\uc218\uc5d0\uc11c \uac00\uc7a5 \ucd5c\uadfc\uc5d0 \ud638\ucd9c\ub41c \uac12\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4.\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"\ud540 \ud384\uc2a4 \uc2dc\uac04\uc744 \uce21\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: (\ud540) \uc0ac\uc6a9\ud560 \ud540\n:param pulse_level: (\ud384\uc2a4 \ub808\ubca8) \ub85c\uc6b0 \ud384\uc2a4\uc758 \uc2dc\uac04\uc744 \uce21\uc815\ud558\ub824\uba74 0, \ud558\uc774 \ud384\uc2a4\ub294 1\n:param timeout_us: \ub9c8\uc774\ud06c\ub85c\ucd08 \uc2dc\uac04 \ucd08\uacfc\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"``mem8``, ``mem16``, ``mem32`` \uba54\ubaa8\ub9ac \ubdf0 \ud074\ub798\uc2a4\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"\uba54\ubaa8\ub9ac \uac12\uc5d0 \uc561\uc138\uc2a4\ud569\ub2c8\ub2e4.\n\n:param address: \uba54\ubaa8\ub9ac \uc8fc\uc18c\uc785\ub2c8\ub2e4.\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"\uc81c\uacf5\ub41c \uc8fc\uc18c\uc5d0 \uac12\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\n:param address: \uba54\ubaa8\ub9ac \uc8fc\uc18c\uc785\ub2c8\ub2e4.\n:param value: \uc124\uc815\ud560 \uc815\uc218\uac12\uc785\ub2c8\ub2e4.\"\"\"\n ...\nmem8: mem\n\"\"\"8\ube44\ud2b8(\ubc14\uc774\ud2b8) \uba54\ubaa8\ub9ac \ubdf0\uc785\ub2c8\ub2e4.\"\"\"\nmem16: mem\n\"\"\"16\ube44\ud2b8 \uba54\ubaa8\ub9ac \ubdf0\uc785\ub2c8\ub2e4.\"\"\"\nmem32: mem\n\"\"\"32\ube44\ud2b8 \uba54\ubaa8\ub9ac \ubdf0\uc785\ub2c8\ub2e4.\"\"\"", + "/typeshed/stdlib/math.pyi": "\"\"\"\uc218\ud559 \ud568\uc218\uc785\ub2c8\ub2e4.\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"\ucf54\uc0ac\uc778\uc758 \uc5ed\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.acos(1)``\n\n:param x: \uc22b\uc790\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"\uc0ac\uc778\uc758 \uc5ed\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.asin(0)``\n\n:param x: \uc22b\uc790\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"\ud0c4\uc820\ud2b8\uc758 \uc5ed\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.atan(0)``\n\n:param x: \uc22b\uc790\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"``y/x``\uc758 \uc5ed \ud0c4\uc820\ud2b8\uc758 \uc8fc \uac12\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.atan2(0, -1)``\n\n:param y: \uc22b\uc790\n:param x: \uc22b\uc790\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"\uc591\uc758 \ubb34\ud55c\ub300\ub85c \uc22b\uc790\ub97c \ubc18\uc62c\ub9bc\ud569\ub2c8\ub2e4.\n\nExample: ``math.ceil(0.1)``\n\n:param x: \uc22b\uc790\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"``y``\uc758 \uc0ac\uc778 \uac12\uc73c\ub85c ``x``\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.copysign(1, -1)``\n\n:param x: \uc22b\uc790\n:param y: \ubc18\ud658\uac12\uc758 \uc0ac\uc778\uc758 \ucd9c\ucc98\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"``x``\uc758 \ucf54\uc0ac\uc778\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.cos(0)``\n\n:param x: \uc22b\uc790\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"\ud638\ub3c4\ubc95\uc744 \uac01\ub3c4\ubc95\uc73c\ub85c \ubcc0\ud658\ud569\ub2c8\ub2e4. (\ub3c4)\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: \ud638\ub3c4\ubc95 \uac12\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"``x``\uc758 \uc9c0\uc218\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.exp(1)``\n\n:param x: \uc22b\uc790\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"``x``\uc758 \uc808\ub313\uac12\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``math.fabs(-0.1)``\n\n:param x: \uc22b\uc790\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"\uc74c\uc758 \ubb34\ud55c\ub300\ub85c \uc22b\uc790\ub97c \ubc18\uc62c\ub9bc\ud569\ub2c8\ub2e4.\n\nExample: ``math.floor(0.9)``\n\n:param x: \uc22b\uc790\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"``x/y``\uc758 \ub098\uba38\uc9c0\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.fmod(10, 3)``\n\n:param x: \ubd84\uc790\n:param y: \ubd84\ubaa8\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"\ubd80\ub3d9 \uc18c\uc218\uc810 \uc218\ub97c \uac00\uc218\uc640 \uc9c0\uc218\ub85c \ubd84\ud574\ud569\ub2c8\ub2e4.\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: \ubd80\ub3d9 \uc18c\uc218\uc810 \uc218\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"\uac12\uc774 \uc720\ud55c\uac12\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: \uc22b\uc790\uc785\ub2c8\ub2e4.\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"\uac12\uc774 \ubb34\ud55c\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: \uc22b\uc790\uc785\ub2c8\ub2e4.\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"\uac12\uc774 \uc22b\uc790\uac00 \uc544\ub2cc \uac12(NaN)\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: \uc22b\uc790\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"``x * (2**exp)``\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: \uc22b\uc790\n:param exp: \uc815\uc218 \uc9c0\uc218\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"``x``\uc758 \ub85c\uadf8\ub97c \uc8fc\uc5b4\uc9c4 \ubca0\uc774\uc2a4\uc5d0 \ub530\ub77c \uacc4\uc0b0\ud569\ub2c8\ub2e4(\uae30\ubcf8\uac12\uc740 \uc790\uc5f0\ub85c\uadf8).\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: \uc22b\uc790\n:param base: \uc0ac\uc6a9\ud560 \ubca0\uc774\uc2a4\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"``x``\uc758 \ubd84\uc218 \ubc0f \uc815\uc218 \ubd80\ubd84\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: \uc22b\uc790\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"``y``\uc758 \uc81c\uacf1\uc744 ``x``(\uc73c)\ub85c \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: \uc22b\uc790\n:param y: \uc9c0\uc218\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"\uac01\ub3c4\ubc95\uc744 \ud638\ub3c4\ubc95\uc73c\ub85c \ubcc0\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``math.radians(360)``\n\n:param x: \uac01\ub3c4\ubc95 \uac12\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"``x``\uc758 \uc0ac\uc778\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: \uc22b\uc790\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"``x``\uc758 \uc81c\uacf1\uadfc\uc744 \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.sqrt(4)``\n\n:param x: \uc22b\uc790\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"``x``\uc758 \ud0c4\uc820\ud2b8\ub97c \uacc4\uc0b0\ud569\ub2c8\ub2e4.\n\nExample: ``math.tan(0)``\n\n:param x: \uc22b\uc790\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"\uc22b\uc790\ub97c 0\uc73c\ub85c \ubc18\uc62c\ub9bc\ud569\ub2c8\ub2e4.\n\nExample: ``math.trunc(-0.9)``\n\n:param x: \uc22b\uc790\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"\uc790\uc5f0 \uc54c\uace0\ub9ac\uc998 \ubca0\uc774\uc2a4\"\"\"\npi: float\n\"\"\"\uc6d0\uc758 \uc6d0\uc8fc\uc640 \uc9c0\ub984\uc758 \ube44\uc728\"\"\"", + "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython \ub0b4\ubd80 \uc815\ubcf4\uc785\ub2c8\ub2e4.\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"\ucef4\ud30c\uc77c\ub7ec\uac00 \ucd5c\uc801\ud654\ud560 \uc218 \uc788\ub3c4\ub85d \ud574\ub2f9 \uc218\uc2dd\uc774 \uc0c1\uc218\uc784\uc744 \uc120\uc5b8\ud569\ub2c8\ub2e4.\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: \uc0c1\uc218 \ud45c\ud604\uc2dd\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"\uc2a4\ud06c\ub9bd\ud2b8\uc758 \ud604\uc7ac \ucef4\ud30c\uc77c \ucd5c\uc801\ud654 \ub808\ubca8\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"\uc2a4\ud06c\ub9bd\ud2b8\uc758 \ud6c4\uc18d \ucef4\ud30c\uc77c \ucd5c\uc801\ud654 \ub808\ubca8\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: \uc815\uc218\ub85c \ub41c \ucd5c\uc801\ud654 \ub808\ubca8\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"\ud604\uc7ac \uc0ac\uc6a9 \uc911\uc778 \uba54\ubaa8\ub9ac\uc5d0 \ub300\ud55c \uc815\ubcf4\ub97c \ud504\ub9b0\ud2b8\ud569\ub2c8\ub2e4.\n\nExample: ``micropython.mem_info()``\n\n:param verbose: ``verbose`` \uc778\uc790\uac00 \uc8fc\uc5b4\uc9c0\uba74 \ucd94\uac00 \uc815\ubcf4\ub97c \ud504\ub9b0\ud2b8\ud569\ub2c8\ub2e4.\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"\ud604\uc7ac \ubc18\ud658\ub41c \ubb38\uc790\uc5f4\uc5d0 \ub300\ud55c \uc815\ubcf4\ub97c \ud504\ub9b0\ud2b8\ud569\ub2c8\ub2e4.\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: ``verbose`` \uc778\uc790\uac00 \uc8fc\uc5b4\uc9c0\uba74 \ucd94\uac00 \uc815\ubcf4\ub97c \ud504\ub9b0\ud2b8\ud569\ub2c8\ub2e4.\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"\ud604\uc7ac \uc0ac\uc6a9 \uc911\uc778 \uc2a4\ud0dd\uc758 \uc218\ub97c \ub098\ud0c0\ub0b4\ub294 \uc815\uc218\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"\ud799\uc744 \uc7a0\uae09\ub2c8\ub2e4.\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"\ud799\uc744 \uc7a0\uae08 \ud574\uc81c\ud569\ub2c8\ub2e4.\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"``KeyboardInterrupt`` \uc608\uc678\ub97c \uc81c\uae30\ud560 \ubb38\uc790\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: \uc778\ud130\ub7fd\ud2b8\ub97c \uc81c\uae30\ud558\uae30 \uc704\ud55c \ubb38\uc790 \ucf54\ub4dc\uc785\ub2c8\ub2e4. -1\uc740 Ctrl-C \ucea1\ucc98\ub97c \ube44\ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", + "/typeshed/stdlib/music.pyi": "\"\"\"\uba5c\ub85c\ub514\ub97c \uc0dd\uc131\ud558\uace0 \uc7ac\uc0dd\ud569\ub2c8\ub2e4.\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \ubca0\ud1a0\ubca4\uc758 \uad50\ud5a5\uace1 \uc81c5\ubc88 \ub2e4 \ub2e8\uc870 \ub3c4\uc785\ubd80\uc785\ub2c8\ub2e4.\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uc2a4\ucf67 \uc870\ud50c\ub9b0\uc758 \ub798\uadf8\ud0c0\uc784 \uace0\uc804 \u201cThe Entertainer\u201d \ub3c4\uc785\ubd80 \uc77c\ubd80\uc785\ub2c8\ub2e4.\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uc694\ud55c \uc81c\ubc14\uc2a4\ud2f0\uc548 \ubc14\ud750\uc758 48 Preludes and Fugues \ub2e4 \uc7a5\uc870 \uccab \uc804\uc8fc\uace1 \ub3c4\uc785\ubd80\uc785\ub2c8\ub2e4.\"\"\"\nODE: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \ubca0\ud1a0\ubca4\uc758 \uad50\ud5a5\uace1 \uc81c9\ubc88 \ub77c \ub2e8\uc870 \u201cOde to Joy\u201d \ud14c\ub9c8\uc785\ub2c8\ub2e4.\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: Nyan Cat \ud14c\ub9c8\uc785\ub2c8\ub2e4(http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \ud734\ub300\ud3f0 \ubca8\uc18c\ub9ac\uc640 \uc720\uc0ac\ud55c \uc18c\ub9ac\uc785\ub2c8\ub2e4.\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \ube44\ubc00 \uc694\uc6d0\uacfc \ucc9c\uc7ac \ubc94\uc8c4\uc790\uc5d0 \uc5b4\uc6b8\ub9ac\ub294 \ud391\ud0a4 \ubca0\uc774\uc2a4 \ub77c\uc778\uc785\ub2c8\ub2e4.\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \ubd80\uae30 \uc6b0\uae30 12\ubc14 \ube14\ub8e8\uc2a4 \uc6cc\ud0b9 \ubca0\uc774\uc2a4\uc785\ub2c8\ub2e4.\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uc0dd\uc77c \ucd95\ud558 \ub178\ub798\uc785\ub2c8\ub2e4.\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"Melody: \ubc14\uadf8\ub108\uc758 \uc624\ud398\ub77c \u201c\ub85c\uc5d4\uadf8\ub9b0\u201d\uc758 \uacb0\ud63c\uc2dd \ud569\ucc3d\uc785\ub2c8\ub2e4.\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \u201c\uc7a5\uc1a1\ud589\uc9c4\uace1\u201d\uc774\ub77c\uace0\ub3c4 \uc54c\ub824\uc9c4 \ud504\ub808\ub370\ub9ac\ud06c \uc1fc\ud33d\uc758 \ud53c\uc544\ub178 \uc18c\ub098\ud0c0 \uc81c2\ubc88 B\u266d \ub2e8\uc870 Op. 35\uc785\ub2c8\ub2e4.\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \ub18d\ub2f4\ud560 \ub54c \ub098\uc624\ub294 \uc7ac\ubbf8\uc788\ub294 \uba5c\ub85c\ub514\uc785\ub2c8\ub2e4.\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uc874 \ud544\ub9bd \uc218\uc790\uc758 \u201c\uc790\uc720\uc758 \uc885\u201d \ud589\uc9c4\uace1\uc785\ub2c8\ub2e4. \u201c\ubaac\ud2f0 \ud30c\uc774\ud2bc\uc758 \ube44\ud589 \uc11c\ucee4\uc2a4\u201d \ud14c\ub9c8\uace1\uc73c\ub85c\ub3c4 \uc54c\ub824\uc838 \uc788\uc2b5\ub2c8\ub2e4(Python \ud504\ub85c\uadf8\ub798\ubc0d \uc5b8\uc5b4\ub294 \ubaac\ud2f0 \ud30c\uc774\ud2bc\uc758 \uc774\ub984\uc5d0\uc11c \uc720\ub798\ud588\uc2b5\ub2c8\ub2e4).\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \ubb34\uc131 \uc601\ud654 \uc2dc\ub300\uc758 \uc545\ub2f9 \ub4f1\uc7a5 \uba5c\ub85c\ub514\uc785\ub2c8\ub2e4.\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \ubb34\uc131 \uc601\ud654 \uc2dc\ub300\uc758 \ucd94\uaca9 \uc7a5\uba74 \uba5c\ub85c\ub514\uc785\ub2c8\ub2e4.\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514:\uc5b4\ub5a4 \uc77c\uc774 \uc77c\uc5b4\ub0ac\ub2e4\ub294 \uac83\uc744 \uc54c\ub824\uc8fc\ub294 \uc9e7\uc740 \uc2e0\ud638\uc74c\uc785\ub2c8\ub2e4.\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uc544\uc8fc \uc2ac\ud508 \ud2b8\ub7fc\ubcf8 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uac8c\uc784\uc5d0\uc11c \uc704\ub85c \uc6c0\uc9c1\uc774\ub294 \uac83\uc744 \ud45c\ud604\ud558\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uac8c\uc784\uc5d0\uc11c \uc544\ub798\ub85c \uc6c0\uc9c1\uc774\ub294 \uac83\uc744 \ud45c\ud604\ud558\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uc5c5\uc801 \ub2ec\uc131\uc744 \uc54c\ub9ac\ub294 \ud321\ud30c\ub974 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"\uba5c\ub85c\ub514: \uc5c5\uc801 \ub2ec\uc131 \uc2e4\ud328\ub97c \uc758\ubbf8\ud558\ub294 \uc2ac\ud508 \ud321\ud30c\ub974 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"\ud50c\ub808\uc774\ubc31\uc758 \ube60\ub974\uae30\ub97c \ub300\ub7b5\uc801\uc73c\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: \ube44\ud2b8 \ud558\ub098\ub97c \uad6c\uc131\ud558\ub294 \ud2f1\uc758 \uc218\uc785\ub2c8\ub2e4.\n:param bpm: \ubd84\ub2f9 \ube44\ud2b8 \uc218\ub97c \uacb0\uc815\ud558\ub294 \uc815\uc218\uc785\ub2c8\ub2e4.\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"\ud604\uc7ac \ube60\ub974\uae30\ub97c \uc815\uc218 \ud29c\ud50c\ub85c \uac00\uc838\uc635\ub2c8\ub2e4: ``(ticks, bpm)``.\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"\uc74c\uc545\uc744 \uc7ac\uc0dd\ud569\ub2c8\ub2e4.\n\nExample: ``music.play(music.NYAN)``\n\n:param music: `\ubcc4\ucca8 `_\uc5d0 \uba85\uc2dc\ub41c \uc74c\uc545\n:param pin: (\ud540) \uc678\uc7a5 \uc2a4\ud53c\ucee4\uc5d0 \uc0ac\uc6a9\ud560 \ucd9c\ub825 \ud540\uc785\ub2c8\ub2e4(\uae30\ubcf8\uac12 ``pin0``). ``None``\uc73c\ub85c \uc124\uc815\ud558\uba74 \uc18c\ub9ac\uac00 \uc7ac\uc0dd\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.\n:param wait: ``wait``\uc774 ``True``\ub85c \uc124\uc815\ub41c \uacbd\uc6b0 \uc774 \uae30\ub2a5\uc740 \ube14\ub85c\ud0b9 \uc0c1\ud0dc\uac00 \ub429\ub2c8\ub2e4.\n:param loop: ``loop``\uac00 ``True``\uc778 \uacbd\uc6b0 ``stop``\uc774 \ud638\ucd9c\ub418\uac70\ub098 \ube14\ub85c\ud0b9 \ud638\ucd9c\uc774 \uc778\ud130\ub7fd\ud2b8\ub418\uae30 \uc804\uae4c\uc9c0 \uacc4\uc18d \ubc18\ubcf5\ub429\ub2c8\ub2e4.\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"\uc74c\uc744 \uc7ac\uc0dd\ud569\ub2c8\ub2e4. (\uc55e-\ub4a4 \uae30\uc6b8\uae30)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (\uc9c4\ub3d9\uc218) \uc815\uc218 \uc9c4\ub3d9\uc218\uc785\ub2c8\ub2e4.\n:param duration: \ubc00\ub9ac\ucd08 \ub2e8\uc704\uc758 \uae30\uac04\uc785\ub2c8\ub2e4. \uc74c\uc218\uc778 \uacbd\uc6b0 \uc18c\ub9ac\uac00 \ub2e4\uc74c \ud638\ucd9c \ub610\ub294 ``stop`` \ud638\ucd9c\uae4c\uc9c0 \uacc4\uc18d \uc7ac\uc0dd\ub429\ub2c8\ub2e4.\n:param pin: (\ud540) \ucd9c\ub825 \ud540\uc785\ub2c8\ub2e4(\uae30\ubcf8\uac12 ``pin0``)(\uc120\ud0dd \uc0ac\ud56d).\n:param wait: ``wait``\uc774 ``True``\ub85c \uc124\uc815\ub41c \uacbd\uc6b0 \uc774 \uae30\ub2a5\uc740 \ube14\ub85c\ud0b9 \uc0c1\ud0dc\uac00 \ub429\ub2c8\ub2e4.\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"\ub0b4\uc7a5 \uc2a4\ud53c\ucee4\uc640 \ud540\uc73c\ub85c \ucd9c\ub825\ub418\ub294 \ubaa8\ub4e0 \uc74c\uc545 \ud50c\ub808\uc774\ubc31\uc744 \uba48\ucda5\ub2c8\ub2e4.\n\nExample: ``music.stop()``\n\n:param pin: (\ud540) \ud540\uc744 \ud2b9\uc815\ud558\uae30 \uc704\ud55c \uc778\uc790\uc785\ub2c8\ub2e4(\uc608: ``music.stop(pin1)``)(\uc120\ud0dd \uc0ac\ud56d).\"\"\"\n\ndef reset() -> None:\n \"\"\"\ud2f1, bpm, \uae30\uac04 \ubc0f \uc625\ud0c0\ube0c\ub97c \uae30\ubcf8\uac12\uc73c\ub85c \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"\uac1c\ubcc4 \uc8fc\uc18c\ub97c \uc9c0\uc815\ud560 \uc218 \uc788\ub294 RGB \ubc0f RGBW LED \uc2a4\ud2b8\ub9bd\uc785\ub2c8\ub2e4.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"\ud540\uc73c\ub85c \uc81c\uc5b4\ub418\ub294 \uc0c8\ub85c\uc6b4 \uc2a4\ud2b8\ub9bd\uc758 \ub124\uc624\ud53d\uc140 LED\ub97c \uc2dc\uc791\ud569\ub2c8\ub2e4. (string)\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: (\ud540) \ub124\uc624\ud53d\uc140 \uc2a4\ud2b8\ub9bd\uc744 \uc81c\uc5b4\ud558\ub294 \ud540\uc785\ub2c8\ub2e4.\n:param n: \uc2a4\ud2b8\ub9bd\uc758 \ub124\uc624\ud53d\uc140 \uc218\uc785\ub2c8\ub2e4.\n:param bpp: \ud53d\uc140\ub2f9 \ubc14\uc774\ud2b8\uc785\ub2c8\ub2e4. RGBW \ub124\uc624\ud53d\uc140 \uc9c0\uc6d0\uc744 \uc704\ud574\uc11c\ub294 RGB \ubc0f GRB\uc758 \uae30\ubcf8\uac12 3 \ub300\uc2e0 4\ub97c \ud328\uc2a4\ud574\uc57c \ud569\ub2c8\ub2e4.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"\ubaa8\ub4e0 \ud53d\uc140\uc744 \uc9c0\uc6c1\ub2c8\ub2e4.\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"\ud53d\uc140\uc744 \ud45c\uc2dc\ud569\ub2c8\ub2e4.\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"\ud53d\uc140\uc744 \ud45c\uc2dc\ud569\ub2c8\ub2e4(micro:bit V2 \uc804\uc6a9).\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"\ubaa8\ub4e0 \ud53d\uc140\uc5d0 \uc8fc\uc5b4\uc9c4 RGB/RGBW \uac12\uc744 \uce60\ud569\ub2c8\ub2e4(micro:bit V2 \uc804\uc6a9).\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: \ud53d\uc140 \ub2f9 \ubc14\uc774\ud2b8 \uc218(bpp)\uc640 \uac19\uc740 \uae38\uc774\uc758 \ud29c\ud50c\uc785\ub2c8\ub2e4.\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"\ud53d\uc140 \uc0c9\uc0c1\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: \ud53d\uc140 \ubc88\ud638\uc785\ub2c8\ub2e4.\n:param value: \uc0c9\uc0c1\uc785\ub2c8\ub2e4.\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"\ud53d\uc140 \uc0c9\uc0c1\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``r, g, b = np[0]``\n\n:param key: \ud53d\uc140 \ubc88\ud638\uc785\ub2c8\ub2e4.\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"\uc774 \ud53d\uc140 \uc2a4\ud2b8\ub9bd\uc758 \uae38\uc774\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/os.pyi": "\"\"\"\ud30c\uc77c \uc2dc\uc2a4\ud15c\uc5d0 \uc561\uc138\uc2a4\ud569\ub2c8\ub2e4.\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"\ud30c\uc77c\uc744 \ub098\uc5f4\ud569\ub2c8\ub2e4.\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"\ud30c\uc77c\uc744 \uc81c\uac70(\uc0ad\uc81c)\ud569\ub2c8\ub2e4.\n\nExample: ``os.remove('data.txt')``\n\n:param filename: \uc0ad\uc81c\ud560 \ud30c\uc77c\uc785\ub2c8\ub2e4.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"\ud30c\uc77c\uc758 \ud06c\uae30\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``os.size('data.txt')``\n\n:param filename: \ud30c\uc77c\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"``os.uname()``\uc758 \uacb0\uacfc\"\"\"\n sysname: str\n \"\"\"\uc6b4\uc601 \uccb4\uc81c \uc774\ub984\uc785\ub2c8\ub2e4.\"\"\"\n nodename: str\n \"\"\"\ub124\ud2b8\uc6cc\ud06c\uc0c1\uc758 \uba38\uc2e0 \uc774\ub984\uc785\ub2c8\ub2e4(\uad6c\ud604 \ubc29\ubc95\uc5d0 \ub530\ub77c \uc815\uc758\ub428).\"\"\"\n release: str\n \"\"\"\uc6b4\uc601 \uccb4\uc81c \ub9b4\ub9ac\uc2a4\uc785\ub2c8\ub2e4.\"\"\"\n version: str\n \"\"\"\uc6b4\uc601 \uccb4\uc81c \ubc84\uc804\uc785\ub2c8\ub2e4.\"\"\"\n machine: str\n \"\"\"\ud558\ub4dc\uc6e8\uc5b4 \uc2dd\ubcc4\uc790\uc785\ub2c8\ub2e4.\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"\ud604\uc7ac \uc6b4\uc601 \uc2dc\uc2a4\ud15c\uc744 \uc2dd\ubcc4\ud558\ub294 \uc815\ubcf4\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", - "/typeshed/stdlib/radio.pyi": "\"\"\"Communicate between micro:bits with the built-in radio.\n\"\"\"\n\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\n\nRATE_1MBIT: int\n\"\"\"Constant used to indicate a throughput of 1 MBit a second.\"\"\"\n\nRATE_2MBIT: int\n\"\"\"Constant used to indicate a throughput of 2 MBit a second.\"\"\"\n\ndef on() -> None:\n \"\"\"Turns the radio on.\n\n Example: ``radio.on()``\n\n This needs to be explicitly called since the radio draws power and takes\n up memory that you may otherwise need.\n \"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Turns off the radio, saving power and memory.\n\n Example: ``radio.off()``\n \"\"\"\n ...\n\ndef config(\n length: int = 32,\n queue: int = 3,\n channel: int = 7,\n power: int = 6,\n address: int = 0x75626974,\n group: int = 0,\n data_rate: int = RATE_1MBIT,\n) -> None:\n \"\"\"Configures the radio.\n\n Example: ``radio.config(group=42)``\n\n The default configuration is suitable for most use.\n\n :param length: (default=32) defines the maximum length, in bytes, of a message sent via the radio.\n It can be up to 251 bytes long (254 - 3 bytes for S0, LENGTH and S1 preamble).\n :param queue: (default=3) specifies the number of messages that can be stored on the incoming message queue.\n If there are no spaces left on the queue for incoming messages, then the incoming message is dropped.\n :param channel: (default=7) an integer value from 0 to 83 (inclusive) that defines an arbitrary \"channel\" to which the radio is tuned.\n Messages will be sent via this channel and only messages received via this channel will be put onto the incoming message queue. Each step is 1MHz wide, based at 2400MHz.\n :param power: (default=6) is an integer value from 0 to 7 (inclusive) to indicate the strength of signal used when broadcasting a message.\n The higher the value the stronger the signal, but the more power is consumed by the device. The numbering translates to positions in the following list of dBm (decibel milliwatt) values: -30, -20, -16, -12, -8, -4, 0, 4.\n :param address: (default=0x75626974) an arbitrary name, expressed as a 32-bit address, that's used to filter incoming packets at the hardware level, keeping only those that match the address you set.\n The default used by other micro:bit related platforms is the default setting used here.\n :param group: (default=0) an 8-bit value (0-255) used with the ``address`` when filtering messages.\n Conceptually, \"address\" is like a house/office address and \"group\" is like the person at that address to which you want to send your message.\n :param data_rate: (default=``radio.RATE_1MBIT``) indicates the speed at which data throughput takes place.\n Can be one of the following constants defined in the ``radio`` module: ``RATE_250KBIT``, ``RATE_1MBIT`` or ``RATE_2MBIT``.\n\n If ``config`` is not called then the defaults described above are assumed.\n \"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset the settings to their default values.\n\n Example: ``radio.reset()``\n\n The defaults as as per the ``config`` function above.\n \"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Sends a message containing bytes.\n\n Example: ``radio.send_bytes(b'hello')``\n\n :param message: The bytes to send.\n \"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Receive the next incoming message on the message queue.\n\n Example: ``radio.receive_bytes()``\n\n :return: The message bytes if any, otherwise ``None``.\n \"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Copy the next incoming message on the message queue into a buffer.\n\n Example: ``radio.receive_bytes_info(buffer)``\n\n :param buffer: The target buffer. The message is truncated if larger than the buffer.\n :return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\n \"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Sends a message string.\n\n Example: ``radio.send('hello')``\n\n This is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\n prepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n :param message: The string to send.\n \"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Works in exactly the same way as ``receive_bytes`` but returns whatever was sent.\n\n Example: ``radio.receive()``\n\n Equivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\n three bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\n may target the micro:bit).\n\n :return: The message with the prepended bytes stripped and converted to a string.\n\n A ``ValueError`` exception is raised if conversion to string fails.\n \"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Returns a tuple containing three values representing the next incoming message on the message queue.\n\n Example: ``radio.receive_full()``\n\n If there are no pending messages then ``None`` is returned.\n\n The three values in the tuple represent:\n\n - the next incoming message on the message queue as bytes.\n - the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n - a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\n For example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\n This function is useful for providing information needed for triangulation\n and/or trilateration with other micro:bit devices.\n\n :return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\n \"\"\"\n ...\n", - "/typeshed/stdlib/random.pyi": "\"\"\"Generate random numbers.\n\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"Generate an integer with ``n`` random bits.\n\n Example: ``random.getrandbits(1)``\n\n :param n: A value between 1-30 (inclusive).\n \"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Initialize the random number generator.\n\n Example: ``random.seed(0)``\n\n :param n: The integer seed\n\n This will give you reproducibly deterministic randomness from a given starting\n state (``n``).\n \"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"Choose a random integer between ``a`` and ``b`` inclusive.\n\n Example: ``random.randint(0, 9)``\n\n :param a: Start value for the range (inclusive)\n :param b: End value for the range (inclusive)\n\n Alias for ``randrange(a, b + 1)``.\n \"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"Choose a randomly selected integer between zero and up to (but not\n including) ``stop``.\n\n Example: ``random.randrange(10)``\n\n :param stop: End value for the range (exclusive)\n \"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int = 1) -> int:\n \"\"\"\n Choose a randomly selected element from ``range(start, stop, step)``.\n\n Example: ``random.randrange(0, 10)``\n\n :param start: The start of the range (inclusive)\n :param stop: The end of the range (exclusive)\n :param step: The step.\n \"\"\"\n ...\n\n_T = TypeVar(\"_T\")\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"Choose a random element from the non-empty sequence ``seq``.\n\n Example: ``random.choice([Image.HAPPY, Image.SAD])``\n\n :param seq: A sequence.\n\n If ``seq`` is empty, raises ``IndexError``.\n \"\"\"\n ...\n\ndef random() -> float:\n \"\"\"Generate a random floating point number in the range [0.0, 1.0).\n\n Example: ``random.random()``\n\n :return: The random floating point number\n \"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"\n Return a random floating point number between ``a`` and ``b`` inclusive.\n\n Example: ``random.uniform(0, 9)``\n\n :param a: Start value for the range (inclusive)\n :param b: End value for the range (inclusive)\n \"\"\"\n ...\n", - "/typeshed/stdlib/speech.pyi": "\"\"\"Make the micro:bit talk, sing and make other speech like sounds.\n\"\"\"\n\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"Translate English words to phonemes.\n\n Example: ``speech.translate('hello world')``\n\n :param words: A string of English words.\n :return: A string containing a best guess at the appropriate phonemes to pronounce.\n The output is generated from this `text to phoneme translation table `_.\n\n This function should be used to generate a first approximation of phonemes\n that can be further hand-edited to improve accuracy, inflection and\n emphasis.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef pronounce(\n phonemes: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: Optional[MicroBitDigitalPin] = pin0,\n) -> None:\n \"\"\"Pronounce phonemes.\n\n Example: ``speech.pronounce(' /HEHLOW WERLD')``\n\n :param phonemes: The string of phonemes to pronounce\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n Override the optional pitch, speed, mouth and throat settings to change the\n timbre (quality) of the voice.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef say(\n words: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: MicroBitDigitalPin = pin0,\n) -> None:\n \"\"\"Say English words.\n\n Example: ``speech.say('hello world')``\n\n :param words: The string of words to say.\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n The result is semi-accurate for English. Override the optional pitch, speed,\n mouth and throat settings to change the timbre (quality) of the voice.\n\n This is a short-hand equivalent of:\n ``speech.pronounce(speech.translate(words))``\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef sing(\n phonemes: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: MicroBitDigitalPin = pin0,\n) -> None:\n \"\"\"Sing phonemes.\n\n Example: ``speech.sing(' /HEHLOW WERLD')``\n\n :param phonemes: The string of words to sing.\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n Override the optional pitch, speed, mouth and throat settings to change\n the timbre (quality) of the voice.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n", - "/typeshed/stdlib/struct.pyi": "\"\"\"Pack and unpack primitive data types.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"Get the number of bytes needed to store the given ``fmt``.\n\n Example: ``struct.calcsize('hf')``\n\n :param fmt: A format string.\n :return The number of bytes needed to store such a value.\n \"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"Pack values according to a format string.\n\n Example: ``struct.pack('hf', 1, 3.1415)``\n\n :param fmt: The format string.\n :param v1: The first value.\n :param *vn: The remaining values.\n :return A bytes object encoding the values.\n \"\"\"\n ...\n\ndef pack_into(\n fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any\n) -> None:\n \"\"\"Pack values according to a format string.\n\n Example: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n :param fmt: The format string.\n :param buffer: The target buffer to write into.\n :param offset: The offset into the buffer. May be negative to count from the end of the buffer.\n :param v1: The first value.\n :param *vn: The remaining values.\n \"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"Unpack data according to a format string.\n\n Example: ``v1, v2 = struct.unpack('hf', buffer)``\n\n :param fmt: The format string.\n :param data: The data.\n :return: A tuple of the unpacked values.\n \"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int = 0) -> Tuple:\n \"\"\"Unpack data from a buffer according to a format string.\n\n Example: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n :param fmt: The format string.\n :param buffer: The source buffer to read from.\n :param offset: The offset into the buffer. May be negative to count from the end of the buffer.\n :return: A tuple of the unpacked values.\n \"\"\"\n ...\n", - "/typeshed/stdlib/sys.pyi": "\"\"\"System specific functions\"\"\"\n\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object = ...) -> NoReturn:\n \"\"\"Terminate current program with a given exit code.\n\n Example: ``sys.exit(1)``\n\n This function raises a ``SystemExit`` exception. If an argument is given, its\n value given as an argument to ``SystemExit``.\n\n :param retval: The exit code or message.\n \"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"\n Print an exception with a traceback.\n\n Example: ``sys.print_exception(e)``\n\n :param exc: The exception to print\n\n This is simplified version of a function which appears in the\n ``traceback`` module in CPython.\n \"\"\"\n\nargv: List[str]\n\"\"\"A mutable list of arguments the current program was started with.\"\"\"\n\nbyteorder: str\n\"\"\"The byte order of the system (``\"little\"`` or ``\"big\"``).\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\n\nimplementation: _implementation\n\"\"\"Object with information about the current Python implementation.\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\n\nmaxsize: int\n\"\"\"\nMaximum value which a native integer type can hold on the current platform,\nor maximum value representable by MicroPython integer type, if it's smaller\nthan platform max value (that is the case for MicroPython ports without\nlong int support).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\n\nmodules: Dict[str, Any]\n\"\"\"Dictionary of loaded modules. \n\nOn some ports, it may not include builtin modules.\"\"\"\n\npath: List[str]\n\"\"\"A mutable list of directories to search for imported modules.\"\"\"\n\nplatform: str\n\"\"\"The platform that MicroPython is running on. \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\n\nversion: str\n\"\"\"Python language version that this implementation conforms to, as a string.\"\"\"\n\nversion_info: Tuple[int, int, int]\n\"\"\"Python language version that this implementation conforms to, as a tuple of ints.\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"\n", + "/typeshed/stdlib/radio.pyi": "\"\"\"\ub0b4\uc7a5 \ub77c\ub514\uc624\ub97c \uc0ac\uc6a9\ud574 micro:bit\ub07c\ub9ac \ud1b5\uc2e0\ud569\ub2c8\ub2e4.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"\ucd08\ub2f9 1 MBit\uc758 \ucc98\ub9ac\uc728\uc744 \uc9c0\uc815\ud558\ub294 \ub370 \uc0ac\uc6a9\ud558\ub294 \uc0c1\uc218\"\"\"\nRATE_2MBIT: int\n\"\"\"\ucd08\ub2f9 2 MBit\uc758 \ucc98\ub9ac\uc728\uc744 \uc9c0\uc815\ud558\ub294 \ub370 \uc0ac\uc6a9\ud558\ub294 \uc0c1\uc218.\"\"\"\n\ndef on() -> None:\n \"\"\"\ub77c\ub514\uc624\ub97c \ucf2d\ub2c8\ub2e4.\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"\ub77c\ub514\uc624\ub97c \uaebc \uc804\ub825\uacfc \uba54\ubaa8\ub9ac\ub97c \uc808\uc57d\ud569\ub2c8\ub2e4.\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"\ub77c\ub514\uc624\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (\uae30\ubcf8\uac12=32) \ub77c\ub514\uc624\ub97c \ud1b5\ud574 \uc804\uc1a1\ub418\ub294 \uba54\uc2dc\uc9c0\uc758 \ucd5c\ub300 \uae38\uc774\ub97c \ubc14\uc774\ud2b8\ub85c \uc815\uc758\ud569\ub2c8\ub2e4.\n\ucd5c\ub300 251\ubc14\uc774\ud2b8\uae4c\uc9c0 \uc815\uc758\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4(S0, LENGTH \ubc0f S1 \ud504\ub9ac\uc570\ube14\uc758 \uacbd\uc6b0 254 - 3\ubc14\uc774\ud2b8).\n:param queue: (\uae30\ubcf8\uac12=3) \uc218\uc2e0 \uba54\uc2dc\uc9c0 \ub300\uae30\uc5f4\uc5d0 \ubcf4\uad00\ud560 \uc218 \uc788\ub294 \uba54\uc2dc\uc9c0\uc758 \uc218\ub97c \ud2b9\uc815\ud569\ub2c8\ub2e4. \ub9cc\uc57d \uc218\uc2e0 \uba54\uc2dc\uc9c0\uc758 \ub300\uae30\uc5f4 \uacf5\uac04\uc774 \ubd80\uc871\ud558\ub2e4\uba74 \uc218\uc2e0 \uba54\uc2dc\uc9c0\ub294 \ub4dc\ub86d\ub429\ub2c8\ub2e4.\n:param channel: (\uae30\ubcf8\uac12=7) \uc784\uc758\uc758 \"\ucc44\ub110\"\uc744 \ub77c\ub514\uc624 \ucc44\ub110\ub85c \uc124\uc815\ud558\ub294 0\ubd80\ud130 83\uae4c\uc9c0\uc758 \uc815\uc218(\uacbd\uacc4\uac12 \ud3ec\ud568)\uc785\ub2c8\ub2e4. \uba54\uc2dc\uc9c0\ub294 \uc774 \ucc44\ub110\ub85c \uc804\uc1a1\ub418\uba70 \uc774 \ucc44\ub110\uc744 \ud1b5\ud574 \ubc1b\uc740 \uba54\uc2dc\uc9c0\ub9cc \uc218\uc2e0 \uba54\uc2dc\uc9c0 \ub300\uae30\uc5f4\uc5d0 \ub4f1\ub85d\ub429\ub2c8\ub2e4. 2400MHz \uae30\uc900\uc73c\ub85c \uac01 \ub2e8\uacc4\ub294 1MHz \ub300\uc5ed\uc785\ub2c8\ub2e4.\n:param power: (\uae30\ubcf8\uac12=6) 0\ubd80\ud130 7\uc758 \uc815\uc218\uac12(\uacbd\uacc4\uac12 \ud3ec\ud568)\uc73c\ub85c \uba54\uc2dc\uc9c0\ub97c \uc1a1\ucd9c\ud560 \ub54c\uc758 \uc2e0\ud638 \uac15\ub3c4\ub97c \ud45c\ud604\ud569\ub2c8\ub2e4.\n\uac12\uc774 \ub192\uc744 \uc218\ub85d \uc2e0\ud638\ub294 \uac15\ud574\uc9c0\uc9c0\ub9cc \uc7a5\uce58\uc758 \uc804\ub825\uc744 \ub354 \uc18c\ubaa8\ud569\ub2c8\ub2e4. \uac01 \uc22b\uc790\ub294 \ub2e4\uc74c dBm(\ub370\uc2dc\ubca8 \ubc00\ub9ac\uc640\ud2b8)\uac12 \ub9ac\uc2a4\ud2b8\uc758 \uc704\uce58\ub85c \ubcc0\ud658\ub429\ub2c8\ub2e4: -30, -20, -16, -12, -8, -4, 0, 4.\n:param address: (\uae30\ubcf8=0x75626974) 32\ube44\ud2b8\ub85c \ud45c\ud604\ub418\ub294 \uc784\uc758\uc758 \uc774\ub984\uc785\ub2c8\ub2e4. \ud558\ub4dc\uc6e8\uc5b4 \ub808\ubca8\uc5d0\uc11c \uc218\uc2e0 \ud328\ud0b7\uc744 \ud544\ud130\ub9c1\ud558\ub294 \ub370 \uc0ac\uc6a9\ub418\uba70 \uc124\uc815\ud55c \uc8fc\uc18c\uc640 \uc77c\uce58\ud558\ub294 \ud328\ud0b7\ub9cc \uc720\uc9c0\ud569\ub2c8\ub2e4. \ub2e4\ub978 micro:bit \uad00\ub828 \ud50c\ub7ab\ud3fc\uc774 \uc0ac\uc6a9\ud558\ub294 \uae30\ubcf8\uac12\uc740 \uc5ec\uae30\uc5d0\uc11c\ub3c4 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.\n:param group: \uba54\uc2dc\uc9c0\ub97c \ud544\ud130\ub9c1\ud560 \ub54c ``address``\uc640 \ud568\uaed8 \uc0ac\uc6a9\ub418\ub294 8\ube44\ud2b8 \uac12(0~255)\uc785\ub2c8\ub2e4. \uac1c\ub150\uc0c1 \"address(\uc8fc\uc18c)\"\ub294 \uc9d1/\uc0ac\ubb34\uc2e4 \uc8fc\uc18c, \"group(\uadf8\ub8f9)\"\uc740 \ud574\ub2f9 \uc8fc\uc18c\uc5d0\uc11c \uba54\uc2dc\uc9c0\ub97c \ubcf4\ub0b4\uace0\uc790 \ud558\ub294 \uc778\ubb3c\uc785\ub2c8\ub2e4.\n:param data_rate: (default=``radio.RATE_1MBIT``) \ub370\uc774\ud130 \ucc98\ub9ac\uc728\uc758 \uc18d\ub3c4\ub97c \uc9c0\uc815\ud569\ub2c8\ub2e4. ``radio`` \ubaa8\ub4c8\uc758 \ub2e4\uc74c \uc0c1\uc218 \uc911 \ud558\ub098\uac00 \ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4: ``RATE_250KBIT``, ``RATE_1MBIT`` \ub610\ub294 ``RATE_2MBIT``.\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"\uc124\uc815\uc744 \uae30\ubcf8\uac12\uc73c\ub85c \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"\ubc14\uc774\ud2b8\uac00 \ud3ec\ud568\ub41c \uba54\uc2dc\uc9c0\ub97c \uc804\uc1a1\ud569\ub2c8\ub2e4.\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: \uc804\uc1a1\ud560 \ubc14\uc774\ud2b8\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"\uba54\uc2dc\uc9c0 \ub300\uae30\uc5f4\uc5d0 \uc788\ub294 \ub2e4\uc74c \uc218\uc2e0 \uba54\uc2dc\uc9c0\ub97c \ubc1b\uc2b5\ub2c8\ub2e4.\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"\uba54\uc2dc\uc9c0 \ub300\uae30\uc5f4\uc5d0 \uc788\ub294 \ub2e4\uc74c \uc218\uc2e0 \uba54\uc2dc\uc9c0\ub97c \ubc84\ud37c\uc5d0 \ubcf5\uc0ac\ud569\ub2c8\ub2e4.\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: \ubaa9\ud45c \ubc84\ud37c\uc785\ub2c8\ub2e4. \uba54\uc2dc\uc9c0\uac00 \ubc84\ud37c\ubcf4\ub2e4 \ud06c\uba74 \uba54\uc2dc\uc9c0\uac00 \uc798\ub9bd\ub2c8\ub2e4.\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"\uba54\uc2dc\uc9c0 \ubb38\uc790\uc5f4\uc744 \uc804\uc1a1\ud569\ub2c8\ub2e4.\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: \uc804\uc1a1\ud560 \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"``receive_bytes``\uc640 \uc815\ud655\ud788 \ub3d9\uc77c\ud55c \uc791\uc5c5\uc744 \ud558\uc9c0\ub9cc \ubaa8\ub4e0 \uc804\uc1a1 \ud56d\ubaa9\uc744 \ubc18\ud658\ud55c\ub2e4\ub294 \ucc28\uc774\uac00 \uc788\uc2b5\ub2c8\ub2e4.\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"\uba54\uc2dc\uc9c0 \ub300\uae30\uc5f4\uc5d0 \uc788\ub294 \ub2e4\uc74c \uc218\uc2e0 \uba54\uc2dc\uc9c0\uc758 \uc815\ubcf4\ub97c \uc138 \uc885\ub958\uc758 \uac12\uc774 \ud3ec\ud568\ub41c \ud29c\ud50c\ub85c \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", + "/typeshed/stdlib/random.pyi": "\"\"\"\ubb34\uc791\uc704 \uc22b\uc790\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"\ubb34\uc791\uc704 \ube44\ud2b8\uac00 ``n``\uac1c \uc788\ub294 \uc815\uc218\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``random.getrandbits(1)``\n\n:param n: 1~30 \uc0ac\uc774\uc758 \uac12\uc785\ub2c8\ub2e4(\uacbd\uacc4\uac12 \ud3ec\ud568).\"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"\ubb34\uc791\uc704 \uc22b\uc790 \uc0dd\uc131\uae30\ub97c \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``random.seed(0)``\n\n:param n: \uc815\uc218 \uc2dc\ub4dc\n\nThis will give you reproducibly deterministic randomness from a given starting\nstate (``n``).\"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"``a``\ubd80\ud130 ``b``\uae4c\uc9c0 \uc911 \ubb34\uc791\uc704 \uc815\uc218\ub97c \uc120\ud0dd\ud569\ub2c8\ub2e4(\uacbd\uacc4\uac12 \ud3ec\ud568).\n\nExample: ``random.randint(0, 9)``\n\n:param a: \ubc94\uc704 \uc2dc\uc791 \uac12(\uacbd\uacc4\uac12 \ud3ec\ud568)\n:param b: \ubc94\uc704 \uc885\ub8cc \uac12(\uacbd\uacc4\uac12 \ud3ec\ud568)\n\nAlias for ``randrange(a, b + 1)``.\"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"0\uacfc``stop``\uc0ac\uc774\uc758 \ubb34\uc791\uc704 \uc815\uc218\ub97c \uc120\ud0dd\ud569\ub2c8\ub2e4(\uacbd\uacc4\uac12 \uc81c\uc678).\n\nExample: ``random.randrange(10)``\n\n:param stop: \ubc94\uc704 \uc885\ub8cc \uac12(\uacbd\uacc4\uac12 \uc81c\uc678)\"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int=1) -> int:\n \"\"\"``range(start, stop, step)``\uc5d0\uc11c \ubb34\uc791\uc704\ub85c \uc815\ud574\uc9c0\ub294 \uc694\uc18c\ub97c \uc120\ud0dd\ud569\ub2c8\ub2e4.\n\nExample: ``random.randrange(0, 10)``\n\n:param start: \ubc94\uc704 \uc2dc\uc791(\uacbd\uacc4\uac12 \ud3ec\ud568)\n:param stop: \ubc94\uc704 \ub05d(\uacbd\uacc4\uac12 \uc81c\uc678)\n:param step: \uac78\uc74c \uc218\uc785\ub2c8\ub2e4.\"\"\"\n ...\n_T = TypeVar('_T')\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"\uacf5\ubc31\uc774 \uc544\ub2cc ``seq`` \uc2dc\ud000\uc2a4\ub85c\ubd80\ud130 \ubb34\uc791\uc704 \uc694\uc18c\ub97c \uc120\ud0dd\ud569\ub2c8\ub2e4.\n\nExample: ``random.choice([Image.HAPPY, Image.SAD])``\n\n:param seq: \uc2dc\ud000\uc2a4\uc785\ub2c8\ub2e4.\n\nIf ``seq`` is empty, raises ``IndexError``.\"\"\"\n ...\n\ndef random() -> float:\n \"\"\"[0.0, 1.0) \ubc94\uc704 \ub0b4\uc758 \ubb34\uc791\uc704 \ubd80\ub3d9 \uc18c\uc218\uc810 \uc218\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``random.random()``\n\n:return: The random floating point number\"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"\uacbd\uacc4\uac12\uc744 \ud3ec\ud568\ud55c ``a``\uc640 ``b``\uc0ac\uc774\uc758 \ubb34\uc791\uc704 \ubd80\ub3d9 \uc18c\uc218\uc810 \uc218\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``random.uniform(0, 9)``\n\n:param a: \ubc94\uc704 \uc2dc\uc791 \uac12(\uacbd\uacc4\uac12 \ud3ec\ud568)\n:param b: \ubc94\uc704 \uc885\ub8cc \uac12(\uacbd\uacc4\uac12 \ud3ec\ud568)\"\"\"\n ...", + "/typeshed/stdlib/speech.pyi": "\"\"\"micro:bit\uc774 \ub9d0\ud558\uace0 \ub178\ub798\ubd80\ub974\uace0 \uc18c\ub9ac\ub97c \uc7ac\uc0dd\ud558\uac8c \ud569\ub2c8\ub2e4.\"\"\"\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"\uc601\ub2e8\uc5b4\ub97c \uc74c\uc18c\ub85c \ubcc0\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``speech.translate('hello world')``\n\n:param words: \uc601\ub2e8\uc5b4 \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\n:return: A string containing a best guess at the appropriate phonemes to pronounce.\nThe output is generated from this `text to phoneme translation table `_.\n\nThis function should be used to generate a first approximation of phonemes\nthat can be further hand-edited to improve accuracy, inflection and\nemphasis.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef pronounce(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"\uc74c\uc18c\ub97c \ubc1c\uc74c\ud569\ub2c8\ub2e4.\n\nExample: ``speech.pronounce(' /HEHLOW WERLD')``\n\n:param phonemes: \ubc1c\uc74c\ud560 \uc74c\uc18c\uc758 \ubb38\uc790\uc5f4\n:param pitch: (\uc55e-\ub4a4 \uae30\uc6b8\uae30) \ubaa9\uc18c\ub9ac\uc758 \uc74c\ub192\uc774\ub97c \ud45c\ud604\ud558\ub294 \uc22b\uc790\n:param speed: \ubaa9\uc18c\ub9ac\uc758 \uc18d\ub3c4\ub97c \ud45c\ud604\ud558\ub294 \uc22b\uc790\n:param mouth: \ubaa9\uc18c\ub9ac\uc758 \uc785 \ubaa8\uc591\uc744 \ud45c\ud604\ud558\ub294 \uc22b\uc790\n:param throat: \ubaa9\uc18c\ub9ac\uc758 \ubaa9 \ubaa8\uc591\uc744 \ud45c\ud604\ud558\ub294 \uc22b\uc790\n:param pin: (\ud540) ``pin0``\uc758 \uae30\ubcf8\uac12\uc744 \ub36e\uc5b4\uc4f0\uace0 \ucd9c\ub825 \ud540\uc744 \ud2b9\uc815\ud558\ub294 \uc778\uc790\uc785\ub2c8\ub2e4(\uc120\ud0dd \uc0ac\ud56d).\n\ud540\uc5d0\uc11c \uc0ac\uc6b4\ub4dc\ub97c \uc7ac\uc0dd\ud558\uae30 \uc2eb\ub2e4\uba74 ``pin=None``\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. micro:bit V2 \uc804\uc6a9\uc785\ub2c8\ub2e4.\n\nOverride the optional pitch, speed, mouth and throat settings to change the\ntimbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef say(words: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"\uc601\uc5b4 \ub2e8\uc5b4\ub97c \ub9d0\ud569\ub2c8\ub2e4.\n\nExample: ``speech.say('hello world')``\n\n:param words: \ub9d0\ud560 \ub2e8\uc5b4\uc758 \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\n:param pitch: (\uc55e-\ub4a4 \uae30\uc6b8\uae30) \ubaa9\uc18c\ub9ac\uc758 \uc74c\ub192\uc774\ub97c \ud45c\ud604\ud558\ub294 \uc22b\uc790\n:param speed: \ubaa9\uc18c\ub9ac\uc758 \uc18d\ub3c4\ub97c \ud45c\ud604\ud558\ub294 \uc22b\uc790\n:param mouth: \ubaa9\uc18c\ub9ac\uc758 \uc785 \ubaa8\uc591\uc744 \ud45c\ud604\ud558\ub294 \uc22b\uc790\n:param throat: \ubaa9\uc18c\ub9ac\uc758 \ubaa9 \ubaa8\uc591\uc744 \ud45c\ud604\ud558\ub294 \uc22b\uc790\n:param pin: (\ud540) ``pin0``\uc758 \uae30\ubcf8\uac12\uc744 \ub36e\uc5b4\uc4f0\uace0 \ucd9c\ub825 \ud540\uc744 \ud2b9\uc815\ud558\ub294 \uc778\uc790\uc785\ub2c8\ub2e4(\uc120\ud0dd \uc0ac\ud56d).\n\ud540\uc5d0\uc11c \uc0ac\uc6b4\ub4dc\ub97c \uc7ac\uc0dd\ud558\uae30 \uc2eb\ub2e4\uba74 ``pin=None``\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. micro:bit V2 \uc804\uc6a9\uc785\ub2c8\ub2e4.\n\nThe result is semi-accurate for English. Override the optional pitch, speed,\nmouth and throat settings to change the timbre (quality) of the voice.\n\nThis is a short-hand equivalent of:\n``speech.pronounce(speech.translate(words))``\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef sing(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"\uc74c\uc18c\ub97c \ub178\ub798\ud569\ub2c8\ub2e4.\n\nExample: ``speech.sing(' /HEHLOW WERLD')``\n\n:param phonemes: \ub178\ub798\ud560 \ub2e8\uc5b4 \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\n:param pitch: (\uc55e-\ub4a4 \uae30\uc6b8\uae30) \ubaa9\uc18c\ub9ac\uc758 \uc74c\ub192\uc774\ub97c \ud45c\ud604\ud558\ub294 \uc22b\uc790\n:param speed: \ubaa9\uc18c\ub9ac\uc758 \uc18d\ub3c4\ub97c \ud45c\ud604\ud558\ub294 \uc22b\uc790\n:param mouth: \ubaa9\uc18c\ub9ac\uc758 \uc785 \ubaa8\uc591\uc744 \ud45c\ud604\ud558\ub294 \uc22b\uc790\n:param throat: \ubaa9\uc18c\ub9ac\uc758 \ubaa9 \ubaa8\uc591\uc744 \ud45c\ud604\ud558\ub294 \uc22b\uc790\n:param pin: (\ud540) ``pin0``\uc758 \uae30\ubcf8\uac12\uc744 \ub36e\uc5b4\uc4f0\uace0 \ucd9c\ub825 \ud540\uc744 \ud2b9\uc815\ud558\ub294 \uc778\uc790\uc785\ub2c8\ub2e4(\uc120\ud0dd \uc0ac\ud56d).\n\ud540\uc5d0\uc11c \uc0ac\uc6b4\ub4dc\ub97c \uc7ac\uc0dd\ud558\uae30 \uc2eb\ub2e4\uba74 ``pin=None``\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. micro:bit V2 \uc804\uc6a9\uc785\ub2c8\ub2e4.\n\nOverride the optional pitch, speed, mouth and throat settings to change\nthe timbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...", + "/typeshed/stdlib/struct.pyi": "\"\"\"\uc6d0\uc2dc \ub370\uc774\ud130 \uc720\ud615\uc744 \ud328\ud0b9\ud558\uace0 \uc5b8\ud328\ud0b9\ud569\ub2c8\ub2e4.\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"\uc8fc\uc5b4\uc9c4 ``fmt``\ub97c \uc800\uc7a5\ud558\ub294 \ub370 \ud544\uc694\ud55c \ubc14\uc774\ud2b8\uc758 \uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``struct.calcsize('hf')``\n\n:param fmt: \ud615\uc2dd \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\n:return The number of bytes needed to store such a value.\"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"\ud615\uc2dd \ubb38\uc790\uc5f4\uc5d0 \ub530\ub77c \uac12\uc744 \ud328\ud0b9\ud569\ub2c8\ub2e4.\n\nExample: ``struct.pack('hf', 1, 3.1415)``\n\n:param fmt: \ud615\uc2dd \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\n:param v1: \uccab \uac12\uc785\ub2c8\ub2e4.\n:param *vn: \ub0a8\uc740 \uac12\uc785\ub2c8\ub2e4.\n:return A bytes object encoding the values.\"\"\"\n ...\n\ndef pack_into(fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any) -> None:\n \"\"\"\ud615\uc2dd \ubb38\uc790\uc5f4\uc5d0 \ub530\ub77c \uac12\uc744 \ud328\ud0b9\ud569\ub2c8\ub2e4.\n\nExample: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n:param fmt: \ud615\uc2dd \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\n:param buffer: \uc791\uc131\ud560 \ubaa9\ud45c \ubc84\ud37c\uc785\ub2c8\ub2e4.\n:param offset: \ubc84\ud37c\uc5d0 \uc801\uc6a9\ud560 \uc624\ud504\uc14b\uc785\ub2c8\ub2e4. \uc74c\uc218\ub97c \uc785\ub825\ud558\uba74 \ubc84\ud37c \ub05d\ubd80\ud130 \uc140 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n:param v1: \uccab \uac12\uc785\ub2c8\ub2e4.\n:param *vn: \ub0a8\uc740 \uac12\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"\ud615\uc2dd \ubb38\uc790\uc5f4\uc5d0 \ub530\ub77c \ub370\uc774\ud130\ub97c \uc5b8\ud328\ud0b9\ud569\ub2c8\ub2e4.\n\nExample: ``v1, v2 = struct.unpack('hf', buffer)``\n\n:param fmt: \ud615\uc2dd \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\n:param data: \ub370\uc774\ud130\uc785\ub2c8\ub2e4.\n:return: A tuple of the unpacked values.\"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int=0) -> Tuple:\n \"\"\"\ud615\uc2dd \ubb38\uc790\uc5f4\uc5d0 \ub530\ub77c \ubc84\ud37c\ub85c\ubd80\ud130 \ub370\uc774\ud130\ub97c \uc5b8\ud328\ud0b9\ud569\ub2c8\ub2e4.\n\nExample: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n:param fmt: \ud615\uc2dd \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\n:param buffer: \uc77d\uc744 \uc18c\uc2a4 \ubc84\ud37c\uc785\ub2c8\ub2e4.\n:param offset: (\uc624\ud504\uc14b) \ubc84\ud37c\uc5d0 \uc801\uc6a9\ud560 \uc624\ud504\uc14b\uc785\ub2c8\ub2e4. \uc74c\uc218\ub97c \uc785\ub825\ud558\uba74 \ubc84\ud37c \ub05d\ubd80\ud130 \uc140 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n:return: A tuple of the unpacked values.\"\"\"\n ...", + "/typeshed/stdlib/sys.pyi": "\"\"\"\uc2dc\uc2a4\ud15c \ud2b9\uc815 \ud568\uc218\"\"\"\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object=...) -> NoReturn:\n \"\"\"\uc8fc\uc5b4\uc9c4 \uc885\ub8cc \ucf54\ub4dc\ub85c \ud604\uc7ac \ud504\ub85c\uadf8\ub7a8\uc744 \uc885\ub8cc\ud569\ub2c8\ub2e4.\n\nExample: ``sys.exit(1)``\n\nThis function raises a ``SystemExit`` exception. If an argument is given, its\nvalue given as an argument to ``SystemExit``.\n\n:param retval: \uc885\ub8cc \ucf54\ub4dc \ub610\ub294 \uba54\uc2dc\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"\ud2b8\ub808\uc774\uc2a4\ubc31\uc73c\ub85c \uc608\uc678\ub97c \ud504\ub9b0\ud2b8\ud569\ub2c8\ub2e4.\n\nExample: ``sys.print_exception(e)``\n\n:param exc: \ud504\ub9b0\ud2b8\ud560 \uc608\uc678\n\nThis is simplified version of a function which appears in the\n``traceback`` module in CPython.\"\"\"\nargv: List[str]\n\"\"\"\ud604\uc7ac \ud504\ub85c\uadf8\ub7a8\uacfc \uac19\uc774 \uc2dc\uc791\ub41c \uc778\uc790\uc758 \uac00\ubcc0 \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4.\"\"\"\nbyteorder: str\n\"\"\"\uc2dc\uc2a4\ud15c\uc758 \ubc14\uc774\ud2b8 \uc21c\uc11c\ub97c (``\"little\"`` \ub610\ub294 ``\"big\"``)\uc73c\ub85c \uc815\ub82c\ud569\ub2c8\ub2e4.\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\nimplementation: _implementation\n\"\"\"\ud604\uc7ac Python \uad6c\ud604\uc5d0 \uad00\ud55c \uc815\ubcf4\uac00 \ub2f4\uae34 \uac1c\uccb4\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\nmaxsize: int\n\"\"\"\n\ud604\uc7ac \ud50c\ub7ab\ud3fc\uc5d0\uc11c \uc790\uc5f0 \uc815\uc218 \uc720\ud615\uc774 \uc9c0\uc6d0\ud560 \uc218 \uc788\ub294 \ucd5c\ub300 \uac12, \ub610\ub294 \uac12\uc774 \ud50c\ub7ab\ud3fc\uc758 \ucd5c\ub300 \uac12\ubcf4\ub2e4 \uc791\ub2e4\uba74 MicroPython \uc815\uc218 \uc720\ud615\uc73c\ub85c \ud45c\ud604\ud560 \uc218 \uc788\ub294 \ucd5c\ub300 \uac12\uc785\ub2c8\ub2e4(long int\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294 MicroPython \ud3ec\ud2b8\uc758 \uacbd\uc6b0).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\nmodules: Dict[str, Any]\n\"\"\"\ub85c\ub4dc\ub41c \ubaa8\ub4c8\uc758 \ub515\uc154\ub108\ub9ac\uc785\ub2c8\ub2e4. \n\nOn some ports, it may not include builtin modules.\"\"\"\npath: List[str]\n\"\"\"\ubd88\ub7ec\uc628 \ubaa8\ub4c8\uc744 \uac80\uc0c9\ud558\uae30 \uc704\ud55c \ub515\uc154\ub108\ub9ac \uac00\ubcc0 \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4.\"\"\"\nplatform: str\n\"\"\"MicroPython\uc774 \uc2e4\ud589\ub418\uace0 \uc788\ub294 \ud50c\ub7ab\ud3fc\uc785\ub2c8\ub2e4. \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\nversion: str\n\"\"\"\uc774 \uad6c\ud604\uc774 \uc900\uc218\ud558\ub294 Python \uc5b8\uc5b4 \ubc84\uc804\uc744 \ubb38\uc790\uc5f4\ub85c \uc81c\uacf5\ud569\ub2c8\ub2e4.\"\"\"\nversion_info: Tuple[int, int, int]\n\"\"\"\uc774 \uad6c\ud604\uc774 \uc900\uc218\ud558\ub294 Python \uc5b8\uc5b4 \ubc84\uc804\uc744 \uc815\uc218 \ud29c\ud50c\ub85c \uc81c\uacf5\ud569\ub2c8\ub2e4.\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"", "/typeshed/stdlib/this.pyi": "def authors() -> str: ...\n", - "/typeshed/stdlib/time.pyi": "\"\"\"Measure time and add delays to programs.\n\"\"\"\n\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"\n Delay a number of seconds.\n\n Example: ``time.sleep(1)``\n\n :param seconds: The number of seconds to sleep for.\n Use a floating-point number to sleep for a fractional number of seconds.\n \"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"\n Delay for given number of milliseconds.\n\n Example: ``time.sleep_ms(1_000_000)``\n\n :param ms: The number of milliseconds delay (>= 0).\n \"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"\n Delay for given number of microseconds.\n\n Example: ``time.sleep_us(1000)``\n\n :param us: The number of microseconds delay (>= 0).\n \"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"\n Get an increasing, millisecond counter with an arbitrary reference point,\n that wraps around after some value.\n\n Example: ``time.ticks_ms()``\n\n :return: The counter value in milliseconds.\n \"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"\n Get an increasing, microsecond counter with an arbitrary reference point,\n that wraps around after some value.\n\n Example: ``time.ticks_us()``\n\n :return: The counter value in microseconds.\n \"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"\n Offset ticks value by a given number, which can be either positive or\n negative.\n\n Example: ``time.ticks_add(time.ticks_ms(), 200)``\n\n Given a ticks value, this function allows to calculate ticks\n value delta ticks before or after it, following modular-arithmetic\n definition of tick values.\n\n :param ticks: A ticks value\n :param delta: An integer offset\n\n Example::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\n \"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"\n Measure ticks difference between values returned from\n ``time.ticks_ms()`` or ``ticks_us()``, as a signed value\n which may wrap around.\n\n Example: ``time.ticks_diff(scheduled_time, now)``\n\n :param ticks1: The value to subtract from\n :param ticks2: The value to subtract\n\n The argument order is the same as for subtraction operator,\n ``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n ``ticks_diff()`` is designed to accommodate various usage\n patterns, among them:\n\n Polling with timeout. In this case, the order of events is known, and you\n will deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\n Scheduling events. In this case, :func:`time.ticks_diff()` result may be\n negative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\n \"\"\"\n ...\n", + "/typeshed/stdlib/time.pyi": "\"\"\"\uc2dc\uac04\uc744 \uce21\uc815\ud558\uace0 \ud504\ub85c\uadf8\ub7a8\uc5d0 \uc9c0\uc5f0\uc744 \ubd80\uc5ec\ud569\ub2c8\ub2e4.\"\"\"\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"\ucd08 \ub2e8\uc704\ub85c \uc9c0\uc5f0\uc744 \ubd80\uc5ec\ud569\ub2c8\ub2e4.\n\nExample: ``time.sleep(1)``\n\n:param seconds: \uc808\uc804 \uc0c1\ud0dc\ub97c \uc124\uc815\ud560 \ucd08 \ub2e8\uc704\uc785\ub2c8\ub2e4.\n\ucd08 \ub2e8\uc704 \ubbf8\ub9cc\uc73c\ub85c \uc808\uc804 \uc0c1\ud0dc\ub97c \uc124\uc815\ud558\ub824\uba74 \ubd80\ub3d9 \uc18c\uc218\uc810 \uc218\ub97c \uc0ac\uc6a9\ud558\uc138\uc694.\"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"\ubc00\ub9ac\ucd08 \ub2e8\uc704\ub85c \uc9c0\uc5f0\uc744 \ubd80\uc5ec\ud569\ub2c8\ub2e4.\n\nExample: ``time.sleep_ms(1_000_000)``\n\n:param ms: \ubc00\ub9ac\ucd08 \ub2e8\uc704\uc758 \uc9c0\uc5f0 \uc2dc\uac04\uc785\ub2c8\ub2e4(>= 0).\"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"\ub9c8\uc774\ud06c\ub85c\ucd08 \ub2e8\uc704\ub85c \uc9c0\uc5f0\uc744 \ubd80\uc5ec\ud569\ub2c8\ub2e4.\n\nExample: ``time.sleep_us(1000)``\n\n:param us: \ub9c8\uc774\ud06c\ub85c\ucd08 \ub2e8\uc704\uc758 \uc9c0\uc5f0 \uc2dc\uac04\uc785\ub2c8\ub2e4(>= 0).\"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"\uc784\uc758\uc758 \ub808\ud37c\ub7f0\uc2a4 \ud3ec\uc778\ud2b8\uac00 \uc788\ub294 \uc810\uc9c4\uc801\uc73c\ub85c \uc99d\uac00\ud558\ub294 \ubc00\ub9ac\ucd08 \uce74\uc6b4\ud130\ub85c, \uc77c\ubd80 \uac12\uc744 \ub530\ub77c \ub798\ud551\ud569\ub2c8\ub2e4.\n\nExample: ``time.ticks_ms()``\n\n:return: The counter value in milliseconds.\"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"\uc784\uc758\uc758 \ub808\ud37c\ub7f0\uc2a4 \ud3ec\uc778\ud2b8\uac00 \uc788\ub294 \uc810\uc9c4\uc801\uc73c\ub85c \uc99d\uac00\ud558\ub294 \ub9c8\uc774\ud06c\ub85c\ucd08 \uce74\uc6b4\ud130\ub85c, \uc77c\ubd80 \uac12\uc744 \ub530\ub77c \ub798\ud551\ud569\ub2c8\ub2e4.\n\nExample: ``time.ticks_us()``\n\n:return: The counter value in microseconds.\"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"\uc8fc\uc5b4\uc9c4 \uc22b\uc790\uc5d0 \ub530\ub77c \ud2f1 \uac12\uc744 \uc624\ud504\uc14b\uc73c\ub85c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uc591\uc218\ub098 \uc74c\uc218\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n\nExample: ``time.ticks_add(time.ticks_ms(), 200)``\n\nGiven a ticks value, this function allows to calculate ticks\nvalue delta ticks before or after it, following modular-arithmetic\ndefinition of tick values.\n\n:param ticks: \ud2f1 \uac12\n:param delta: \uc815\uc218 \uc624\ud504\uc14b\n\nExample::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"``time.ticks_ms()`` \ub610\ub294 ``ticks_us()``\uc5d0\uc11c \ubc18\ud658\ub41c \uac12 \uc0ac\uc774\uc758 \ud2f1 \ucc28\uc774\ub97c \uce21\uc815\ud569\ub2c8\ub2e4. \uc11c\uba85\ub41c \uac12\uc740 \ub798\ud551\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n\nExample: ``time.ticks_diff(scheduled_time, now)``\n\n:param ticks1: \ube84 \uac12\n:param ticks2: \ube84 \uac12\n\nThe argument order is the same as for subtraction operator,\n``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n``ticks_diff()`` is designed to accommodate various usage\npatterns, among them:\n\nPolling with timeout. In this case, the order of events is known, and you\nwill deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\nScheduling events. In this case, :func:`time.ticks_diff()` result may be\nnegative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\"\"\"\n ...", "/typeshed/stdlib/types.pyi": "import sys\nfrom typing import (\n Any,\n AsyncGenerator,\n Awaitable,\n Callable,\n Generator,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n Tuple,\n Type,\n TypeVar,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, final\n\n# Note, all classes \"defined\" here require special handling.\n\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_V_co = TypeVar(\"_V_co\", covariant=True)\n\n@final\nclass _Cell:\n __hash__: None # type: ignore\n cell_contents: Any\n\n@final\nclass FunctionType:\n __closure__: Tuple[_Cell, ...] | None\n __code__: CodeType\n __defaults__: Tuple[Any, ...] | None\n __dict__: dict[str, Any]\n __globals__: dict[str, Any]\n __name__: str\n __qualname__: str\n __annotations__: dict[str, Any]\n __kwdefaults__: dict[str, Any]\n def __init__(\n self,\n code: CodeType,\n globals: dict[str, Any],\n name: str | None = ...,\n argdefs: Tuple[object, ...] | None = ...,\n closure: Tuple[_Cell, ...] | None = ...,\n ) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: object | None, type: type | None) -> MethodType: ...\n\nLambdaType = FunctionType\n\n@final\nclass CodeType:\n \"\"\"Create a code object. Not for the faint of heart.\"\"\"\n\n co_argcount: int\n if sys.version_info >= (3, 8):\n co_posonlyargcount: int\n co_kwonlyargcount: int\n co_nlocals: int\n co_stacksize: int\n co_flags: int\n co_code: bytes\n co_consts: Tuple[Any, ...]\n co_names: Tuple[str, ...]\n co_varnames: Tuple[str, ...]\n co_filename: str\n co_name: str\n co_firstlineno: int\n co_lnotab: bytes\n co_freevars: Tuple[str, ...]\n co_cellvars: Tuple[str, ...]\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n argcount: int,\n posonlyargcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n else:\n def __init__(\n self,\n argcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n if sys.version_info >= (3, 8):\n def replace(\n self,\n *,\n co_argcount: int = ...,\n co_posonlyargcount: int = ...,\n co_kwonlyargcount: int = ...,\n co_nlocals: int = ...,\n co_stacksize: int = ...,\n co_flags: int = ...,\n co_firstlineno: int = ...,\n co_code: bytes = ...,\n co_consts: Tuple[Any, ...] = ...,\n co_names: Tuple[str, ...] = ...,\n co_varnames: Tuple[str, ...] = ...,\n co_freevars: Tuple[str, ...] = ...,\n co_cellvars: Tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_lnotab: bytes = ...,\n ) -> CodeType: ...\n\n@final\nclass MappingProxyType(Mapping[_KT, _VT_co], Generic[_KT, _VT_co]):\n __hash__: None # type: ignore\n def __init__(self, mapping: Mapping[_KT, _VT_co]) -> None: ...\n def __getitem__(self, k: _KT) -> _VT_co: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __len__(self) -> int: ...\n def copy(self) -> dict[_KT, _VT_co]: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def items(self) -> ItemsView[_KT, _VT_co]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def __or__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n def __ror__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n\nclass SimpleNamespace:\n __hash__: None # type: ignore\n def __init__(self, **kwargs: Any) -> None: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __delattr__(self, name: str) -> None: ...\n\nclass ModuleType:\n __name__: str\n __file__: str\n __dict__: dict[str, Any]\n __package__: str | None\n def __init__(self, name: str, doc: str | None = ...) -> None: ...\n\n@final\nclass GeneratorType(Generator[_T_co, _T_contra, _V_co]):\n gi_code: CodeType\n gi_frame: FrameType\n gi_running: bool\n gi_yieldfrom: GeneratorType[_T_co, _T_contra, Any] | None\n def __iter__(self) -> GeneratorType[_T_co, _T_contra, _V_co]: ...\n def __next__(self) -> _T_co: ...\n def close(self) -> None: ...\n def send(self, __arg: _T_contra) -> _T_co: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> _T_co: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> _T_co: ...\n\n@final\nclass AsyncGeneratorType(AsyncGenerator[_T_co, _T_contra]):\n ag_await: Awaitable[Any] | None\n ag_frame: FrameType\n ag_running: bool\n ag_code: CodeType\n def __aiter__(self) -> AsyncGeneratorType[_T_co, _T_contra]: ...\n def __anext__(self) -> Awaitable[_T_co]: ...\n def asend(self, __val: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Awaitable[_T_co]: ...\n def aclose(self) -> Awaitable[None]: ...\n\n@final\nclass CoroutineType:\n cr_await: Any | None\n cr_code: CodeType\n cr_frame: FrameType\n cr_running: bool\n def close(self) -> None: ...\n def send(self, __arg: Any) -> Any: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Any: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Any: ...\n\nclass _StaticFunctionType:\n \"\"\"Fictional type to correct the type of MethodType.__func__.\n\n FunctionType is a descriptor, so mypy follows the descriptor protocol and\n converts MethodType.__func__ back to MethodType (the return type of\n FunctionType.__get__). But this is actually a special case; MethodType is\n implemented in C and its attribute access doesn't go through\n __getattribute__.\n\n By wrapping FunctionType in _StaticFunctionType, we get the right result;\n similar to wrapping a function in staticmethod() at runtime to prevent it\n being bound as a method.\n \"\"\"\n\n def __get__(self, obj: object | None, type: type | None) -> FunctionType: ...\n\n@final\nclass MethodType:\n __closure__: Tuple[_Cell, ...] | None # inherited from the added function\n __defaults__: Tuple[Any, ...] | None # inherited from the added function\n __func__: _StaticFunctionType\n __self__: object\n __name__: str # inherited from the added function\n __qualname__: str # inherited from the added function\n def __init__(self, func: Callable[..., Any], obj: object) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\n@final\nclass BuiltinFunctionType:\n __self__: object | ModuleType\n __name__: str\n __qualname__: str\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\nBuiltinMethodType = BuiltinFunctionType\n\nif sys.version_info >= (3, 7):\n @final\n class WrapperDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class MethodWrapperType:\n __self__: object\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, other: Any) -> bool: ...\n def __ne__(self, other: Any) -> bool: ...\n @final\n class MethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class ClassMethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n\n@final\nclass TracebackType:\n if sys.version_info >= (3, 7):\n def __init__(\n self,\n tb_next: TracebackType | None,\n tb_frame: FrameType,\n tb_lasti: int,\n tb_lineno: int,\n ) -> None: ...\n tb_next: TracebackType | None\n else:\n @property\n def tb_next(self) -> TracebackType | None: ...\n # the rest are read-only even in 3.7\n @property\n def tb_frame(self) -> FrameType: ...\n @property\n def tb_lasti(self) -> int: ...\n @property\n def tb_lineno(self) -> int: ...\n\n@final\nclass FrameType:\n f_back: FrameType | None\n f_builtins: dict[str, Any]\n f_code: CodeType\n f_globals: dict[str, Any]\n f_lasti: int\n f_lineno: int\n f_locals: dict[str, Any]\n f_trace: Callable[[FrameType, str, Any], Any] | None\n if sys.version_info >= (3, 7):\n f_trace_lines: bool\n f_trace_opcodes: bool\n def clear(self) -> None: ...\n\n@final\nclass GetSetDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\n@final\nclass MemberDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nif sys.version_info >= (3, 7):\n def new_class(\n name: str,\n bases: Iterable[object] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n def resolve_bases(bases: Iterable[object]) -> Tuple[Any, ...]: ...\n\nelse:\n def new_class(\n name: str,\n bases: Tuple[type, ...] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n\ndef prepare_class(\n name: str, bases: Tuple[type, ...] = ..., kwds: dict[str, Any] | None = ...\n) -> Tuple[type, dict[str, Any], dict[str, Any]]: ...\n\n# Actually a different type, but `property` is special and we want that too.\nDynamicClassAttribute = property\n\ndef coroutine(func: Callable[..., Any]) -> CoroutineType: ...\n\nif sys.version_info >= (3, 8):\n CellType = _Cell\n\nif sys.version_info >= (3, 9):\n class GenericAlias:\n __origin__: type\n __args__: Tuple[Any, ...]\n __parameters__: Tuple[Any, ...]\n def __init__(self, origin: type, args: Any) -> None: ...\n def __getattr__(self, name: str) -> Any: ... # incomplete\n\nif sys.version_info >= (3, 10):\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n EllipsisType = ellipsis # noqa F811 from builtins\n from builtins import _NotImplementedType\n\n NotImplementedType = _NotImplementedType # noqa F811 from builtins\n @final\n class UnionType:\n __args__: Tuple[Any, ...]\n def __or__(self, obj: Any) -> UnionType: ...\n def __ror__(self, obj: Any) -> UnionType: ...\n", "/typeshed/stdlib/typing.pyi": "import collections # Needed by aliases like DefaultDict, see mypy issue 2986\nimport sys\nfrom abc import ABCMeta, abstractmethod\nfrom types import BuiltinFunctionType, CodeType, FrameType, FunctionType, MethodType, ModuleType, TracebackType\nfrom typing_extensions import Literal as _Literal\n\nif sys.version_info >= (3, 7):\n from types import MethodDescriptorType, MethodWrapperType, WrapperDescriptorType\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n# Definitions of special type checking related constructs. Their definitions\n# are not used, so their value does not matter.\n\nAny = object()\n\nclass TypeVar:\n __name__: str\n __bound__: Optional[Type[Any]]\n __constraints__: Tuple[Type[Any], ...]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self,\n name: str,\n *constraints: Type[Any],\n bound: Union[None, Type[Any], str] = ...,\n covariant: bool = ...,\n contravariant: bool = ...,\n ) -> None: ...\n\n_promote = object()\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> object: ...\n\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n\ndef overload(func: _F) -> _F: ...\n\nUnion: _SpecialForm = ...\nOptional: _SpecialForm = ...\nTuple: _SpecialForm = ...\nGeneric: _SpecialForm = ...\n# Protocol is only present in 3.8 and later, but mypy needs it unconditionally\nProtocol: _SpecialForm = ...\nCallable: _SpecialForm = ...\nType: _SpecialForm = ...\nClassVar: _SpecialForm = ...\nif sys.version_info >= (3, 8):\n Final: _SpecialForm = ...\n def final(f: _F) -> _F: ...\n Literal: _SpecialForm = ...\n # TypedDict is a (non-subscriptable) special form.\n TypedDict: object\n\nif sys.version_info < (3, 7):\n class GenericMeta(type): ...\n\nif sys.version_info >= (3, 10):\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Optional[Type[Any]]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: Union[None, Type[Any], str] = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n\n# Return type that indicates a function does not return.\n# This type is equivalent to the None type, but the no-op Union is necessary to\n# distinguish the None type from the None value.\nNoReturn = Union[None]\n\n# These type variables are used by the container types.\n_T = TypeVar(\"_T\")\n_S = TypeVar(\"_S\")\n_KT = TypeVar(\"_KT\") # Key type.\n_VT = TypeVar(\"_VT\") # Value type.\n_T_co = TypeVar(\"_T_co\", covariant=True) # Any type covariant containers.\n_V_co = TypeVar(\"_V_co\", covariant=True) # Any type covariant containers.\n_KT_co = TypeVar(\"_KT_co\", covariant=True) # Key type covariant containers.\n_VT_co = TypeVar(\"_VT_co\", covariant=True) # Value type covariant containers.\n_T_contra = TypeVar(\"_T_contra\", contravariant=True) # Ditto contravariant.\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\ndef no_type_check(arg: _F) -> _F: ...\ndef no_type_check_decorator(decorator: _F) -> _F: ...\n\n# Type aliases and type constructors\n\nclass _Alias:\n # Class for defining generic aliases for library types.\n def __getitem__(self, typeargs: Any) -> Any: ...\n\nList = _Alias()\nDict = _Alias()\nDefaultDict = _Alias()\nSet = _Alias()\nFrozenSet = _Alias()\nCounter = _Alias()\nDeque = _Alias()\nChainMap = _Alias()\n\nif sys.version_info >= (3, 7):\n OrderedDict = _Alias()\n\nif sys.version_info >= (3, 9):\n Annotated: _SpecialForm = ...\n\n# Predefined type variables.\nAnyStr = TypeVar(\"AnyStr\", str, bytes)\n\n# Abstract base classes.\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n@runtime_checkable\nclass SupportsInt(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __int__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsFloat(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __float__(self) -> float: ...\n\n@runtime_checkable\nclass SupportsComplex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __complex__(self) -> complex: ...\n\n@runtime_checkable\nclass SupportsBytes(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __bytes__(self) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n @runtime_checkable\n class SupportsIndex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __index__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsAbs(Protocol[_T_co]):\n @abstractmethod\n def __abs__(self) -> _T_co: ...\n\n@runtime_checkable\nclass SupportsRound(Protocol[_T_co]):\n @overload\n @abstractmethod\n def __round__(self) -> int: ...\n @overload\n @abstractmethod\n def __round__(self, ndigits: int) -> _T_co: ...\n\n@runtime_checkable\nclass Sized(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __len__(self) -> int: ...\n\n@runtime_checkable\nclass Hashable(Protocol, metaclass=ABCMeta):\n # TODO: This is special, in that a subclass of a hashable class may not be hashable\n # (for example, list vs. object). It's not obvious how to represent this. This class\n # is currently mostly useless for static checking.\n @abstractmethod\n def __hash__(self) -> int: ...\n\n@runtime_checkable\nclass Iterable(Protocol[_T_co]):\n @abstractmethod\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Iterator(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __next__(self) -> _T_co: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Reversible(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass Generator(Iterator[_T_co], Generic[_T_co, _T_contra, _V_co]):\n def __next__(self) -> _T_co: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n def close(self) -> None: ...\n def __iter__(self) -> Generator[_T_co, _T_contra, _V_co]: ...\n @property\n def gi_code(self) -> CodeType: ...\n @property\n def gi_frame(self) -> FrameType: ...\n @property\n def gi_running(self) -> bool: ...\n @property\n def gi_yieldfrom(self) -> Optional[Generator[Any, Any, Any]]: ...\n\n@runtime_checkable\nclass Awaitable(Protocol[_T_co]):\n @abstractmethod\n def __await__(self) -> Generator[Any, None, _T_co]: ...\n\nclass Coroutine(Awaitable[_V_co], Generic[_T_co, _T_contra, _V_co]):\n __name__: str\n __qualname__: str\n @property\n def cr_await(self) -> Optional[Any]: ...\n @property\n def cr_code(self) -> CodeType: ...\n @property\n def cr_frame(self) -> FrameType: ...\n @property\n def cr_running(self) -> bool: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n @abstractmethod\n def close(self) -> None: ...\n\n# NOTE: This type does not exist in typing.py or PEP 484.\n# The parameters correspond to Generator, but the 4th is the original type.\nclass AwaitableGenerator(\n Awaitable[_V_co], Generator[_T_co, _T_contra, _V_co], Generic[_T_co, _T_contra, _V_co, _S], metaclass=ABCMeta\n): ...\n\n@runtime_checkable\nclass AsyncIterable(Protocol[_T_co]):\n @abstractmethod\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\n@runtime_checkable\nclass AsyncIterator(AsyncIterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\nclass AsyncGenerator(AsyncIterator[_T_co], Generic[_T_co, _T_contra]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n @abstractmethod\n def asend(self, __value: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> Awaitable[_T_co]: ...\n @abstractmethod\n def aclose(self) -> Awaitable[None]: ...\n @abstractmethod\n def __aiter__(self) -> AsyncGenerator[_T_co, _T_contra]: ...\n @property\n def ag_await(self) -> Any: ...\n @property\n def ag_code(self) -> CodeType: ...\n @property\n def ag_frame(self) -> FrameType: ...\n @property\n def ag_running(self) -> bool: ...\n\n@runtime_checkable\nclass Container(Protocol[_T_co]):\n @abstractmethod\n def __contains__(self, __x: object) -> bool: ...\n\n@runtime_checkable\nclass Collection(Iterable[_T_co], Container[_T_co], Protocol[_T_co]):\n # Implement Sized (but don't have it as a base class).\n @abstractmethod\n def __len__(self) -> int: ...\n\n_Collection = Collection[_T_co]\n\nclass Sequence(_Collection[_T_co], Reversible[_T_co], Generic[_T_co]):\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T_co: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> Sequence[_T_co]: ...\n # Mixin methods\n def index(self, value: Any, start: int = ..., stop: int = ...) -> int: ...\n def count(self, value: Any) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass MutableSequence(Sequence[_T], Generic[_T]):\n @abstractmethod\n def insert(self, index: int, value: _T) -> None: ...\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> MutableSequence[_T]: ...\n @overload\n @abstractmethod\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n @abstractmethod\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: int) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: slice) -> None: ...\n # Mixin methods\n def append(self, value: _T) -> None: ...\n def clear(self) -> None: ...\n def extend(self, values: Iterable[_T]) -> None: ...\n def reverse(self) -> None: ...\n def pop(self, index: int = ...) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __iadd__(self, x: Iterable[_T]) -> MutableSequence[_T]: ...\n\nclass AbstractSet(_Collection[_T_co], Generic[_T_co]):\n @abstractmethod\n def __contains__(self, x: object) -> bool: ...\n # Mixin methods\n def __le__(self, s: AbstractSet[Any]) -> bool: ...\n def __lt__(self, s: AbstractSet[Any]) -> bool: ...\n def __gt__(self, s: AbstractSet[Any]) -> bool: ...\n def __ge__(self, s: AbstractSet[Any]) -> bool: ...\n def __and__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def __sub__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def isdisjoint(self, other: Iterable[Any]) -> bool: ...\n\nclass MutableSet(AbstractSet[_T], Generic[_T]):\n @abstractmethod\n def add(self, value: _T) -> None: ...\n @abstractmethod\n def discard(self, value: _T) -> None: ...\n # Mixin methods\n def clear(self) -> None: ...\n def pop(self) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __ior__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __iand__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __isub__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n\nclass MappingView(Sized):\n def __init__(self, mapping: Mapping[Any, Any]) -> None: ... # undocumented\n def __len__(self) -> int: ...\n\nclass ItemsView(MappingView, AbstractSet[Tuple[_KT_co, _VT_co]], Generic[_KT_co, _VT_co]):\n def __init__(self, mapping: Mapping[_KT_co, _VT_co]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n\nclass KeysView(MappingView, AbstractSet[_KT_co], Generic[_KT_co]):\n def __init__(self, mapping: Mapping[_KT_co, Any]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT_co]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n\nclass ValuesView(MappingView, Iterable[_VT_co], Generic[_VT_co]):\n def __init__(self, mapping: Mapping[Any, _VT_co]) -> None: ... # undocumented\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_VT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\n@runtime_checkable\nclass ContextManager(Protocol[_T_co]):\n def __enter__(self) -> _T_co: ...\n def __exit__(\n self,\n __exc_type: Optional[Type[BaseException]],\n __exc_value: Optional[BaseException],\n __traceback: Optional[TracebackType],\n ) -> Optional[bool]: ...\n\n@runtime_checkable\nclass AsyncContextManager(Protocol[_T_co]):\n def __aenter__(self) -> Awaitable[_T_co]: ...\n def __aexit__(\n self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Awaitable[Optional[bool]]: ...\n\nclass Mapping(_Collection[_KT], Generic[_KT, _VT_co]):\n # TODO: We wish the key type could also be covariant, but that doesn't work,\n # see discussion in https: //github.com/python/typing/pull/273.\n @abstractmethod\n def __getitem__(self, k: _KT) -> _VT_co: ...\n # Mixin methods\n @overload\n def get(self, key: _KT) -> Optional[_VT_co]: ...\n @overload\n def get(self, key: _KT, default: Union[_VT_co, _T]) -> Union[_VT_co, _T]: ...\n def items(self) -> AbstractSet[Tuple[_KT, _VT_co]]: ...\n def keys(self) -> AbstractSet[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def __contains__(self, o: object) -> bool: ...\n\nclass MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):\n @abstractmethod\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n @abstractmethod\n def __delitem__(self, v: _KT) -> None: ...\n def clear(self) -> None: ...\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...\n # 'update' used to take a Union, but using overloading is better.\n # The second overloaded type here is a bit too general, because\n # Mapping[Tuple[_KT, _VT], W] is a subclass of Iterable[Tuple[_KT, _VT]],\n # but will always have the behavior of the first overloaded type\n # at runtime, leading to keys of a mix of types _KT and Tuple[_KT, _VT].\n # We don't currently have any way of forcing all Mappings to use\n # the first overload, but by using overloading rather than a Union,\n # mypy will commit to using the first overload when the argument is\n # known to be a Mapping with unknown type parameters, which is closer\n # to the behavior we want. See mypy issue #1430.\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n\nText = str\n\nTYPE_CHECKING = True\n\nclass IO(Iterator[AnyStr], Generic[AnyStr]):\n # TODO use abstract properties\n @property\n def mode(self) -> str: ...\n @property\n def name(self) -> str: ...\n @abstractmethod\n def close(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n @abstractmethod\n def fileno(self) -> int: ...\n @abstractmethod\n def flush(self) -> None: ...\n @abstractmethod\n def isatty(self) -> bool: ...\n @abstractmethod\n def read(self, n: int = ...) -> AnyStr: ...\n @abstractmethod\n def readable(self) -> bool: ...\n @abstractmethod\n def readline(self, limit: int = ...) -> AnyStr: ...\n @abstractmethod\n def readlines(self, hint: int = ...) -> list[AnyStr]: ...\n @abstractmethod\n def seek(self, offset: int, whence: int = ...) -> int: ...\n @abstractmethod\n def seekable(self) -> bool: ...\n @abstractmethod\n def tell(self) -> int: ...\n @abstractmethod\n def truncate(self, size: Optional[int] = ...) -> int: ...\n @abstractmethod\n def writable(self) -> bool: ...\n @abstractmethod\n def write(self, s: AnyStr) -> int: ...\n @abstractmethod\n def writelines(self, lines: Iterable[AnyStr]) -> None: ...\n @abstractmethod\n def __next__(self) -> AnyStr: ...\n @abstractmethod\n def __iter__(self) -> Iterator[AnyStr]: ...\n @abstractmethod\n def __enter__(self) -> IO[AnyStr]: ...\n @abstractmethod\n def __exit__(\n self, t: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Optional[bool]: ...\n\nclass BinaryIO(IO[bytes]):\n @abstractmethod\n def __enter__(self) -> BinaryIO: ...\n\nclass TextIO(IO[str]):\n # TODO use abstractproperty\n @property\n def buffer(self) -> BinaryIO: ...\n @property\n def encoding(self) -> str: ...\n @property\n def errors(self) -> Optional[str]: ...\n @property\n def line_buffering(self) -> int: ... # int on PyPy, bool on CPython\n @property\n def newlines(self) -> Any: ... # None, str or tuple\n @abstractmethod\n def __enter__(self) -> TextIO: ...\n\nclass ByteString(Sequence[int], metaclass=ABCMeta): ...\n\nclass Match(Generic[AnyStr]):\n pos: int\n endpos: int\n lastindex: Optional[int]\n lastgroup: Optional[AnyStr]\n string: AnyStr\n\n # The regular expression object whose match() or search() method produced\n # this match instance.\n re: Pattern[AnyStr]\n def expand(self, template: AnyStr) -> AnyStr: ...\n # group() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def group(self, __group: _Literal[0] = ...) -> AnyStr: ...\n @overload\n def group(self, __group: str | int) -> AnyStr | Any: ...\n @overload\n def group(self, __group1: str | int, __group2: str | int, *groups: str | int) -> Tuple[AnyStr | Any, ...]: ...\n # Each item of groups()'s return tuple is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groups(self) -> Tuple[AnyStr | Any, ...]: ...\n @overload\n def groups(self, default: _T) -> Tuple[AnyStr | _T, ...]: ...\n # Each value in groupdict()'s return dict is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groupdict(self) -> dict[str, AnyStr | Any]: ...\n @overload\n def groupdict(self, default: _T) -> dict[str, AnyStr | _T]: ...\n def start(self, __group: Union[int, str] = ...) -> int: ...\n def end(self, __group: Union[int, str] = ...) -> int: ...\n def span(self, __group: Union[int, str] = ...) -> Tuple[int, int]: ...\n @property\n def regs(self) -> Tuple[Tuple[int, int], ...]: ... # undocumented\n # __getitem__() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def __getitem__(self, __key: _Literal[0]) -> AnyStr: ...\n @overload\n def __getitem__(self, __key: int | str) -> AnyStr | Any: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Pattern(Generic[AnyStr]):\n flags: int\n groupindex: Mapping[str, int]\n groups: int\n pattern: AnyStr\n def search(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def match(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def fullmatch(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def split(self, string: AnyStr, maxsplit: int = ...) -> list[AnyStr]: ...\n def findall(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> list[Any]: ...\n def finditer(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Iterator[Match[AnyStr]]: ...\n @overload\n def sub(self, repl: AnyStr, string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def sub(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def subn(self, repl: AnyStr, string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n @overload\n def subn(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# Functions\n\nif sys.version_info >= (3, 7):\n _get_type_hints_obj_allowed_types = Union[\n object,\n Callable[..., Any],\n FunctionType,\n BuiltinFunctionType,\n MethodType,\n ModuleType,\n WrapperDescriptorType,\n MethodWrapperType,\n MethodDescriptorType,\n ]\nelse:\n _get_type_hints_obj_allowed_types = Union[\n object, Callable[..., Any], FunctionType, BuiltinFunctionType, MethodType, ModuleType,\n ]\n\nif sys.version_info >= (3, 9):\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types,\n globalns: Optional[Dict[str, Any]] = ...,\n localns: Optional[Dict[str, Any]] = ...,\n include_extras: bool = ...,\n ) -> Dict[str, Any]: ...\n\nelse:\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types, globalns: Optional[Dict[str, Any]] = ..., localns: Optional[Dict[str, Any]] = ...\n ) -> Dict[str, Any]: ...\n\nif sys.version_info >= (3, 8):\n def get_origin(tp: Any) -> Optional[Any]: ...\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n\n@overload\ndef cast(typ: Type[_T], val: Any) -> _T: ...\n@overload\ndef cast(typ: str, val: Any) -> Any: ...\n@overload\ndef cast(typ: object, val: Any) -> Any: ...\n\n# Type constructors\n\n# NamedTuple is special-cased in the type checker\nclass NamedTuple(Tuple[Any, ...]):\n _field_types: collections.OrderedDict[str, Type[Any]]\n _field_defaults: Dict[str, Any] = ...\n _fields: Tuple[str, ...]\n _source: str\n def __init__(self, typename: str, fields: Iterable[Tuple[str, Any]] = ..., **kwargs: Any) -> None: ...\n @classmethod\n def _make(cls: Type[_T], iterable: Iterable[Any]) -> _T: ...\n if sys.version_info >= (3, 8):\n def _asdict(self) -> Dict[str, Any]: ...\n else:\n def _asdict(self) -> collections.OrderedDict[str, Any]: ...\n def _replace(self: _T, **kwargs: Any) -> _T: ...\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __or__(self: _T, __value: _T) -> _T: ...\n def __ior__(self: _T, __value: _T) -> _T: ...\n\ndef NewType(name: str, tp: Type[_T]) -> Type[_T]: ...\n\n# This itself is only available during type checking\ndef type_check_only(func_or_cls: _F) -> _F: ...\n\nif sys.version_info >= (3, 7):\n class ForwardRef:\n __forward_arg__: str\n __forward_code__: CodeType\n __forward_evaluated__: bool\n __forward_value__: Optional[Any]\n __forward_is_argument__: bool\n def __init__(self, arg: str, is_argument: bool = ...) -> None: ...\n def _evaluate(self, globalns: Optional[Dict[str, Any]], localns: Optional[Dict[str, Any]]) -> Optional[Any]: ...\n def __eq__(self, other: Any) -> bool: ...\n def __hash__(self) -> int: ...\n def __repr__(self) -> str: ...\n\nif sys.version_info >= (3, 10):\n def is_typeddict(tp: Any) -> bool: ...\n", "/typeshed/stdlib/typing_extensions.pyi": "import abc\nimport sys\nfrom typing import (\n TYPE_CHECKING as TYPE_CHECKING,\n Any,\n AsyncContextManager as AsyncContextManager,\n AsyncGenerator as AsyncGenerator,\n AsyncIterable as AsyncIterable,\n AsyncIterator as AsyncIterator,\n Awaitable as Awaitable,\n Callable,\n ChainMap as ChainMap,\n ClassVar as ClassVar,\n ContextManager as ContextManager,\n Coroutine as Coroutine,\n Counter as Counter,\n DefaultDict as DefaultDict,\n Deque as Deque,\n ItemsView,\n KeysView,\n Mapping,\n NewType as NewType,\n NoReturn as NoReturn,\n Text as Text,\n Tuple,\n Type as Type,\n TypeVar,\n ValuesView,\n _Alias,\n overload as overload,\n)\n\n_T = TypeVar(\"_T\")\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> Any: ...\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n\n# This alias for above is kept here for backwards compatibility.\nruntime = runtime_checkable\nProtocol: _SpecialForm = ...\nFinal: _SpecialForm = ...\n\ndef final(f: _F) -> _F: ...\n\nLiteral: _SpecialForm = ...\n\ndef IntVar(name: str) -> Any: ... # returns a new TypeVar\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n\n# TypedDict is a (non-subscriptable) special form.\nTypedDict: object = ...\n\nOrderedDict = _Alias()\n\ndef get_type_hints(\n obj: Callable[..., Any],\n globalns: dict[str, Any] | None = ...,\n localns: dict[str, Any] | None = ...,\n include_extras: bool = ...,\n) -> dict[str, Any]: ...\n\nif sys.version_info >= (3, 7):\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n def get_origin(tp: Any) -> Any | None: ...\n\nAnnotated: _SpecialForm = ...\n_AnnotatedAlias: Any = ... # undocumented\n\n@runtime_checkable\nclass SupportsIndex(Protocol, metaclass=abc.ABCMeta):\n @abc.abstractmethod\n def __index__(self) -> int: ...\n\n# PEP 612 support for Python < 3.9\nif sys.version_info >= (3, 10):\n from typing import Concatenate as Concatenate, ParamSpec as ParamSpec, TypeAlias as TypeAlias, TypeGuard as TypeGuard\nelse:\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Type[Any] | None\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: None | Type[Any] | str = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n", @@ -35,16 +35,16 @@ "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", - "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pins, images, sounds, temperature and volume.\n\"\"\"\n\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\n\nfrom _typeshed import ReadableBuffer\n\n# V2 only\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(\n callback: Optional[Callable[[], None]] = None,\n days: int = 0,\n h: int = 0,\n min: int = 0,\n s: int = 0,\n ms: int = 0,\n) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Schedule to run a function at the interval specified by the time arguments **V2 only**.\n\n Example: ``run_every(my_logging, min=5)``\n\n ``run_every`` can be used in two ways:\n\n As a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\n As a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\n Each argument corresponds to a different time unit and they are additive.\n So ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\n When an exception is thrown inside the callback function it deschedules the\n function. To avoid this you can catch exceptions with ``try/except``.\n\n :param callback: Function to call at the provided interval. Omit when using as a decorator.\n :param days: Sets the day mark for the scheduling.\n :param h: Sets the hour mark for the scheduling.\n :param min: Sets the minute mark for the scheduling.\n :param s: Sets the second mark for the scheduling.\n :param ms: Sets the millisecond mark for the scheduling.\n \"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Enter a panic mode.\n\n Example: ``panic(127)``\n\n :param n: An arbitrary integer <= 255 to indicate a status.\n\n Requires restart.\n \"\"\"\n\ndef reset() -> None:\n \"\"\"Restart the board.\"\"\"\n\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converts a value from a range to an integer range.\n\n Example: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\n For example, to convert an accelerometer X value to a speaker volume.\n\n If one of the numbers in the ``to`` parameter is a floating point\n (i.e a decimal number like ``10.0``), this function will return a\n floating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n :param value: A number to convert.\n :param from_: A tuple to define the range to convert from.\n :param to: A tuple to define the range to convert to.\n :return: The ``value`` converted to the ``to`` range.\n \"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converts a value from a range to a floating point range.\n\n Example: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\n For example, to convert temperature from a Celsius scale to Fahrenheit.\n\n If one of the numbers in the ``to`` parameter is a floating point\n (i.e a decimal number like ``10.0``), this function will return a\n floating point number.\n If they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n :param value: A number to convert.\n :param from_: A tuple to define the range to convert from.\n :param to: A tuple to define the range to convert to.\n :return: The ``value`` converted to the ``to`` range.\n \"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Wait for ``n`` milliseconds.\n\n Example: ``sleep(1000)``\n\n :param n: The number of milliseconds to wait\n\n One second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\n will pause the execution for one second.\n \"\"\"\n\ndef running_time() -> int:\n \"\"\"Get the running time of the board.\n\n :return: The number of milliseconds since the board was switched on or restarted.\n \"\"\"\n\ndef temperature() -> int:\n \"\"\"Get the temperature of the micro:bit in degrees Celsius.\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Sets the volume.\n\n Example: ``set_volume(127)``\n\n :param v: a value between 0 (low) and 255 (high).\n\n Out of range values will be clamped to 0 or 255.\n\n **V2** only.\n \"\"\"\n ...\n\nclass Button:\n \"\"\"The class for the buttons ``button_a`` and ``button_b``.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Check if the button is pressed.\n\n :return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\n \"\"\"\n ...\n def was_pressed(self) -> bool:\n \"\"\"Check if the button was pressed since the device started or the last time this method was called.\n\n Calling this method will clear the press state so\n that the button must be pressed again before this method will return\n ``True`` again.\n\n :return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\n \"\"\"\n ...\n def get_presses(self) -> int:\n \"\"\"Get the running total of button presses, and resets this total\n to zero before returning.\n\n :return: The number of presses since the device started or the last time this method was called\n \"\"\"\n ...\n\nbutton_a: Button\n\"\"\"The left button ``Button`` object.\"\"\"\n\nbutton_b: Button\n\"\"\"The right button ``Button`` object.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"A digital pin.\n\n Some pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\n \"\"\"\n\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n def read_digital(self) -> int:\n \"\"\"Get the digital value of the pin.\n\n Example: ``value = pin0.read_digital()``\n\n :return: 1 if the pin is high, and 0 if it's low.\n \"\"\"\n ...\n def write_digital(self, value: int) -> None:\n \"\"\"Set the digital value of the pin.\n\n Example: ``pin0.write_digital(1)``\n\n :param value: 1 to set the pin high or 0 to set the pin low\"\"\"\n ...\n def set_pull(self, value: int) -> None:\n \"\"\"Set the pull state to one of three possible values: ``PULL_UP``, ``PULL_DOWN`` or ``NO_PULL``.\n\n Example: ``pin0.set_pull(pin0.PULL_UP)``\n\n :param value: The pull state from the relevant pin, e.g. ``pin0.PULL_UP``.\n \"\"\"\n ...\n def get_pull(self) -> int:\n \"\"\"Get the pull state on a pin.\n\n Example: ``pin0.get_pull()``\n\n :return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\n These are set using the ``set_pull()`` method or automatically configured\n when a pin mode requires it.\n \"\"\"\n ...\n def get_mode(self) -> str:\n \"\"\"Returns the pin mode.\n\n Example: ``pin0.get_mode()``\n\n When a pin is used for a specific function, like\n writing a digital value, or reading an analog value, the pin mode\n changes.\n\n :return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\n \"\"\"\n ...\n def write_analog(self, value: int) -> None:\n \"\"\"Output a PWM signal on the pin, with the duty cycle proportional to ``value``.\n\n Example: ``pin0.write_analog(254)``\n\n :param value: An integer or a floating point number between 0 (0% duty cycle) and 1023 (100% duty).\n \"\"\"\n def set_analog_period(self, period: int) -> None:\n \"\"\"Set the period of the PWM signal being output to ``period`` in milliseconds.\n\n Example: ``pin0.set_analog_period(10)``\n\n :param period: The period in milliseconds with a minimum valid value of 1ms.\n \"\"\"\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Set the period of the PWM signal being output to ``period`` in microseconds.\n\n Example: ``pin0.set_analog_period_microseconds(512)``\n\n :param period: The period in microseconds with a minimum valid value of 256\u00b5s.\n \"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"A pin with analog and digital features.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Read the voltage applied to the pin.\n\n Example: ``pin0.read_analog()``\n\n :return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\n \"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"A pin with analog, digital and touch features.\"\"\"\n\n CAPACITIVE: int\n RESISTIVE: int\n def is_touched(self) -> bool:\n \"\"\"Check if the pin is being touched.\n\n Example: ``pin0.is_touched()``\n\n The default touch mode for the pins on the edge connector is ``resistive``.\n The default for the logo pin **V2** is ``capacitive``.\n\n **Resistive touch**\n This test is done by measuring how much resistance there is between the\n pin and ground. A low resistance gives a reading of ``True``. To get\n a reliable reading using a finger you may need to touch the ground pin\n with another part of your body, for example your other hand.\n\n **Capacitive touch**\n This test is done by interacting with the electric field of a capacitor\n using a finger as a conductor. `Capacitive touch\n `_\n does not require you to make a ground connection as part of a circuit.\n\n :return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\n \"\"\"\n ...\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Set the touch mode for the pin.\n\n Example: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\n The default touch mode for the pins on the edge connector is\n ``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n :param value: ``CAPACITIVE`` or ``RESISTIVE`` from the relevant pin.\n \"\"\"\n ...\n\npin0: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin1: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin2: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin5: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin6: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin7: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin8: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin9: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin11: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin12: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin13: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin14: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin15: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin16: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin19: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin20: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin_logo: MicroBitTouchPin\n\"\"\"A touch sensitive logo pin on the front of the micro:bit, which by default is set to capacitive touch mode.\"\"\"\n\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"A pin to address the micro:bit speaker.\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"An image to show on the micro:bit LED display.\n\n Given an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\n \"\"\"\n\n HEART: Image\n \"\"\"Heart image.\"\"\"\n\n HEART_SMALL: Image\n \"\"\"Small heart image.\"\"\"\n\n HAPPY: Image\n \"\"\"Happy face image.\"\"\"\n\n SMILE: Image\n \"\"\"Smiling mouth image.\"\"\"\n\n SAD: Image\n \"\"\"Sad face image.\"\"\"\n\n CONFUSED: Image\n \"\"\"Confused face image.\"\"\"\n\n ANGRY: Image\n \"\"\"Angry face image.\"\"\"\n\n ASLEEP: Image\n \"\"\"Sleeping face image.\"\"\"\n\n SURPRISED: Image\n \"\"\"Surprised face image.\"\"\"\n\n SILLY: Image\n \"\"\"Silly face image.\"\"\"\n\n FABULOUS: Image\n \"\"\"Sunglasses face image.\"\"\"\n\n MEH: Image\n \"\"\"Unimpressed face image.\"\"\"\n\n YES: Image\n \"\"\"Tick image.\"\"\"\n\n NO: Image\n \"\"\"Cross image.\"\"\"\n\n CLOCK12: Image\n \"\"\"Image with line pointing to 12 o'clock.\"\"\"\n\n CLOCK11: Image\n \"\"\"Image with line pointing to 11 o'clock.\"\"\"\n\n CLOCK10: Image\n \"\"\"Image with line pointing to 10 o'clock.\"\"\"\n\n CLOCK9: Image\n \"\"\"Image with line pointing to 9 o'clock.\"\"\"\n\n CLOCK8: Image\n \"\"\"Image with line pointing to 8 o'clock.\"\"\"\n\n CLOCK7: Image\n \"\"\"Image with line pointing to 7 o'clock.\"\"\"\n\n CLOCK6: Image\n \"\"\"Image with line pointing to 6 o'clock.\"\"\"\n\n CLOCK5: Image\n \"\"\"Image with line pointing to 5 o'clock.\"\"\"\n\n CLOCK4: Image\n \"\"\"Image with line pointing to 4 o'clock.\"\"\"\n\n CLOCK3: Image\n \"\"\"Image with line pointing to 3 o'clock.\"\"\"\n\n CLOCK2: Image\n \"\"\"Image with line pointing to 2 o'clock.\"\"\"\n\n CLOCK1: Image\n \"\"\"Image with line pointing to 1 o'clock.\"\"\"\n\n ARROW_N: Image\n \"\"\"Image of arrow pointing north.\"\"\"\n\n ARROW_NE: Image\n \"\"\"Image of arrow pointing north east.\"\"\"\n\n ARROW_E: Image\n \"\"\"Image of arrow pointing east.\"\"\"\n\n ARROW_SE: Image\n \"\"\"Image of arrow pointing south east.\"\"\"\n\n ARROW_S: Image\n \"\"\"Image of arrow pointing south.\"\"\"\n\n ARROW_SW: Image\n \"\"\"Image of arrow pointing south west.\"\"\"\n\n ARROW_W: Image\n \"\"\"Image of arrow pointing west.\"\"\"\n\n ARROW_NW: Image\n \"\"\"Image of arrow pointing north west.\"\"\"\n\n TRIANGLE: Image\n \"\"\"Image of a triangle pointing up.\"\"\"\n\n TRIANGLE_LEFT: Image\n \"\"\"Image of a triangle in the left corner.\"\"\"\n\n CHESSBOARD: Image\n \"\"\"Alternate LEDs lit in a chessboard pattern.\"\"\"\n\n DIAMOND: Image\n \"\"\"Diamond image.\"\"\"\n\n DIAMOND_SMALL: Image\n \"\"\"Small diamond image.\"\"\"\n\n SQUARE: Image\n \"\"\"Square image.\"\"\"\n\n SQUARE_SMALL: Image\n \"\"\"Small square image.\"\"\"\n\n RABBIT: Image\n \"\"\"Rabbit image.\"\"\"\n\n COW: Image\n \"\"\"Cow image.\"\"\"\n\n MUSIC_CROTCHET: Image\n \"\"\"Crotchet note image.\"\"\"\n\n MUSIC_QUAVER: Image\n \"\"\"Quaver note image.\"\"\"\n\n MUSIC_QUAVERS: Image\n \"\"\"Pair of quavers note image.\"\"\"\n\n PITCHFORK: Image\n \"\"\"Pitchfork image.\"\"\"\n\n XMAS: Image\n \"\"\"Christmas tree image.\"\"\"\n\n PACMAN: Image\n \"\"\"Pac-Man arcade character image.\"\"\"\n\n TARGET: Image\n \"\"\"Target image.\"\"\"\n\n TSHIRT: Image\n \"\"\"T-shirt image.\"\"\"\n\n ROLLERSKATE: Image\n \"\"\"Rollerskate image.\"\"\"\n\n DUCK: Image\n \"\"\"Duck image.\"\"\"\n\n HOUSE: Image\n \"\"\"House image.\"\"\"\n\n TORTOISE: Image\n \"\"\"Tortoise image.\"\"\"\n\n BUTTERFLY: Image\n \"\"\"Butterfly image.\"\"\"\n\n STICKFIGURE: Image\n \"\"\"Stick figure image.\"\"\"\n\n GHOST: Image\n \"\"\"Ghost image.\"\"\"\n\n SWORD: Image\n \"\"\"Sword image.\"\"\"\n\n GIRAFFE: Image\n \"\"\"Giraffe image.\"\"\"\n\n SKULL: Image\n \"\"\"Skull image.\"\"\"\n\n UMBRELLA: Image\n \"\"\"Umbrella image.\"\"\"\n\n SNAKE: Image\n \"\"\"Snake image.\"\"\"\n\n SCISSORS: Image\n \"\"\"Scissors image.\"\"\"\n\n ALL_CLOCKS: List[Image]\n \"\"\"A list containing all the CLOCK_ images in sequence.\"\"\"\n\n ALL_ARROWS: List[Image]\n \"\"\"A list containing all the ARROW_ images in sequence.\"\"\"\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Create an image from a string describing which LEDs are lit.\n\n ``string`` has to consist of digits 0-9 arranged into lines,\n describing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\n will create a 5\u00d75 image of an X. The end of a line is indicated by a\n colon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n :param string: The string describing the image.\n \"\"\"\n ...\n @overload\n def __init__(\n self, width: int = 5, height: int = 5, buffer: ReadableBuffer = None\n ) -> None:\n \"\"\"Create an empty image with ``width`` columns and ``height`` rows.\n\n :param width: Optional width of the image\n :param height: Optional height of the image\n :param buffer: Optional array or bytes of ``width``\u00d7``height`` integers in range 0-9 to initialize the image\n\n Examples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\n These create 2 x 2 pixel images at full brightness.\n \"\"\"\n ...\n def width(self) -> int:\n \"\"\"Get the number of columns.\n\n :return: The number of columns in the image\n \"\"\"\n ...\n def height(self) -> int:\n \"\"\"Get the number of rows.\n\n :return: The number of rows in the image\n \"\"\"\n ...\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Set the brightness of a pixel.\n\n Example: ``my_image.set_pixel(0, 0, 9)``\n\n :param x: The column number\n :param y: The row number\n :param value: The brightness as an integer between 0 (dark) and 9 (bright)\n\n This method will raise an exception when called on any of the built-in\n read-only images, like ``Image.HEART``.\n \"\"\"\n ...\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Get the brightness of a pixel.\n\n Example: ``my_image.get_pixel(0, 0)``\n\n :param x: The column number\n :param y: The row number\n :return: The brightness as an integer between 0 and 9.\n \"\"\"\n ...\n def shift_left(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture left.\n\n Example: ``Image.HEART_SMALL.shift_left(1)``\n\n :param n: The number of columns to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_right(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture right.\n\n Example: ``Image.HEART_SMALL.shift_right(1)``\n\n :param n: The number of columns to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_up(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture up.\n\n Example: ``Image.HEART_SMALL.shift_up(1)``\n\n :param n: The number of rows to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_down(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture down.\n\n Example: ``Image.HEART_SMALL.shift_down(1)``\n\n :param n: The number of rows to shift by\n :return: The shifted image\n \"\"\"\n ...\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Create a new image by cropping the picture.\n\n Example: ``Image.HEART.crop(1, 1, 3, 3)``\n\n :param x: The crop offset column\n :param y: The crop offset row\n :param w: The crop width\n :param h: The crop height\n :return: The new image\n \"\"\"\n ...\n def copy(self) -> Image:\n \"\"\"Create an exact copy of the image.\n\n Example: ``Image.HEART.copy()``\n\n :return: The new image\n \"\"\"\n ...\n def invert(self) -> Image:\n \"\"\"Create a new image by inverting the brightness of the pixels in the\n source image.\n\n Example: ``Image.SMALL_HEART.invert()``\n\n :return: The new image.\n \"\"\"\n ...\n def fill(self, value: int) -> None:\n \"\"\"Set the brightness of all the pixels in the image.\n\n Example: ``my_image.fill(5)``\n\n :param value: The new brightness as a number between 0 (dark) and 9 (bright).\n\n This method will raise an exception when called on any of the built-in\n read-only images, like ``Image.HEART``.\n \"\"\"\n ...\n def blit(\n self,\n src: Image,\n x: int,\n y: int,\n w: int,\n h: int,\n xdest: int = 0,\n ydest: int = 0,\n ) -> None:\n \"\"\"Copy an area from another image into this image.\n\n Example: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n :param src: The source image\n :param x: The starting column offset in the source image\n :param y: The starting row offset in the source image\n :param w: The number of columns to copy\n :param h: The number of rows to copy\n :param xdest: The column offset to modify in this image\n :param ydest: The row offset to modify in this image\n\n Pixels outside the source image are treated as having a brightness of 0.\n\n ``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\n and ``crop()`` can are all implemented by using ``blit()``.\n\n For example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\n \"\"\"\n ...\n def __repr__(self) -> str:\n \"\"\"Get a compact string representation of the image.\"\"\"\n ...\n def __str__(self) -> str:\n \"\"\"Get a readable string representation of the image.\"\"\"\n ...\n def __add__(self, other: Image) -> Image:\n \"\"\"Create a new image by adding the brightness values from the two\n images for each pixel.\n\n Example: ``Image.HEART + Image.HAPPY``\n\n :param other: The image to add.\n \"\"\"\n ...\n def __sub__(self, other: Image) -> Image:\n \"\"\"Create a new image by subtracting the brightness values of the\n other image from this image.\n\n Example: ``Image.HEART - Image.HEART_SMALL``\n\n :param other: The image to subtract.\n \"\"\"\n ...\n def __mul__(self, n: float) -> Image:\n \"\"\"Create a new image by multiplying the brightness of each pixel by\n ``n``.\n\n Example: ``Image.HEART * 0.5``\n\n :param n: The value to multiply by.\n \"\"\"\n ...\n def __truediv__(self, n: float) -> Image:\n \"\"\"Create a new image by dividing the brightness of each pixel by\n ``n``.\n\n Example: ``Image.HEART / 2``\n\n :param n: The value to divide by.\n \"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Represents the transition of sound events, from ``quiet`` to ``loud`` like clapping or shouting.\"\"\"\n\n QUIET: SoundEvent\n \"\"\"Represents the transition of sound events, from ``loud`` to ``quiet`` like speaking or background music.\"\"\"\n\nclass Sound:\n \"\"\"The built-in sounds can be called using ``audio.play(Sound.NAME)``.\"\"\"\n\n GIGGLE: Sound\n \"\"\"Giggling sound.\"\"\"\n\n HAPPY: Sound\n \"\"\"Happy sound.\"\"\"\n\n HELLO: Sound\n \"\"\"Greeting sound.\"\"\"\n\n MYSTERIOUS: Sound\n \"\"\"Mysterious sound.\"\"\"\n\n SAD: Sound\n \"\"\"Sad sound.\"\"\"\n\n SLIDE: Sound\n \"\"\"Sliding sound.\"\"\"\n\n SOARING: Sound\n \"\"\"Soaring sound.\"\"\"\n\n SPRING: Sound\n \"\"\"Spring sound.\"\"\"\n\n TWINKLE: Sound\n \"\"\"Twinkling sound.\"\"\"\n\n YAWN: Sound\n \"\"\"Yawning sound.\"\"\"\n", - "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Measure the acceleration of the micro:bit and recognise gestures.\n\"\"\"\n\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Get the acceleration measurement in the ``x`` axis in milli-g.\n\n Example: ``accelerometer.get_x()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Get the acceleration measurement in the ``y`` axis in milli-g.\n\n Example: ``accelerometer.get_y()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Get the acceleration measurement in the ``z`` axis in milli-g.\n\n Example: ``accelerometer.get_z()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Get the acceleration measurements in all axes at once as a tuple.\n\n Example: ``x, y, z = accelerometer.get_values()``\n\n :return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\n \"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Get the acceleration measurement of all axes combined, as a positive integer. This is the Pythagorean sum of the X, Y and Z axes.\n\n Example: ``accelerometer.get_strength()``\n\n :return: The combined acceleration strength of all the axes, in milli-g.\n \"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Get the name of the current gesture.\n\n Example: ``accelerometer.current_gesture()``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :return: The current gesture\n \"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Check if the named gesture is currently active.\n\n Example: ``accelerometer.is_gesture('shake')``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :param name: The gesture name.\n :return: ``True`` if the gesture is active, ``False`` otherwise.\n \"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Check if the named gesture was active since the last call.\n\n Example: ``accelerometer.was_gesture('shake')``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :param name: The gesture name.\n :return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\n \"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Return a tuple of the gesture history.\n\n Example: ``accelerometer.get_gestures()``\n\n Clears the gesture history before returning.\n\n Gestures are not updated in the background so there needs to be constant\n calls to some accelerometer method to do the gesture detection. Usually\n gestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n :return: The history as a tuple, most recent last.\n \"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Set the accelerometer sensitivity range, in g (standard gravity), to the closest values supported by the hardware, so it rounds to either ``2``, ``4``, or ``8`` g.\n\n Example: ``accelerometer.set_range(8)``\n\n :param value: New range for the accelerometer, an integer in ``g``.\n \"\"\"\n", - "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(\n source: Union[Iterable[AudioFrame], Sound, SoundEffect],\n wait: bool = True,\n pin: MicroBitDigitalPin = pin0,\n return_pin: Union[MicroBitDigitalPin, None] = None,\n) -> None:\n \"\"\"Play a built-in sound, sound effect or custom audio frames.\n\n Example: ``audio.play(Sound.GIGGLE)``\n\n :param source: A built-in ``Sound`` such as ``Sound.GIGGLE``, a ``SoundEffect`` or sample data as an iterable of ``AudioFrame`` objects.\n :param wait: If ``wait`` is ``True``, this function will block until the sound is complete.\n :param pin: An optional argument to specify the output pin can be used to override the default of ``pin0``. If we do not want any sound to play we can use ``pin=None``.\n :param return_pin: Specifies a differential edge connector pin to connect to an external speaker instead of ground. This is ignored for the **V2** revision.\n \"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Check whether a sound is playing.\n\n Example: ``audio.is_playing()``\n\n :return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Stop all audio playback.\n\n Example: ``audio.stop()``\n \"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"A sound effect, composed by a set of parameters configured via the constructor or attributes.\"\"\"\n\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sine wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Sawtooth wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Triangle wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Square wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise option used for the ``waveform`` parameter.\"\"\"\n\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Linear interpolation option used for the ``shape`` parameter.\"\"\"\n\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolation option used for the ``shape`` parameter.\"\"\"\n\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmic interpolation option used for the ``shape`` parameter.\"\"\"\n\n FX_NONE: ClassVar[int]\n \"\"\"No effect option used for the ``fx`` parameter.\"\"\"\n\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect option used for the ``fx`` parameter.\"\"\"\n\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect option used for the ``fx`` parameter.\"\"\"\n\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect option used for the ``fx`` parameter.\"\"\"\n\n freq_start: int\n \"\"\"Start frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n\n freq_end: int\n \"\"\"End frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n\n duration: int\n \"\"\"Duration of the sound in milliseconds, a number between ``0`` and ``9999``\"\"\"\n\n vol_start: int\n \"\"\"Start volume value, a number between ``0`` and ``255``\"\"\"\n\n vol_end: int\n \"\"\"End volume value, a number between ``0`` and ``255``\"\"\"\n\n waveform: int\n \"\"\"Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise)\"\"\"\n\n fx: int\n \"\"\"Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``\"\"\"\n\n shape: int\n \"\"\"The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(\n self,\n freq_start: int = 500,\n freq_end: int = 2500,\n duration: int = 500,\n vol_start: int = 255,\n vol_end: int = 0,\n waveform: int = WAVEFORM_SQUARE,\n fx: int = FX_NONE,\n shape: int = SHAPE_LOG,\n ):\n \"\"\"Create a new sound effect.\n\n Example: ``my_effect = SoundEffect(duration=1000)``\n\n All the parameters are optional, with default values as shown above, and\n they can all be modified via attributes of the same name. For example, we\n can first create an effect ``my_effect = SoundEffect(duration=1000)``,\n and then change its attributes ``my_effect.duration = 500``.\n\n :param freq_start: Start frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n :param freq_end: End frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n :param duration: Duration of the sound in milliseconds, a number between ``0`` and ``9999``.\n :param vol_start: Start volume value, a number between ``0`` and ``255``.\n :param vol_end: End volume value, a number between ``0`` and ``255``.\n :param waveform: Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise).\n :param fx: Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n :param shape: The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\n \"\"\"\n def copy(self) -> SoundEffect:\n \"\"\"Create a copy of this ``SoundEffect``.\n\n Example: ``sound_2 = sound_1.copy()``\n\n :return: A copy of the SoundEffect.\n \"\"\"\n\nclass AudioFrame:\n \"\"\"An ``AudioFrame`` object is a list of 32 samples each of which is a unsigned byte\n (whole number between 0 and 255).\n\n It takes just over 4 ms to play a single frame.\n\n Example::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\n \"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overwrite the data in this ``AudioFrame`` with the data from another ``AudioFrame`` instance.\n\n Example: ``my_frame.copyfrom(source_frame)``\n\n :param other: ``AudioFrame`` instance from which to copy the data.\n \"\"\"\n def __len__(self) -> int: ...\n def __setitem__(self, key: int, value: int) -> None: ...\n def __getitem__(self, key: int) -> int: ...\n", - "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Use the built-in compass.\n\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Starts the calibration process.\n\n Example: ``compass.calibrate()``\n\n An instructive message will be scrolled to the user after which they will need\n to rotate the device in order to draw a circle on the LED display.\n \"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"Check is the compass is calibrated.\n\n Example: ``compass.is_calibrated()``\n\n :return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\n \"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Undoes the calibration, making the compass uncalibrated again.\n\n Example: ``compass.clear_calibration()``\n \"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Get the magnetic field strength on the ``x`` axis.\n\n Example: ``compass.get_x()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Get the magnetic field strength on the ``y`` axis.\n\n Example: ``compass.get_y()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Get the magnetic field strength on the ``z`` axis.\n\n Example: ``compass.get_z()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Get the compass heading.\n\n Example: ``compass.heading()``\n\n :return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\n \"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Get the magnitude of the magnetic field around the device.\n\n Example: ``compass.get_field_strength()``\n\n :return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...\n", - "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Show text, images and animations on the 5\u00d75 LED display.\n\"\"\"\n\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Get the brightness of the LED at column ``x`` and row ``y``.\n\n Example: ``display.get_pixel(0, 0)``\n\n :param x: The display column (0..4)\n :param y: The display row (0..4)\n :return: A number between 0 (off) and 9 (bright)\n \"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Set the brightness of the LED at column ``x`` and row ``y``.\n\n Example: ``display.set_pixel(0, 0, 9)``\n\n :param x: The display column (0..4)\n :param y: The display row (0..4)\n :param value: The brightness between 0 (off) and 9 (bright)\n \"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Set the brightness of all LEDs to 0 (off).\n\n Example: ``display.clear()``\n \"\"\"\n ...\n\ndef show(\n image: Union[str, float, int, Image, Iterable[Image]],\n delay: int = 400,\n wait: bool = True,\n loop: bool = False,\n clear: bool = False,\n) -> None:\n \"\"\"Shows images, letters or digits on the LED display.\n\n Example: ``display.show(Image.HEART)``\n\n When ``image`` is an image or a list of images then each image is displayed in turn.\n If ``image`` is a string or number, each letter or digit is displayed in turn.\n\n :param image: A string, number, image or list of images to show.\n :param delay: Each letter, digit or image is shown with ``delay`` milliseconds between them.\n :param wait: If ``wait`` is ``True``, this function will block until the animation is finished, otherwise the animation will happen in the background.\n :param loop: If ``loop`` is ``True``, the animation will repeat forever.\n :param clear: If ``clear`` is ``True``, the display will be cleared after the sequence has finished.\n\n The ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\n \"\"\"\n ...\n\ndef scroll(\n text: Union[str, float, int],\n delay: int = 150,\n wait: bool = True,\n loop: bool = False,\n monospace: bool = False,\n) -> None:\n \"\"\"Scrolls a number or text on the LED display.\n\n Example: ``display.scroll('micro:bit')``\n\n :param text: The string to scroll. If ``text`` is an integer or float it is first converted to a string using ``str()``.\n :param delay: The ``delay`` parameter controls how fast the text is scrolling.\n :param wait: If ``wait`` is ``True``, this function will block until the animation is finished, otherwise the animation will happen in the background.\n :param loop: If ``loop`` is ``True``, the animation will repeat forever.\n :param monospace: If ``monospace`` is ``True``, the characters will all take up 5 pixel-columns in width, otherwise there will be exactly 1 blank pixel-column between each character as they scroll.\n\n The ``wait``, ``loop`` and ``monospace`` arguments must be specified\n using their keyword.\n \"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Turn on the LED display.\n\n Example: ``display.on()``\n \"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Turn off the LED display (disabling the display allows you to re-use the GPIO pins for other purposes).\n\n Example: ``display.off()``\n \"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"Check whether the LED display is enabled.\n\n Example: ``display.is_on()``\n\n :return: ``True`` if the display is on, otherwise returns ``False``.\n \"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Read the light level.\n\n Example: ``display.read_light_level()``\n\n Uses the display's LEDs in reverse-bias mode to sense the amount of light\n falling on the display.\n\n :return: An integer between 0 and 255 representing the light level, with larger meaning more light.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Communicate with devices using the I\u00b2C bus protocol.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(\n freq: int = 100000, sda: MicroBitDigitalPin = pin20, scl: MicroBitDigitalPin = pin19\n) -> None:\n \"\"\"Re-initialize a peripheral.\n\n Example: ``i2c.init()``\n\n :param freq: clock frequency\n :param sda: ``sda`` pin (default 20)\n :param scl: ``scl`` pin (default 19)\n\n On a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\n the accelerometer and compass stop working, as they are connected\n internally to those pins. This warning does not apply to the **V2**\n revision of the micro:bit as this has `separate I\u00b2C lines `_\n for the motion sensors and the edge connector.\n \"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scan the bus for devices.\n\n Example: ``i2c.scan()``\n\n :return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\n \"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool = False) -> bytes:\n \"\"\"Read bytes from a device.\n\n Example: ``i2c.read(0x50, 64)``\n\n :param addr: The 7-bit address of the device\n :param n: The number of bytes to read\n :param repeat: If ``True``, no stop bit will be sent\n :return: The bytes read\n \"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool = False) -> None:\n \"\"\"Write bytes to a device.\n\n Example: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n :param addr: The 7-bit address of the device\n :param buf: A buffer containing the bytes to write\n :param repeat: If ``True``, no stop bit will be sent\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Respond to sound using the built-in microphone (V2 only).\n\"\"\"\n\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Get the last recorded sound event\n\n Example: ``microphone.current_event()``\n\n :return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\n \"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Check if a sound was heard at least once since the last call.\n\n Example: ``microphone.was_event(SoundEvent.LOUD)``\n\n This call clears the sound history before returning.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\n \"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Check the most recent sound event detected.\n\n Example: ``microphone.is_event(SoundEvent.LOUD)``\n\n This call does not clear the sound event history.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was the most recent heard, ``False`` otherwise.\n \"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Get the sound event history as a tuple.\n\n Example: ``microphone.get_events()``\n\n This call clears the sound history before returning.\n\n :return: A tuple of the event history with the most recent event last.\n \"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Set the threshold for a sound event.\n\n Example: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\n A high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n :param event: A sound event, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``.\n :param value: The threshold level in the range 0-255.\n \"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Get the sound pressure level.\n\n Example: ``microphone.sound_level()``\n\n :return: A representation of the sound pressure level in the range 0 to 255.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Control the built-in speaker (V2 only).\n\"\"\"\n\ndef off() -> None:\n \"\"\"Turn the speaker off.\n\n Example: ``speaker.off()``\n\n This does not disable sound output to an edge connector pin.\n \"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Turn the speaker on.\n\n Example: ``speaker.on()``\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communicate with devices using the serial peripheral interface (SPI) bus.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(\n baudrate: int = 1000000,\n bits: int = 8,\n mode: int = 0,\n sclk: MicroBitDigitalPin = pin13,\n mosi: MicroBitDigitalPin = pin15,\n miso: MicroBitDigitalPin = pin14,\n) -> None:\n \"\"\"Initialize SPI communication.\n\n Example: ``spi.init()``\n\n For correct communication, the parameters have to be the same on both communicating devices.\n\n :param baudrate: The speed of communication.\n :param bits: The width in bits of each transfer. Currently only ``bits=8`` is supported. However, this may change in the future.\n :param mode: Determines the combination of clock polarity and phase - `see online table `_.\n :param sclk: sclk pin (default 13)\n :param mosi: mosi pin (default 15)\n :param miso: miso pin (default 14)\n \"\"\"\n ...\n\ndef read(nbytes: int, out: int = 0) -> bytes:\n \"\"\"Read at most ``nbytes`` while continuously writing the single byte given by ``out``.\n\n Example: ``spi.read(64)``\n\n :param nbytes: Maximum number of bytes to read.\n :param out: The byte value to write (default 0).\n :return: The bytes read.\n \"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Write bytes to the bus.\n\n Example: ``spi.write(bytes([1, 2, 3]))``\n\n :param buffer: A buffer to read data from.\n \"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Write the ``out`` buffer to the bus and read any response into the ``in_`` buffer.\n\n Example: ``spi.write_readinto(out_buffer, in_buffer)``\n\n The length of the buffers should be the same. The buffers can be the same object.\n\n :param out: The buffer to write any response to.\n :param in_: The buffer to read data from.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Communicate with a device using a serial interface.\n\"\"\"\n\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\n\nODD: int\n\"\"\"Odd parity\"\"\"\n\nEVEN: int\n\"\"\"Even parity\"\"\"\n\ndef init(\n baudrate: int = 9600,\n bits: int = 8,\n parity: Optional[int] = None,\n stop: int = 1,\n tx: Optional[MicroBitDigitalPin] = None,\n rx: Optional[MicroBitDigitalPin] = None,\n) -> None:\n \"\"\"Initialize serial communication.\n\n Example: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n :param baudrate: The speed of communication.\n :param bits: The size of bytes being transmitted. micro:bit only supports 8.\n :param parity: How parity is checked, ``None``, ``uart.ODD`` or ``uart.EVEN``.\n :param stop: The number of stop bits, has to be 1 for micro:bit.\n :param tx: Transmitting pin.\n :param rx: Receiving pin.\n\n Initializing the UART on external pins will cause the Python console on\n USB to become unaccessible, as it uses the same hardware. To bring the\n console back you must reinitialize the UART without passing anything for\n ``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\n that calling ``uart.init(115200)`` is enough to restore the Python console.\n\n For more details see `the online documentation `_.\n \"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Check if any data is waiting.\n\n Example: ``uart.any()``\n\n :return: ``True`` if any data is waiting, else ``False``.\n \"\"\"\n ...\n\ndef read(nbytes: Optional[int] = None) -> Optional[bytes]:\n \"\"\"Read bytes.\n\n Example: ``uart.read()``\n\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read as many bytes as possible\n :return: A bytes object or ``None`` on timeout\n \"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int] = None) -> Optional[int]:\n \"\"\"Read bytes into the ``buf``.\n\n Example: ``uart.readinto(input_buffer)``\n\n :param buf: The buffer to write to.\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read ``len(buf)`` bytes.\n :return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\n \"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Read a line, ending in a newline character.\n\n Example: ``uart.readline()``\n\n :return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\n \"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Write a buffer to the bus.\n\n Example: ``uart.write('hello world')``\n\n :param buf: A bytes object or a string.\n :return: The number of bytes written, or ``None`` on timeout.\n\n Examples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\n \"\"\"\n ...\n", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"\ud540, \uc774\ubbf8\uc9c0, \uc18c\ub9ac, \uc628\ub3c4 \ubc0f \uc74c\ub7c9\uc785\ub2c8\ub2e4.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"\ub9e4\uac1c \ubcc0\uc218\ub85c \uc8fc\uc5b4\uc9c4 \uc77c\uc815\ud55c \uc2dc\uac04(\ubc00\ub9ac\ucd08, ms)\ub9c8\ub2e4 \ud2b9\uc815 \ud568\uc218\ub97c \ud638\ucd9c\ud569\ub2c8\ub2e4. **micro:bit V2 \uc804\uc6a9**\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: \uc8fc\uc5b4\uc9c4 \uc2dc\uac04\uc774 \ub418\uc5c8\uc744 \ub54c \ud638\ucd9c\ud560 \ud568\uc218. \ub370\ucf54\ub808\uc774\ud130(\uc7a5\uc2dd\uc790)\ub85c \uc0ac\uc6a9\ud560 \ub54c \ud638\ucd9c.\n:param days: \ud568\uc218 \ud638\ucd9c \ubc18\ubcf5 \uc2dc\uac04\uc758 \ub0a0 \ub2e8\uc704\ub97c \uc815\ud569\ub2c8\ub2e4.\n:param h: \ud568\uc218 \ud638\ucd9c \ubc18\ubcf5 \uc2dc\uac04\uc758 \uc2dc\uac04 \ub2e8\uc704\ub97c \uc815\ud569\ub2c8\ub2e4.\n:param min: \ud568\uc218 \ud638\ucd9c \ubc18\ubcf5 \uc2dc\uac04\uc758 \ubd84 \ub2e8\uc704\ub97c \uc815\ud569\ub2c8\ub2e4.\n:param s: \ud568\uc218 \ud638\ucd9c \ubc18\ubcf5 \uc2dc\uac04\uc758 \ucd08 \ub2e8\uc704\ub97c \uc815\ud569\ub2c8\ub2e4.\n:param ms: \ud568\uc218 \ud638\ucd9c \ubc18\ubcf5 \uc2dc\uac04\uc758 \ubc00\ub9ac\ucd08 \ub2e8\uc704\ub97c \uc815\ud569\ub2c8\ub2e4.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"\ud328\ub2c9 \ubaa8\ub4dc\ub97c \ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``panic(127)``\n\n:param n: <= 255\uc758 \uc784\uc758 \uc815\uc218\ub85c \uc0c1\ud0dc\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"\ubcf4\ub4dc\ub97c \uc7ac\uc2dc\uc791\ud569\ub2c8\ub2e4.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converts a value from a range to an integer range.\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: A number to convert.\n:param from_: \ubcc0\ud658\ud560 \ubc94\uc704\ub97c \uc815\uc758\ud560 \ud29c\ud50c \uac12\n:param to: A tuple to define the range to convert to.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converts a value from a range to a floating point range.\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: A number to convert.\n:param from_: \ubcc0\ud658\ud560 \ubc94\uc704\ub97c \uc815\uc758\ud560 \ud29c\ud50c \uac12\n:param to: A tuple to define the range to convert to.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"``n``\ubc00\ub9ac\ucd08 \ub3d9\uc548 \ub300\uae30\ud569\ub2c8\ub2e4.\n\nExample: ``sleep(1000)``\n\n:param n: \ub300\uae30\ud560 \ubc00\ub9ac\ucd08 \uc218\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"\ubcf4\ub4dc\uc758 \uc2e4\ud589 \uc2dc\uac04\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"\uc12d\uc528\ub85c micro:bit\uc758 \uc628\ub3c4\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4. (\uc628\ub3c4)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"\uc74c\ub7c9\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``set_volume(127)``\n\n:param v: 0(\ub0ae\uc74c) \ubc0f 255(\ub192\uc74c) \uc0ac\uc774\uc758 \uac12\uc785\ub2c8\ub2e4.\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"``button_a`` \ubc0f ``button_b`` \ubc84\ud2bc \ud074\ub798\uc2a4\uc785\ub2c8\ub2e4.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"\ud574\ub2f9 \ubc84\ud2bc\uc774 \ub20c\ub838\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"\uc7a5\uce58\uac00 \uc2dc\uc791\ud55c \ud6c4 \ub610\ub294 \uc774 \uba54\uc11c\ub4dc\uac00 \ud638\ucd9c\ub41c \ud6c4 \ud574\ub2f9 \ubc84\ud2bc\uc774 \ub20c\ub838\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"\ubc84\ud2bc\uc774 \ub20c\ub9b0 \ucd1d \ud69f\uc218\ub97c \ubd88\ub7ec\uc624\uace0, \ucd1d\uac12\uc744 \ubc18\ud658\ud558\uae30 \uc804 \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"\uc67c\ucabd \ubc84\ud2bc ``Button`` \uac1c\uccb4\uc785\ub2c8\ub2e4.\"\"\"\nbutton_b: Button\n\"\"\"\uc624\ub978\ucabd \ubc84\ud2bc ``Button`` \uac1c\uccb4\uc785\ub2c8\ub2e4.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"\ub514\uc9c0\ud138 \ud540\uc785\ub2c8\ub2e4.\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"\ud540\uc758 \ub514\uc9c0\ud138 \uac12\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"\ud540\uc758 \ub514\uc9c0\ud138 \uac12\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.write_digital(1)``\n\n:param value: \ud540\uc744 \ud558\uc774\ub85c \uc124\uc815\ud558\ub824\uba74 1, \ub85c\uc6b0\ub85c \uc124\uc815\ud558\ub824\uba74 0\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"\ub2e4\uc74c \uc911 \ud558\ub098\uc758 \uac12\uc73c\ub85c \ud480 \uc0c1\ud0dc\ub97c \uc124\uc815: ``PULL_UP``, ``PULL_DOWN`` \ub610\ub294 ``NO_PULL``\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: \uad00\ub828 \ud540\uc758 \ud480 \uc0c1\ud0dc\uc785\ub2c8\ub2e4. (\uc608: ``pin0.PULL_UP``)\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"\ud540\uc758 \ud480 \uc0c1\ud0dc\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"\ud540 \ubaa8\ub4dc\ub97c \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"\ud540\uc758 PWM \uc2e0\ud638\ub97c \ucd9c\ub825\ud558\uace0 ``value``\uc640(\uacfc) \ube44\ub840\ud574 \ub4c0\ud2f0 \uc0ac\uc774\ud074\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.write_analog(254)``\n\n:param value: 0(0% \ub4c0\ud2f0 \uc0ac\uc774\ud074) \ubc0f 1023(100% \ub4c0\ud2f0) \uc0ac\uc774\uc758 \uc815\uc218 \ub610\ub294 \ubd80\ub3d9 \uc18c\uc218\uc810 \uc218\uc785\ub2c8\ub2e4.\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"PWM \uc2e0\ud638\uac00 \ucd9c\ub825\ub418\ub294 \uc8fc\uae30\ub97c ``period``\ubc00\ub9ac\ucd08\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: \uc720\ud6a8\ud55c \ucd5c\uc18c\uac12\uc774 1ms\uc778 \ubc00\ub9ac\ucd08 \uc8fc\uae30\uc785\ub2c8\ub2e4.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"PWM \uc2e0\ud638\uac00 \ucd9c\ub825\ub418\ub294 \uc8fc\uae30\ub97c ``period``\ub9c8\uc774\ud06c\ub85c\ucd08\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: \uc720\ud6a8\ud55c \ucd5c\uc18c\uac12\uc774 256\u00b5s\uc778 \ub9c8\uc774\ud06c\ub85c\ucd08 \uc8fc\uae30\uc785\ub2c8\ub2e4.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"\uc544\ub0a0\ub85c\uadf8 \ubc0f \ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"\ud540\uc5d0 \uc801\uc6a9\ub41c \uc804\uc555\uc744 \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"\uc544\ub0a0\ub85c\uadf8, \ub514\uc9c0\ud138, \ud130\uce58 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"\ud540\uc774 \uc811\ucd09 \uc0c1\ud0dc\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"\ud540\uc758 \ud130\uce58 \ubaa8\ub4dc\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: \uad00\ub828 \ud540\uc758 ``CAPACITIVE`` \ub610\ub294 ``RESISTIVE``\uc785\ub2c8\ub2e4.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8, \ud130\uce58 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8, \ud130\uce58 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8, \ud130\uce58 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4. (pin speaker)\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \ubc0f \uc544\ub0a0\ub85c\uadf8 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"\ub514\uc9c0\ud138 \uae30\ub2a5\uc774 \uc788\ub294 \ud540\uc785\ub2c8\ub2e4.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"micro:bit \uc804\uba74\uc758 \ud130\uce58 \uac10\uc9c0 \ub85c\uace0 \ud540\uc73c\ub85c, \uae30\ubcf8\uac12\uc740 \uc815\uc804\uc2dd \ud130\uce58 \ubaa8\ub4dc\uc785\ub2c8\ub2e4. (\ud540 \ub85c\uace0)\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"micro:bit \uc2a4\ud53c\ucee4\ub97c \ucc98\ub9ac\ud558\ub294 \ud540\uc785\ub2c8\ub2e4. (\ud540 \uc2a4\ud53c\ucee4)\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"micro:bit LED \ub514\uc2a4\ud50c\ub808\uc774\uc5d0 \ud45c\uc2dc\ud560 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"\ud558\ud2b8 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n HEART_SMALL: Image\n \"\"\"\uc791\uc740 \ud558\ud2b8 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n HAPPY: Image\n \"\"\"\ud589\ubcf5\ud55c \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SMILE: Image\n \"\"\"\ubbf8\uc18c \uc9d3\ub294 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SAD: Image\n \"\"\"\uc2ac\ud508 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CONFUSED: Image\n \"\"\"\ud63c\ub780\uc2a4\ub7ec\uc6b4 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ANGRY: Image\n \"\"\"\ud654\ub09c \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ASLEEP: Image\n \"\"\"\uc790\ub294 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SURPRISED: Image\n \"\"\"\ub180\ub780 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SILLY: Image\n \"\"\"\uc6b0\uc2a4\uaf5d\uc2a4\ub7ec\uc6b4 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n FABULOUS: Image\n \"\"\"\uc120\uae00\ub77c\uc2a4\ub97c \uc4f4 \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n MEH: Image\n \"\"\"\uc9c0\ub8e8\ud55c \uc5bc\uad74 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n YES: Image\n \"\"\"\uccb4\ud06c \ud45c\uc2dc \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n NO: Image\n \"\"\"\uc5d1\uc2a4 \ud45c\uc2dc \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK12: Image\n \"\"\"12\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK11: Image\n \"\"\"11\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK10: Image\n \"\"\"10\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK9: Image\n \"\"\"9\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK8: Image\n \"\"\"8\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK7: Image\n \"\"\"7\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK6: Image\n \"\"\"6\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK5: Image\n \"\"\"5\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK4: Image\n \"\"\"4\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK3: Image\n \"\"\"3\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK2: Image\n \"\"\"2\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CLOCK1: Image\n \"\"\"1\uc2dc \uc815\uac01\uc744 \uac00\ub9ac\ud0a4\ub294 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_N: Image\n \"\"\"\ubd81\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_NE: Image\n \"\"\"\ubd81\ub3d9\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_E: Image\n \"\"\"\ub3d9\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_SE: Image\n \"\"\"\ub0a8\ub3d9\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_S: Image\n \"\"\"\ub0a8\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_SW: Image\n \"\"\"\ub0a8\uc11c\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_W: Image\n \"\"\"\uc11c\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ARROW_NW: Image\n \"\"\"\ubd81\uc11c\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \ud654\uc0b4\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TRIANGLE: Image\n \"\"\"\uc704\ucabd\uc744 \uac00\ub9ac\ud0a4\ub294 \uc0bc\uac01\ud615 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"\uc67c\ucabd \uad6c\uc11d\uc758 \uc0bc\uac01\ud615 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n CHESSBOARD: Image\n \"\"\"\uccb4\uc2a4\ud310 \ud328\ud134\uc73c\ub85c \uae5c\ube61\uc774\ub294 LED \ubd88\ube5b\uc785\ub2c8\ub2e4.\"\"\"\n DIAMOND: Image\n \"\"\"\ub2e4\uc774\uc544\ubaac\ub4dc \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"\uc791\uc740 \ub2e4\uc774\uc544\ubaac\ub4dc \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SQUARE: Image\n \"\"\"\uc0ac\uac01\ud615 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SQUARE_SMALL: Image\n \"\"\"\uc791\uc740 \uc0ac\uac01\ud615 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n RABBIT: Image\n \"\"\"\ud1a0\ub07c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n COW: Image\n \"\"\"\uc18c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"\uc0ac\ubd84\uc74c\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"\ud314\ubd84\uc74c\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"\ub450 \uac1c\uc758 \ud314\ubd84\uc74c\ud45c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n PITCHFORK: Image\n \"\"\"\uc1e0\uc2a4\ub791 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n XMAS: Image\n \"\"\"\ud06c\ub9ac\uc2a4\ub9c8\uc2a4 \ub098\ubb34 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n PACMAN: Image\n \"\"\"\uc624\ub77d\uc2e4 \uce90\ub9ad\ud130 Pac-Man \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TARGET: Image\n \"\"\"\ud45c\uc801 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TSHIRT: Image\n \"\"\"\ud2f0\uc154\uce20 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ROLLERSKATE: Image\n \"\"\"\ub864\ub7ec\uc2a4\ucf00\uc774\ud2b8 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n DUCK: Image\n \"\"\"\uc624\ub9ac \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n HOUSE: Image\n \"\"\"\uc9d1 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n TORTOISE: Image\n \"\"\"\uac70\ubd81\uc774 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n BUTTERFLY: Image\n \"\"\"\ub098\ube44 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n STICKFIGURE: Image\n \"\"\"\ub9c9\ub300\uc778\uac04 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n GHOST: Image\n \"\"\"\uc720\ub839 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SWORD: Image\n \"\"\"\uce7c \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n GIRAFFE: Image\n \"\"\"\uae30\ub9b0 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SKULL: Image\n \"\"\"\ud574\uace8 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n UMBRELLA: Image\n \"\"\"\uc6b0\uc0b0 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SNAKE: Image\n \"\"\"\ubc40 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n SCISSORS: Image\n \"\"\"Scissors image.\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"\ubaa8\ub4e0 CLOCK_ \uc774\ubbf8\uc9c0\ub97c \uc21c\uc11c\ub300\ub85c \ub098\uc5f4\ud55c \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4.\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"\ubaa8\ub4e0 ARROW_ \uc774\ubbf8\uc9c0\ub97c \uc21c\uc11c\ub300\ub85c \ub098\uc5f4\ud55c \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4.\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"\uc5b4\ub5a4 LED\uac00 \ucf1c\uc838\uc788\ub294\uc9c0 \uc124\uba85\ud558\ub294 \ubb38\uc790\uc5f4\ub85c\ubd80\ud130 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4. (string)\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: \uc774\ubbf8\uc9c0\ub97c \uc124\uba85\ud558\ub294 \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"``width`` \uc5f4\uacfc ``height`` \ud589\uc758 \ube44\uc5b4\uc788\ub294 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\n:param width: \uc774\ubbf8\uc9c0 \ub108\ube44(\uc120\ud0dd \uc0ac\ud56d)\n:param height: \uc774\ubbf8\uc9c0 \ub192\uc774(\uc120\ud0dd \uc0ac\ud56d)\n:param buffer: 0~9\uc758 \ubc94\uc704\uc5d0 \uc18d\ud558\ub294 \uc815\uc218\ub85c \uad6c\uc131\ub41c ``width``x``height`` \ubc30\uc5f4 \ub610\ub294 \ubc14\uc774\ud2b8(\uc120\ud0dd \uc0ac\ud56d)\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"\uc5f4\uc758 \uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"\ud589\uc758 \uc218\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"\ud53d\uc140\uc758 \ubc1d\uae30\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: \uc5f4 \ubc88\ud638\n:param y: \ud589 \ubc88\ud638\n:param value: 0(\uc5b4\ub450\uc6c0)\uacfc 9(\ubc1d\uc74c) \uc0ac\uc774\uc758 \uc815\uc218\ub85c \ubc1d\uae30\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"\ud53d\uc140\uc758 \ubc1d\uae30\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: \uc5f4 \ubc88\ud638\n:param y: \ud589 \ubc88\ud638\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc67c\ucabd\uc73c\ub85c \uc62e\uaca8 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: \uc62e\uae38 \uc5f4\uc758 \uc218\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc624\ub978\ucabd\uc73c\ub85c \uc62e\uaca8 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: \uc62e\uae38 \uc5f4\uc758 \uc218\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc704\ub85c \uc62e\uaca8 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: \uc62e\uae38 \ud589\uc758 \uc218\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc544\ub798\ub85c \uc62e\uaca8 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: \uc62e\uae38 \ud589\uc758 \uc218\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"\uc0ac\uc9c4\uc744 \uc798\ub77c \ub0b4 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: \uc790\ub974\uae30 \uc624\ud504\uc14b \uc5f4\n:param y: \uc790\ub974\uae30 \uc624\ud504\uc14b \ud589\n:param w: \uc790\ub974\uae30 \ub108\ube44\n:param h: \uc790\ub974\uae30 \ub192\uc774\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"\uc774\ubbf8\uc9c0\uc640 \ub3d9\uc77c\ud55c \uc0ac\ubcf8\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"\uc18c\uc2a4 \uc774\ubbf8\uc9c0\uc5d0 \uc788\ub294 \ud53d\uc140\uc744 \ubc1d\uae30\ub97c \ubc18\uc804\ud574 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"\uc774\ubbf8\uc9c0\uc758 \ubaa8\ub4e0 \ud53d\uc140\uc758 \ubc1d\uae30\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``my_image.fill(5)``\n\n:param value: \uc0c8\ub85c\uc6b4 \ubc1d\uae30\ub97c 0(\uc5b4\ub450\uc6c0)\uacfc 9(\ubc1d\uae30) \uc0ac\uc774\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"\ub2e4\ub978 \uc774\ubbf8\uc9c0\ub85c\ubd80\ud130 \uc601\uc5ed\uc744 \ubcf5\uc0ac\ud574 \uc774 \uc774\ubbf8\uc9c0\ub85c \uac00\uc838\uc635\ub2c8\ub2e4.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: \uc18c\uc2a4 \uc774\ubbf8\uc9c0\n:param x: \uc18c\uc2a4 \uc774\ubbf8\uc9c0 \ub0b4 \uc2dc\uc791 \uc5f4 \uc624\ud504\uc14b\n:param y: \uc18c\uc2a4 \uc774\ubbf8\uc9c0 \ub0b4 \uc2dc\uc791 \ud589 \uc624\ud504\uc14b\n:param w: \ubcf5\uc0ac\ud560 \uc5f4\uc758 \uc218\n:param h: \ubcf5\uc0ac\ud560 \ud589 \ubc88\ud638\n:param xdest: \uc774 \uc774\ubbf8\uc9c0\uc5d0\uc11c \uc218\uc815\ud560 \uc5f4\uc758 \uc624\ud504\uc14b\n:param ydest: \uc774 \uc774\ubbf8\uc9c0\uc5d0\uc11c \uc218\uc815\ud560 \ud589\uc758 \uc624\ud504\uc14b\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"\uc774\ubbf8\uc9c0\uc5d0 \ud574\ub2f9\ud558\ub294 \ucef4\ud329\ud2b8 \uc2a4\ud2b8\ub9c1\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"\uc774\ubbf8\uc9c0\uc5d0 \ud574\ub2f9\ud558\ub294 \uc77d\uae30 \uac00\ub2a5 \ubb38\uc790\uc5f4\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"\ub450 \uc774\ubbf8\uc9c0\uc758 \uac01 \ud53d\uc140\uc758 \ubc1d\uae30 \uac12\uc744 \ub354\ud574 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: \ub354\ud560 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"\ub450 \uc774\ubbf8\uc9c0\uc758 \uac01 \ud53d\uc140\uc758 \ubc1d\uae30 \uac12\uc744 \ube7c \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: \ube84 \uc774\ubbf8\uc9c0\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"\uac01 \ud53d\uc140\uc758 \ubc1d\uae30 \uac12\uc744 ``n``\ub9cc\ud07c \uacf1\ud574 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: \uacf1\ud560 \uac12\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"\uac01 \ud53d\uc140\uc758 \ubc1d\uae30 \uac12\uc744 ``n``\ub9cc\ud07c \ub098\ub204\uc5b4 \uc0c8\ub85c\uc6b4 \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``Image.HEART / 2``\n\n:param n: \ub098\ub20c \uac12\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"``quiet``\uc5d0\uc11c \ubc15\uc218 \ub610\ub294 \ud568\uc131 \ub4f1 ``loud``\ub85c \uc18c\ub9ac \uc774\ubca4\ud2b8\uc758 \ubcc0\ud654\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4.\"\"\"\n QUIET: SoundEvent\n \"\"\"``loud``\uc5d0\uc11c \ub9d0\uc18c\ub9ac \ub610\ub294 \ubc30\uacbd \uc74c\uc545 \ub4f1 ``quiet``\ub85c \uc18c\ub9ac \uc774\ubca4\ud2b8\uc758 \ubcc0\ud654\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4.\"\"\"\n\nclass Sound:\n \"\"\"``audio.play(Sound.NAME)``\uc744 \uc0ac\uc6a9\ud574 \ub0b4\uc7a5\ub41c \uc18c\ub9ac\ub97c \ud638\ucd9c\ud569\ub2c8\ub2e4.\"\"\"\n GIGGLE: Sound\n \"\"\"\uc6c3\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n HAPPY: Sound\n \"\"\"\ud589\ubcf5\ud574\ud558\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n HELLO: Sound\n \"\"\"\uc778\uc0ac \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n MYSTERIOUS: Sound\n \"\"\"\uc2e0\ube44\ud55c \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n SAD: Sound\n \"\"\"\uc2ac\ud37c\ud558\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n SLIDE: Sound\n \"\"\"\uc2ac\ub77c\uc774\ub4dc \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n SOARING: Sound\n \"\"\"\uc19f\uc544\uc624\ub974\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n SPRING: Sound\n \"\"\"\uc2a4\ud504\ub9c1 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n TWINKLE: Sound\n \"\"\"\ubc18\uc9dd\uc774\ub294 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"\n YAWN: Sound\n \"\"\"\ud558\ud488 \uc18c\ub9ac\uc785\ub2c8\ub2e4.\"\"\"", + "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"micro:bit\uc758 \uac00\uc18d\ub3c4\ub97c \uce21\uc815\ud558\uace0 \uc81c\uc2a4\uccd0\ub97c \uc778\uc2dd\ud569\ub2c8\ub2e4.\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"``x`` \ucd95\uc758 \uac00\uc18d\ub3c4 \uce21\uc815\uac12\uc744 milli-g\ub85c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"``y`` \ucd95\uc758 \uac00\uc18d\ub3c4 \uce21\uc815\uac12\uc744 milli-g\ub85c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"``z`` \ucd95\uc758 \uac00\uc18d\ub3c4 \uce21\uc815\uac12\uc744 milli-g\ub85c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"\ud55c \ubc88\uc5d0 \ubaa8\ub4e0 \ucd95\uc758 \uac00\uc18d\ub3c4 \uce21\uc815\uac12\uc744 \ud29c\ud50c\ub85c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Get the acceleration measurement of all axes combined, as a positive integer. This is the Pythagorean sum of the X, Y and Z axes.\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"\ud604\uc7ac \uc81c\uc2a4\ucc98\uc758 \uc774\ub984\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"\ud574\ub2f9 \uc774\ub984\uc758 \uc81c\uc2a4\ucc98\uac00 \ud604\uc7ac \ud65c\uc131\ud654 \uc0c1\ud0dc\uc778\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \uc81c\uc2a4\uccd0 \uc774\ub984.\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"\ud574\ub2f9 \uc774\ub984\uc758 \uc81c\uc2a4\ucc98\uac00 \ub9c8\uc9c0\ub9c9 \ud638\ucd9c \uc774\ud6c4\ub85c \ud65c\uc131\ud654\ub41c \uc801\uc774 \uc788\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \uc81c\uc2a4\ucc98 \uc774\ub984\uc785\ub2c8\ub2e4.\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"\uc81c\uc2a4\ucc98 \uae30\ub85d\uc758 \ud29c\ud50c\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4.\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Set the accelerometer sensitivity range, in g (standard gravity), to the closest values supported by the hardware, so it rounds to either ``2``, ``4``, or ``8`` g.\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: New range for the accelerometer, an integer in ``g``.\"\"\"", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"micro:bit\uc744 \ud65c\uc6a9\ud574 \uc18c\ub9ac\ub97c \uc7ac\uc0dd\ud569\ub2c8\ub2e4(V1 \ud638\ud658\uc744 \uc704\ud574\uc11c\ub294 ``audio``\ub97c \uac00\uc838\uc624\uc138\uc694).\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Play a built-in sound, sound effect or custom audio frames.\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: A built-in ``Sound`` such as ``Sound.GIGGLE``, a ``SoundEffect`` or sample data as an iterable of ``AudioFrame`` objects.\n:param wait: ``wait``\uc774 ``True``\uc778 \uacbd\uc6b0 \uc0ac\uc6b4\ub4dc \uc7ac\uc0dd\uc774 \uc644\ub8cc\ub420 \ub54c\uae4c\uc9c0 \uc774 \ud568\uc218\uac00 \ucc28\ub2e8\ub429\ub2c8\ub2e4.\n:param pin: (\ud540) ``pin0``\uc758 \uae30\ubcf8\uac12\uc744 \ub36e\uc5b4\uc4f0\ub294 \ub370 \uc0ac\uc6a9\ud560 \ucd9c\ub825 \ud540\uc744 \ud2b9\uc815\ud558\ub294 \uc778\uc790\uc785\ub2c8\ub2e4(\uc120\ud0dd \uc0ac\ud56d). \uc0ac\uc6b4\ub4dc\ub97c \uc7ac\uc0dd\ud558\uace0 \uc2f6\uc9c0 \uc54a\ub2e4\uba74 ``pin=None``\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n:param return_pin: \uc811\uc9c0 \ub300\uc2e0 \uc678\ubd80 \uc2a4\ud53c\ucee4\uc5d0 \uc5f0\uacb0\ud560 \ucc28\ub3d9 \uc5e3\uc9c0 \ucee4\ub125\ud130 \ud540\uc744 \ud2b9\uc815\ud569\ub2c8\ub2e4. **V2** \uc218\uc815 \ubc84\uc804\uc5d0\uc11c\ub294 \ubb34\uc2dc\ud569\ub2c8\ub2e4.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"\uc18c\ub9ac\uac00 \uc7ac\uc0dd \uc911\uc778\uc9c0 \uccb4\ud06c\ud569\ub2c8\ub2e4.\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"\ubaa8\ub4e0 \uc624\ub514\uc624 \ud50c\ub808\uc774\ubc31\uc744 \uc911\uc9c0\ud569\ub2c8\ub2e4.\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"A sound effect, composed by a set of parameters configured via the constructor or attributes.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sine wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Sawtooth wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Triangle wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Square wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise option used for the ``waveform`` parameter.\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Linear interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmic interpolation option used for the ``shape`` parameter.\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"No effect option used for the ``fx`` parameter.\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect option used for the ``fx`` parameter.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect option used for the ``fx`` parameter.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect option used for the ``fx`` parameter.\"\"\"\n freq_start: int\n \"\"\"Start frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n freq_end: int\n \"\"\"End frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n duration: int\n \"\"\"Duration of the sound in milliseconds, a number between ``0`` and ``9999``\"\"\"\n vol_start: int\n \"\"\"Start volume value, a number between ``0`` and ``255``\"\"\"\n vol_end: int\n \"\"\"End volume value, a number between ``0`` and ``255``\"\"\"\n waveform: int\n \"\"\"Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise)\"\"\"\n fx: int\n \"\"\"Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``\"\"\"\n shape: int\n \"\"\"The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Create a new sound effect. (string)\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: Start frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param freq_end: End frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param duration: Duration of the sound in milliseconds, a number between ``0`` and ``9999``.\n:param vol_start: Start volume value, a number between ``0`` and ``255``.\n:param vol_end: End volume value, a number between ``0`` and ``255``.\n:param waveform: Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise).\n:param fx: Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n:param shape: The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Create a copy of this ``SoundEffect``.\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"``AudioFrame`` \uc624\ube0c\uc81d\ud2b8\ub294 \ubd80\ud638 \uc5c6\ub294 \ubc14\uc774\ud2b8 \uc0d8\ud50c 32\uac1c\uc758 \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4(0\uc5d0\uc11c 255 \uc0ac\uc774\uc758 \ubaa8\ub4e0 \uc22b\uc790).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overwrite the data in this ``AudioFrame`` with the data from another ``AudioFrame`` instance.\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: ``AudioFrame`` instance from which to copy the data.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"\ub0b4\uc7a5\ub41c \ub098\uce68\ubc18\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. (\ub098\uce68\ubc18)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"\ubcf4\uc815 \ud504\ub85c\uc138\uc2a4\ub97c \uc2dc\uc791\ud569\ub2c8\ub2e4.\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"\ub098\uce68\ubc18\uc774 \ubcf4\uc815\ub418\uc5c8\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"\ubcf4\uc815\uc744 \ud574\uc81c\ud574 \ub098\uce68\ubc18\uc744 \ubcf4\uc815\ud558\uc9c0 \uc54a\uc740 \uc0c1\ud0dc\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"``x`` \ucd95\uc758 \uc790\uae30\uc7a5 \uac15\ub3c4\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"``y`` \ucd95\uc758 \uc790\uae30\uc7a5 \uac15\ub3c4\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"``z`` \ucd95\uc758 \uc790\uae30\uc7a5 \uac15\ub3c4\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"\ub098\uce68\ubc18\uc758 \ubc29\ud5a5\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"\uc7a5\uce58 \uc8fc\ubcc0\uc758 \uc790\uae30\uc7a5 \uaddc\ubaa8\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", + "/typeshed/stdlib/microbit/display.pyi": "\"\"\"5\u00d75 LED \ub514\uc2a4\ud50c\ub808\uc774\uc5d0 \ud14d\uc2a4\ud2b8, \uc774\ubbf8\uc9c0, \uc560\ub2c8\uba54\uc774\uc158\uc744 \ud45c\uc2dc\ud569\ub2c8\ub2e4.\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"\uc5f4 ``x``\uc640 \ud589 ``y``\uc758 LED\uc758 \ubc1d\uae30\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: \ub514\uc2a4\ud50c\ub808\uc774 \uc5f4(0..4)\n:param y: \ub514\uc2a4\ud50c\ub808\uc774 \ud589(0..4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"\uc5f4 ``x``\uc640 \ud589 ``y``\uc758 LED\uc758 \ubc1d\uae30\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: \ub514\uc2a4\ud50c\ub808\uc774 \uc5f4(0..4)\n:param y: \ub514\uc2a4\ud50c\ub808\uc774 \ud589(0..4)\n:param value: 0(\uaebc\uc9d0)\uacfc 9(\ubc1d\uc74c) \uc0ac\uc774\uc758 \ubc1d\uae30\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"\ubaa8\ub4e0 LED\uc758 \ubc1d\uae30\ub97c 0(\uaebc\uc9d0)\uc73c\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"LED \ub514\uc2a4\ud50c\ub808\uc774\uc5d0 \uc774\ubbf8\uc9c0, \uae00\uc790 \ub610\ub294 \uc22b\uc790\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4.\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: \ud45c\uc2dc\ud560 \ubb38\uc790\uc5f4, \uc22b\uc790, \uc774\ubbf8\uc9c0 \ub610\ub294 \uc774\ubbf8\uc9c0 \ubaa9\ub85d\uc785\ub2c8\ub2e4.\n:param delay: ``delay``\ubc00\ub9ac\ucd08\uc758 \uc9c0\uc5f0 \uc2dc\uac04\uc744 \ub450\uace0 \uac01 \uae00\uc790, \uc22b\uc790 \ub610\ub294 \uc774\ubbf8\uc9c0\uac00 \ud45c\uc2dc\ub429\ub2c8\ub2e4.\n:param wait: ``wait``\uac00 ``True``\uc778 \uacbd\uc6b0 \uc774 \uae30\ub2a5\uc740 \uc560\ub2c8\uba54\uc774\uc158\uc774 \uc885\ub8cc\ub420 \ub54c\uae4c\uc9c0 \ucc28\ub2e8\ub429\ub2c8\ub2e4. \uadf8\ub807\uc9c0 \uc54a\uc740 \uacbd\uc6b0 \uc560\ub2c8\uba54\uc774\uc158\uc774 \ubc31\uadf8\ub77c\uc6b4\ub4dc\uc5d0\uc11c \uc7ac\uc0dd\ub429\ub2c8\ub2e4.\n:param loop: ``loop``\uac00 ``True``\uc778 \uacbd\uc6b0 \uc560\ub2c8\uba54\uc774\uc158\uc774 \ubb34\ud55c \ubc18\ubcf5\ub429\ub2c8\ub2e4.\n:param clear: ``clear``\uac00 ``True``\uc778 \uacbd\uc6b0 \ub514\uc2a4\ud50c\ub808\uc774\ub294 \uc2dc\ud000\uc2a4\uac00 \uc885\ub8cc\ub41c \ud6c4 \ub0b4\uc6a9\uc744 \uc9c0\uc6c1\ub2c8\ub2e4.\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"LED \ub514\uc2a4\ud50c\ub808\uc774\uc758 \uc22b\uc790 \ub610\ub294 \ud14d\uc2a4\ud2b8\ub97c \uc2a4\ud06c\ub864\ud569\ub2c8\ub2e4.\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: \uc2a4\ud06c\ub864\ud560 \ubb38\uc790\uc5f4. \ub9cc\uc57d ``text``\uac00 \uc815\uc218 \ub610\ub294 \ubd80\ub3d9\uc218\uc778 \uacbd\uc6b0 \uba3c\uc800 ``str()``\uc744 \uc0ac\uc6a9\ud574 \ubcc0\ud658\ub429\ub2c8\ub2e4.\n:param delay: ``delay`` \ub9e4\uac1c\ubcc0\uc218\ub294 \ud14d\uc2a4\ud2b8 \uc2a4\ud06c\ub864\ub9c1 \uc18d\ub3c4\ub97c \uc870\uc808\ud569\ub2c8\ub2e4.\n:param wait: ``wait``\uac00 ``True``\uc778 \uacbd\uc6b0 \uc774 \uae30\ub2a5\uc740 \uc560\ub2c8\uba54\uc774\uc158\uc774 \uc885\ub8cc\ub420 \ub54c\uae4c\uc9c0 \ucc28\ub2e8\ub429\ub2c8\ub2e4. \uadf8\ub807\uc9c0 \uc54a\uc740 \uacbd\uc6b0 \uc560\ub2c8\uba54\uc774\uc158\uc774 \ubc31\uadf8\ub77c\uc6b4\ub4dc\uc5d0\uc11c \uc7ac\uc0dd\ub429\ub2c8\ub2e4.\n:param loop: ``loop``\uac00 ``True``\uc778 \uacbd\uc6b0 \uc560\ub2c8\uba54\uc774\uc158\uc774 \ubb34\ud55c \ubc18\ubcf5\ub429\ub2c8\ub2e4.\n:param monospace: ``monospace``\uac00 ``True``\uc778 \uacbd\uc6b0 \uc2a4\ud06c\ub864 \uc911\uc5d0 \ubaa8\ub4e0 \uae00\uc790\ub294 5\uc5f4\uc758 \ud53d\uc140\ub9cc\ud07c\uc758 \ub108\ube44\ub97c \uc18c\ubaa8\ud558\uba70, \uadf8\ub807\uc9c0 \uc54a\uc740 \uacbd\uc6b0 \uae00\uc790 \uc0ac\uc774\uc5d0 \uc815\ud655\ud788 1\uc5f4\uc758 \ud53d\uc140\uc758 \uacf5\ubc31\uc774 \uc874\uc7ac\ud569\ub2c8\ub2e4.\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"LED \ub514\uc2a4\ud50c\ub808\uc774\ub97c \ucf2d\ub2c8\ub2e4.\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"LED \ub514\uc2a4\ud50c\ub808\uc774\ub97c \ub055\ub2c8\ub2e4(\ub514\uc2a4\ud50c\ub808\uc774\ub97c \ube44\ud65c\uc131\ud654\ud558\uba74 GPIO \ud540\uc744 \ub2e4\ub978 \ubaa9\uc801\uc73c\ub85c \uc7ac\uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4).\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"LED \ub514\uc2a4\ud50c\ub808\uc774\uac00 \ud65c\uc131\ud654\ub418\uc5b4\uc788\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"\ubc1d\uae30 \ub808\ubca8\uc744 \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"I\u00b2C \ubc84\uc2a4 \ud504\ub85c\ud1a0\ucf5c\uc744 \uc0ac\uc6a9\ud574 \uae30\uae30\uc640 \ud1b5\uc2e0\ud569\ub2c8\ub2e4.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"\uc8fc\ubcc0 \uc7a5\uce58\ub97c \ub2e4\uc2dc \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.\n\nExample: ``i2c.init()``\n\n:param freq: \ud074\ub7ed \uc9c4\ub3d9\uc218\n:param sda: ``scl`` \ud540(\uae30\ubcf8\uac12 20)\n:param scl: ``scl`` \ud540(\uae30\ubcf8\uac12 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"\ubc84\uc2a4\uc5d0\uc11c \uc7a5\uce58\ub97c \uc2a4\uce94\ud569\ub2c8\ub2e4.\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"\uc7a5\uce58\uc5d0\uc11c \ubc14\uc774\ud2b8 \uac12\uc744 \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: \uc7a5\uce58\uc758 7\ube44\ud2b8 \uc8fc\uc18c\n:param n: \uc77d\uc744 \ubc14\uc774\ud2b8 \uc218\n:param repeat: ``True``\uc778 \uacbd\uc6b0 \uc2a4\ud1b1 \ube44\ud2b8\uac00 \uc804\uc1a1\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"\uc7a5\uce58\uc5d0 \ubc14\uc774\ud2b8\ub97c \uc791\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: \uc7a5\uce58\uc758 7\ube44\ud2b8 \uc8fc\uc18c\n:param buf: \uc791\uc131\ud560 \ubc14\uc774\ud2b8\uac00 \ud3ec\ud568\ub41c \ubc84\ud37c\n:param repeat: ``True``\uc778 \uacbd\uc6b0 \uc2a4\ud1b1 \ube44\ud2b8\uac00 \uc804\uc1a1\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4\"\"\"\n ...", + "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"\ub0b4\uc7a5 \ub9c8\uc774\ud06c\ub97c \uc0ac\uc6a9\ud574 \uc18c\ub9ac\uc5d0 \ubc18\uc751\ud569\ub2c8\ub2e4(V2 \uc804\uc6a9).\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"\ub9c8\uc9c0\ub9c9\uc73c\ub85c \uae30\ub85d\ub41c \uc18c\ub9ac \uc774\ubca4\ud2b8\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"\ub9c8\uc9c0\ub9c9 \ud638\ucd9c \uc774\ud6c4\ub85c \uc18c\ub9ac\uac00 \ub4e4\ub838\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: ``SoundEvent.LOUD`` \ub610\ub294 ``SoundEvent.QUIET`` \ub4f1\uc744 \ud655\uc778\ud558\uae30 \uc704\ud55c \uc774\ubca4\ud2b8\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"\uac00\uc7a5 \ucd5c\uadfc \ud0d0\uc9c0\ub41c \uc18c\ub9ac \uc774\ubca4\ud2b8\ub97c \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: ``SoundEvent.LOUD`` \ub610\ub294 ``SoundEvent.QUIET`` \ub4f1\uc744 \ud655\uc778\ud558\uae30 \uc704\ud55c \uc774\ubca4\ud2b8\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"\uc18c\ub9ac \uc774\ubca4\ud2b8 \uae30\ub85d\uc744 \ud29c\ud50c\ub85c \uac00\uc838\uc635\ub2c8\ub2e4.\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"\uc18c\ub9ac \uc774\ubca4\ud2b8 \uc784\uacc4\uac12\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: ``SoundEvent.LOUD`` \ub610\ub294 ``SoundEvent.QUIET`` \ub4f1\uc758 \uc18c\ub9ac \uc774\ubca4\ud2b8\uc785\ub2c8\ub2e4.\n:param value: 0~255\uc758 \ubc94\uc704\ub85c \ub41c \uc784\uacc4\uac12\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"\uc74c\uc555 \ub808\ubca8\uc744 \ubd88\ub7ec\uc635\ub2c8\ub2e4.\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", + "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"\ub0b4\uc7a5 \uc2a4\ud53c\ucee4\ub97c \uc81c\uc5b4\ud569\ub2c8\ub2e4(V2 \uc804\uc6a9).\"\"\"\n\ndef off() -> None:\n \"\"\"\uc2a4\ud53c\ucee4\ub97c \ub055\ub2c8\ub2e4.\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\uc2a4\ud53c\ucee4\ub97c \ucf2d\ub2c8\ub2e4.\n\nExample: ``speaker.on()``\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"\uc9c1\ub82c \uc8fc\ubcc0 \uc7a5\uce58 \uc778\ud130\ud398\uc774\uc2a4(SPI) \ubc84\uc2a4\ub97c \uc0ac\uc6a9\ud574 \uc7a5\uce58\uc640 \ud1b5\uc2e0\ud569\ub2c8\ub2e4.\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"SPI \ud1b5\uc2e0\uc744 \uc2dc\uc791\ud569\ub2c8\ub2e4. (string)\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: \ud1b5\uc2e0 \uc18d\ub3c4\uc785\ub2c8\ub2e4.\n:param bits: \uac01 \uc804\uc1a1\uc758 \ube44\ud2b8\uc758 \ub108\ube44\uc785\ub2c8\ub2e4. \ud604\uc7ac ``bits=8``\ub9cc \uc9c0\uc6d0\ub418\ub098 \ud5a5\ud6c4 \ubcc0\uacbd\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n:param mode: \ud074\ub7ed \uadf9\uc131\uacfc \ud398\uc774\uc988\uc758 \uc870\ud569\uc744 \uacb0\uc815\ud569\ub2c8\ub2e4. \uc628\ub77c\uc778 \ud14c\uc774\ube14\uc744 \ucc38\uc870\ud558\uc138\uc694 `_.\n:param sclk: sclk \ud540(\uae30\ubcf8\uac12 13)\n:param mosi: mosi \ud540(\uae30\ubcf8\uac12 15)\n:param miso: miso \ud540(\uae30\ubcf8\uac12 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"\ubc14\uc774\ud2b8\ub97c \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``spi.read(64)``\n\n:param nbytes: \uc77d\uc744 \ubc14\uc774\ud2b8\uc758 \ucd5c\ub300 \uc218\uc785\ub2c8\ub2e4.\n:param out: The byte value to write (default 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\ubc84\uc2a4\uc5d0 \ubc14\uc774\ud2b8\ub97c \uc791\uc131\ud569\ub2c8\ub2e4.\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: \ub370\uc774\ud130\ub97c \uc77d\uc744 \ubc84\ud37c\uc785\ub2c8\ub2e4.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"\ubc84\uc2a4\uc5d0 ``out`` \ubc84\ud37c\ub97c \uc791\uc131\ud558\uace0 \ubc1c\uc0dd\ud558\ub294 ``in_`` \ubc84\ud37c\uc758 \ubaa8\ub4e0 \uc751\ub2f5\uc744 \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: \uc751\ub2f5\uc744 \uc791\uc131\ud560 \ubc84\ud37c\uc785\ub2c8\ub2e4.\n:param in_: \ub370\uc774\ud130\ub97c \uc77d\uc744 \ubc84\ud37c\uc785\ub2c8\ub2e4.\"\"\"\n ...", + "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"\uc9c1\ub82c \uc778\ud130\ud398\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud574 \uc7a5\uce58\uc640 \ud1b5\uc2e0\ud569\ub2c8\ub2e4.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"\ud640\uc218 \ud328\ub9ac\ud2f0\"\"\"\nEVEN: int\n\"\"\"\uc9dd\uc218 \ud328\ub9ac\ud2f0\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"\uc9c1\ub82c \ud1b5\uc2e0\uc744 \uc2dc\uc791\ud569\ub2c8\ub2e4. (string)\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: \ud1b5\uc2e0 \uc18d\ub3c4\uc785\ub2c8\ub2e4.\n:param bits: \uc804\uc1a1\ub418\ub294 \ubc14\uc774\ud2b8\uc758 \ud06c\uae30\uc785\ub2c8\ub2e4. micro:bit\ub294 8\ubc14\uc774\ud2b8\ub9cc \uc9c0\uc6d0\ud569\ub2c8\ub2e4.\n:param parity: (\ud328\ub9ac\ud2f0) \ud328\ub9ac\ud2f0\uac00 \uccb4\ud06c\ub418\ub294 \ubc29\uc2dd\uc73c\ub85c ``None``, ``uart.ODD`` \ub610\ub294 ``uart.EVEN``\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.\n:param stop: \uc2a4\ud1b1 \ube44\ud2b8\uc758 \ubc88\ud638\uc785\ub2c8\ub2e4. micro:bit\ub294 1\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.\n:param tx: \uc804\uc1a1\ud558\ub294 \ud540\uc785\ub2c8\ub2e4.\n:param rx: \uc218\uc2e0\ud558\ub294 \ud540\uc785\ub2c8\ub2e4.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"\ub300\uae30 \uc911\uc778 \ub370\uc774\ud130\uac00 \uc788\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"\ubc14\uc774\ud2b8\ub97c \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``uart.read()``\n\n:param nbytes: ``nbytes``\uac00 \ud2b9\uc815\ub418\uc5b4 \uc788\ub2e4\uba74 \ud574\ub2f9 \ubc14\uc774\ud2b8 \uc218\ub9cc\ud07c \uc77d\uc2b5\ub2c8\ub2e4. \ud2b9\uc815\ub418\uc9c0 \uc54a\uc740 \uacbd\uc6b0 \ucd5c\ub300\ud55c \ub9ce\uc740 \ubc14\uc774\ud2b8\ub97c \uc77d\uc2b5\ub2c8\ub2e4.\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"``buf``\ub85c \ubc14\uc774\ud2b8\ub97c \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: \ubc14\uc774\ud2b8\ub97c \uae30\ub85d\ud560 \ubc84\ud37c\uc785\ub2c8\ub2e4.\n:param nbytes: ``nbytes``\uac00 \ud2b9\uc815\ub418\uc5b4 \uc788\ub2e4\uba74 \ud574\ub2f9 \ubc14\uc774\ud2b8 \uc218\ub9cc\ud07c \uc77d\uc2b5\ub2c8\ub2e4. \ud2b9\uc815\ub418\uc9c0 \uc54a\uc740 \uacbd\uc6b0 ``len(buf)``\ubc14\uc774\ud2b8\ub97c \uc77d\uc2b5\ub2c8\ub2e4.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"\uc0c8\ub85c\uc6b4 \uc904 \ubb38\uc790\ub85c \ub05d\ub098\ub294 \uc904\uc744 \uc77d\uc2b5\ub2c8\ub2e4.\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"\ubc84\uc2a4\uc5d0 \ubc84\ud37c\ub97c \uae30\ub85d\ud569\ub2c8\ub2e4.\n\nExample: ``uart.write('hello world')``\n\n:param buf: \ubc14\uc774\ud2b8 \uc624\ube0c\uc81d\ud2b8 \ub610\ub294 \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" } diff --git a/src/micropython/main/typeshed.lol.json b/src/micropython/main/typeshed.lol.json index a1439b3f0..1d7adad66 100644 --- a/src/micropython/main/typeshed.lol.json +++ b/src/micropython/main/typeshed.lol.json @@ -7,23 +7,23 @@ "/typeshed/stdlib/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\n# Re-export for V1 compatibility.\nfrom .microbit.audio import (\n is_playing as is_playing,\n play as play,\n stop as stop,\n AudioFrame as AudioFrame,\n SoundEffect as SoundEffect,\n)\n", "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", - "/typeshed/stdlib/gc.pyi": "\"\"\"Control the garbage collector\"\"\"\n\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"Enable automatic garbage collection.\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"Disable automatic garbage collection.\n\n Heap memory can still be allocated,\n and garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Run a garbage collection.\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Get the number of bytes of heap RAM that are allocated.\n\n :return: The number of bytes allocated.\n\n This function is MicroPython extension.\n \"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Get the number of bytes of available heap RAM, or -1 if this amount is not known.\n\n :return: The number of bytes free.\n\n This function is MicroPython extension.\n \"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Query the additional GC allocation threshold.\n\n :return: The GC allocation threshold.\n\n This function is a MicroPython extension. CPython has a similar\n function - ``set_threshold()``, but due to different GC\n implementations, its signature and semantics are different.\n \"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Set the additional GC allocation threshold.\n\n Normally, a collection is triggered only when a new allocation\n cannot be satisfied, i.e. on an out-of-memory (OOM) condition.\n If this function is called, in addition to OOM, a collection\n will be triggered each time after ``amount`` bytes have been\n allocated (in total, since the previous time such an amount of bytes\n have been allocated). ``amount`` is usually specified as less than the\n full heap size, with the intention to trigger a collection earlier than when the\n heap becomes exhausted, and in the hope that an early collection will prevent\n excessive memory fragmentation. This is a heuristic measure, the effect\n of which will vary from application to application, as well as\n the optimal value of the ``amount`` parameter.\n\n A value of -1 means a disabled allocation threshold.\n\n This function is a MicroPython extension. CPython has a similar\n function - ``set_threshold()``, but due to different GC\n implementations, its signature and semantics are different.\n\n :param amount: The number of bytes after which a garbage collection should be triggered.\n \"\"\"\n ...\n", - "/typeshed/stdlib/log.pyi": "\"\"\"Log data to your micro:bit V2.\"\"\"\n\nfrom typing import Literal, Mapping, Optional, Union, overload\n\nMILLISECONDS = 1\n\"\"\"Milliseconds timestamp format.\"\"\"\n\nSECONDS = 10\n\"\"\"Seconds timestamp format.\"\"\"\n\nMINUTES = 600\n\"\"\"Minutes timestamp format.\"\"\"\n\nHOURS = 36000\n\"\"\"Hours timestamp format.\"\"\"\n\nDAYS = 864000\n\"\"\"Days timestamp format.\"\"\"\n\ndef set_labels(\n *labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]] = SECONDS\n) -> None:\n \"\"\"Set up the log file header.\n\n Example: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\n Ideally this function should be called a single time, before any data is\n logged, to configure the data table header once.\n\n If a log file already exists when the program starts, or if this function\n is called multiple times, it will check the labels already defined in the\n log file. If this function call contains any new labels not already\n present, it will generate a new header row with the additional columns.\n\n By default the first column contains a timestamp for each row. The time\n unit can be selected via the timestamp argument.\n\n :param *labels: Any number of positional arguments, each corresponding to an entry in the log header.\n :param timestamp: Select the timestamp unit that will be automatically added as the first column in every row. Timestamp values can be one of ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` or ``None`` to disable the timestamp. The default value is ``log.SECONDS``.\n \"\"\"\n ...\n\n@overload\ndef add(\n data_dictionary: Optional[Mapping[str, Union[str, int, float]]],\n) -> None:\n \"\"\"Add a data row to the log by passing a dictionary of headers and values.\n\n Example: ``log.add({ 'temp': temperature() })``\n\n Each call to this function adds a row to the log.\n\n New labels not previously specified via the set_labels function, or by a\n previous call to this function, will trigger a new header entry to be added\n to the log with the extra labels.\n\n Labels previously specified and not present in a call to this function will\n be skipped with an empty value in the log row.\n\n :param data_dictionary: The data to log as a dictionary with a key for each header.\n \"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"Add a data row to the log using keyword arguments.\n\n Example: ``log.add(temp=temperature())``\n\n Each call to this function adds a row to the log.\n\n New labels not previously specified via the set_labels function, or by a\n previous call to this function, will trigger a new header entry to be added\n to the log with the extra labels.\n\n Labels previously specified and not present in a call to this function will\n be skipped with an empty value in the log row.\n \"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"Deletes the contents of the log, including headers.\n\n Example: ``log.delete()``\n\n To add the log headers again the ``set_labels`` function should to be called after this function.\n\n There are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\n and \u201cfast\u201d invalidates the data without removing it.\n\n :param full: ``True`` selects a \u201cfull\u201d erase and ``False`` selects the \u201cfast\u201d erase method.\n \"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Configure mirroring of the data logging activity to the serial output.\n\n Example: ``log.set_mirroring(True)``\n\n Serial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n :param serial: ``True`` enables mirroring data to the serial output.\n \"\"\"\n ...\n", + "/typeshed/stdlib/gc.pyi": "\"\"\"crwdns328732:0crwdne328732:0 (crwdns328730:0crwdne328730:0)\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"crwdns328736:0crwdne328736:0 (crwdns328734:0crwdne328734:0)\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"crwdns328740:0crwdne328740:0 (crwdns328738:0crwdne328738:0)\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"crwdns328744:0crwdne328744:0 (crwdns328742:0crwdne328742:0)\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"crwdns328748:0crwdne328748:0 (crwdns328746:0crwdne328746:0)\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"crwdns328752:0crwdne328752:0 (crwdns328750:0crwdne328750:0)\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"crwdns328756:0crwdne328756:0 (crwdns328754:0crwdne328754:0)\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"crwdns328760:0crwdne328760:0 (crwdns328758:0crwdne328758:0)\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: (crwdns328762:0crwdne328762:0) crwdns328764:0crwdne328764:0\"\"\"\n ...", + "/typeshed/stdlib/log.pyi": "\"\"\"crwdns328768:0crwdne328768:0 (crwdns328766:0crwdne328766:0)\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"crwdns328772:0crwdne328772:0 (crwdns328770:0crwdne328770:0)\"\"\"\nSECONDS = 10\n\"\"\"crwdns328776:0crwdne328776:0 (crwdns328774:0crwdne328774:0)\"\"\"\nMINUTES = 600\n\"\"\"crwdns328780:0crwdne328780:0 (crwdns328778:0crwdne328778:0)\"\"\"\nHOURS = 36000\n\"\"\"crwdns328784:0crwdne328784:0 (crwdns328782:0crwdne328782:0)\"\"\"\nDAYS = 864000\n\"\"\"crwdns328788:0crwdne328788:0 (crwdns328786:0crwdne328786:0)\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"crwdns328792:0crwdne328792:0 (crwdns328790:0crwdne328790:0)\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: (crwdns335772:0crwdne335772:0) crwdns335774:0crwdne335774:0\n:param timestamp: (crwdns328798:0crwdne328798:0) crwdns335776:0``log.MILLISECONDS``crwdnd335776:0``log.SECONDS``crwdnd335776:0``log.MINUTES``crwdnd335776:0``log.HOURS``crwdnd335776:0``log.DAYS``crwdnd335776:0``None``crwdnd335776:0``log.SECONDS``crwdne335776:0\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"crwdns328804:0crwdne328804:0 (crwdns328802:0crwdne328802:0)\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: (crwdns335778:0crwdne335778:0) crwdns335780:0crwdne335780:0\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"crwdns328812:0crwdne328812:0 (crwdns328810:0crwdne328810:0)\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"crwdns328816:0crwdne328816:0 (crwdns328814:0crwdne328814:0)\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: (crwdns328818:0crwdne328818:0) crwdns335782:0``True``crwdnd335782:0``False``crwdne335782:0\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"crwdns335784:0crwdne335784:0 (crwdns328822:0crwdne328822:0)\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: (crwdns328826:0crwdne328826:0) crwdns335786:0``True``crwdne335786:0\"\"\"\n ...", "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", - "/typeshed/stdlib/machine.pyi": "\"\"\"Low-level utilities.\n\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"Get a byte string with a unique identifier of a board.\n\n Example: ``machine.unique_id()``\n\n :return: An identifier that varies from one board instance to another.\n \"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset the device in a manner similar to pushing the external RESET button.\n\n Example: ``machine.reset()``\n \"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"Get the CPU frequency in hertz.\n\n Example: ``machine.freq()``\n\n :return: The CPU frequency.\n \"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"Disable interrupt requests.\n\n Example: ``interrupt_state = machine.disable_irq()``\n\n :return: the previous IRQ state which should be considered an opaque value\n\n The return value should be passed to the ``enable_irq`` function to restore\n interrupts to their original state.\n \"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"Re-enable interrupt requests.\n\n Example: ``machine.enable_irq(interrupt_state)``\n\n :param state: The value that was returned from the most recent call to the ``disable_irq`` function.\n \"\"\"\n ...\n\ndef time_pulse_us(\n pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int = 1000000\n) -> int:\n \"\"\"Time a pulse on a pin.\n\n Example: ``time_pulse_us(pin0, 1)``\n\n If the current input value of the pin is different to ``pulse_level``, the\n function first waits until the pin input becomes equal to\n ``pulse_level``, then times the duration that the pin is equal to\n ``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\n starts straight away.\n\n :param pin: The pin to use\n :param pulse_level: 0 to time a low pulse or 1 to time a high pulse\n :param timeout_us: A microsecond timeout\n :return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\n \"\"\"\n ...\n\nclass mem:\n \"\"\"The class for the ``mem8``, ``mem16`` and ``mem32`` memory views.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Access a value from memory.\n\n :param address: The memory address.\n :return: The value at that address as an integer.\n \"\"\"\n ...\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"Set a value at the given address.\n\n :param address: The memory address.\n :param value: The integer value to set.\n \"\"\"\n ...\n\nmem8: mem\n\"\"\"8-bit (byte) view of memory.\"\"\"\n\nmem16: mem\n\"\"\"16-bit view of memory.\"\"\"\n\nmem32: mem\n\"\"\"32-bit view of memory.\"\"\"\n", - "/typeshed/stdlib/math.pyi": "\"\"\"Mathematical functions.\n\"\"\"\n\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Calculate the inverse cosine.\n\n Example: ``math.acos(1)``\n\n :param x: A number\n :return: The inverse cosine of ``x``\n \"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Calculate the inverse sine.\n\n Example: ``math.asin(0)``\n\n :param x: A number\n :return: The inverse sine of ``x``\n \"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Calculate the inverse tangent.\n\n Example: ``math.atan(0)``\n\n :param x: A number\n :return: The inverse tangent of ``x``\n \"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Calculate the principal value of the inverse tangent of ``y/x``.\n\n Example: ``math.atan2(0, -1)``\n\n :param y: A number\n :param x: A number\n :return: The principal value of the inverse tangent of ``y/x``\n \"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Round a number towards positive infinity.\n\n Example: ``math.ceil(0.1)``\n\n :param x: A number\n :return: ``x`` rounded towards positive infinity.\n \"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Calculate ``x`` with the sign of ``y``.\n\n Example: ``math.copysign(1, -1)``\n\n :param x: A number\n :param y: The source of the sign for the return value\n :return: ``x`` with the sign of ``y``\n \"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Calculate the cosine of ``x``.\n\n Example: ``math.cos(0)``\n\n :param x: A number\n :return: The cosine of ``x``\n \"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Convert radians to degrees.\n\n Example: ``math.degrees(2 * math.pi)``\n\n :param x: A value in radians\n :return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Calculate the exponential of ``x``.\n\n Example: ``math.exp(1)``\n\n :param x: A number\n :return: The exponential of ``x``.\n \"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Return the absolute value of ``x``.\n\n Example: ``math.fabs(-0.1)``\n\n :param x: A number\n :return: The absolute value of ``x``\n \"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Round a number towards negative infinity.\n\n Example: ``math.floor(0.9)``\n\n :param x: A number\n :return: ``x`` rounded towards negative infinity.\n \"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Calculate the remainder of ``x/y``.\n\n Example: ``math.fmod(10, 3)``\n\n :param x: The numerator\n :param y: The denominator\n \"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Decomposes a floating-point number into its mantissa and exponent.\n\n Example: ``mantissa, exponent = math.frexp(2)``\n\n The returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\n exactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\n the relation ``0.5 <= abs(m) < 1`` holds.\n\n :param x: A floating-point number\n :return: A tuple of length two containing its mantissa then exponent\n \"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"Check if a value is finite.\n\n Example: ``math.isfinite(float('inf'))``\n\n :param x: A number.\n :return: ``True`` if ``x`` is finite, ``False`` otherwise.\n \"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"Check if a value is infinite.\n\n Example: ``math.isinf(float('-inf'))``\n\n :param x: A number.\n :return: ``True`` if ``x`` is infinite, ``False`` otherwise.\n \"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Check if a value is not-a-number (NaN).\n\n Example: ``math.isnan(float('nan'))``\n\n :param x: A number\n :return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Calculate ``x * (2**exp)``.\n\n Example: ``math.ldexp(0.5, 2)``\n\n :param x: A number\n :param exp: Integer exponent\n :return: ``x * (2**exp)``\n \"\"\"\n ...\n\ndef log(x: float, base: float = e) -> float:\n \"\"\"Calculate the logarithm of ``x`` to the given base (defaults to natural logorithm).\n\n Example: ``math.log(math.e)``\n\n With one argument, return the natural logarithm of x (to base e).\n\n With two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n :param x: A number\n :param base: The base to use\n :return: The natural logarithm of ``x``\n \"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Calculate the fractional and integral parts of ``x``.\n\n Example: ``fractional, integral = math.modf(1.5)``\n\n :param x: A number\n :return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\n Both the fractional and integral values have the same sign as ``x``.\n \"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Returns ``x`` to the power of ``y``.\n\n Example: ``math.pow(4, 0.5)``\n\n :param x: A number\n :param y: The exponent\n :return: ``x`` to the power of ``y``\n \"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Convert a degrees to radians.\n\n Example: ``math.radians(360)``\n\n :param x: A value in degrees\n :return: The value converted to radians\n \"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Calculate the sine of ``x``.\n\n Example: ``math.sin(math.pi/2)``\n\n :param x: A number\n :return: The sine of ``x``\n \"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Calculate the square root of ``x``.\n\n Example: ``math.sqrt(4)``\n\n :param x: A number\n :return: The square root of ``x``\n \"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Calculate the tangent of ``x``.\n\n Example: ``math.tan(0)``\n\n :param x: A number\n :return: The tangent of ``x``.\n \"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Round a number towards 0.\n\n Example: ``math.trunc(-0.9)``\n\n :param x: A number\n :return: ``x`` rounded towards zero.\n \"\"\"\n ...\n\ne: float\n\"\"\"Base of the natural logarithm\"\"\"\n\npi: float\n\"\"\"The ratio of a circle's circumference to its diameter\"\"\"\n", - "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython internals.\"\"\"\n\nfrom typing import Any, TypeVar, overload\n\n_T = TypeVar(\"_T\")\n\ndef const(expr: _T) -> _T:\n \"\"\"Used to declare that the expression is a constant so that the compiler can\n optimise it.\n\n The use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\n Constants declared this way are still accessible as global variables from\n outside the module they are declared in. On the other hand, if a constant\n begins with an underscore then it is hidden, it is not available as a\n global variable, and does not take up any memory during execution.\n\n :param expr: A constant expression.\n \"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Get the current optimisation level for the compilation of scripts.\n\n Example: ``micropython.opt_level()``\n\n The optimisation level controls the following compilation features:\n\n - Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n - Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n - Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n :return: An integer representing the current level.\n \"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Sets the optimisation level for subsequent compilation of scripts.\n\n Example: ``micropython.opt_level(1)``\n\n The optimisation level controls the following compilation features:\n\n - Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n - Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n - Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n The default optimisation level is usually level 0.\n\n :param level: An integer optimisation level.\n \"\"\"\n ...\n\ndef mem_info(verbose: Any = None) -> None:\n \"\"\"Print information about currently used memory.\n\n Example: ``micropython.mem_info()``\n\n :param verbose: If the ``verbose`` argument is given then extra information is printed.\n \"\"\"\n ...\n\ndef qstr_info(verbose: Any = None) -> None:\n \"\"\"Print information about currently interned strings.\n\n Example: ``micropython.qstr_info()``\n\n :param verbose: If the ``verbose`` argument is given then extra information is printed.\n\n The information that is printed is implementation dependent, but currently\n includes the number of interned strings and the amount of RAM they use. In\n verbose mode it prints out the names of all RAM-interned strings.\n \"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Return an integer representing the current amount of stack that is being\n used.\n\n Example: ``micropython.stack_use()``\n\n The absolute value of this is not particularly useful, rather it\n should be used to compute differences in stack usage at different points.\n\n :return: An integer representing current stack use.\n \"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Lock the heap.\n\n Example: ``micropython.heap_lock()``\n\n When locked no memory allocation can occur and a ``MemoryError`` will be\n raised if any heap allocation is attempted.\n \"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Unlock the heap.\n\n Example: ``micropython.heap_unlock()``\n\n When locked no memory allocation can occur and a ``MemoryError`` will be\n raised if any heap allocation is attempted.\n \"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Set the character that will raise a ``KeyboardInterrupt`` exception.\n\n Example: ``micropython.kbd_intr(-1)``\n\n :param chr: Character code to raise the interrupt or -1 to disable capture of Ctrl-C.\n\n By default this is set to 3 during script execution, corresponding to Ctrl-C.\n Passing -1 to this function will disable capture of Ctrl-C, and passing 3\n will restore it.\n\n This function can be used to prevent the capturing of Ctrl-C on the\n incoming stream of characters that is usually used for the REPL, in case\n that stream is used for other purposes.\n \"\"\"\n ...\n", - "/typeshed/stdlib/music.pyi": "\"\"\"Create and play melodies.\n\"\"\"\nfrom typing import Optional, Tuple, Union, List\n\nfrom .microbit import MicroBitDigitalPin, pin0\n\nDADADADUM: Tuple[str, ...]\n\"\"\"Melody: the opening to Beethoven\u2019s 5th Symphony in C minor.\"\"\"\n\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melody: the opening fragment of Scott Joplin\u2019s Ragtime classic \u201cThe Entertainer\u201d.\"\"\"\n\nPRELUDE: Tuple[str, ...]\n\"\"\"Melody: the opening of the first Prelude in C Major of J.S.Bach\u2019s 48 Preludes and Fugues.\"\"\"\n\nODE: Tuple[str, ...]\n\"\"\"Melody: the \u201cOde to Joy\u201d theme from Beethoven\u2019s 9th Symphony in D minor.\"\"\"\n\nNYAN: Tuple[str, ...]\n\"\"\"Melody: the Nyan Cat theme (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\n\nRINGTONE: Tuple[str, ...]\n\"\"\"Melody: something that sounds like a mobile phone ringtone.\n\nTo be used to indicate an incoming message.\n\"\"\"\n\nFUNK: Tuple[str, ...]\n\"\"\"Melody: a funky bass line for secret agents and criminal masterminds.\"\"\"\n\nBLUES: Tuple[str, ...]\n\"\"\"Melody: a boogie-woogie 12-bar blues walking bass.\"\"\"\n\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melody: \u201cHappy Birthday to You\u2026\u201d\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\n\nWEDDING: Tuple[str, ...]\n\"\"\"Melody: the bridal chorus from Wagner\u2019s opera \u201cLohengrin\u201d.\"\"\"\n\nFUNERAL: Tuple[str, ...]\n\"\"\"Melody: the \u201cfuneral march\u201d otherwise known as Fr\u00e9d\u00e9ric Chopin\u2019s Piano Sonata No. 2 in B\u266d minor, Op. 35.\"\"\"\n\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melody: a fun fragment that signifies a joke has been made.\"\"\"\n\nPYTHON: Tuple[str, ...]\n\"\"\"Melody: John Philip Sousa\u2019s march \u201cLiberty Bell\u201d aka, the theme for \u201cMonty Python\u2019s Flying Circus\u201d (after which the Python programming language is named).\"\"\"\n\nBADDY: Tuple[str, ...]\n\"\"\"Melody: silent movie era entrance of a baddy.\"\"\"\n\nCHASE: Tuple[str, ...]\n\"\"\"Melody: silent movie era chase scene.\"\"\"\n\nBA_DING: Tuple[str, ...]\n\"\"\"Melody: a short signal to indicate something has happened.\"\"\"\n\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melody: a very sad trombone.\"\"\"\n\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melody: for use in a game, indicating upward movement.\"\"\"\n\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melody: for use in a game, indicating downward movement.\"\"\"\n\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melody: a fanfare to indicate an achievement unlocked.\"\"\"\n\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melody: a sad fanfare to indicate an achievement lost.\"\"\"\n\ndef set_tempo(ticks: int = 4, bpm: int = 120) -> None:\n \"\"\"Sets the approximate tempo for playback.\n\n Example: ``music.set_tempo(bpm=120)``\n\n :param ticks: The number of ticks constituting a beat.\n :param bpm: An integer determining how many beats per minute.\n\n Suggested default values allow the following useful behaviour:\n\n - music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n - music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n - music.set_tempo(bpm=180) \u2013 just change the tempo\n\n To work out the length of a tick in milliseconds is very simple arithmetic:\n 60000/bpm/ticks_per_beat. For the default values that\u2019s\n 60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\n \"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Gets the current tempo as a tuple of integers: ``(ticks, bpm)``.\n\n Example: ``ticks, beats = music.get_tempo()``\n\n :return: The temp as a tuple with two integer values, the ticks then the beats per minute.\n \"\"\"\n ...\n\ndef play(\n music: Union[str, List[str], Tuple[str, ...]],\n pin: Optional[MicroBitDigitalPin] = pin0,\n wait: bool = True,\n loop: bool = False,\n) -> None:\n \"\"\"Plays music.\n\n Example: ``music.play(music.NYAN)``\n\n :param music: music specified in `a special notation `_\n :param pin: the output pin for use with an external speaker (default ``pin0``), ``None`` for no sound.\n :param wait: If ``wait`` is set to ``True``, this function is blocking.\n :param loop: If ``loop`` is set to ``True``, the tune repeats until ``stop`` is called or the blocking call is interrupted.\n\n Many built-in melodies are defined in this module.\n \"\"\"\n ...\n\ndef pitch(\n frequency: int,\n duration: int = -1,\n pin: Optional[MicroBitDigitalPin] = pin0,\n wait: bool = True,\n) -> None:\n \"\"\"Play a note.\n\n Example: ``music.pitch(185, 1000)``\n\n :param frequency: An integer frequency\n :param duration: A millisecond duration. If negative then sound is continuous until the next call or a call to ``stop``.\n :param pin: Optional output pin (default ``pin0``).\n :param wait: If ``wait`` is set to ``True``, this function is blocking.\n\n For example, if the frequency is set to 440 and the length to\n 1000 then we hear a standard concert A for one second.\n\n You can only play one pitch on one pin at any one time.\n \"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin] = pin0) -> None:\n \"\"\"Stops all music playback on the built-in speaker and any pin outputting sound.\n\n Example: ``music.stop()``\n\n :param pin: An optional argument can be provided to specify a pin, e.g. ``music.stop(pin1)``.\n \"\"\"\n\ndef reset() -> None:\n \"\"\"Resets ticks, bpm, duration and octave to their default values.\n\n Example: ``music.reset()``\n\n Values:\n - ``ticks = 4``\n - ``bpm = 120``\n - ``duration = 4``\n - ``octave = 4``\n \"\"\"\n ...\n", - "/typeshed/stdlib/neopixel.pyi": "\"\"\"Individually addressable RGB and RGBW LED strips.\n\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int = 3) -> None:\n \"\"\"Initialise a new strip of neopixel LEDs controlled via a pin.\n\n Example: ``np = neopixel.NeoPixel(pin0, 8)``\n\n To support RGBW neopixels, a third argument can be passed to\n ``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\n For RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\n Each pixel is addressed by a position (starting from 0). Neopixels are\n given RGB (red, green, blue) / RGBW (red, green, blue, white) values\n between 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\n white. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\n See `the online docs `_ for warnings and other advice.\n\n :param pin: The pin controlling the neopixel strip.\n :param n: The number of neopixels in the strip.\n :param bpp: Bytes per pixel. For RGBW neopixel support, pass 4 rather than the default of 3 for RGB and GRB.\n \"\"\"\n ...\n def clear(self) -> None:\n \"\"\"Clear all the pixels.\n\n Example: ``np.clear()``\n \"\"\"\n ...\n def show(self) -> None:\n \"\"\"Show the pixels.\n\n Example: ``np.show()``\n\n Must be called for any updates to become visible.\n \"\"\"\n ...\n def write(self) -> None:\n \"\"\"Show the pixels (micro:bit V2 only).\n\n Example: ``np.write()``\n\n Must be called for any updates to become visible.\n\n Equivalent to ``show``.\n \"\"\"\n ...\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Colour all pixels a given RGB/RGBW value (micro:bit V2 only).\n\n Example: ``np.fill((0, 0, 255))``\n\n :param colour: A tuple of the same length as the number of bytes per pixel (bpp).\n\n Use in conjunction with ``show()`` to update the neopixels.\n \"\"\"\n ...\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Set a pixel colour.\n\n Example: ``np[0] = (255, 0, 0)``\n\n :param key: The pixel number.\n :param value: The colour.\n \"\"\"\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Get a pixel colour.\n\n Example: ``r, g, b = np[0]``\n\n :param key: The pixel number.\n :return: The colour tuple.\n \"\"\"\n def __len__(self) -> int:\n \"\"\"Get length of this pixel strip.\n\n Example: ``len(np)``\n \"\"\"\n", - "/typeshed/stdlib/os.pyi": "\"\"\"Access the file system.\n\"\"\"\n\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"List files.\n\n Example: ``os.listdir()``\n\n :return: A list of the names of all the files contained within the local\n persistent on-device file system.\n \"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Remove (delete) a file.\n\n Example: ``os.remove('data.txt')``\n\n :param filename: The file to delete.\n\n If the file does not exist an ``OSError`` exception will occur.\n \"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Returns the size of a file.\n\n Example: ``os.size('data.txt')``\n\n :param filename: The file\n :return: The size in bytes.\n\n If the file does not exist an ``OSError`` exception will occur.\n \"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Result of ``os.uname()``\"\"\"\n sysname: str\n \"\"\"Operating system name.\"\"\"\n\n nodename: str\n \"\"\"Name of machine on network (implementation-defined).\"\"\"\n\n release: str\n \"\"\"Operating system release.\"\"\"\n \n version: str\n \"\"\"Operating system version.\"\"\"\n \n machine: str\n \"\"\"Hardware identifier.\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Returns information identifying the current operating system.\n\n Example: ``os.uname()``\n\n The return value is an object with five attributes:\n\n - ``sysname`` - operating system name\n - ``nodename`` - name of machine on network (implementation-defined)\n - ``release`` - operating system release\n - ``version`` - operating system version\n - ``machine`` - hardware identifier\n\n There is no underlying operating system in MicroPython. As a result the\n information returned by the ``uname`` function is mostly useful for\n versioning details.\n \"\"\"\n ...\n", + "/typeshed/stdlib/machine.pyi": "\"\"\"crwdns328832:0crwdne328832:0 (crwdns328830:0crwdne328830:0)\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"crwdns328836:0crwdne328836:0 (crwdns328834:0crwdne328834:0)\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"crwdns328840:0crwdne328840:0 (crwdns328838:0crwdne328838:0)\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"crwdns328844:0crwdne328844:0 (crwdns328842:0crwdne328842:0)\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"crwdns328848:0crwdne328848:0 (crwdns328846:0crwdne328846:0)\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"crwdns328852:0crwdne328852:0 (crwdns328850:0crwdne328850:0)\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: (crwdns328854:0crwdne328854:0) crwdns328856:0``disable_irq``crwdne328856:0\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"crwdns328860:0crwdne328860:0 (crwdns328858:0crwdne328858:0)\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: (crwdns328862:0crwdne328862:0) crwdns328864:0crwdne328864:0\n:param pulse_level: (crwdns328866:0crwdne328866:0) crwdns328868:0crwdne328868:0\n:param timeout_us: (crwdns328870:0crwdne328870:0) crwdns328872:0crwdne328872:0\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"crwdns328876:0``mem8``crwdnd328876:0``mem16``crwdnd328876:0``mem32``crwdne328876:0 (crwdns328874:0crwdne328874:0)\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"crwdns328880:0crwdne328880:0 (crwdns328878:0crwdne328878:0)\n\n:param address: (crwdns328882:0crwdne328882:0) crwdns328884:0crwdne328884:0\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"crwdns328888:0crwdne328888:0 (crwdns328886:0crwdne328886:0)\n\n:param address: (crwdns328890:0crwdne328890:0) crwdns328892:0crwdne328892:0\n:param value: (crwdns328894:0crwdne328894:0) crwdns328896:0crwdne328896:0\"\"\"\n ...\nmem8: mem\n\"\"\"crwdns328900:0crwdne328900:0 (crwdns328898:0crwdne328898:0)\"\"\"\nmem16: mem\n\"\"\"crwdns328904:0crwdne328904:0 (crwdns328902:0crwdne328902:0)\"\"\"\nmem32: mem\n\"\"\"crwdns328908:0crwdne328908:0 (crwdns328906:0crwdne328906:0)\"\"\"", + "/typeshed/stdlib/math.pyi": "\"\"\"crwdns328912:0crwdne328912:0 (crwdns328910:0crwdne328910:0)\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"crwdns328916:0crwdne328916:0 (crwdns328914:0crwdne328914:0)\n\nExample: ``math.acos(1)``\n\n:param x: (crwdns328918:0crwdne328918:0) crwdns328920:0crwdne328920:0\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"crwdns328924:0crwdne328924:0 (crwdns328922:0crwdne328922:0)\n\nExample: ``math.asin(0)``\n\n:param x: (crwdns328926:0crwdne328926:0) crwdns328928:0crwdne328928:0\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"crwdns328932:0crwdne328932:0 (crwdns328930:0crwdne328930:0)\n\nExample: ``math.atan(0)``\n\n:param x: (crwdns328934:0crwdne328934:0) crwdns328936:0crwdne328936:0\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"crwdns328940:0``y/x``crwdne328940:0 (crwdns328938:0crwdne328938:0)\n\nExample: ``math.atan2(0, -1)``\n\n:param y: (crwdns328942:0crwdne328942:0) crwdns328944:0crwdne328944:0\n:param x: (crwdns328942:0crwdne328942:0) crwdns328944:0crwdne328944:0\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"crwdns328952:0crwdne328952:0 (crwdns328950:0crwdne328950:0)\n\nExample: ``math.ceil(0.1)``\n\n:param x: (crwdns328954:0crwdne328954:0) crwdns328956:0crwdne328956:0\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"crwdns328960:0``x``crwdnd328960:0``y``crwdne328960:0 (crwdns328958:0crwdne328958:0)\n\nExample: ``math.copysign(1, -1)``\n\n:param x: (crwdns328962:0crwdne328962:0) crwdns328964:0crwdne328964:0\n:param y: (crwdns328966:0crwdne328966:0) crwdns328968:0crwdne328968:0\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"crwdns328972:0``x``crwdne328972:0 (crwdns328970:0crwdne328970:0)\n\nExample: ``math.cos(0)``\n\n:param x: (crwdns328974:0crwdne328974:0) crwdns328976:0crwdne328976:0\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"crwdns328980:0crwdne328980:0 (crwdns328978:0crwdne328978:0)\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: (crwdns328982:0crwdne328982:0) crwdns328984:0crwdne328984:0\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"crwdns328988:0``x``crwdne328988:0 (crwdns328986:0crwdne328986:0)\n\nExample: ``math.exp(1)``\n\n:param x: (crwdns328990:0crwdne328990:0) crwdns328992:0crwdne328992:0\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"crwdns328996:0``x``crwdne328996:0 (crwdns328994:0crwdne328994:0)\n\nExample: ``math.fabs(-0.1)``\n\n:param x: (crwdns328998:0crwdne328998:0) crwdns329000:0crwdne329000:0\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"crwdns329004:0crwdne329004:0 (crwdns329002:0crwdne329002:0)\n\nExample: ``math.floor(0.9)``\n\n:param x: (crwdns329006:0crwdne329006:0) crwdns329008:0crwdne329008:0\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"crwdns329012:0``x/y``crwdne329012:0 (crwdns329010:0crwdne329010:0)\n\nExample: ``math.fmod(10, 3)``\n\n:param x: (crwdns329014:0crwdne329014:0) crwdns329016:0crwdne329016:0\n:param y: (crwdns329018:0crwdne329018:0) crwdns329020:0crwdne329020:0\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"crwdns329024:0crwdne329024:0 (crwdns329022:0crwdne329022:0)\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: (crwdns329026:0crwdne329026:0) crwdns329028:0crwdne329028:0\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"crwdns329032:0crwdne329032:0 (crwdns329030:0crwdne329030:0)\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: (crwdns329034:0crwdne329034:0) crwdns329036:0crwdne329036:0\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"crwdns329040:0crwdne329040:0 (crwdns329038:0crwdne329038:0)\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: (crwdns329042:0crwdne329042:0) crwdns329044:0crwdne329044:0\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"crwdns329048:0crwdne329048:0 (crwdns329046:0crwdne329046:0)\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: (crwdns329050:0crwdne329050:0) crwdns329052:0crwdne329052:0\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"crwdns329056:0crwdne329056:0 (crwdns329054:0crwdne329054:0)\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: (crwdns329062:0crwdne329062:0) crwdns329064:0crwdne329064:0\n:param exp: (crwdns329058:0crwdne329058:0) crwdns329060:0crwdne329060:0\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"crwdns329068:0``x``crwdne329068:0 (crwdns329066:0crwdne329066:0)\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: (crwdns329074:0crwdne329074:0) crwdns329076:0crwdne329076:0\n:param base: (crwdns329070:0crwdne329070:0) crwdns329072:0crwdne329072:0\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"crwdns329080:0``x``crwdne329080:0 (crwdns329078:0crwdne329078:0)\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: (crwdns329082:0crwdne329082:0) crwdns329084:0crwdne329084:0\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"crwdns329088:0``x``crwdnd329088:0``y``crwdne329088:0 (crwdns329086:0crwdne329086:0)\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: (crwdns329090:0crwdne329090:0) crwdns329092:0crwdne329092:0\n:param y: (crwdns329094:0crwdne329094:0) crwdns329096:0crwdne329096:0\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"crwdns329100:0crwdne329100:0 (crwdns329098:0crwdne329098:0)\n\nExample: ``math.radians(360)``\n\n:param x: (crwdns329102:0crwdne329102:0) crwdns329104:0crwdne329104:0\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"crwdns329108:0``x``crwdne329108:0 (crwdns329106:0crwdne329106:0)\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: (crwdns329110:0crwdne329110:0) crwdns329112:0crwdne329112:0\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"crwdns329116:0``x``crwdne329116:0 (crwdns329114:0crwdne329114:0)\n\nExample: ``math.sqrt(4)``\n\n:param x: (crwdns329118:0crwdne329118:0) crwdns329120:0crwdne329120:0\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"crwdns329124:0``x``crwdne329124:0 (crwdns329122:0crwdne329122:0)\n\nExample: ``math.tan(0)``\n\n:param x: (crwdns329126:0crwdne329126:0) crwdns329128:0crwdne329128:0\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"crwdns329132:0crwdne329132:0 (crwdns329130:0crwdne329130:0)\n\nExample: ``math.trunc(-0.9)``\n\n:param x: (crwdns329134:0crwdne329134:0) crwdns329136:0crwdne329136:0\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"crwdns329140:0crwdne329140:0 (crwdns329138:0crwdne329138:0)\"\"\"\npi: float\n\"\"\"crwdns329144:0crwdne329144:0 (crwdns329142:0crwdne329142:0)\"\"\"", + "/typeshed/stdlib/micropython.pyi": "\"\"\"crwdns330388:0crwdne330388:0 (crwdns330386:0crwdne330386:0)\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"crwdns330392:0crwdne330392:0 (crwdns330390:0crwdne330390:0)\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: (crwdns330394:0crwdne330394:0) crwdns330396:0crwdne330396:0\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"crwdns330400:0crwdne330400:0 (crwdns330398:0crwdne330398:0)\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"crwdns330404:0crwdne330404:0 (crwdns330402:0crwdne330402:0)\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: (crwdns330406:0crwdne330406:0) crwdns330408:0crwdne330408:0\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"crwdns330412:0crwdne330412:0 (crwdns330410:0crwdne330410:0)\n\nExample: ``micropython.mem_info()``\n\n:param verbose: (crwdns330414:0crwdne330414:0) crwdns330416:0``verbose``crwdne330416:0\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"crwdns330420:0crwdne330420:0 (crwdns330418:0crwdne330418:0)\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: (crwdns330422:0crwdne330422:0) crwdns330424:0``verbose``crwdne330424:0\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"crwdns330428:0crwdne330428:0 (crwdns330426:0crwdne330426:0)\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"crwdns330432:0crwdne330432:0 (crwdns330430:0crwdne330430:0)\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"crwdns330436:0crwdne330436:0 (crwdns330434:0crwdne330434:0)\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"crwdns330440:0``KeyboardInterrupt``crwdne330440:0 (crwdns330438:0crwdne330438:0)\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: (crwdns330442:0crwdne330442:0) crwdns330444:0crwdne330444:0\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", + "/typeshed/stdlib/music.pyi": "\"\"\"crwdns330448:0crwdne330448:0 (crwdns330446:0crwdne330446:0)\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"crwdns330452:0crwdne330452:0 (crwdns330450:0crwdne330450:0)\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"crwdns330456:0crwdne330456:0 (crwdns330454:0crwdne330454:0)\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"crwdns330460:0crwdne330460:0 (crwdns330458:0crwdne330458:0)\"\"\"\nODE: Tuple[str, ...]\n\"\"\"crwdns330464:0crwdne330464:0 (crwdns330462:0crwdne330462:0)\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"crwdns330468:0crwdne330468:0 (crwdns330466:0crwdne330466:0)\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"crwdns330472:0crwdne330472:0 (crwdns330470:0crwdne330470:0)\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"crwdns330476:0crwdne330476:0 (crwdns330474:0crwdne330474:0)\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"crwdns330480:0crwdne330480:0 (crwdns330478:0crwdne330478:0)\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"crwdns330484:0crwdne330484:0 (crwdns330482:0crwdne330482:0)\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"crwdns330488:0crwdne330488:0 (crwdns330486:0crwdne330486:0)\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"crwdns330492:0crwdne330492:0 (crwdns330490:0crwdne330490:0)\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"crwdns330496:0crwdne330496:0 (crwdns330494:0crwdne330494:0)\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"crwdns330500:0crwdne330500:0 (crwdns330498:0crwdne330498:0)\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"crwdns330504:0crwdne330504:0 (crwdns330502:0crwdne330502:0)\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"crwdns330508:0crwdne330508:0 (crwdns330506:0crwdne330506:0)\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"crwdns330512:0crwdne330512:0 (crwdns330510:0crwdne330510:0)\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"crwdns330516:0crwdne330516:0 (crwdns330514:0crwdne330514:0)\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"crwdns330520:0crwdne330520:0 (crwdns330518:0crwdne330518:0)\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"crwdns330524:0crwdne330524:0 (crwdns330522:0crwdne330522:0)\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"crwdns330528:0crwdne330528:0 (crwdns330526:0crwdne330526:0)\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"crwdns330532:0crwdne330532:0 (crwdns330530:0crwdne330530:0)\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"crwdns330536:0crwdne330536:0 (crwdns330534:0crwdne330534:0)\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: (crwdns330542:0crwdne330542:0) crwdns330544:0crwdne330544:0\n:param bpm: (crwdns330538:0crwdne330538:0) crwdns330540:0crwdne330540:0\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"crwdns330548:0``(ticks, bpm)``crwdne330548:0 (crwdns330546:0crwdne330546:0)\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"crwdns330552:0crwdne330552:0 (crwdns330550:0crwdne330550:0)\n\nExample: ``music.play(music.NYAN)``\n\n:param music: (crwdns330558:0crwdne330558:0) crwdns330560:0crwdne330560:0\n:param pin: (crwdns330562:0crwdne330562:0) crwdns330564:0``pin0``crwdnd330564:0``None``crwdne330564:0\n:param wait: (crwdns330566:0crwdne330566:0) crwdns330568:0``wait``crwdnd330568:0``True``crwdne330568:0\n:param loop: (crwdns330554:0crwdne330554:0) crwdns330556:0``loop``crwdnd330556:0``True``crwdnd330556:0``stop``crwdne330556:0\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"crwdns330572:0crwdne330572:0 (crwdns330570:0crwdne330570:0)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (crwdns330578:0crwdne330578:0) crwdns330580:0crwdne330580:0\n:param duration: (crwdns330574:0crwdne330574:0) crwdns330576:0``stop``crwdne330576:0\n:param pin: (crwdns330582:0crwdne330582:0) crwdns330584:0``pin0``crwdne330584:0\n:param wait: (crwdns330586:0crwdne330586:0) crwdns330588:0``wait``crwdnd330588:0``True``crwdne330588:0\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"crwdns330592:0crwdne330592:0 (crwdns330590:0crwdne330590:0)\n\nExample: ``music.stop()``\n\n:param pin: (crwdns330594:0crwdne330594:0) crwdns330596:0``music.stop(pin1)``crwdne330596:0\"\"\"\n\ndef reset() -> None:\n \"\"\"crwdns330600:0crwdne330600:0 (crwdns330598:0crwdne330598:0)\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"crwdns330604:0crwdne330604:0 (crwdns330602:0crwdne330602:0)\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"crwdns330608:0crwdne330608:0 (crwdns330606:0crwdne330606:0)\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: (crwdns330618:0crwdne330618:0) crwdns330620:0crwdne330620:0\n:param n: (crwdns330614:0crwdne330614:0) crwdns330616:0crwdne330616:0\n:param bpp: (crwdns330610:0crwdne330610:0) crwdns355240:0crwdne355240:0\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"crwdns330624:0crwdne330624:0 (crwdns330622:0crwdne330622:0)\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"crwdns330628:0crwdne330628:0 (crwdns330626:0crwdne330626:0)\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"crwdns330632:0crwdne330632:0 (crwdns330630:0crwdne330630:0)\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"crwdns330636:0crwdne330636:0 (crwdns330634:0crwdne330634:0)\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: (crwdns330638:0crwdne330638:0) crwdns330640:0crwdne330640:0\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"crwdns330644:0crwdne330644:0 (crwdns330642:0crwdne330642:0)\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: (crwdns330646:0crwdne330646:0) crwdns330648:0crwdne330648:0\n:param value: (crwdns330650:0crwdne330650:0) crwdns330652:0crwdne330652:0\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"crwdns330656:0crwdne330656:0 (crwdns330654:0crwdne330654:0)\n\nExample: ``r, g, b = np[0]``\n\n:param key: (crwdns330658:0crwdne330658:0) crwdns330660:0crwdne330660:0\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"crwdns330664:0crwdne330664:0 (crwdns330662:0crwdne330662:0)\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/os.pyi": "\"\"\"crwdns330668:0crwdne330668:0 (crwdns330666:0crwdne330666:0)\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"crwdns330672:0crwdne330672:0 (crwdns330670:0crwdne330670:0)\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"crwdns330676:0crwdne330676:0 (crwdns330674:0crwdne330674:0)\n\nExample: ``os.remove('data.txt')``\n\n:param filename: (crwdns330678:0crwdne330678:0) crwdns330680:0crwdne330680:0\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"crwdns330684:0crwdne330684:0 (crwdns330682:0crwdne330682:0)\n\nExample: ``os.size('data.txt')``\n\n:param filename: (crwdns330686:0crwdne330686:0) crwdns330688:0crwdne330688:0\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"crwdns330692:0``os.uname()``crwdne330692:0 (crwdns330690:0crwdne330690:0)\"\"\"\n sysname: str\n \"\"\"crwdns330696:0crwdne330696:0 (crwdns330694:0crwdne330694:0)\"\"\"\n nodename: str\n \"\"\"crwdns330700:0crwdne330700:0 (crwdns330698:0crwdne330698:0)\"\"\"\n release: str\n \"\"\"crwdns330704:0crwdne330704:0 (crwdns330702:0crwdne330702:0)\"\"\"\n version: str\n \"\"\"crwdns330708:0crwdne330708:0 (crwdns330706:0crwdne330706:0)\"\"\"\n machine: str\n \"\"\"crwdns330712:0crwdne330712:0 (crwdns330710:0crwdne330710:0)\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"crwdns330716:0crwdne330716:0 (crwdns330714:0crwdne330714:0)\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", - "/typeshed/stdlib/radio.pyi": "\"\"\"Communicate between micro:bits with the built-in radio.\n\"\"\"\n\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\n\nRATE_1MBIT: int\n\"\"\"Constant used to indicate a throughput of 1 MBit a second.\"\"\"\n\nRATE_2MBIT: int\n\"\"\"Constant used to indicate a throughput of 2 MBit a second.\"\"\"\n\ndef on() -> None:\n \"\"\"Turns the radio on.\n\n Example: ``radio.on()``\n\n This needs to be explicitly called since the radio draws power and takes\n up memory that you may otherwise need.\n \"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Turns off the radio, saving power and memory.\n\n Example: ``radio.off()``\n \"\"\"\n ...\n\ndef config(\n length: int = 32,\n queue: int = 3,\n channel: int = 7,\n power: int = 6,\n address: int = 0x75626974,\n group: int = 0,\n data_rate: int = RATE_1MBIT,\n) -> None:\n \"\"\"Configures the radio.\n\n Example: ``radio.config(group=42)``\n\n The default configuration is suitable for most use.\n\n :param length: (default=32) defines the maximum length, in bytes, of a message sent via the radio.\n It can be up to 251 bytes long (254 - 3 bytes for S0, LENGTH and S1 preamble).\n :param queue: (default=3) specifies the number of messages that can be stored on the incoming message queue.\n If there are no spaces left on the queue for incoming messages, then the incoming message is dropped.\n :param channel: (default=7) an integer value from 0 to 83 (inclusive) that defines an arbitrary \"channel\" to which the radio is tuned.\n Messages will be sent via this channel and only messages received via this channel will be put onto the incoming message queue. Each step is 1MHz wide, based at 2400MHz.\n :param power: (default=6) is an integer value from 0 to 7 (inclusive) to indicate the strength of signal used when broadcasting a message.\n The higher the value the stronger the signal, but the more power is consumed by the device. The numbering translates to positions in the following list of dBm (decibel milliwatt) values: -30, -20, -16, -12, -8, -4, 0, 4.\n :param address: (default=0x75626974) an arbitrary name, expressed as a 32-bit address, that's used to filter incoming packets at the hardware level, keeping only those that match the address you set.\n The default used by other micro:bit related platforms is the default setting used here.\n :param group: (default=0) an 8-bit value (0-255) used with the ``address`` when filtering messages.\n Conceptually, \"address\" is like a house/office address and \"group\" is like the person at that address to which you want to send your message.\n :param data_rate: (default=``radio.RATE_1MBIT``) indicates the speed at which data throughput takes place.\n Can be one of the following constants defined in the ``radio`` module: ``RATE_250KBIT``, ``RATE_1MBIT`` or ``RATE_2MBIT``.\n\n If ``config`` is not called then the defaults described above are assumed.\n \"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset the settings to their default values.\n\n Example: ``radio.reset()``\n\n The defaults as as per the ``config`` function above.\n \"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Sends a message containing bytes.\n\n Example: ``radio.send_bytes(b'hello')``\n\n :param message: The bytes to send.\n \"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Receive the next incoming message on the message queue.\n\n Example: ``radio.receive_bytes()``\n\n :return: The message bytes if any, otherwise ``None``.\n \"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Copy the next incoming message on the message queue into a buffer.\n\n Example: ``radio.receive_bytes_info(buffer)``\n\n :param buffer: The target buffer. The message is truncated if larger than the buffer.\n :return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\n \"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Sends a message string.\n\n Example: ``radio.send('hello')``\n\n This is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\n prepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n :param message: The string to send.\n \"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Works in exactly the same way as ``receive_bytes`` but returns whatever was sent.\n\n Example: ``radio.receive()``\n\n Equivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\n three bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\n may target the micro:bit).\n\n :return: The message with the prepended bytes stripped and converted to a string.\n\n A ``ValueError`` exception is raised if conversion to string fails.\n \"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Returns a tuple containing three values representing the next incoming message on the message queue.\n\n Example: ``radio.receive_full()``\n\n If there are no pending messages then ``None`` is returned.\n\n The three values in the tuple represent:\n\n - the next incoming message on the message queue as bytes.\n - the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n - a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\n For example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\n This function is useful for providing information needed for triangulation\n and/or trilateration with other micro:bit devices.\n\n :return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\n \"\"\"\n ...\n", - "/typeshed/stdlib/random.pyi": "\"\"\"Generate random numbers.\n\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"Generate an integer with ``n`` random bits.\n\n Example: ``random.getrandbits(1)``\n\n :param n: A value between 1-30 (inclusive).\n \"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Initialize the random number generator.\n\n Example: ``random.seed(0)``\n\n :param n: The integer seed\n\n This will give you reproducibly deterministic randomness from a given starting\n state (``n``).\n \"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"Choose a random integer between ``a`` and ``b`` inclusive.\n\n Example: ``random.randint(0, 9)``\n\n :param a: Start value for the range (inclusive)\n :param b: End value for the range (inclusive)\n\n Alias for ``randrange(a, b + 1)``.\n \"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"Choose a randomly selected integer between zero and up to (but not\n including) ``stop``.\n\n Example: ``random.randrange(10)``\n\n :param stop: End value for the range (exclusive)\n \"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int = 1) -> int:\n \"\"\"\n Choose a randomly selected element from ``range(start, stop, step)``.\n\n Example: ``random.randrange(0, 10)``\n\n :param start: The start of the range (inclusive)\n :param stop: The end of the range (exclusive)\n :param step: The step.\n \"\"\"\n ...\n\n_T = TypeVar(\"_T\")\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"Choose a random element from the non-empty sequence ``seq``.\n\n Example: ``random.choice([Image.HAPPY, Image.SAD])``\n\n :param seq: A sequence.\n\n If ``seq`` is empty, raises ``IndexError``.\n \"\"\"\n ...\n\ndef random() -> float:\n \"\"\"Generate a random floating point number in the range [0.0, 1.0).\n\n Example: ``random.random()``\n\n :return: The random floating point number\n \"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"\n Return a random floating point number between ``a`` and ``b`` inclusive.\n\n Example: ``random.uniform(0, 9)``\n\n :param a: Start value for the range (inclusive)\n :param b: End value for the range (inclusive)\n \"\"\"\n ...\n", - "/typeshed/stdlib/speech.pyi": "\"\"\"Make the micro:bit talk, sing and make other speech like sounds.\n\"\"\"\n\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"Translate English words to phonemes.\n\n Example: ``speech.translate('hello world')``\n\n :param words: A string of English words.\n :return: A string containing a best guess at the appropriate phonemes to pronounce.\n The output is generated from this `text to phoneme translation table `_.\n\n This function should be used to generate a first approximation of phonemes\n that can be further hand-edited to improve accuracy, inflection and\n emphasis.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef pronounce(\n phonemes: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: Optional[MicroBitDigitalPin] = pin0,\n) -> None:\n \"\"\"Pronounce phonemes.\n\n Example: ``speech.pronounce(' /HEHLOW WERLD')``\n\n :param phonemes: The string of phonemes to pronounce\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n Override the optional pitch, speed, mouth and throat settings to change the\n timbre (quality) of the voice.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef say(\n words: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: MicroBitDigitalPin = pin0,\n) -> None:\n \"\"\"Say English words.\n\n Example: ``speech.say('hello world')``\n\n :param words: The string of words to say.\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n The result is semi-accurate for English. Override the optional pitch, speed,\n mouth and throat settings to change the timbre (quality) of the voice.\n\n This is a short-hand equivalent of:\n ``speech.pronounce(speech.translate(words))``\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef sing(\n phonemes: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: MicroBitDigitalPin = pin0,\n) -> None:\n \"\"\"Sing phonemes.\n\n Example: ``speech.sing(' /HEHLOW WERLD')``\n\n :param phonemes: The string of words to sing.\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n Override the optional pitch, speed, mouth and throat settings to change\n the timbre (quality) of the voice.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n", - "/typeshed/stdlib/struct.pyi": "\"\"\"Pack and unpack primitive data types.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"Get the number of bytes needed to store the given ``fmt``.\n\n Example: ``struct.calcsize('hf')``\n\n :param fmt: A format string.\n :return The number of bytes needed to store such a value.\n \"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"Pack values according to a format string.\n\n Example: ``struct.pack('hf', 1, 3.1415)``\n\n :param fmt: The format string.\n :param v1: The first value.\n :param *vn: The remaining values.\n :return A bytes object encoding the values.\n \"\"\"\n ...\n\ndef pack_into(\n fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any\n) -> None:\n \"\"\"Pack values according to a format string.\n\n Example: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n :param fmt: The format string.\n :param buffer: The target buffer to write into.\n :param offset: The offset into the buffer. May be negative to count from the end of the buffer.\n :param v1: The first value.\n :param *vn: The remaining values.\n \"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"Unpack data according to a format string.\n\n Example: ``v1, v2 = struct.unpack('hf', buffer)``\n\n :param fmt: The format string.\n :param data: The data.\n :return: A tuple of the unpacked values.\n \"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int = 0) -> Tuple:\n \"\"\"Unpack data from a buffer according to a format string.\n\n Example: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n :param fmt: The format string.\n :param buffer: The source buffer to read from.\n :param offset: The offset into the buffer. May be negative to count from the end of the buffer.\n :return: A tuple of the unpacked values.\n \"\"\"\n ...\n", - "/typeshed/stdlib/sys.pyi": "\"\"\"System specific functions\"\"\"\n\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object = ...) -> NoReturn:\n \"\"\"Terminate current program with a given exit code.\n\n Example: ``sys.exit(1)``\n\n This function raises a ``SystemExit`` exception. If an argument is given, its\n value given as an argument to ``SystemExit``.\n\n :param retval: The exit code or message.\n \"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"\n Print an exception with a traceback.\n\n Example: ``sys.print_exception(e)``\n\n :param exc: The exception to print\n\n This is simplified version of a function which appears in the\n ``traceback`` module in CPython.\n \"\"\"\n\nargv: List[str]\n\"\"\"A mutable list of arguments the current program was started with.\"\"\"\n\nbyteorder: str\n\"\"\"The byte order of the system (``\"little\"`` or ``\"big\"``).\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\n\nimplementation: _implementation\n\"\"\"Object with information about the current Python implementation.\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\n\nmaxsize: int\n\"\"\"\nMaximum value which a native integer type can hold on the current platform,\nor maximum value representable by MicroPython integer type, if it's smaller\nthan platform max value (that is the case for MicroPython ports without\nlong int support).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\n\nmodules: Dict[str, Any]\n\"\"\"Dictionary of loaded modules. \n\nOn some ports, it may not include builtin modules.\"\"\"\n\npath: List[str]\n\"\"\"A mutable list of directories to search for imported modules.\"\"\"\n\nplatform: str\n\"\"\"The platform that MicroPython is running on. \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\n\nversion: str\n\"\"\"Python language version that this implementation conforms to, as a string.\"\"\"\n\nversion_info: Tuple[int, int, int]\n\"\"\"Python language version that this implementation conforms to, as a tuple of ints.\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"\n", + "/typeshed/stdlib/radio.pyi": "\"\"\"crwdns330720:0crwdne330720:0 (crwdns330718:0crwdne330718:0)\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"crwdns330724:0crwdne330724:0 (crwdns330722:0crwdne330722:0)\"\"\"\nRATE_2MBIT: int\n\"\"\"crwdns330728:0crwdne330728:0 (crwdns330726:0crwdne330726:0)\"\"\"\n\ndef on() -> None:\n \"\"\"crwdns330732:0crwdne330732:0 (crwdns330730:0crwdne330730:0)\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"crwdns330736:0crwdne330736:0 (crwdns330734:0crwdne330734:0)\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"crwdns330740:0crwdne330740:0 (crwdns330738:0crwdne330738:0)\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (crwdns330758:0crwdne330758:0) crwdns330760:0crwdne330760:0\n:param queue: (crwdns330766:0crwdne330766:0) crwdns330768:0crwdne330768:0\n:param channel: (crwdns330746:0crwdne330746:0) crwdns330748:0crwdne330748:0\n:param power: (crwdns330762:0crwdne330762:0) crwdns330764:0crwdne330764:0\n:param address: (crwdns330742:0crwdne330742:0) crwdns330744:0crwdne330744:0\n:param group: (crwdns330754:0crwdne330754:0) crwdns330756:0``address``crwdne330756:0\n:param data_rate: (crwdns330750:0crwdne330750:0) crwdns330752:0``radio.RATE_1MBIT``crwdnd330752:0``radio``crwdnd330752:0``RATE_250KBIT``crwdnd330752:0``RATE_1MBIT``crwdnd330752:0``RATE_2MBIT``crwdne330752:0\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"crwdns330772:0crwdne330772:0 (crwdns330770:0crwdne330770:0)\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"crwdns330776:0crwdne330776:0 (crwdns330774:0crwdne330774:0)\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: (crwdns330778:0crwdne330778:0) crwdns330780:0crwdne330780:0\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"crwdns330784:0crwdne330784:0 (crwdns330782:0crwdne330782:0)\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"crwdns330788:0crwdne330788:0 (crwdns330786:0crwdne330786:0)\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: (crwdns330790:0crwdne330790:0) crwdns330792:0crwdne330792:0\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"crwdns330796:0crwdne330796:0 (crwdns330794:0crwdne330794:0)\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: (crwdns330798:0crwdne330798:0) crwdns330800:0crwdne330800:0\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"crwdns330804:0``receive_bytes``crwdne330804:0 (crwdns330802:0crwdne330802:0)\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"crwdns330808:0crwdne330808:0 (crwdns330806:0crwdne330806:0)\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", + "/typeshed/stdlib/random.pyi": "\"\"\"crwdns330812:0crwdne330812:0 (crwdns330810:0crwdne330810:0)\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"crwdns330816:0``n``crwdne330816:0 (crwdns330814:0crwdne330814:0)\n\nExample: ``random.getrandbits(1)``\n\n:param n: (crwdns330818:0crwdne330818:0) crwdns330820:0crwdne330820:0\"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"crwdns330824:0crwdne330824:0 (crwdns330822:0crwdne330822:0)\n\nExample: ``random.seed(0)``\n\n:param n: (crwdns330826:0crwdne330826:0) crwdns330828:0crwdne330828:0\n\nThis will give you reproducibly deterministic randomness from a given starting\nstate (``n``).\"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"crwdns330832:0``a``crwdnd330832:0``b``crwdne330832:0 (crwdns330830:0crwdne330830:0)\n\nExample: ``random.randint(0, 9)``\n\n:param a: (crwdns330834:0crwdne330834:0) crwdns330836:0crwdne330836:0\n:param b: (crwdns330838:0crwdne330838:0) crwdns330840:0crwdne330840:0\n\nAlias for ``randrange(a, b + 1)``.\"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"crwdns330844:0``stop``crwdne330844:0 (crwdns330842:0crwdne330842:0)\n\nExample: ``random.randrange(10)``\n\n:param stop: (crwdns330846:0crwdne330846:0) crwdns330848:0crwdne330848:0\"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int=1) -> int:\n \"\"\"crwdns330852:0``range(start, stop, step)``crwdne330852:0 (crwdns330850:0crwdne330850:0)\n\nExample: ``random.randrange(0, 10)``\n\n:param start: (crwdns330854:0crwdne330854:0) crwdns330856:0crwdne330856:0\n:param stop: (crwdns330862:0crwdne330862:0) crwdns330864:0crwdne330864:0\n:param step: (crwdns330858:0crwdne330858:0) crwdns330860:0crwdne330860:0\"\"\"\n ...\n_T = TypeVar('_T')\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"crwdns330868:0``seq``crwdne330868:0 (crwdns330866:0crwdne330866:0)\n\nExample: ``random.choice([Image.HAPPY, Image.SAD])``\n\n:param seq: (crwdns330870:0crwdne330870:0) crwdns330872:0crwdne330872:0\n\nIf ``seq`` is empty, raises ``IndexError``.\"\"\"\n ...\n\ndef random() -> float:\n \"\"\"crwdns330876:0crwdne330876:0 (crwdns330874:0crwdne330874:0)\n\nExample: ``random.random()``\n\n:return: The random floating point number\"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"crwdns330880:0``a``crwdnd330880:0``b``crwdne330880:0 (crwdns330878:0crwdne330878:0)\n\nExample: ``random.uniform(0, 9)``\n\n:param a: (crwdns330882:0crwdne330882:0) crwdns330884:0crwdne330884:0\n:param b: (crwdns330886:0crwdne330886:0) crwdns330888:0crwdne330888:0\"\"\"\n ...", + "/typeshed/stdlib/speech.pyi": "\"\"\"crwdns330892:0crwdne330892:0 (crwdns330890:0crwdne330890:0)\"\"\"\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"crwdns330896:0crwdne330896:0 (crwdns330894:0crwdne330894:0)\n\nExample: ``speech.translate('hello world')``\n\n:param words: (crwdns330898:0crwdne330898:0) crwdns330900:0crwdne330900:0\n:return: A string containing a best guess at the appropriate phonemes to pronounce.\nThe output is generated from this `text to phoneme translation table `_.\n\nThis function should be used to generate a first approximation of phonemes\nthat can be further hand-edited to improve accuracy, inflection and\nemphasis.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef pronounce(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"crwdns330904:0crwdne330904:0 (crwdns330902:0crwdne330902:0)\n\nExample: ``speech.pronounce(' /HEHLOW WERLD')``\n\n:param phonemes: (crwdns330910:0crwdne330910:0) crwdns330912:0crwdne330912:0\n:param pitch: (crwdns330918:0crwdne330918:0) crwdns330920:0crwdne330920:0\n:param speed: (crwdns330922:0crwdne330922:0) crwdns330924:0crwdne330924:0\n:param mouth: (crwdns330906:0crwdne330906:0) crwdns330908:0crwdne330908:0\n:param throat: (crwdns330926:0crwdne330926:0) crwdns330928:0crwdne330928:0\n:param pin: (crwdns330914:0crwdne330914:0) crwdns330916:0``pin0``crwdne330916:0\n\nOverride the optional pitch, speed, mouth and throat settings to change the\ntimbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef say(words: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"crwdns330932:0crwdne330932:0 (crwdns330930:0crwdne330930:0)\n\nExample: ``speech.say('hello world')``\n\n:param words: (crwdns330954:0crwdne330954:0) crwdns330956:0crwdne330956:0\n:param pitch: (crwdns330942:0crwdne330942:0) crwdns330944:0crwdne330944:0\n:param speed: (crwdns330946:0crwdne330946:0) crwdns330948:0crwdne330948:0\n:param mouth: (crwdns330934:0crwdne330934:0) crwdns330936:0crwdne330936:0\n:param throat: (crwdns330950:0crwdne330950:0) crwdns330952:0crwdne330952:0\n:param pin: (crwdns330938:0crwdne330938:0) crwdns330940:0``pin0``crwdne330940:0\n\nThe result is semi-accurate for English. Override the optional pitch, speed,\nmouth and throat settings to change the timbre (quality) of the voice.\n\nThis is a short-hand equivalent of:\n``speech.pronounce(speech.translate(words))``\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef sing(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"crwdns330960:0crwdne330960:0 (crwdns330958:0crwdne330958:0)\n\nExample: ``speech.sing(' /HEHLOW WERLD')``\n\n:param phonemes: (crwdns330966:0crwdne330966:0) crwdns330968:0crwdne330968:0\n:param pitch: (crwdns330974:0crwdne330974:0) crwdns330976:0crwdne330976:0\n:param speed: (crwdns330978:0crwdne330978:0) crwdns330980:0crwdne330980:0\n:param mouth: (crwdns330962:0crwdne330962:0) crwdns330964:0crwdne330964:0\n:param throat: (crwdns330982:0crwdne330982:0) crwdns330984:0crwdne330984:0\n:param pin: (crwdns330970:0crwdne330970:0) crwdns330972:0``pin0``crwdne330972:0\n\nOverride the optional pitch, speed, mouth and throat settings to change\nthe timbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...", + "/typeshed/stdlib/struct.pyi": "\"\"\"crwdns330988:0crwdne330988:0 (crwdns330986:0crwdne330986:0)\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"crwdns330992:0``fmt``crwdne330992:0 (crwdns330990:0crwdne330990:0)\n\nExample: ``struct.calcsize('hf')``\n\n:param fmt: (crwdns330994:0crwdne330994:0) crwdns330996:0crwdne330996:0\n:return The number of bytes needed to store such a value.\"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"crwdns331000:0crwdne331000:0 (crwdns330998:0crwdne330998:0)\n\nExample: ``struct.pack('hf', 1, 3.1415)``\n\n:param fmt: (crwdns331006:0crwdne331006:0) crwdns331008:0crwdne331008:0\n:param v1: (crwdns331010:0crwdne331010:0) crwdns331012:0crwdne331012:0\n:param *vn: (crwdns331002:0crwdne331002:0) crwdns331004:0crwdne331004:0\n:return A bytes object encoding the values.\"\"\"\n ...\n\ndef pack_into(fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any) -> None:\n \"\"\"crwdns331016:0crwdne331016:0 (crwdns331014:0crwdne331014:0)\n\nExample: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n:param fmt: (crwdns331026:0crwdne331026:0) crwdns331028:0crwdne331028:0\n:param buffer: (crwdns331022:0crwdne331022:0) crwdns331024:0crwdne331024:0\n:param offset: (crwdns331030:0crwdne331030:0) crwdns331032:0crwdne331032:0\n:param v1: (crwdns331034:0crwdne331034:0) crwdns331036:0crwdne331036:0\n:param *vn: (crwdns331018:0crwdne331018:0) crwdns331020:0crwdne331020:0\"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"crwdns331040:0crwdne331040:0 (crwdns331038:0crwdne331038:0)\n\nExample: ``v1, v2 = struct.unpack('hf', buffer)``\n\n:param fmt: (crwdns331046:0crwdne331046:0) crwdns331048:0crwdne331048:0\n:param data: (crwdns331042:0crwdne331042:0) crwdns331044:0crwdne331044:0\n:return: A tuple of the unpacked values.\"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int=0) -> Tuple:\n \"\"\"crwdns331052:0crwdne331052:0 (crwdns331050:0crwdne331050:0)\n\nExample: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n:param fmt: (crwdns331058:0crwdne331058:0) crwdns331060:0crwdne331060:0\n:param buffer: (crwdns331054:0crwdne331054:0) crwdns331056:0crwdne331056:0\n:param offset: (crwdns331062:0crwdne331062:0) crwdns331064:0crwdne331064:0\n:return: A tuple of the unpacked values.\"\"\"\n ...", + "/typeshed/stdlib/sys.pyi": "\"\"\"crwdns331068:0crwdne331068:0 (crwdns331066:0crwdne331066:0)\"\"\"\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object=...) -> NoReturn:\n \"\"\"crwdns331072:0crwdne331072:0 (crwdns331070:0crwdne331070:0)\n\nExample: ``sys.exit(1)``\n\nThis function raises a ``SystemExit`` exception. If an argument is given, its\nvalue given as an argument to ``SystemExit``.\n\n:param retval: (crwdns331074:0crwdne331074:0) crwdns331076:0crwdne331076:0\"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"crwdns331080:0crwdne331080:0 (crwdns331078:0crwdne331078:0)\n\nExample: ``sys.print_exception(e)``\n\n:param exc: (crwdns331082:0crwdne331082:0) crwdns331084:0crwdne331084:0\n\nThis is simplified version of a function which appears in the\n``traceback`` module in CPython.\"\"\"\nargv: List[str]\n\"\"\"crwdns331088:0crwdne331088:0 (crwdns331086:0crwdne331086:0)\"\"\"\nbyteorder: str\n\"\"\"crwdns331092:0``\"little\"``crwdnd331092:0``\"big\"``crwdne331092:0 (crwdns331090:0crwdne331090:0)\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\nimplementation: _implementation\n\"\"\"crwdns331096:0crwdne331096:0 (crwdns331094:0crwdne331094:0)\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\nmaxsize: int\n\"\"\"\ncrwdns331100:0crwdne331100:0 (crwdns331098:0crwdne331098:0)\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\nmodules: Dict[str, Any]\n\"\"\"crwdns331104:0crwdne331104:0 (crwdns331102:0crwdne331102:0) \n\nOn some ports, it may not include builtin modules.\"\"\"\npath: List[str]\n\"\"\"crwdns331108:0crwdne331108:0 (crwdns331106:0crwdne331106:0)\"\"\"\nplatform: str\n\"\"\"crwdns331112:0crwdne331112:0 (crwdns331110:0crwdne331110:0) \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\nversion: str\n\"\"\"crwdns331116:0crwdne331116:0 (crwdns331114:0crwdne331114:0)\"\"\"\nversion_info: Tuple[int, int, int]\n\"\"\"crwdns331120:0crwdne331120:0 (crwdns331118:0crwdne331118:0)\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"", "/typeshed/stdlib/this.pyi": "def authors() -> str: ...\n", - "/typeshed/stdlib/time.pyi": "\"\"\"Measure time and add delays to programs.\n\"\"\"\n\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"\n Delay a number of seconds.\n\n Example: ``time.sleep(1)``\n\n :param seconds: The number of seconds to sleep for.\n Use a floating-point number to sleep for a fractional number of seconds.\n \"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"\n Delay for given number of milliseconds.\n\n Example: ``time.sleep_ms(1_000_000)``\n\n :param ms: The number of milliseconds delay (>= 0).\n \"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"\n Delay for given number of microseconds.\n\n Example: ``time.sleep_us(1000)``\n\n :param us: The number of microseconds delay (>= 0).\n \"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"\n Get an increasing, millisecond counter with an arbitrary reference point,\n that wraps around after some value.\n\n Example: ``time.ticks_ms()``\n\n :return: The counter value in milliseconds.\n \"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"\n Get an increasing, microsecond counter with an arbitrary reference point,\n that wraps around after some value.\n\n Example: ``time.ticks_us()``\n\n :return: The counter value in microseconds.\n \"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"\n Offset ticks value by a given number, which can be either positive or\n negative.\n\n Example: ``time.ticks_add(time.ticks_ms(), 200)``\n\n Given a ticks value, this function allows to calculate ticks\n value delta ticks before or after it, following modular-arithmetic\n definition of tick values.\n\n :param ticks: A ticks value\n :param delta: An integer offset\n\n Example::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\n \"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"\n Measure ticks difference between values returned from\n ``time.ticks_ms()`` or ``ticks_us()``, as a signed value\n which may wrap around.\n\n Example: ``time.ticks_diff(scheduled_time, now)``\n\n :param ticks1: The value to subtract from\n :param ticks2: The value to subtract\n\n The argument order is the same as for subtraction operator,\n ``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n ``ticks_diff()`` is designed to accommodate various usage\n patterns, among them:\n\n Polling with timeout. In this case, the order of events is known, and you\n will deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\n Scheduling events. In this case, :func:`time.ticks_diff()` result may be\n negative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\n \"\"\"\n ...\n", + "/typeshed/stdlib/time.pyi": "\"\"\"crwdns331124:0crwdne331124:0 (crwdns331122:0crwdne331122:0)\"\"\"\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"crwdns331128:0crwdne331128:0 (crwdns331126:0crwdne331126:0)\n\nExample: ``time.sleep(1)``\n\n:param seconds: (crwdns331130:0crwdne331130:0) crwdns331132:0crwdne331132:0\"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"crwdns331136:0crwdne331136:0 (crwdns331134:0crwdne331134:0)\n\nExample: ``time.sleep_ms(1_000_000)``\n\n:param ms: (crwdns331138:0crwdne331138:0) crwdns331140:0crwdne331140:0\"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"crwdns331144:0crwdne331144:0 (crwdns331142:0crwdne331142:0)\n\nExample: ``time.sleep_us(1000)``\n\n:param us: (crwdns331146:0crwdne331146:0) crwdns331148:0crwdne331148:0\"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"crwdns331152:0crwdne331152:0 (crwdns331150:0crwdne331150:0)\n\nExample: ``time.ticks_ms()``\n\n:return: The counter value in milliseconds.\"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"crwdns331156:0crwdne331156:0 (crwdns331154:0crwdne331154:0)\n\nExample: ``time.ticks_us()``\n\n:return: The counter value in microseconds.\"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"crwdns331160:0crwdne331160:0 (crwdns331158:0crwdne331158:0)\n\nExample: ``time.ticks_add(time.ticks_ms(), 200)``\n\nGiven a ticks value, this function allows to calculate ticks\nvalue delta ticks before or after it, following modular-arithmetic\ndefinition of tick values.\n\n:param ticks: (crwdns331166:0crwdne331166:0) crwdns331168:0crwdne331168:0\n:param delta: (crwdns331162:0crwdne331162:0) crwdns331164:0crwdne331164:0\n\nExample::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"crwdns331172:0``time.ticks_ms()``crwdnd331172:0``ticks_us()``crwdne331172:0 (crwdns331170:0crwdne331170:0)\n\nExample: ``time.ticks_diff(scheduled_time, now)``\n\n:param ticks1: (crwdns331174:0crwdne331174:0) crwdns331176:0crwdne331176:0\n:param ticks2: (crwdns331178:0crwdne331178:0) crwdns331180:0crwdne331180:0\n\nThe argument order is the same as for subtraction operator,\n``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n``ticks_diff()`` is designed to accommodate various usage\npatterns, among them:\n\nPolling with timeout. In this case, the order of events is known, and you\nwill deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\nScheduling events. In this case, :func:`time.ticks_diff()` result may be\nnegative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\"\"\"\n ...", "/typeshed/stdlib/types.pyi": "import sys\nfrom typing import (\n Any,\n AsyncGenerator,\n Awaitable,\n Callable,\n Generator,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n Tuple,\n Type,\n TypeVar,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, final\n\n# Note, all classes \"defined\" here require special handling.\n\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_V_co = TypeVar(\"_V_co\", covariant=True)\n\n@final\nclass _Cell:\n __hash__: None # type: ignore\n cell_contents: Any\n\n@final\nclass FunctionType:\n __closure__: Tuple[_Cell, ...] | None\n __code__: CodeType\n __defaults__: Tuple[Any, ...] | None\n __dict__: dict[str, Any]\n __globals__: dict[str, Any]\n __name__: str\n __qualname__: str\n __annotations__: dict[str, Any]\n __kwdefaults__: dict[str, Any]\n def __init__(\n self,\n code: CodeType,\n globals: dict[str, Any],\n name: str | None = ...,\n argdefs: Tuple[object, ...] | None = ...,\n closure: Tuple[_Cell, ...] | None = ...,\n ) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: object | None, type: type | None) -> MethodType: ...\n\nLambdaType = FunctionType\n\n@final\nclass CodeType:\n \"\"\"Create a code object. Not for the faint of heart.\"\"\"\n\n co_argcount: int\n if sys.version_info >= (3, 8):\n co_posonlyargcount: int\n co_kwonlyargcount: int\n co_nlocals: int\n co_stacksize: int\n co_flags: int\n co_code: bytes\n co_consts: Tuple[Any, ...]\n co_names: Tuple[str, ...]\n co_varnames: Tuple[str, ...]\n co_filename: str\n co_name: str\n co_firstlineno: int\n co_lnotab: bytes\n co_freevars: Tuple[str, ...]\n co_cellvars: Tuple[str, ...]\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n argcount: int,\n posonlyargcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n else:\n def __init__(\n self,\n argcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n if sys.version_info >= (3, 8):\n def replace(\n self,\n *,\n co_argcount: int = ...,\n co_posonlyargcount: int = ...,\n co_kwonlyargcount: int = ...,\n co_nlocals: int = ...,\n co_stacksize: int = ...,\n co_flags: int = ...,\n co_firstlineno: int = ...,\n co_code: bytes = ...,\n co_consts: Tuple[Any, ...] = ...,\n co_names: Tuple[str, ...] = ...,\n co_varnames: Tuple[str, ...] = ...,\n co_freevars: Tuple[str, ...] = ...,\n co_cellvars: Tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_lnotab: bytes = ...,\n ) -> CodeType: ...\n\n@final\nclass MappingProxyType(Mapping[_KT, _VT_co], Generic[_KT, _VT_co]):\n __hash__: None # type: ignore\n def __init__(self, mapping: Mapping[_KT, _VT_co]) -> None: ...\n def __getitem__(self, k: _KT) -> _VT_co: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __len__(self) -> int: ...\n def copy(self) -> dict[_KT, _VT_co]: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def items(self) -> ItemsView[_KT, _VT_co]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def __or__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n def __ror__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n\nclass SimpleNamespace:\n __hash__: None # type: ignore\n def __init__(self, **kwargs: Any) -> None: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __delattr__(self, name: str) -> None: ...\n\nclass ModuleType:\n __name__: str\n __file__: str\n __dict__: dict[str, Any]\n __package__: str | None\n def __init__(self, name: str, doc: str | None = ...) -> None: ...\n\n@final\nclass GeneratorType(Generator[_T_co, _T_contra, _V_co]):\n gi_code: CodeType\n gi_frame: FrameType\n gi_running: bool\n gi_yieldfrom: GeneratorType[_T_co, _T_contra, Any] | None\n def __iter__(self) -> GeneratorType[_T_co, _T_contra, _V_co]: ...\n def __next__(self) -> _T_co: ...\n def close(self) -> None: ...\n def send(self, __arg: _T_contra) -> _T_co: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> _T_co: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> _T_co: ...\n\n@final\nclass AsyncGeneratorType(AsyncGenerator[_T_co, _T_contra]):\n ag_await: Awaitable[Any] | None\n ag_frame: FrameType\n ag_running: bool\n ag_code: CodeType\n def __aiter__(self) -> AsyncGeneratorType[_T_co, _T_contra]: ...\n def __anext__(self) -> Awaitable[_T_co]: ...\n def asend(self, __val: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Awaitable[_T_co]: ...\n def aclose(self) -> Awaitable[None]: ...\n\n@final\nclass CoroutineType:\n cr_await: Any | None\n cr_code: CodeType\n cr_frame: FrameType\n cr_running: bool\n def close(self) -> None: ...\n def send(self, __arg: Any) -> Any: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Any: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Any: ...\n\nclass _StaticFunctionType:\n \"\"\"Fictional type to correct the type of MethodType.__func__.\n\n FunctionType is a descriptor, so mypy follows the descriptor protocol and\n converts MethodType.__func__ back to MethodType (the return type of\n FunctionType.__get__). But this is actually a special case; MethodType is\n implemented in C and its attribute access doesn't go through\n __getattribute__.\n\n By wrapping FunctionType in _StaticFunctionType, we get the right result;\n similar to wrapping a function in staticmethod() at runtime to prevent it\n being bound as a method.\n \"\"\"\n\n def __get__(self, obj: object | None, type: type | None) -> FunctionType: ...\n\n@final\nclass MethodType:\n __closure__: Tuple[_Cell, ...] | None # inherited from the added function\n __defaults__: Tuple[Any, ...] | None # inherited from the added function\n __func__: _StaticFunctionType\n __self__: object\n __name__: str # inherited from the added function\n __qualname__: str # inherited from the added function\n def __init__(self, func: Callable[..., Any], obj: object) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\n@final\nclass BuiltinFunctionType:\n __self__: object | ModuleType\n __name__: str\n __qualname__: str\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\nBuiltinMethodType = BuiltinFunctionType\n\nif sys.version_info >= (3, 7):\n @final\n class WrapperDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class MethodWrapperType:\n __self__: object\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, other: Any) -> bool: ...\n def __ne__(self, other: Any) -> bool: ...\n @final\n class MethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class ClassMethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n\n@final\nclass TracebackType:\n if sys.version_info >= (3, 7):\n def __init__(\n self,\n tb_next: TracebackType | None,\n tb_frame: FrameType,\n tb_lasti: int,\n tb_lineno: int,\n ) -> None: ...\n tb_next: TracebackType | None\n else:\n @property\n def tb_next(self) -> TracebackType | None: ...\n # the rest are read-only even in 3.7\n @property\n def tb_frame(self) -> FrameType: ...\n @property\n def tb_lasti(self) -> int: ...\n @property\n def tb_lineno(self) -> int: ...\n\n@final\nclass FrameType:\n f_back: FrameType | None\n f_builtins: dict[str, Any]\n f_code: CodeType\n f_globals: dict[str, Any]\n f_lasti: int\n f_lineno: int\n f_locals: dict[str, Any]\n f_trace: Callable[[FrameType, str, Any], Any] | None\n if sys.version_info >= (3, 7):\n f_trace_lines: bool\n f_trace_opcodes: bool\n def clear(self) -> None: ...\n\n@final\nclass GetSetDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\n@final\nclass MemberDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nif sys.version_info >= (3, 7):\n def new_class(\n name: str,\n bases: Iterable[object] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n def resolve_bases(bases: Iterable[object]) -> Tuple[Any, ...]: ...\n\nelse:\n def new_class(\n name: str,\n bases: Tuple[type, ...] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n\ndef prepare_class(\n name: str, bases: Tuple[type, ...] = ..., kwds: dict[str, Any] | None = ...\n) -> Tuple[type, dict[str, Any], dict[str, Any]]: ...\n\n# Actually a different type, but `property` is special and we want that too.\nDynamicClassAttribute = property\n\ndef coroutine(func: Callable[..., Any]) -> CoroutineType: ...\n\nif sys.version_info >= (3, 8):\n CellType = _Cell\n\nif sys.version_info >= (3, 9):\n class GenericAlias:\n __origin__: type\n __args__: Tuple[Any, ...]\n __parameters__: Tuple[Any, ...]\n def __init__(self, origin: type, args: Any) -> None: ...\n def __getattr__(self, name: str) -> Any: ... # incomplete\n\nif sys.version_info >= (3, 10):\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n EllipsisType = ellipsis # noqa F811 from builtins\n from builtins import _NotImplementedType\n\n NotImplementedType = _NotImplementedType # noqa F811 from builtins\n @final\n class UnionType:\n __args__: Tuple[Any, ...]\n def __or__(self, obj: Any) -> UnionType: ...\n def __ror__(self, obj: Any) -> UnionType: ...\n", "/typeshed/stdlib/typing.pyi": "import collections # Needed by aliases like DefaultDict, see mypy issue 2986\nimport sys\nfrom abc import ABCMeta, abstractmethod\nfrom types import BuiltinFunctionType, CodeType, FrameType, FunctionType, MethodType, ModuleType, TracebackType\nfrom typing_extensions import Literal as _Literal\n\nif sys.version_info >= (3, 7):\n from types import MethodDescriptorType, MethodWrapperType, WrapperDescriptorType\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n# Definitions of special type checking related constructs. Their definitions\n# are not used, so their value does not matter.\n\nAny = object()\n\nclass TypeVar:\n __name__: str\n __bound__: Optional[Type[Any]]\n __constraints__: Tuple[Type[Any], ...]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self,\n name: str,\n *constraints: Type[Any],\n bound: Union[None, Type[Any], str] = ...,\n covariant: bool = ...,\n contravariant: bool = ...,\n ) -> None: ...\n\n_promote = object()\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> object: ...\n\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n\ndef overload(func: _F) -> _F: ...\n\nUnion: _SpecialForm = ...\nOptional: _SpecialForm = ...\nTuple: _SpecialForm = ...\nGeneric: _SpecialForm = ...\n# Protocol is only present in 3.8 and later, but mypy needs it unconditionally\nProtocol: _SpecialForm = ...\nCallable: _SpecialForm = ...\nType: _SpecialForm = ...\nClassVar: _SpecialForm = ...\nif sys.version_info >= (3, 8):\n Final: _SpecialForm = ...\n def final(f: _F) -> _F: ...\n Literal: _SpecialForm = ...\n # TypedDict is a (non-subscriptable) special form.\n TypedDict: object\n\nif sys.version_info < (3, 7):\n class GenericMeta(type): ...\n\nif sys.version_info >= (3, 10):\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Optional[Type[Any]]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: Union[None, Type[Any], str] = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n\n# Return type that indicates a function does not return.\n# This type is equivalent to the None type, but the no-op Union is necessary to\n# distinguish the None type from the None value.\nNoReturn = Union[None]\n\n# These type variables are used by the container types.\n_T = TypeVar(\"_T\")\n_S = TypeVar(\"_S\")\n_KT = TypeVar(\"_KT\") # Key type.\n_VT = TypeVar(\"_VT\") # Value type.\n_T_co = TypeVar(\"_T_co\", covariant=True) # Any type covariant containers.\n_V_co = TypeVar(\"_V_co\", covariant=True) # Any type covariant containers.\n_KT_co = TypeVar(\"_KT_co\", covariant=True) # Key type covariant containers.\n_VT_co = TypeVar(\"_VT_co\", covariant=True) # Value type covariant containers.\n_T_contra = TypeVar(\"_T_contra\", contravariant=True) # Ditto contravariant.\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\ndef no_type_check(arg: _F) -> _F: ...\ndef no_type_check_decorator(decorator: _F) -> _F: ...\n\n# Type aliases and type constructors\n\nclass _Alias:\n # Class for defining generic aliases for library types.\n def __getitem__(self, typeargs: Any) -> Any: ...\n\nList = _Alias()\nDict = _Alias()\nDefaultDict = _Alias()\nSet = _Alias()\nFrozenSet = _Alias()\nCounter = _Alias()\nDeque = _Alias()\nChainMap = _Alias()\n\nif sys.version_info >= (3, 7):\n OrderedDict = _Alias()\n\nif sys.version_info >= (3, 9):\n Annotated: _SpecialForm = ...\n\n# Predefined type variables.\nAnyStr = TypeVar(\"AnyStr\", str, bytes)\n\n# Abstract base classes.\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n@runtime_checkable\nclass SupportsInt(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __int__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsFloat(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __float__(self) -> float: ...\n\n@runtime_checkable\nclass SupportsComplex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __complex__(self) -> complex: ...\n\n@runtime_checkable\nclass SupportsBytes(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __bytes__(self) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n @runtime_checkable\n class SupportsIndex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __index__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsAbs(Protocol[_T_co]):\n @abstractmethod\n def __abs__(self) -> _T_co: ...\n\n@runtime_checkable\nclass SupportsRound(Protocol[_T_co]):\n @overload\n @abstractmethod\n def __round__(self) -> int: ...\n @overload\n @abstractmethod\n def __round__(self, ndigits: int) -> _T_co: ...\n\n@runtime_checkable\nclass Sized(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __len__(self) -> int: ...\n\n@runtime_checkable\nclass Hashable(Protocol, metaclass=ABCMeta):\n # TODO: This is special, in that a subclass of a hashable class may not be hashable\n # (for example, list vs. object). It's not obvious how to represent this. This class\n # is currently mostly useless for static checking.\n @abstractmethod\n def __hash__(self) -> int: ...\n\n@runtime_checkable\nclass Iterable(Protocol[_T_co]):\n @abstractmethod\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Iterator(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __next__(self) -> _T_co: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Reversible(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass Generator(Iterator[_T_co], Generic[_T_co, _T_contra, _V_co]):\n def __next__(self) -> _T_co: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n def close(self) -> None: ...\n def __iter__(self) -> Generator[_T_co, _T_contra, _V_co]: ...\n @property\n def gi_code(self) -> CodeType: ...\n @property\n def gi_frame(self) -> FrameType: ...\n @property\n def gi_running(self) -> bool: ...\n @property\n def gi_yieldfrom(self) -> Optional[Generator[Any, Any, Any]]: ...\n\n@runtime_checkable\nclass Awaitable(Protocol[_T_co]):\n @abstractmethod\n def __await__(self) -> Generator[Any, None, _T_co]: ...\n\nclass Coroutine(Awaitable[_V_co], Generic[_T_co, _T_contra, _V_co]):\n __name__: str\n __qualname__: str\n @property\n def cr_await(self) -> Optional[Any]: ...\n @property\n def cr_code(self) -> CodeType: ...\n @property\n def cr_frame(self) -> FrameType: ...\n @property\n def cr_running(self) -> bool: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n @abstractmethod\n def close(self) -> None: ...\n\n# NOTE: This type does not exist in typing.py or PEP 484.\n# The parameters correspond to Generator, but the 4th is the original type.\nclass AwaitableGenerator(\n Awaitable[_V_co], Generator[_T_co, _T_contra, _V_co], Generic[_T_co, _T_contra, _V_co, _S], metaclass=ABCMeta\n): ...\n\n@runtime_checkable\nclass AsyncIterable(Protocol[_T_co]):\n @abstractmethod\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\n@runtime_checkable\nclass AsyncIterator(AsyncIterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\nclass AsyncGenerator(AsyncIterator[_T_co], Generic[_T_co, _T_contra]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n @abstractmethod\n def asend(self, __value: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> Awaitable[_T_co]: ...\n @abstractmethod\n def aclose(self) -> Awaitable[None]: ...\n @abstractmethod\n def __aiter__(self) -> AsyncGenerator[_T_co, _T_contra]: ...\n @property\n def ag_await(self) -> Any: ...\n @property\n def ag_code(self) -> CodeType: ...\n @property\n def ag_frame(self) -> FrameType: ...\n @property\n def ag_running(self) -> bool: ...\n\n@runtime_checkable\nclass Container(Protocol[_T_co]):\n @abstractmethod\n def __contains__(self, __x: object) -> bool: ...\n\n@runtime_checkable\nclass Collection(Iterable[_T_co], Container[_T_co], Protocol[_T_co]):\n # Implement Sized (but don't have it as a base class).\n @abstractmethod\n def __len__(self) -> int: ...\n\n_Collection = Collection[_T_co]\n\nclass Sequence(_Collection[_T_co], Reversible[_T_co], Generic[_T_co]):\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T_co: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> Sequence[_T_co]: ...\n # Mixin methods\n def index(self, value: Any, start: int = ..., stop: int = ...) -> int: ...\n def count(self, value: Any) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass MutableSequence(Sequence[_T], Generic[_T]):\n @abstractmethod\n def insert(self, index: int, value: _T) -> None: ...\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> MutableSequence[_T]: ...\n @overload\n @abstractmethod\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n @abstractmethod\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: int) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: slice) -> None: ...\n # Mixin methods\n def append(self, value: _T) -> None: ...\n def clear(self) -> None: ...\n def extend(self, values: Iterable[_T]) -> None: ...\n def reverse(self) -> None: ...\n def pop(self, index: int = ...) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __iadd__(self, x: Iterable[_T]) -> MutableSequence[_T]: ...\n\nclass AbstractSet(_Collection[_T_co], Generic[_T_co]):\n @abstractmethod\n def __contains__(self, x: object) -> bool: ...\n # Mixin methods\n def __le__(self, s: AbstractSet[Any]) -> bool: ...\n def __lt__(self, s: AbstractSet[Any]) -> bool: ...\n def __gt__(self, s: AbstractSet[Any]) -> bool: ...\n def __ge__(self, s: AbstractSet[Any]) -> bool: ...\n def __and__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def __sub__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def isdisjoint(self, other: Iterable[Any]) -> bool: ...\n\nclass MutableSet(AbstractSet[_T], Generic[_T]):\n @abstractmethod\n def add(self, value: _T) -> None: ...\n @abstractmethod\n def discard(self, value: _T) -> None: ...\n # Mixin methods\n def clear(self) -> None: ...\n def pop(self) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __ior__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __iand__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __isub__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n\nclass MappingView(Sized):\n def __init__(self, mapping: Mapping[Any, Any]) -> None: ... # undocumented\n def __len__(self) -> int: ...\n\nclass ItemsView(MappingView, AbstractSet[Tuple[_KT_co, _VT_co]], Generic[_KT_co, _VT_co]):\n def __init__(self, mapping: Mapping[_KT_co, _VT_co]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n\nclass KeysView(MappingView, AbstractSet[_KT_co], Generic[_KT_co]):\n def __init__(self, mapping: Mapping[_KT_co, Any]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT_co]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n\nclass ValuesView(MappingView, Iterable[_VT_co], Generic[_VT_co]):\n def __init__(self, mapping: Mapping[Any, _VT_co]) -> None: ... # undocumented\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_VT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\n@runtime_checkable\nclass ContextManager(Protocol[_T_co]):\n def __enter__(self) -> _T_co: ...\n def __exit__(\n self,\n __exc_type: Optional[Type[BaseException]],\n __exc_value: Optional[BaseException],\n __traceback: Optional[TracebackType],\n ) -> Optional[bool]: ...\n\n@runtime_checkable\nclass AsyncContextManager(Protocol[_T_co]):\n def __aenter__(self) -> Awaitable[_T_co]: ...\n def __aexit__(\n self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Awaitable[Optional[bool]]: ...\n\nclass Mapping(_Collection[_KT], Generic[_KT, _VT_co]):\n # TODO: We wish the key type could also be covariant, but that doesn't work,\n # see discussion in https: //github.com/python/typing/pull/273.\n @abstractmethod\n def __getitem__(self, k: _KT) -> _VT_co: ...\n # Mixin methods\n @overload\n def get(self, key: _KT) -> Optional[_VT_co]: ...\n @overload\n def get(self, key: _KT, default: Union[_VT_co, _T]) -> Union[_VT_co, _T]: ...\n def items(self) -> AbstractSet[Tuple[_KT, _VT_co]]: ...\n def keys(self) -> AbstractSet[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def __contains__(self, o: object) -> bool: ...\n\nclass MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):\n @abstractmethod\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n @abstractmethod\n def __delitem__(self, v: _KT) -> None: ...\n def clear(self) -> None: ...\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...\n # 'update' used to take a Union, but using overloading is better.\n # The second overloaded type here is a bit too general, because\n # Mapping[Tuple[_KT, _VT], W] is a subclass of Iterable[Tuple[_KT, _VT]],\n # but will always have the behavior of the first overloaded type\n # at runtime, leading to keys of a mix of types _KT and Tuple[_KT, _VT].\n # We don't currently have any way of forcing all Mappings to use\n # the first overload, but by using overloading rather than a Union,\n # mypy will commit to using the first overload when the argument is\n # known to be a Mapping with unknown type parameters, which is closer\n # to the behavior we want. See mypy issue #1430.\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n\nText = str\n\nTYPE_CHECKING = True\n\nclass IO(Iterator[AnyStr], Generic[AnyStr]):\n # TODO use abstract properties\n @property\n def mode(self) -> str: ...\n @property\n def name(self) -> str: ...\n @abstractmethod\n def close(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n @abstractmethod\n def fileno(self) -> int: ...\n @abstractmethod\n def flush(self) -> None: ...\n @abstractmethod\n def isatty(self) -> bool: ...\n @abstractmethod\n def read(self, n: int = ...) -> AnyStr: ...\n @abstractmethod\n def readable(self) -> bool: ...\n @abstractmethod\n def readline(self, limit: int = ...) -> AnyStr: ...\n @abstractmethod\n def readlines(self, hint: int = ...) -> list[AnyStr]: ...\n @abstractmethod\n def seek(self, offset: int, whence: int = ...) -> int: ...\n @abstractmethod\n def seekable(self) -> bool: ...\n @abstractmethod\n def tell(self) -> int: ...\n @abstractmethod\n def truncate(self, size: Optional[int] = ...) -> int: ...\n @abstractmethod\n def writable(self) -> bool: ...\n @abstractmethod\n def write(self, s: AnyStr) -> int: ...\n @abstractmethod\n def writelines(self, lines: Iterable[AnyStr]) -> None: ...\n @abstractmethod\n def __next__(self) -> AnyStr: ...\n @abstractmethod\n def __iter__(self) -> Iterator[AnyStr]: ...\n @abstractmethod\n def __enter__(self) -> IO[AnyStr]: ...\n @abstractmethod\n def __exit__(\n self, t: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Optional[bool]: ...\n\nclass BinaryIO(IO[bytes]):\n @abstractmethod\n def __enter__(self) -> BinaryIO: ...\n\nclass TextIO(IO[str]):\n # TODO use abstractproperty\n @property\n def buffer(self) -> BinaryIO: ...\n @property\n def encoding(self) -> str: ...\n @property\n def errors(self) -> Optional[str]: ...\n @property\n def line_buffering(self) -> int: ... # int on PyPy, bool on CPython\n @property\n def newlines(self) -> Any: ... # None, str or tuple\n @abstractmethod\n def __enter__(self) -> TextIO: ...\n\nclass ByteString(Sequence[int], metaclass=ABCMeta): ...\n\nclass Match(Generic[AnyStr]):\n pos: int\n endpos: int\n lastindex: Optional[int]\n lastgroup: Optional[AnyStr]\n string: AnyStr\n\n # The regular expression object whose match() or search() method produced\n # this match instance.\n re: Pattern[AnyStr]\n def expand(self, template: AnyStr) -> AnyStr: ...\n # group() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def group(self, __group: _Literal[0] = ...) -> AnyStr: ...\n @overload\n def group(self, __group: str | int) -> AnyStr | Any: ...\n @overload\n def group(self, __group1: str | int, __group2: str | int, *groups: str | int) -> Tuple[AnyStr | Any, ...]: ...\n # Each item of groups()'s return tuple is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groups(self) -> Tuple[AnyStr | Any, ...]: ...\n @overload\n def groups(self, default: _T) -> Tuple[AnyStr | _T, ...]: ...\n # Each value in groupdict()'s return dict is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groupdict(self) -> dict[str, AnyStr | Any]: ...\n @overload\n def groupdict(self, default: _T) -> dict[str, AnyStr | _T]: ...\n def start(self, __group: Union[int, str] = ...) -> int: ...\n def end(self, __group: Union[int, str] = ...) -> int: ...\n def span(self, __group: Union[int, str] = ...) -> Tuple[int, int]: ...\n @property\n def regs(self) -> Tuple[Tuple[int, int], ...]: ... # undocumented\n # __getitem__() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def __getitem__(self, __key: _Literal[0]) -> AnyStr: ...\n @overload\n def __getitem__(self, __key: int | str) -> AnyStr | Any: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Pattern(Generic[AnyStr]):\n flags: int\n groupindex: Mapping[str, int]\n groups: int\n pattern: AnyStr\n def search(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def match(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def fullmatch(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def split(self, string: AnyStr, maxsplit: int = ...) -> list[AnyStr]: ...\n def findall(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> list[Any]: ...\n def finditer(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Iterator[Match[AnyStr]]: ...\n @overload\n def sub(self, repl: AnyStr, string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def sub(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def subn(self, repl: AnyStr, string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n @overload\n def subn(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# Functions\n\nif sys.version_info >= (3, 7):\n _get_type_hints_obj_allowed_types = Union[\n object,\n Callable[..., Any],\n FunctionType,\n BuiltinFunctionType,\n MethodType,\n ModuleType,\n WrapperDescriptorType,\n MethodWrapperType,\n MethodDescriptorType,\n ]\nelse:\n _get_type_hints_obj_allowed_types = Union[\n object, Callable[..., Any], FunctionType, BuiltinFunctionType, MethodType, ModuleType,\n ]\n\nif sys.version_info >= (3, 9):\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types,\n globalns: Optional[Dict[str, Any]] = ...,\n localns: Optional[Dict[str, Any]] = ...,\n include_extras: bool = ...,\n ) -> Dict[str, Any]: ...\n\nelse:\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types, globalns: Optional[Dict[str, Any]] = ..., localns: Optional[Dict[str, Any]] = ...\n ) -> Dict[str, Any]: ...\n\nif sys.version_info >= (3, 8):\n def get_origin(tp: Any) -> Optional[Any]: ...\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n\n@overload\ndef cast(typ: Type[_T], val: Any) -> _T: ...\n@overload\ndef cast(typ: str, val: Any) -> Any: ...\n@overload\ndef cast(typ: object, val: Any) -> Any: ...\n\n# Type constructors\n\n# NamedTuple is special-cased in the type checker\nclass NamedTuple(Tuple[Any, ...]):\n _field_types: collections.OrderedDict[str, Type[Any]]\n _field_defaults: Dict[str, Any] = ...\n _fields: Tuple[str, ...]\n _source: str\n def __init__(self, typename: str, fields: Iterable[Tuple[str, Any]] = ..., **kwargs: Any) -> None: ...\n @classmethod\n def _make(cls: Type[_T], iterable: Iterable[Any]) -> _T: ...\n if sys.version_info >= (3, 8):\n def _asdict(self) -> Dict[str, Any]: ...\n else:\n def _asdict(self) -> collections.OrderedDict[str, Any]: ...\n def _replace(self: _T, **kwargs: Any) -> _T: ...\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __or__(self: _T, __value: _T) -> _T: ...\n def __ior__(self: _T, __value: _T) -> _T: ...\n\ndef NewType(name: str, tp: Type[_T]) -> Type[_T]: ...\n\n# This itself is only available during type checking\ndef type_check_only(func_or_cls: _F) -> _F: ...\n\nif sys.version_info >= (3, 7):\n class ForwardRef:\n __forward_arg__: str\n __forward_code__: CodeType\n __forward_evaluated__: bool\n __forward_value__: Optional[Any]\n __forward_is_argument__: bool\n def __init__(self, arg: str, is_argument: bool = ...) -> None: ...\n def _evaluate(self, globalns: Optional[Dict[str, Any]], localns: Optional[Dict[str, Any]]) -> Optional[Any]: ...\n def __eq__(self, other: Any) -> bool: ...\n def __hash__(self) -> int: ...\n def __repr__(self) -> str: ...\n\nif sys.version_info >= (3, 10):\n def is_typeddict(tp: Any) -> bool: ...\n", "/typeshed/stdlib/typing_extensions.pyi": "import abc\nimport sys\nfrom typing import (\n TYPE_CHECKING as TYPE_CHECKING,\n Any,\n AsyncContextManager as AsyncContextManager,\n AsyncGenerator as AsyncGenerator,\n AsyncIterable as AsyncIterable,\n AsyncIterator as AsyncIterator,\n Awaitable as Awaitable,\n Callable,\n ChainMap as ChainMap,\n ClassVar as ClassVar,\n ContextManager as ContextManager,\n Coroutine as Coroutine,\n Counter as Counter,\n DefaultDict as DefaultDict,\n Deque as Deque,\n ItemsView,\n KeysView,\n Mapping,\n NewType as NewType,\n NoReturn as NoReturn,\n Text as Text,\n Tuple,\n Type as Type,\n TypeVar,\n ValuesView,\n _Alias,\n overload as overload,\n)\n\n_T = TypeVar(\"_T\")\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> Any: ...\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n\n# This alias for above is kept here for backwards compatibility.\nruntime = runtime_checkable\nProtocol: _SpecialForm = ...\nFinal: _SpecialForm = ...\n\ndef final(f: _F) -> _F: ...\n\nLiteral: _SpecialForm = ...\n\ndef IntVar(name: str) -> Any: ... # returns a new TypeVar\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n\n# TypedDict is a (non-subscriptable) special form.\nTypedDict: object = ...\n\nOrderedDict = _Alias()\n\ndef get_type_hints(\n obj: Callable[..., Any],\n globalns: dict[str, Any] | None = ...,\n localns: dict[str, Any] | None = ...,\n include_extras: bool = ...,\n) -> dict[str, Any]: ...\n\nif sys.version_info >= (3, 7):\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n def get_origin(tp: Any) -> Any | None: ...\n\nAnnotated: _SpecialForm = ...\n_AnnotatedAlias: Any = ... # undocumented\n\n@runtime_checkable\nclass SupportsIndex(Protocol, metaclass=abc.ABCMeta):\n @abc.abstractmethod\n def __index__(self) -> int: ...\n\n# PEP 612 support for Python < 3.9\nif sys.version_info >= (3, 10):\n from typing import Concatenate as Concatenate, ParamSpec as ParamSpec, TypeAlias as TypeAlias, TypeGuard as TypeGuard\nelse:\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Type[Any] | None\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: None | Type[Any] | str = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n", @@ -35,16 +35,16 @@ "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", - "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pins, images, sounds, temperature and volume.\n\"\"\"\n\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\n\nfrom _typeshed import ReadableBuffer\n\n# V2 only\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(\n callback: Optional[Callable[[], None]] = None,\n days: int = 0,\n h: int = 0,\n min: int = 0,\n s: int = 0,\n ms: int = 0,\n) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Schedule to run a function at the interval specified by the time arguments **V2 only**.\n\n Example: ``run_every(my_logging, min=5)``\n\n ``run_every`` can be used in two ways:\n\n As a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\n As a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\n Each argument corresponds to a different time unit and they are additive.\n So ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\n When an exception is thrown inside the callback function it deschedules the\n function. To avoid this you can catch exceptions with ``try/except``.\n\n :param callback: Function to call at the provided interval. Omit when using as a decorator.\n :param days: Sets the day mark for the scheduling.\n :param h: Sets the hour mark for the scheduling.\n :param min: Sets the minute mark for the scheduling.\n :param s: Sets the second mark for the scheduling.\n :param ms: Sets the millisecond mark for the scheduling.\n \"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Enter a panic mode.\n\n Example: ``panic(127)``\n\n :param n: An arbitrary integer <= 255 to indicate a status.\n\n Requires restart.\n \"\"\"\n\ndef reset() -> None:\n \"\"\"Restart the board.\"\"\"\n\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converts a value from a range to an integer range.\n\n Example: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\n For example, to convert an accelerometer X value to a speaker volume.\n\n If one of the numbers in the ``to`` parameter is a floating point\n (i.e a decimal number like ``10.0``), this function will return a\n floating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n :param value: A number to convert.\n :param from_: A tuple to define the range to convert from.\n :param to: A tuple to define the range to convert to.\n :return: The ``value`` converted to the ``to`` range.\n \"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converts a value from a range to a floating point range.\n\n Example: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\n For example, to convert temperature from a Celsius scale to Fahrenheit.\n\n If one of the numbers in the ``to`` parameter is a floating point\n (i.e a decimal number like ``10.0``), this function will return a\n floating point number.\n If they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n :param value: A number to convert.\n :param from_: A tuple to define the range to convert from.\n :param to: A tuple to define the range to convert to.\n :return: The ``value`` converted to the ``to`` range.\n \"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Wait for ``n`` milliseconds.\n\n Example: ``sleep(1000)``\n\n :param n: The number of milliseconds to wait\n\n One second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\n will pause the execution for one second.\n \"\"\"\n\ndef running_time() -> int:\n \"\"\"Get the running time of the board.\n\n :return: The number of milliseconds since the board was switched on or restarted.\n \"\"\"\n\ndef temperature() -> int:\n \"\"\"Get the temperature of the micro:bit in degrees Celsius.\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Sets the volume.\n\n Example: ``set_volume(127)``\n\n :param v: a value between 0 (low) and 255 (high).\n\n Out of range values will be clamped to 0 or 255.\n\n **V2** only.\n \"\"\"\n ...\n\nclass Button:\n \"\"\"The class for the buttons ``button_a`` and ``button_b``.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Check if the button is pressed.\n\n :return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\n \"\"\"\n ...\n def was_pressed(self) -> bool:\n \"\"\"Check if the button was pressed since the device started or the last time this method was called.\n\n Calling this method will clear the press state so\n that the button must be pressed again before this method will return\n ``True`` again.\n\n :return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\n \"\"\"\n ...\n def get_presses(self) -> int:\n \"\"\"Get the running total of button presses, and resets this total\n to zero before returning.\n\n :return: The number of presses since the device started or the last time this method was called\n \"\"\"\n ...\n\nbutton_a: Button\n\"\"\"The left button ``Button`` object.\"\"\"\n\nbutton_b: Button\n\"\"\"The right button ``Button`` object.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"A digital pin.\n\n Some pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\n \"\"\"\n\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n def read_digital(self) -> int:\n \"\"\"Get the digital value of the pin.\n\n Example: ``value = pin0.read_digital()``\n\n :return: 1 if the pin is high, and 0 if it's low.\n \"\"\"\n ...\n def write_digital(self, value: int) -> None:\n \"\"\"Set the digital value of the pin.\n\n Example: ``pin0.write_digital(1)``\n\n :param value: 1 to set the pin high or 0 to set the pin low\"\"\"\n ...\n def set_pull(self, value: int) -> None:\n \"\"\"Set the pull state to one of three possible values: ``PULL_UP``, ``PULL_DOWN`` or ``NO_PULL``.\n\n Example: ``pin0.set_pull(pin0.PULL_UP)``\n\n :param value: The pull state from the relevant pin, e.g. ``pin0.PULL_UP``.\n \"\"\"\n ...\n def get_pull(self) -> int:\n \"\"\"Get the pull state on a pin.\n\n Example: ``pin0.get_pull()``\n\n :return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\n These are set using the ``set_pull()`` method or automatically configured\n when a pin mode requires it.\n \"\"\"\n ...\n def get_mode(self) -> str:\n \"\"\"Returns the pin mode.\n\n Example: ``pin0.get_mode()``\n\n When a pin is used for a specific function, like\n writing a digital value, or reading an analog value, the pin mode\n changes.\n\n :return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\n \"\"\"\n ...\n def write_analog(self, value: int) -> None:\n \"\"\"Output a PWM signal on the pin, with the duty cycle proportional to ``value``.\n\n Example: ``pin0.write_analog(254)``\n\n :param value: An integer or a floating point number between 0 (0% duty cycle) and 1023 (100% duty).\n \"\"\"\n def set_analog_period(self, period: int) -> None:\n \"\"\"Set the period of the PWM signal being output to ``period`` in milliseconds.\n\n Example: ``pin0.set_analog_period(10)``\n\n :param period: The period in milliseconds with a minimum valid value of 1ms.\n \"\"\"\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Set the period of the PWM signal being output to ``period`` in microseconds.\n\n Example: ``pin0.set_analog_period_microseconds(512)``\n\n :param period: The period in microseconds with a minimum valid value of 256\u00b5s.\n \"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"A pin with analog and digital features.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Read the voltage applied to the pin.\n\n Example: ``pin0.read_analog()``\n\n :return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\n \"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"A pin with analog, digital and touch features.\"\"\"\n\n CAPACITIVE: int\n RESISTIVE: int\n def is_touched(self) -> bool:\n \"\"\"Check if the pin is being touched.\n\n Example: ``pin0.is_touched()``\n\n The default touch mode for the pins on the edge connector is ``resistive``.\n The default for the logo pin **V2** is ``capacitive``.\n\n **Resistive touch**\n This test is done by measuring how much resistance there is between the\n pin and ground. A low resistance gives a reading of ``True``. To get\n a reliable reading using a finger you may need to touch the ground pin\n with another part of your body, for example your other hand.\n\n **Capacitive touch**\n This test is done by interacting with the electric field of a capacitor\n using a finger as a conductor. `Capacitive touch\n `_\n does not require you to make a ground connection as part of a circuit.\n\n :return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\n \"\"\"\n ...\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Set the touch mode for the pin.\n\n Example: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\n The default touch mode for the pins on the edge connector is\n ``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n :param value: ``CAPACITIVE`` or ``RESISTIVE`` from the relevant pin.\n \"\"\"\n ...\n\npin0: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin1: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin2: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin5: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin6: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin7: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin8: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin9: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin11: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin12: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin13: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin14: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin15: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin16: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin19: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin20: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin_logo: MicroBitTouchPin\n\"\"\"A touch sensitive logo pin on the front of the micro:bit, which by default is set to capacitive touch mode.\"\"\"\n\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"A pin to address the micro:bit speaker.\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"An image to show on the micro:bit LED display.\n\n Given an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\n \"\"\"\n\n HEART: Image\n \"\"\"Heart image.\"\"\"\n\n HEART_SMALL: Image\n \"\"\"Small heart image.\"\"\"\n\n HAPPY: Image\n \"\"\"Happy face image.\"\"\"\n\n SMILE: Image\n \"\"\"Smiling mouth image.\"\"\"\n\n SAD: Image\n \"\"\"Sad face image.\"\"\"\n\n CONFUSED: Image\n \"\"\"Confused face image.\"\"\"\n\n ANGRY: Image\n \"\"\"Angry face image.\"\"\"\n\n ASLEEP: Image\n \"\"\"Sleeping face image.\"\"\"\n\n SURPRISED: Image\n \"\"\"Surprised face image.\"\"\"\n\n SILLY: Image\n \"\"\"Silly face image.\"\"\"\n\n FABULOUS: Image\n \"\"\"Sunglasses face image.\"\"\"\n\n MEH: Image\n \"\"\"Unimpressed face image.\"\"\"\n\n YES: Image\n \"\"\"Tick image.\"\"\"\n\n NO: Image\n \"\"\"Cross image.\"\"\"\n\n CLOCK12: Image\n \"\"\"Image with line pointing to 12 o'clock.\"\"\"\n\n CLOCK11: Image\n \"\"\"Image with line pointing to 11 o'clock.\"\"\"\n\n CLOCK10: Image\n \"\"\"Image with line pointing to 10 o'clock.\"\"\"\n\n CLOCK9: Image\n \"\"\"Image with line pointing to 9 o'clock.\"\"\"\n\n CLOCK8: Image\n \"\"\"Image with line pointing to 8 o'clock.\"\"\"\n\n CLOCK7: Image\n \"\"\"Image with line pointing to 7 o'clock.\"\"\"\n\n CLOCK6: Image\n \"\"\"Image with line pointing to 6 o'clock.\"\"\"\n\n CLOCK5: Image\n \"\"\"Image with line pointing to 5 o'clock.\"\"\"\n\n CLOCK4: Image\n \"\"\"Image with line pointing to 4 o'clock.\"\"\"\n\n CLOCK3: Image\n \"\"\"Image with line pointing to 3 o'clock.\"\"\"\n\n CLOCK2: Image\n \"\"\"Image with line pointing to 2 o'clock.\"\"\"\n\n CLOCK1: Image\n \"\"\"Image with line pointing to 1 o'clock.\"\"\"\n\n ARROW_N: Image\n \"\"\"Image of arrow pointing north.\"\"\"\n\n ARROW_NE: Image\n \"\"\"Image of arrow pointing north east.\"\"\"\n\n ARROW_E: Image\n \"\"\"Image of arrow pointing east.\"\"\"\n\n ARROW_SE: Image\n \"\"\"Image of arrow pointing south east.\"\"\"\n\n ARROW_S: Image\n \"\"\"Image of arrow pointing south.\"\"\"\n\n ARROW_SW: Image\n \"\"\"Image of arrow pointing south west.\"\"\"\n\n ARROW_W: Image\n \"\"\"Image of arrow pointing west.\"\"\"\n\n ARROW_NW: Image\n \"\"\"Image of arrow pointing north west.\"\"\"\n\n TRIANGLE: Image\n \"\"\"Image of a triangle pointing up.\"\"\"\n\n TRIANGLE_LEFT: Image\n \"\"\"Image of a triangle in the left corner.\"\"\"\n\n CHESSBOARD: Image\n \"\"\"Alternate LEDs lit in a chessboard pattern.\"\"\"\n\n DIAMOND: Image\n \"\"\"Diamond image.\"\"\"\n\n DIAMOND_SMALL: Image\n \"\"\"Small diamond image.\"\"\"\n\n SQUARE: Image\n \"\"\"Square image.\"\"\"\n\n SQUARE_SMALL: Image\n \"\"\"Small square image.\"\"\"\n\n RABBIT: Image\n \"\"\"Rabbit image.\"\"\"\n\n COW: Image\n \"\"\"Cow image.\"\"\"\n\n MUSIC_CROTCHET: Image\n \"\"\"Crotchet note image.\"\"\"\n\n MUSIC_QUAVER: Image\n \"\"\"Quaver note image.\"\"\"\n\n MUSIC_QUAVERS: Image\n \"\"\"Pair of quavers note image.\"\"\"\n\n PITCHFORK: Image\n \"\"\"Pitchfork image.\"\"\"\n\n XMAS: Image\n \"\"\"Christmas tree image.\"\"\"\n\n PACMAN: Image\n \"\"\"Pac-Man arcade character image.\"\"\"\n\n TARGET: Image\n \"\"\"Target image.\"\"\"\n\n TSHIRT: Image\n \"\"\"T-shirt image.\"\"\"\n\n ROLLERSKATE: Image\n \"\"\"Rollerskate image.\"\"\"\n\n DUCK: Image\n \"\"\"Duck image.\"\"\"\n\n HOUSE: Image\n \"\"\"House image.\"\"\"\n\n TORTOISE: Image\n \"\"\"Tortoise image.\"\"\"\n\n BUTTERFLY: Image\n \"\"\"Butterfly image.\"\"\"\n\n STICKFIGURE: Image\n \"\"\"Stick figure image.\"\"\"\n\n GHOST: Image\n \"\"\"Ghost image.\"\"\"\n\n SWORD: Image\n \"\"\"Sword image.\"\"\"\n\n GIRAFFE: Image\n \"\"\"Giraffe image.\"\"\"\n\n SKULL: Image\n \"\"\"Skull image.\"\"\"\n\n UMBRELLA: Image\n \"\"\"Umbrella image.\"\"\"\n\n SNAKE: Image\n \"\"\"Snake image.\"\"\"\n\n SCISSORS: Image\n \"\"\"Scissors image.\"\"\"\n\n ALL_CLOCKS: List[Image]\n \"\"\"A list containing all the CLOCK_ images in sequence.\"\"\"\n\n ALL_ARROWS: List[Image]\n \"\"\"A list containing all the ARROW_ images in sequence.\"\"\"\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Create an image from a string describing which LEDs are lit.\n\n ``string`` has to consist of digits 0-9 arranged into lines,\n describing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\n will create a 5\u00d75 image of an X. The end of a line is indicated by a\n colon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n :param string: The string describing the image.\n \"\"\"\n ...\n @overload\n def __init__(\n self, width: int = 5, height: int = 5, buffer: ReadableBuffer = None\n ) -> None:\n \"\"\"Create an empty image with ``width`` columns and ``height`` rows.\n\n :param width: Optional width of the image\n :param height: Optional height of the image\n :param buffer: Optional array or bytes of ``width``\u00d7``height`` integers in range 0-9 to initialize the image\n\n Examples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\n These create 2 x 2 pixel images at full brightness.\n \"\"\"\n ...\n def width(self) -> int:\n \"\"\"Get the number of columns.\n\n :return: The number of columns in the image\n \"\"\"\n ...\n def height(self) -> int:\n \"\"\"Get the number of rows.\n\n :return: The number of rows in the image\n \"\"\"\n ...\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Set the brightness of a pixel.\n\n Example: ``my_image.set_pixel(0, 0, 9)``\n\n :param x: The column number\n :param y: The row number\n :param value: The brightness as an integer between 0 (dark) and 9 (bright)\n\n This method will raise an exception when called on any of the built-in\n read-only images, like ``Image.HEART``.\n \"\"\"\n ...\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Get the brightness of a pixel.\n\n Example: ``my_image.get_pixel(0, 0)``\n\n :param x: The column number\n :param y: The row number\n :return: The brightness as an integer between 0 and 9.\n \"\"\"\n ...\n def shift_left(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture left.\n\n Example: ``Image.HEART_SMALL.shift_left(1)``\n\n :param n: The number of columns to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_right(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture right.\n\n Example: ``Image.HEART_SMALL.shift_right(1)``\n\n :param n: The number of columns to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_up(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture up.\n\n Example: ``Image.HEART_SMALL.shift_up(1)``\n\n :param n: The number of rows to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_down(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture down.\n\n Example: ``Image.HEART_SMALL.shift_down(1)``\n\n :param n: The number of rows to shift by\n :return: The shifted image\n \"\"\"\n ...\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Create a new image by cropping the picture.\n\n Example: ``Image.HEART.crop(1, 1, 3, 3)``\n\n :param x: The crop offset column\n :param y: The crop offset row\n :param w: The crop width\n :param h: The crop height\n :return: The new image\n \"\"\"\n ...\n def copy(self) -> Image:\n \"\"\"Create an exact copy of the image.\n\n Example: ``Image.HEART.copy()``\n\n :return: The new image\n \"\"\"\n ...\n def invert(self) -> Image:\n \"\"\"Create a new image by inverting the brightness of the pixels in the\n source image.\n\n Example: ``Image.SMALL_HEART.invert()``\n\n :return: The new image.\n \"\"\"\n ...\n def fill(self, value: int) -> None:\n \"\"\"Set the brightness of all the pixels in the image.\n\n Example: ``my_image.fill(5)``\n\n :param value: The new brightness as a number between 0 (dark) and 9 (bright).\n\n This method will raise an exception when called on any of the built-in\n read-only images, like ``Image.HEART``.\n \"\"\"\n ...\n def blit(\n self,\n src: Image,\n x: int,\n y: int,\n w: int,\n h: int,\n xdest: int = 0,\n ydest: int = 0,\n ) -> None:\n \"\"\"Copy an area from another image into this image.\n\n Example: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n :param src: The source image\n :param x: The starting column offset in the source image\n :param y: The starting row offset in the source image\n :param w: The number of columns to copy\n :param h: The number of rows to copy\n :param xdest: The column offset to modify in this image\n :param ydest: The row offset to modify in this image\n\n Pixels outside the source image are treated as having a brightness of 0.\n\n ``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\n and ``crop()`` can are all implemented by using ``blit()``.\n\n For example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\n \"\"\"\n ...\n def __repr__(self) -> str:\n \"\"\"Get a compact string representation of the image.\"\"\"\n ...\n def __str__(self) -> str:\n \"\"\"Get a readable string representation of the image.\"\"\"\n ...\n def __add__(self, other: Image) -> Image:\n \"\"\"Create a new image by adding the brightness values from the two\n images for each pixel.\n\n Example: ``Image.HEART + Image.HAPPY``\n\n :param other: The image to add.\n \"\"\"\n ...\n def __sub__(self, other: Image) -> Image:\n \"\"\"Create a new image by subtracting the brightness values of the\n other image from this image.\n\n Example: ``Image.HEART - Image.HEART_SMALL``\n\n :param other: The image to subtract.\n \"\"\"\n ...\n def __mul__(self, n: float) -> Image:\n \"\"\"Create a new image by multiplying the brightness of each pixel by\n ``n``.\n\n Example: ``Image.HEART * 0.5``\n\n :param n: The value to multiply by.\n \"\"\"\n ...\n def __truediv__(self, n: float) -> Image:\n \"\"\"Create a new image by dividing the brightness of each pixel by\n ``n``.\n\n Example: ``Image.HEART / 2``\n\n :param n: The value to divide by.\n \"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Represents the transition of sound events, from ``quiet`` to ``loud`` like clapping or shouting.\"\"\"\n\n QUIET: SoundEvent\n \"\"\"Represents the transition of sound events, from ``loud`` to ``quiet`` like speaking or background music.\"\"\"\n\nclass Sound:\n \"\"\"The built-in sounds can be called using ``audio.play(Sound.NAME)``.\"\"\"\n\n GIGGLE: Sound\n \"\"\"Giggling sound.\"\"\"\n\n HAPPY: Sound\n \"\"\"Happy sound.\"\"\"\n\n HELLO: Sound\n \"\"\"Greeting sound.\"\"\"\n\n MYSTERIOUS: Sound\n \"\"\"Mysterious sound.\"\"\"\n\n SAD: Sound\n \"\"\"Sad sound.\"\"\"\n\n SLIDE: Sound\n \"\"\"Sliding sound.\"\"\"\n\n SOARING: Sound\n \"\"\"Soaring sound.\"\"\"\n\n SPRING: Sound\n \"\"\"Spring sound.\"\"\"\n\n TWINKLE: Sound\n \"\"\"Twinkling sound.\"\"\"\n\n YAWN: Sound\n \"\"\"Yawning sound.\"\"\"\n", - "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Measure the acceleration of the micro:bit and recognise gestures.\n\"\"\"\n\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Get the acceleration measurement in the ``x`` axis in milli-g.\n\n Example: ``accelerometer.get_x()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Get the acceleration measurement in the ``y`` axis in milli-g.\n\n Example: ``accelerometer.get_y()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Get the acceleration measurement in the ``z`` axis in milli-g.\n\n Example: ``accelerometer.get_z()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Get the acceleration measurements in all axes at once as a tuple.\n\n Example: ``x, y, z = accelerometer.get_values()``\n\n :return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\n \"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Get the acceleration measurement of all axes combined, as a positive integer. This is the Pythagorean sum of the X, Y and Z axes.\n\n Example: ``accelerometer.get_strength()``\n\n :return: The combined acceleration strength of all the axes, in milli-g.\n \"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Get the name of the current gesture.\n\n Example: ``accelerometer.current_gesture()``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :return: The current gesture\n \"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Check if the named gesture is currently active.\n\n Example: ``accelerometer.is_gesture('shake')``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :param name: The gesture name.\n :return: ``True`` if the gesture is active, ``False`` otherwise.\n \"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Check if the named gesture was active since the last call.\n\n Example: ``accelerometer.was_gesture('shake')``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :param name: The gesture name.\n :return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\n \"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Return a tuple of the gesture history.\n\n Example: ``accelerometer.get_gestures()``\n\n Clears the gesture history before returning.\n\n Gestures are not updated in the background so there needs to be constant\n calls to some accelerometer method to do the gesture detection. Usually\n gestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n :return: The history as a tuple, most recent last.\n \"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Set the accelerometer sensitivity range, in g (standard gravity), to the closest values supported by the hardware, so it rounds to either ``2``, ``4``, or ``8`` g.\n\n Example: ``accelerometer.set_range(8)``\n\n :param value: New range for the accelerometer, an integer in ``g``.\n \"\"\"\n", - "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(\n source: Union[Iterable[AudioFrame], Sound, SoundEffect],\n wait: bool = True,\n pin: MicroBitDigitalPin = pin0,\n return_pin: Union[MicroBitDigitalPin, None] = None,\n) -> None:\n \"\"\"Play a built-in sound, sound effect or custom audio frames.\n\n Example: ``audio.play(Sound.GIGGLE)``\n\n :param source: A built-in ``Sound`` such as ``Sound.GIGGLE``, a ``SoundEffect`` or sample data as an iterable of ``AudioFrame`` objects.\n :param wait: If ``wait`` is ``True``, this function will block until the sound is complete.\n :param pin: An optional argument to specify the output pin can be used to override the default of ``pin0``. If we do not want any sound to play we can use ``pin=None``.\n :param return_pin: Specifies a differential edge connector pin to connect to an external speaker instead of ground. This is ignored for the **V2** revision.\n \"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Check whether a sound is playing.\n\n Example: ``audio.is_playing()``\n\n :return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Stop all audio playback.\n\n Example: ``audio.stop()``\n \"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"A sound effect, composed by a set of parameters configured via the constructor or attributes.\"\"\"\n\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sine wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Sawtooth wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Triangle wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Square wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise option used for the ``waveform`` parameter.\"\"\"\n\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Linear interpolation option used for the ``shape`` parameter.\"\"\"\n\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolation option used for the ``shape`` parameter.\"\"\"\n\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmic interpolation option used for the ``shape`` parameter.\"\"\"\n\n FX_NONE: ClassVar[int]\n \"\"\"No effect option used for the ``fx`` parameter.\"\"\"\n\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect option used for the ``fx`` parameter.\"\"\"\n\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect option used for the ``fx`` parameter.\"\"\"\n\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect option used for the ``fx`` parameter.\"\"\"\n\n freq_start: int\n \"\"\"Start frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n\n freq_end: int\n \"\"\"End frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n\n duration: int\n \"\"\"Duration of the sound in milliseconds, a number between ``0`` and ``9999``\"\"\"\n\n vol_start: int\n \"\"\"Start volume value, a number between ``0`` and ``255``\"\"\"\n\n vol_end: int\n \"\"\"End volume value, a number between ``0`` and ``255``\"\"\"\n\n waveform: int\n \"\"\"Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise)\"\"\"\n\n fx: int\n \"\"\"Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``\"\"\"\n\n shape: int\n \"\"\"The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(\n self,\n freq_start: int = 500,\n freq_end: int = 2500,\n duration: int = 500,\n vol_start: int = 255,\n vol_end: int = 0,\n waveform: int = WAVEFORM_SQUARE,\n fx: int = FX_NONE,\n shape: int = SHAPE_LOG,\n ):\n \"\"\"Create a new sound effect.\n\n Example: ``my_effect = SoundEffect(duration=1000)``\n\n All the parameters are optional, with default values as shown above, and\n they can all be modified via attributes of the same name. For example, we\n can first create an effect ``my_effect = SoundEffect(duration=1000)``,\n and then change its attributes ``my_effect.duration = 500``.\n\n :param freq_start: Start frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n :param freq_end: End frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n :param duration: Duration of the sound in milliseconds, a number between ``0`` and ``9999``.\n :param vol_start: Start volume value, a number between ``0`` and ``255``.\n :param vol_end: End volume value, a number between ``0`` and ``255``.\n :param waveform: Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise).\n :param fx: Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n :param shape: The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\n \"\"\"\n def copy(self) -> SoundEffect:\n \"\"\"Create a copy of this ``SoundEffect``.\n\n Example: ``sound_2 = sound_1.copy()``\n\n :return: A copy of the SoundEffect.\n \"\"\"\n\nclass AudioFrame:\n \"\"\"An ``AudioFrame`` object is a list of 32 samples each of which is a unsigned byte\n (whole number between 0 and 255).\n\n It takes just over 4 ms to play a single frame.\n\n Example::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\n \"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overwrite the data in this ``AudioFrame`` with the data from another ``AudioFrame`` instance.\n\n Example: ``my_frame.copyfrom(source_frame)``\n\n :param other: ``AudioFrame`` instance from which to copy the data.\n \"\"\"\n def __len__(self) -> int: ...\n def __setitem__(self, key: int, value: int) -> None: ...\n def __getitem__(self, key: int) -> int: ...\n", - "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Use the built-in compass.\n\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Starts the calibration process.\n\n Example: ``compass.calibrate()``\n\n An instructive message will be scrolled to the user after which they will need\n to rotate the device in order to draw a circle on the LED display.\n \"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"Check is the compass is calibrated.\n\n Example: ``compass.is_calibrated()``\n\n :return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\n \"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Undoes the calibration, making the compass uncalibrated again.\n\n Example: ``compass.clear_calibration()``\n \"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Get the magnetic field strength on the ``x`` axis.\n\n Example: ``compass.get_x()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Get the magnetic field strength on the ``y`` axis.\n\n Example: ``compass.get_y()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Get the magnetic field strength on the ``z`` axis.\n\n Example: ``compass.get_z()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Get the compass heading.\n\n Example: ``compass.heading()``\n\n :return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\n \"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Get the magnitude of the magnetic field around the device.\n\n Example: ``compass.get_field_strength()``\n\n :return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...\n", - "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Show text, images and animations on the 5\u00d75 LED display.\n\"\"\"\n\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Get the brightness of the LED at column ``x`` and row ``y``.\n\n Example: ``display.get_pixel(0, 0)``\n\n :param x: The display column (0..4)\n :param y: The display row (0..4)\n :return: A number between 0 (off) and 9 (bright)\n \"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Set the brightness of the LED at column ``x`` and row ``y``.\n\n Example: ``display.set_pixel(0, 0, 9)``\n\n :param x: The display column (0..4)\n :param y: The display row (0..4)\n :param value: The brightness between 0 (off) and 9 (bright)\n \"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Set the brightness of all LEDs to 0 (off).\n\n Example: ``display.clear()``\n \"\"\"\n ...\n\ndef show(\n image: Union[str, float, int, Image, Iterable[Image]],\n delay: int = 400,\n wait: bool = True,\n loop: bool = False,\n clear: bool = False,\n) -> None:\n \"\"\"Shows images, letters or digits on the LED display.\n\n Example: ``display.show(Image.HEART)``\n\n When ``image`` is an image or a list of images then each image is displayed in turn.\n If ``image`` is a string or number, each letter or digit is displayed in turn.\n\n :param image: A string, number, image or list of images to show.\n :param delay: Each letter, digit or image is shown with ``delay`` milliseconds between them.\n :param wait: If ``wait`` is ``True``, this function will block until the animation is finished, otherwise the animation will happen in the background.\n :param loop: If ``loop`` is ``True``, the animation will repeat forever.\n :param clear: If ``clear`` is ``True``, the display will be cleared after the sequence has finished.\n\n The ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\n \"\"\"\n ...\n\ndef scroll(\n text: Union[str, float, int],\n delay: int = 150,\n wait: bool = True,\n loop: bool = False,\n monospace: bool = False,\n) -> None:\n \"\"\"Scrolls a number or text on the LED display.\n\n Example: ``display.scroll('micro:bit')``\n\n :param text: The string to scroll. If ``text`` is an integer or float it is first converted to a string using ``str()``.\n :param delay: The ``delay`` parameter controls how fast the text is scrolling.\n :param wait: If ``wait`` is ``True``, this function will block until the animation is finished, otherwise the animation will happen in the background.\n :param loop: If ``loop`` is ``True``, the animation will repeat forever.\n :param monospace: If ``monospace`` is ``True``, the characters will all take up 5 pixel-columns in width, otherwise there will be exactly 1 blank pixel-column between each character as they scroll.\n\n The ``wait``, ``loop`` and ``monospace`` arguments must be specified\n using their keyword.\n \"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Turn on the LED display.\n\n Example: ``display.on()``\n \"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Turn off the LED display (disabling the display allows you to re-use the GPIO pins for other purposes).\n\n Example: ``display.off()``\n \"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"Check whether the LED display is enabled.\n\n Example: ``display.is_on()``\n\n :return: ``True`` if the display is on, otherwise returns ``False``.\n \"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Read the light level.\n\n Example: ``display.read_light_level()``\n\n Uses the display's LEDs in reverse-bias mode to sense the amount of light\n falling on the display.\n\n :return: An integer between 0 and 255 representing the light level, with larger meaning more light.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Communicate with devices using the I\u00b2C bus protocol.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(\n freq: int = 100000, sda: MicroBitDigitalPin = pin20, scl: MicroBitDigitalPin = pin19\n) -> None:\n \"\"\"Re-initialize a peripheral.\n\n Example: ``i2c.init()``\n\n :param freq: clock frequency\n :param sda: ``sda`` pin (default 20)\n :param scl: ``scl`` pin (default 19)\n\n On a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\n the accelerometer and compass stop working, as they are connected\n internally to those pins. This warning does not apply to the **V2**\n revision of the micro:bit as this has `separate I\u00b2C lines `_\n for the motion sensors and the edge connector.\n \"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scan the bus for devices.\n\n Example: ``i2c.scan()``\n\n :return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\n \"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool = False) -> bytes:\n \"\"\"Read bytes from a device.\n\n Example: ``i2c.read(0x50, 64)``\n\n :param addr: The 7-bit address of the device\n :param n: The number of bytes to read\n :param repeat: If ``True``, no stop bit will be sent\n :return: The bytes read\n \"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool = False) -> None:\n \"\"\"Write bytes to a device.\n\n Example: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n :param addr: The 7-bit address of the device\n :param buf: A buffer containing the bytes to write\n :param repeat: If ``True``, no stop bit will be sent\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Respond to sound using the built-in microphone (V2 only).\n\"\"\"\n\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Get the last recorded sound event\n\n Example: ``microphone.current_event()``\n\n :return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\n \"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Check if a sound was heard at least once since the last call.\n\n Example: ``microphone.was_event(SoundEvent.LOUD)``\n\n This call clears the sound history before returning.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\n \"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Check the most recent sound event detected.\n\n Example: ``microphone.is_event(SoundEvent.LOUD)``\n\n This call does not clear the sound event history.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was the most recent heard, ``False`` otherwise.\n \"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Get the sound event history as a tuple.\n\n Example: ``microphone.get_events()``\n\n This call clears the sound history before returning.\n\n :return: A tuple of the event history with the most recent event last.\n \"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Set the threshold for a sound event.\n\n Example: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\n A high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n :param event: A sound event, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``.\n :param value: The threshold level in the range 0-255.\n \"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Get the sound pressure level.\n\n Example: ``microphone.sound_level()``\n\n :return: A representation of the sound pressure level in the range 0 to 255.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Control the built-in speaker (V2 only).\n\"\"\"\n\ndef off() -> None:\n \"\"\"Turn the speaker off.\n\n Example: ``speaker.off()``\n\n This does not disable sound output to an edge connector pin.\n \"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Turn the speaker on.\n\n Example: ``speaker.on()``\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communicate with devices using the serial peripheral interface (SPI) bus.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(\n baudrate: int = 1000000,\n bits: int = 8,\n mode: int = 0,\n sclk: MicroBitDigitalPin = pin13,\n mosi: MicroBitDigitalPin = pin15,\n miso: MicroBitDigitalPin = pin14,\n) -> None:\n \"\"\"Initialize SPI communication.\n\n Example: ``spi.init()``\n\n For correct communication, the parameters have to be the same on both communicating devices.\n\n :param baudrate: The speed of communication.\n :param bits: The width in bits of each transfer. Currently only ``bits=8`` is supported. However, this may change in the future.\n :param mode: Determines the combination of clock polarity and phase - `see online table `_.\n :param sclk: sclk pin (default 13)\n :param mosi: mosi pin (default 15)\n :param miso: miso pin (default 14)\n \"\"\"\n ...\n\ndef read(nbytes: int, out: int = 0) -> bytes:\n \"\"\"Read at most ``nbytes`` while continuously writing the single byte given by ``out``.\n\n Example: ``spi.read(64)``\n\n :param nbytes: Maximum number of bytes to read.\n :param out: The byte value to write (default 0).\n :return: The bytes read.\n \"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Write bytes to the bus.\n\n Example: ``spi.write(bytes([1, 2, 3]))``\n\n :param buffer: A buffer to read data from.\n \"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Write the ``out`` buffer to the bus and read any response into the ``in_`` buffer.\n\n Example: ``spi.write_readinto(out_buffer, in_buffer)``\n\n The length of the buffers should be the same. The buffers can be the same object.\n\n :param out: The buffer to write any response to.\n :param in_: The buffer to read data from.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Communicate with a device using a serial interface.\n\"\"\"\n\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\n\nODD: int\n\"\"\"Odd parity\"\"\"\n\nEVEN: int\n\"\"\"Even parity\"\"\"\n\ndef init(\n baudrate: int = 9600,\n bits: int = 8,\n parity: Optional[int] = None,\n stop: int = 1,\n tx: Optional[MicroBitDigitalPin] = None,\n rx: Optional[MicroBitDigitalPin] = None,\n) -> None:\n \"\"\"Initialize serial communication.\n\n Example: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n :param baudrate: The speed of communication.\n :param bits: The size of bytes being transmitted. micro:bit only supports 8.\n :param parity: How parity is checked, ``None``, ``uart.ODD`` or ``uart.EVEN``.\n :param stop: The number of stop bits, has to be 1 for micro:bit.\n :param tx: Transmitting pin.\n :param rx: Receiving pin.\n\n Initializing the UART on external pins will cause the Python console on\n USB to become unaccessible, as it uses the same hardware. To bring the\n console back you must reinitialize the UART without passing anything for\n ``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\n that calling ``uart.init(115200)`` is enough to restore the Python console.\n\n For more details see `the online documentation `_.\n \"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Check if any data is waiting.\n\n Example: ``uart.any()``\n\n :return: ``True`` if any data is waiting, else ``False``.\n \"\"\"\n ...\n\ndef read(nbytes: Optional[int] = None) -> Optional[bytes]:\n \"\"\"Read bytes.\n\n Example: ``uart.read()``\n\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read as many bytes as possible\n :return: A bytes object or ``None`` on timeout\n \"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int] = None) -> Optional[int]:\n \"\"\"Read bytes into the ``buf``.\n\n Example: ``uart.readinto(input_buffer)``\n\n :param buf: The buffer to write to.\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read ``len(buf)`` bytes.\n :return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\n \"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Read a line, ending in a newline character.\n\n Example: ``uart.readline()``\n\n :return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\n \"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Write a buffer to the bus.\n\n Example: ``uart.write('hello world')``\n\n :param buf: A bytes object or a string.\n :return: The number of bytes written, or ``None`` on timeout.\n\n Examples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\n \"\"\"\n ...\n", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"crwdns329148:0crwdne329148:0 (crwdns329146:0crwdne329146:0)\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"crwdns335788:0crwdne335788:0 (crwdns329150:0crwdne329150:0)\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: (crwdns329154:0crwdne329154:0) crwdns335790:0crwdne335790:0\n:param days: (crwdns329158:0crwdne329158:0) crwdns335792:0crwdne335792:0\n:param h: (crwdns329162:0crwdne329162:0) crwdns335794:0crwdne335794:0\n:param min: (crwdns329166:0crwdne329166:0) crwdns335796:0crwdne335796:0\n:param s: (crwdns329174:0crwdne329174:0) crwdns335800:0crwdne335800:0\n:param ms: (crwdns329170:0crwdne329170:0) crwdns335798:0crwdne335798:0\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"crwdns329180:0crwdne329180:0 (crwdns329178:0crwdne329178:0)\n\nExample: ``panic(127)``\n\n:param n: (crwdns329182:0crwdne329182:0) crwdns329184:0crwdne329184:0\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"crwdns329188:0crwdne329188:0 (crwdns329186:0crwdne329186:0)\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"crwdns336078:0crwdne336078:0 (crwdns336076:0crwdne336076:0)\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: (crwdns336088:0crwdne336088:0) crwdns336090:0crwdne336090:0\n:param from_: (crwdns336080:0crwdne336080:0) crwdns336082:0crwdne336082:0\n:param to: (crwdns336084:0crwdne336084:0) crwdns336086:0crwdne336086:0\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"crwdns336094:0crwdne336094:0 (crwdns336092:0crwdne336092:0)\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: (crwdns336104:0crwdne336104:0) crwdns336106:0crwdne336106:0\n:param from_: (crwdns336096:0crwdne336096:0) crwdns336098:0crwdne336098:0\n:param to: (crwdns336100:0crwdne336100:0) crwdns336102:0crwdne336102:0\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"crwdns329192:0``n``crwdne329192:0 (crwdns329190:0crwdne329190:0)\n\nExample: ``sleep(1000)``\n\n:param n: (crwdns329194:0crwdne329194:0) crwdns329196:0crwdne329196:0\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"crwdns329200:0crwdne329200:0 (crwdns329198:0crwdne329198:0)\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"crwdns329204:0crwdne329204:0 (crwdns329202:0crwdne329202:0)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"crwdns329208:0crwdne329208:0 (crwdns329206:0crwdne329206:0)\n\nExample: ``set_volume(127)``\n\n:param v: (crwdns329210:0crwdne329210:0) crwdns329212:0crwdne329212:0\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"crwdns329216:0``button_a``crwdnd329216:0``button_b``crwdne329216:0 (crwdns329214:0crwdne329214:0)\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"crwdns329220:0crwdne329220:0 (crwdns329218:0crwdne329218:0)\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"crwdns329224:0crwdne329224:0 (crwdns329222:0crwdne329222:0)\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"crwdns329228:0crwdne329228:0 (crwdns329226:0crwdne329226:0)\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"crwdns329232:0``Button``crwdne329232:0 (crwdns329230:0crwdne329230:0)\"\"\"\nbutton_b: Button\n\"\"\"crwdns329236:0``Button``crwdne329236:0 (crwdns329234:0crwdne329234:0)\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"crwdns329240:0crwdne329240:0 (crwdns329238:0crwdne329238:0)\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"crwdns329244:0crwdne329244:0 (crwdns329242:0crwdne329242:0)\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"crwdns329248:0crwdne329248:0 (crwdns329246:0crwdne329246:0)\n\nExample: ``pin0.write_digital(1)``\n\n:param value: (crwdns329250:0crwdne329250:0) crwdns329252:0crwdne329252:0\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"crwdns329256:0``PULL_UP``crwdnd329256:0``PULL_DOWN``crwdnd329256:0``NO_PULL``crwdne329256:0 (crwdns329254:0crwdne329254:0)\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: (crwdns329258:0crwdne329258:0) crwdns329260:0``pin0.PULL_UP``crwdne329260:0\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"crwdns329264:0crwdne329264:0 (crwdns329262:0crwdne329262:0)\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"crwdns329268:0crwdne329268:0 (crwdns329266:0crwdne329266:0)\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"crwdns329272:0``value``crwdne329272:0 (crwdns329270:0crwdne329270:0)\n\nExample: ``pin0.write_analog(254)``\n\n:param value: (crwdns329274:0crwdne329274:0) crwdns329276:0crwdne329276:0\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"crwdns329280:0``period``crwdne329280:0 (crwdns329278:0crwdne329278:0)\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: (crwdns329282:0crwdne329282:0) crwdns329284:0crwdne329284:0\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"crwdns329288:0``period``crwdne329288:0 (crwdns329286:0crwdne329286:0)\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: (crwdns329290:0crwdne329290:0) crwdns329292:0crwdne329292:0\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"crwdns329296:0crwdne329296:0 (crwdns329294:0crwdne329294:0)\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"crwdns329300:0crwdne329300:0 (crwdns329298:0crwdne329298:0)\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"crwdns329304:0crwdne329304:0 (crwdns329302:0crwdne329302:0)\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"crwdns329308:0crwdne329308:0 (crwdns329306:0crwdne329306:0)\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"crwdns329312:0crwdne329312:0 (crwdns329310:0crwdne329310:0)\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: (crwdns329314:0crwdne329314:0) crwdns329316:0``CAPACITIVE``crwdnd329316:0``RESISTIVE``crwdne329316:0\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"crwdns329320:0crwdne329320:0 (crwdns329318:0crwdne329318:0)\"\"\"\npin1: MicroBitTouchPin\n\"\"\"crwdns329324:0crwdne329324:0 (crwdns329322:0crwdne329322:0)\"\"\"\npin2: MicroBitTouchPin\n\"\"\"crwdns329328:0crwdne329328:0 (crwdns329326:0crwdne329326:0)\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"crwdns329332:0crwdne329332:0 (crwdns329330:0crwdne329330:0)\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"crwdns329336:0crwdne329336:0 (crwdns329334:0crwdne329334:0)\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"crwdns329340:0crwdne329340:0 (crwdns329338:0crwdne329338:0)\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"crwdns329344:0crwdne329344:0 (crwdns329342:0crwdne329342:0)\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"crwdns329348:0crwdne329348:0 (crwdns329346:0crwdne329346:0)\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"crwdns329352:0crwdne329352:0 (crwdns329350:0crwdne329350:0)\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"crwdns329356:0crwdne329356:0 (crwdns329354:0crwdne329354:0)\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"crwdns329360:0crwdne329360:0 (crwdns329358:0crwdne329358:0)\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"crwdns329364:0crwdne329364:0 (crwdns329362:0crwdne329362:0)\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"crwdns329368:0crwdne329368:0 (crwdns329366:0crwdne329366:0)\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"crwdns329372:0crwdne329372:0 (crwdns329370:0crwdne329370:0)\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"crwdns329376:0crwdne329376:0 (crwdns329374:0crwdne329374:0)\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"crwdns329380:0crwdne329380:0 (crwdns329378:0crwdne329378:0)\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"crwdns329384:0crwdne329384:0 (crwdns329382:0crwdne329382:0)\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"crwdns329388:0crwdne329388:0 (crwdns329386:0crwdne329386:0)\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"crwdns329392:0crwdne329392:0 (crwdns329390:0crwdne329390:0)\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"crwdns329396:0crwdne329396:0 (crwdns329394:0crwdne329394:0)\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"crwdns329400:0crwdne329400:0 (crwdns329398:0crwdne329398:0)\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"crwdns329404:0crwdne329404:0 (crwdns329402:0crwdne329402:0)\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"crwdns329408:0crwdne329408:0 (crwdns329406:0crwdne329406:0)\"\"\"\n HEART_SMALL: Image\n \"\"\"crwdns329412:0crwdne329412:0 (crwdns329410:0crwdne329410:0)\"\"\"\n HAPPY: Image\n \"\"\"crwdns329416:0crwdne329416:0 (crwdns329414:0crwdne329414:0)\"\"\"\n SMILE: Image\n \"\"\"crwdns329420:0crwdne329420:0 (crwdns329418:0crwdne329418:0)\"\"\"\n SAD: Image\n \"\"\"crwdns329424:0crwdne329424:0 (crwdns329422:0crwdne329422:0)\"\"\"\n CONFUSED: Image\n \"\"\"crwdns329428:0crwdne329428:0 (crwdns329426:0crwdne329426:0)\"\"\"\n ANGRY: Image\n \"\"\"crwdns329432:0crwdne329432:0 (crwdns329430:0crwdne329430:0)\"\"\"\n ASLEEP: Image\n \"\"\"crwdns329436:0crwdne329436:0 (crwdns329434:0crwdne329434:0)\"\"\"\n SURPRISED: Image\n \"\"\"crwdns329440:0crwdne329440:0 (crwdns329438:0crwdne329438:0)\"\"\"\n SILLY: Image\n \"\"\"crwdns329444:0crwdne329444:0 (crwdns329442:0crwdne329442:0)\"\"\"\n FABULOUS: Image\n \"\"\"crwdns329448:0crwdne329448:0 (crwdns329446:0crwdne329446:0)\"\"\"\n MEH: Image\n \"\"\"crwdns329452:0crwdne329452:0 (crwdns329450:0crwdne329450:0)\"\"\"\n YES: Image\n \"\"\"crwdns329456:0crwdne329456:0 (crwdns329454:0crwdne329454:0)\"\"\"\n NO: Image\n \"\"\"crwdns329460:0crwdne329460:0 (crwdns329458:0crwdne329458:0)\"\"\"\n CLOCK12: Image\n \"\"\"crwdns329464:0crwdne329464:0 (crwdns329462:0crwdne329462:0)\"\"\"\n CLOCK11: Image\n \"\"\"crwdns329468:0crwdne329468:0 (crwdns329466:0crwdne329466:0)\"\"\"\n CLOCK10: Image\n \"\"\"crwdns329472:0crwdne329472:0 (crwdns329470:0crwdne329470:0)\"\"\"\n CLOCK9: Image\n \"\"\"crwdns329476:0crwdne329476:0 (crwdns329474:0crwdne329474:0)\"\"\"\n CLOCK8: Image\n \"\"\"crwdns329480:0crwdne329480:0 (crwdns329478:0crwdne329478:0)\"\"\"\n CLOCK7: Image\n \"\"\"crwdns329484:0crwdne329484:0 (crwdns329482:0crwdne329482:0)\"\"\"\n CLOCK6: Image\n \"\"\"crwdns329488:0crwdne329488:0 (crwdns329486:0crwdne329486:0)\"\"\"\n CLOCK5: Image\n \"\"\"crwdns329492:0crwdne329492:0 (crwdns329490:0crwdne329490:0)\"\"\"\n CLOCK4: Image\n \"\"\"crwdns329496:0crwdne329496:0 (crwdns329494:0crwdne329494:0)\"\"\"\n CLOCK3: Image\n \"\"\"crwdns329500:0crwdne329500:0 (crwdns329498:0crwdne329498:0)\"\"\"\n CLOCK2: Image\n \"\"\"crwdns329504:0crwdne329504:0 (crwdns329502:0crwdne329502:0)\"\"\"\n CLOCK1: Image\n \"\"\"crwdns329508:0crwdne329508:0 (crwdns329506:0crwdne329506:0)\"\"\"\n ARROW_N: Image\n \"\"\"crwdns329512:0crwdne329512:0 (crwdns329510:0crwdne329510:0)\"\"\"\n ARROW_NE: Image\n \"\"\"crwdns329516:0crwdne329516:0 (crwdns329514:0crwdne329514:0)\"\"\"\n ARROW_E: Image\n \"\"\"crwdns329520:0crwdne329520:0 (crwdns329518:0crwdne329518:0)\"\"\"\n ARROW_SE: Image\n \"\"\"crwdns329524:0crwdne329524:0 (crwdns329522:0crwdne329522:0)\"\"\"\n ARROW_S: Image\n \"\"\"crwdns329528:0crwdne329528:0 (crwdns329526:0crwdne329526:0)\"\"\"\n ARROW_SW: Image\n \"\"\"crwdns329532:0crwdne329532:0 (crwdns329530:0crwdne329530:0)\"\"\"\n ARROW_W: Image\n \"\"\"crwdns329536:0crwdne329536:0 (crwdns329534:0crwdne329534:0)\"\"\"\n ARROW_NW: Image\n \"\"\"crwdns329540:0crwdne329540:0 (crwdns329538:0crwdne329538:0)\"\"\"\n TRIANGLE: Image\n \"\"\"crwdns329544:0crwdne329544:0 (crwdns329542:0crwdne329542:0)\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"crwdns329548:0crwdne329548:0 (crwdns329546:0crwdne329546:0)\"\"\"\n CHESSBOARD: Image\n \"\"\"crwdns329552:0crwdne329552:0 (crwdns329550:0crwdne329550:0)\"\"\"\n DIAMOND: Image\n \"\"\"crwdns329556:0crwdne329556:0 (crwdns329554:0crwdne329554:0)\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"crwdns329560:0crwdne329560:0 (crwdns329558:0crwdne329558:0)\"\"\"\n SQUARE: Image\n \"\"\"crwdns329564:0crwdne329564:0 (crwdns329562:0crwdne329562:0)\"\"\"\n SQUARE_SMALL: Image\n \"\"\"crwdns329568:0crwdne329568:0 (crwdns329566:0crwdne329566:0)\"\"\"\n RABBIT: Image\n \"\"\"crwdns329572:0crwdne329572:0 (crwdns329570:0crwdne329570:0)\"\"\"\n COW: Image\n \"\"\"crwdns329576:0crwdne329576:0 (crwdns329574:0crwdne329574:0)\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"crwdns329580:0crwdne329580:0 (crwdns329578:0crwdne329578:0)\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"crwdns329584:0crwdne329584:0 (crwdns329582:0crwdne329582:0)\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"crwdns329588:0crwdne329588:0 (crwdns329586:0crwdne329586:0)\"\"\"\n PITCHFORK: Image\n \"\"\"crwdns329592:0crwdne329592:0 (crwdns329590:0crwdne329590:0)\"\"\"\n XMAS: Image\n \"\"\"crwdns329596:0crwdne329596:0 (crwdns329594:0crwdne329594:0)\"\"\"\n PACMAN: Image\n \"\"\"crwdns329600:0crwdne329600:0 (crwdns329598:0crwdne329598:0)\"\"\"\n TARGET: Image\n \"\"\"crwdns329604:0crwdne329604:0 (crwdns329602:0crwdne329602:0)\"\"\"\n TSHIRT: Image\n \"\"\"crwdns329608:0crwdne329608:0 (crwdns329606:0crwdne329606:0)\"\"\"\n ROLLERSKATE: Image\n \"\"\"crwdns329612:0crwdne329612:0 (crwdns329610:0crwdne329610:0)\"\"\"\n DUCK: Image\n \"\"\"crwdns329616:0crwdne329616:0 (crwdns329614:0crwdne329614:0)\"\"\"\n HOUSE: Image\n \"\"\"crwdns329620:0crwdne329620:0 (crwdns329618:0crwdne329618:0)\"\"\"\n TORTOISE: Image\n \"\"\"crwdns329624:0crwdne329624:0 (crwdns329622:0crwdne329622:0)\"\"\"\n BUTTERFLY: Image\n \"\"\"crwdns329628:0crwdne329628:0 (crwdns329626:0crwdne329626:0)\"\"\"\n STICKFIGURE: Image\n \"\"\"crwdns329632:0crwdne329632:0 (crwdns329630:0crwdne329630:0)\"\"\"\n GHOST: Image\n \"\"\"crwdns329636:0crwdne329636:0 (crwdns329634:0crwdne329634:0)\"\"\"\n SWORD: Image\n \"\"\"crwdns329640:0crwdne329640:0 (crwdns329638:0crwdne329638:0)\"\"\"\n GIRAFFE: Image\n \"\"\"crwdns329644:0crwdne329644:0 (crwdns329642:0crwdne329642:0)\"\"\"\n SKULL: Image\n \"\"\"crwdns329648:0crwdne329648:0 (crwdns329646:0crwdne329646:0)\"\"\"\n UMBRELLA: Image\n \"\"\"crwdns329652:0crwdne329652:0 (crwdns329650:0crwdne329650:0)\"\"\"\n SNAKE: Image\n \"\"\"crwdns329656:0crwdne329656:0 (crwdns329654:0crwdne329654:0)\"\"\"\n SCISSORS: Image\n \"\"\"crwdns335820:0crwdne335820:0 (crwdns335818:0crwdne335818:0)\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"crwdns329660:0crwdne329660:0 (crwdns329658:0crwdne329658:0)\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"crwdns329664:0crwdne329664:0 (crwdns329662:0crwdne329662:0)\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"crwdns329668:0crwdne329668:0 (crwdns329666:0crwdne329666:0)\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: (crwdns329670:0crwdne329670:0) crwdns329672:0crwdne329672:0\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"crwdns329676:0``width``crwdnd329676:0``height``crwdne329676:0 (crwdns329674:0crwdne329674:0)\n\n:param width: (crwdns329686:0crwdne329686:0) crwdns329688:0crwdne329688:0\n:param height: (crwdns329682:0crwdne329682:0) crwdns329684:0crwdne329684:0\n:param buffer: (crwdns329678:0crwdne329678:0) crwdns329680:0``width``crwdnd329680:0``height``crwdne329680:0\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"crwdns329692:0crwdne329692:0 (crwdns329690:0crwdne329690:0)\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"crwdns329696:0crwdne329696:0 (crwdns329694:0crwdne329694:0)\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"crwdns329700:0crwdne329700:0 (crwdns329698:0crwdne329698:0)\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: (crwdns329706:0crwdne329706:0) crwdns329708:0crwdne329708:0\n:param y: (crwdns329710:0crwdne329710:0) crwdns329712:0crwdne329712:0\n:param value: (crwdns329702:0crwdne329702:0) crwdns329704:0crwdne329704:0\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"crwdns329716:0crwdne329716:0 (crwdns329714:0crwdne329714:0)\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: (crwdns329718:0crwdne329718:0) crwdns329720:0crwdne329720:0\n:param y: (crwdns329722:0crwdne329722:0) crwdns329724:0crwdne329724:0\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"crwdns329728:0crwdne329728:0 (crwdns329726:0crwdne329726:0)\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: (crwdns329730:0crwdne329730:0) crwdns329732:0crwdne329732:0\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"crwdns329736:0crwdne329736:0 (crwdns329734:0crwdne329734:0)\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: (crwdns329738:0crwdne329738:0) crwdns329740:0crwdne329740:0\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"crwdns329744:0crwdne329744:0 (crwdns329742:0crwdne329742:0)\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: (crwdns329746:0crwdne329746:0) crwdns329748:0crwdne329748:0\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"crwdns329752:0crwdne329752:0 (crwdns329750:0crwdne329750:0)\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: (crwdns329754:0crwdne329754:0) crwdns329756:0crwdne329756:0\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"crwdns329760:0crwdne329760:0 (crwdns329758:0crwdne329758:0)\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: (crwdns329770:0crwdne329770:0) crwdns329772:0crwdne329772:0\n:param y: (crwdns329774:0crwdne329774:0) crwdns329776:0crwdne329776:0\n:param w: (crwdns329766:0crwdne329766:0) crwdns329768:0crwdne329768:0\n:param h: (crwdns329762:0crwdne329762:0) crwdns329764:0crwdne329764:0\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"crwdns329780:0crwdne329780:0 (crwdns329778:0crwdne329778:0)\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"crwdns329784:0crwdne329784:0 (crwdns329782:0crwdne329782:0)\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"crwdns329788:0crwdne329788:0 (crwdns329786:0crwdne329786:0)\n\nExample: ``my_image.fill(5)``\n\n:param value: (crwdns329790:0crwdne329790:0) crwdns329792:0crwdne329792:0\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"crwdns329796:0crwdne329796:0 (crwdns329794:0crwdne329794:0)\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: (crwdns329802:0crwdne329802:0) crwdns329804:0crwdne329804:0\n:param x: (crwdns329810:0crwdne329810:0) crwdns329812:0crwdne329812:0\n:param y: (crwdns329818:0crwdne329818:0) crwdns329820:0crwdne329820:0\n:param w: (crwdns329806:0crwdne329806:0) crwdns329808:0crwdne329808:0\n:param h: (crwdns329798:0crwdne329798:0) crwdns329800:0crwdne329800:0\n:param xdest: (crwdns329814:0crwdne329814:0) crwdns329816:0crwdne329816:0\n:param ydest: (crwdns329822:0crwdne329822:0) crwdns329824:0crwdne329824:0\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"crwdns329828:0crwdne329828:0 (crwdns329826:0crwdne329826:0)\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"crwdns329832:0crwdne329832:0 (crwdns329830:0crwdne329830:0)\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"crwdns329836:0crwdne329836:0 (crwdns329834:0crwdne329834:0)\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: (crwdns329838:0crwdne329838:0) crwdns329840:0crwdne329840:0\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"crwdns329844:0crwdne329844:0 (crwdns329842:0crwdne329842:0)\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: (crwdns329846:0crwdne329846:0) crwdns329848:0crwdne329848:0\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"crwdns329852:0``n``crwdne329852:0 (crwdns329850:0crwdne329850:0)\n\nExample: ``Image.HEART * 0.5``\n\n:param n: (crwdns329854:0crwdne329854:0) crwdns329856:0crwdne329856:0\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"crwdns329860:0``n``crwdne329860:0 (crwdns329858:0crwdne329858:0)\n\nExample: ``Image.HEART / 2``\n\n:param n: (crwdns329862:0crwdne329862:0) crwdns329864:0crwdne329864:0\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"crwdns334408:0``quiet``crwdnd334408:0``loud``crwdne334408:0 (crwdns329866:0crwdne329866:0)\"\"\"\n QUIET: SoundEvent\n \"\"\"crwdns334410:0``loud``crwdnd334410:0``quiet``crwdne334410:0 (crwdns329870:0crwdne329870:0)\"\"\"\n\nclass Sound:\n \"\"\"crwdns329876:0``audio.play(Sound.NAME)``crwdne329876:0 (crwdns329874:0crwdne329874:0)\"\"\"\n GIGGLE: Sound\n \"\"\"crwdns329880:0crwdne329880:0 (crwdns329878:0crwdne329878:0)\"\"\"\n HAPPY: Sound\n \"\"\"crwdns329884:0crwdne329884:0 (crwdns329882:0crwdne329882:0)\"\"\"\n HELLO: Sound\n \"\"\"crwdns329888:0crwdne329888:0 (crwdns329886:0crwdne329886:0)\"\"\"\n MYSTERIOUS: Sound\n \"\"\"crwdns329892:0crwdne329892:0 (crwdns329890:0crwdne329890:0)\"\"\"\n SAD: Sound\n \"\"\"crwdns329896:0crwdne329896:0 (crwdns329894:0crwdne329894:0)\"\"\"\n SLIDE: Sound\n \"\"\"crwdns329900:0crwdne329900:0 (crwdns329898:0crwdne329898:0)\"\"\"\n SOARING: Sound\n \"\"\"crwdns329904:0crwdne329904:0 (crwdns329902:0crwdne329902:0)\"\"\"\n SPRING: Sound\n \"\"\"crwdns329908:0crwdne329908:0 (crwdns329906:0crwdne329906:0)\"\"\"\n TWINKLE: Sound\n \"\"\"crwdns329912:0crwdne329912:0 (crwdns329910:0crwdne329910:0)\"\"\"\n YAWN: Sound\n \"\"\"crwdns329916:0crwdne329916:0 (crwdns329914:0crwdne329914:0)\"\"\"", + "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"crwdns329920:0crwdne329920:0 (crwdns329918:0crwdne329918:0)\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"crwdns329924:0``x``crwdne329924:0 (crwdns329922:0crwdne329922:0)\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"crwdns329928:0``y``crwdne329928:0 (crwdns329926:0crwdne329926:0)\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"crwdns329932:0``z``crwdne329932:0 (crwdns329930:0crwdne329930:0)\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"crwdns329936:0crwdne329936:0 (crwdns329934:0crwdne329934:0)\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"crwdns335824:0crwdne335824:0 (crwdns335822:0crwdne335822:0)\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"crwdns329940:0crwdne329940:0 (crwdns329938:0crwdne329938:0)\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"crwdns329944:0crwdne329944:0 (crwdns329942:0crwdne329942:0)\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (crwdns329946:0crwdne329946:0) crwdns329948:0crwdne329948:0\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"crwdns329952:0crwdne329952:0 (crwdns329950:0crwdne329950:0)\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (crwdns329954:0crwdne329954:0) crwdns329956:0crwdne329956:0\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"crwdns329960:0crwdne329960:0 (crwdns329958:0crwdne329958:0)\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"crwdns335828:0``2``crwdnd335828:0``4``crwdnd335828:0``8``crwdne335828:0 (crwdns335826:0crwdne335826:0)\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: (crwdns335830:0crwdne335830:0) crwdns335832:0``g``crwdne335832:0\"\"\"", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"crwdns329964:0``audio``crwdne329964:0 (crwdns329962:0crwdne329962:0)\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"crwdns335834:0crwdne335834:0 (crwdns329966:0crwdne329966:0)\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: (crwdns329978:0crwdne329978:0) crwdns335836:0``Sound``crwdnd335836:0``Sound.GIGGLE``crwdnd335836:0``SoundEffect``crwdnd335836:0``AudioFrame``crwdne335836:0\n:param wait: (crwdns329982:0crwdne329982:0) crwdns329984:0``wait``crwdnd329984:0``True``crwdne329984:0\n:param pin: (crwdns329970:0crwdne329970:0) crwdns329972:0``pin0``crwdne329972:0\n:param return_pin: (crwdns329974:0crwdne329974:0) crwdns329976:0crwdne329976:0\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"crwdns329988:0crwdne329988:0 (crwdns329986:0crwdne329986:0)\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"crwdns329992:0crwdne329992:0 (crwdns329990:0crwdne329990:0)\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"crwdns335840:0crwdne335840:0 (crwdns335838:0crwdne335838:0)\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"crwdns335844:0``waveform``crwdne335844:0 (crwdns335842:0crwdne335842:0)\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"crwdns335848:0``waveform``crwdne335848:0 (crwdns335846:0crwdne335846:0)\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"crwdns335852:0``waveform``crwdne335852:0 (crwdns335850:0crwdne335850:0)\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"crwdns335856:0``waveform``crwdne335856:0 (crwdns335854:0crwdne335854:0)\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"crwdns335860:0``waveform``crwdne335860:0 (crwdns335858:0crwdne335858:0)\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"crwdns335864:0``shape``crwdne335864:0 (crwdns335862:0crwdne335862:0)\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"crwdns335868:0``shape``crwdne335868:0 (crwdns335866:0crwdne335866:0)\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"crwdns335872:0``shape``crwdne335872:0 (crwdns335870:0crwdne335870:0)\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"crwdns335876:0``fx``crwdne335876:0 (crwdns335874:0crwdne335874:0)\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"crwdns335880:0``fx``crwdne335880:0 (crwdns335878:0crwdne335878:0)\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"crwdns335884:0``fx``crwdne335884:0 (crwdns335882:0crwdne335882:0)\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"crwdns335888:0``fx``crwdne335888:0 (crwdns335886:0crwdne335886:0)\"\"\"\n freq_start: int\n \"\"\"crwdns335892:0``0``crwdnd335892:0``9999``crwdne335892:0 (crwdns335890:0crwdne335890:0)\"\"\"\n freq_end: int\n \"\"\"crwdns335896:0``0``crwdnd335896:0``9999``crwdne335896:0 (crwdns335894:0crwdne335894:0)\"\"\"\n duration: int\n \"\"\"crwdns335900:0``0``crwdnd335900:0``9999``crwdne335900:0 (crwdns335898:0crwdne335898:0)\"\"\"\n vol_start: int\n \"\"\"crwdns335904:0``0``crwdnd335904:0``255``crwdne335904:0 (crwdns335902:0crwdne335902:0)\"\"\"\n vol_end: int\n \"\"\"crwdns335908:0``0``crwdnd335908:0``255``crwdne335908:0 (crwdns335906:0crwdne335906:0)\"\"\"\n waveform: int\n \"\"\"crwdns335912:0``WAVEFORM_SINE``crwdnd335912:0``WAVEFORM_SAWTOOTH``crwdnd335912:0``WAVEFORM_TRIANGLE``crwdnd335912:0``WAVEFORM_SQUARE``crwdnd335912:0``WAVEFORM_NOISE``crwdne335912:0 (crwdns335910:0crwdne335910:0)\"\"\"\n fx: int\n \"\"\"crwdns335916:0``FX_TREMOLO``crwdnd335916:0``FX_VIBRATO``crwdnd335916:0``FX_WARBLE``crwdnd335916:0``FX_NONE``crwdne335916:0 (crwdns335914:0crwdne335914:0)\"\"\"\n shape: int\n \"\"\"crwdns335920:0``SHAPE_LINEAR``crwdnd335920:0``SHAPE_CURVE``crwdnd335920:0``SHAPE_LOG``crwdne335920:0 (crwdns335918:0crwdne335918:0)\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"crwdns335924:0crwdne335924:0 (crwdns335922:0crwdne335922:0)\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: (crwdns335934:0crwdne335934:0) crwdns335936:0``0``crwdnd335936:0``9999``crwdne335936:0\n:param freq_end: (crwdns335930:0crwdne335930:0) crwdns335932:0``0``crwdnd335932:0``9999``crwdne335932:0\n:param duration: (crwdns335926:0crwdne335926:0) crwdns335928:0``0``crwdnd335928:0``9999``crwdne335928:0\n:param vol_start: (crwdns335950:0crwdne335950:0) crwdns335952:0``0``crwdnd335952:0``255``crwdne335952:0\n:param vol_end: (crwdns335946:0crwdne335946:0) crwdns335948:0``0``crwdnd335948:0``255``crwdne335948:0\n:param waveform: (crwdns335954:0crwdne335954:0) crwdns335956:0``WAVEFORM_SINE``crwdnd335956:0``WAVEFORM_SAWTOOTH``crwdnd335956:0``WAVEFORM_TRIANGLE``crwdnd335956:0``WAVEFORM_SQUARE``crwdnd335956:0``WAVEFORM_NOISE``crwdne335956:0\n:param fx: (crwdns335938:0crwdne335938:0) crwdns335940:0``FX_TREMOLO``crwdnd335940:0``FX_VIBRATO``crwdnd335940:0``FX_WARBLE``crwdnd335940:0``FX_NONE``crwdne335940:0\n:param shape: (crwdns335942:0crwdne335942:0) crwdns335944:0``SHAPE_LINEAR``crwdnd335944:0``SHAPE_CURVE``crwdnd335944:0``SHAPE_LOG``crwdne335944:0\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"crwdns335960:0``SoundEffect``crwdne335960:0 (crwdns335958:0crwdne335958:0)\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"crwdns329996:0``AudioFrame``crwdne329996:0 (crwdns329994:0crwdne329994:0)\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"crwdns335964:0``AudioFrame``crwdnd335964:0``AudioFrame``crwdne335964:0 (crwdns335962:0crwdne335962:0)\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: (crwdns335966:0crwdne335966:0) crwdns335968:0``AudioFrame``crwdne335968:0\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"crwdns330004:0crwdne330004:0 (crwdns330002:0crwdne330002:0)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"crwdns330008:0crwdne330008:0 (crwdns330006:0crwdne330006:0)\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"crwdns330012:0crwdne330012:0 (crwdns330010:0crwdne330010:0)\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"crwdns330016:0crwdne330016:0 (crwdns330014:0crwdne330014:0)\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"crwdns330020:0``x``crwdne330020:0 (crwdns330018:0crwdne330018:0)\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"crwdns330024:0``y``crwdne330024:0 (crwdns330022:0crwdne330022:0)\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"crwdns330028:0``z``crwdne330028:0 (crwdns330026:0crwdne330026:0)\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"crwdns330032:0crwdne330032:0 (crwdns330030:0crwdne330030:0)\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"crwdns330036:0crwdne330036:0 (crwdns330034:0crwdne330034:0)\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", + "/typeshed/stdlib/microbit/display.pyi": "\"\"\"crwdns330040:0crwdne330040:0 (crwdns330038:0crwdne330038:0)\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"crwdns330044:0``x``crwdnd330044:0``y``crwdne330044:0 (crwdns330042:0crwdne330042:0)\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: (crwdns330046:0crwdne330046:0) crwdns330048:0crwdne330048:0\n:param y: (crwdns330050:0crwdne330050:0) crwdns330052:0crwdne330052:0\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"crwdns330056:0``x``crwdnd330056:0``y``crwdne330056:0 (crwdns330054:0crwdne330054:0)\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: (crwdns330062:0crwdne330062:0) crwdns330064:0crwdne330064:0\n:param y: (crwdns330066:0crwdne330066:0) crwdns330068:0crwdne330068:0\n:param value: (crwdns330058:0crwdne330058:0) crwdns330060:0crwdne330060:0\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"crwdns330072:0crwdne330072:0 (crwdns330070:0crwdne330070:0)\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"crwdns330076:0crwdne330076:0 (crwdns330074:0crwdne330074:0)\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: (crwdns330086:0crwdne330086:0) crwdns330088:0crwdne330088:0\n:param delay: (crwdns330082:0crwdne330082:0) crwdns330084:0``delay``crwdne330084:0\n:param wait: (crwdns330094:0crwdne330094:0) crwdns330096:0``wait``crwdnd330096:0``True``crwdne330096:0\n:param loop: (crwdns330090:0crwdne330090:0) crwdns330092:0``loop``crwdnd330092:0``True``crwdne330092:0\n:param clear: (crwdns330078:0crwdne330078:0) crwdns330080:0``clear``crwdnd330080:0``True``crwdne330080:0\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"crwdns330100:0crwdne330100:0 (crwdns330098:0crwdne330098:0)\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: (crwdns330114:0crwdne330114:0) crwdns330116:0``text``crwdnd330116:0``str()``crwdne330116:0\n:param delay: (crwdns330102:0crwdne330102:0) crwdns330104:0``delay``crwdne330104:0\n:param wait: (crwdns330118:0crwdne330118:0) crwdns330120:0``wait``crwdnd330120:0``True``crwdne330120:0\n:param loop: (crwdns330106:0crwdne330106:0) crwdns330108:0``loop``crwdnd330108:0``True``crwdne330108:0\n:param monospace: (crwdns330110:0crwdne330110:0) crwdns330112:0``monospace``crwdnd330112:0``True``crwdne330112:0\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"crwdns330124:0crwdne330124:0 (crwdns330122:0crwdne330122:0)\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"crwdns330128:0crwdne330128:0 (crwdns330126:0crwdne330126:0)\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"crwdns330132:0crwdne330132:0 (crwdns330130:0crwdne330130:0)\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"crwdns330136:0crwdne330136:0 (crwdns330134:0crwdne330134:0)\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"crwdns330140:0crwdne330140:0 (crwdns330138:0crwdne330138:0)\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"crwdns330144:0crwdne330144:0 (crwdns330142:0crwdne330142:0)\n\nExample: ``i2c.init()``\n\n:param freq: (crwdns330146:0crwdne330146:0) crwdns330148:0crwdne330148:0\n:param sda: (crwdns330154:0crwdne330154:0) crwdns330156:0``sda``crwdne330156:0\n:param scl: (crwdns330150:0crwdne330150:0) crwdns330152:0``scl``crwdne330152:0\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"crwdns330160:0crwdne330160:0 (crwdns330158:0crwdne330158:0)\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"crwdns330164:0crwdne330164:0 (crwdns330162:0crwdne330162:0)\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: (crwdns330166:0crwdne330166:0) crwdns330168:0crwdne330168:0\n:param n: (crwdns330170:0crwdne330170:0) crwdns330172:0crwdne330172:0\n:param repeat: (crwdns330174:0crwdne330174:0) crwdns330176:0``True``crwdne330176:0\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"crwdns330180:0crwdne330180:0 (crwdns330178:0crwdne330178:0)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: (crwdns330182:0crwdne330182:0) crwdns330184:0crwdne330184:0\n:param buf: (crwdns330186:0crwdne330186:0) crwdns330188:0crwdne330188:0\n:param repeat: (crwdns330190:0crwdne330190:0) crwdns330192:0``True``crwdne330192:0\"\"\"\n ...", + "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"crwdns330196:0crwdne330196:0 (crwdns330194:0crwdne330194:0)\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"crwdns330200:0crwdne330200:0 (crwdns330198:0crwdne330198:0)\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"crwdns330204:0crwdne330204:0 (crwdns330202:0crwdne330202:0)\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: (crwdns330206:0crwdne330206:0) crwdns330208:0``SoundEvent.LOUD``crwdnd330208:0``SoundEvent.QUIET``crwdne330208:0\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"crwdns330212:0crwdne330212:0 (crwdns330210:0crwdne330210:0)\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: (crwdns330214:0crwdne330214:0) crwdns330216:0``SoundEvent.LOUD``crwdnd330216:0``SoundEvent.QUIET``crwdne330216:0\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"crwdns330220:0crwdne330220:0 (crwdns330218:0crwdne330218:0)\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"crwdns330224:0crwdne330224:0 (crwdns330222:0crwdne330222:0)\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: (crwdns330226:0crwdne330226:0) crwdns330228:0``SoundEvent.LOUD``crwdnd330228:0``SoundEvent.QUIET``crwdne330228:0\n:param value: (crwdns330230:0crwdne330230:0) crwdns330232:0crwdne330232:0\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"crwdns330236:0crwdne330236:0 (crwdns330234:0crwdne330234:0)\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", + "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"crwdns330240:0crwdne330240:0 (crwdns330238:0crwdne330238:0)\"\"\"\n\ndef off() -> None:\n \"\"\"crwdns330244:0crwdne330244:0 (crwdns330242:0crwdne330242:0)\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"crwdns330248:0crwdne330248:0 (crwdns330246:0crwdne330246:0)\n\nExample: ``speaker.on()``\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"crwdns330252:0crwdne330252:0 (crwdns330250:0crwdne330250:0)\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"crwdns330256:0crwdne330256:0 (crwdns330254:0crwdne330254:0)\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: (crwdns330258:0crwdne330258:0) crwdns330260:0crwdne330260:0\n:param bits: (crwdns330262:0crwdne330262:0) crwdns334412:0crwdne334412:0\n:param mode: (crwdns330270:0crwdne330270:0) crwdns330272:0crwdne330272:0\n:param sclk: (crwdns330278:0crwdne330278:0) crwdns330280:0crwdne330280:0\n:param mosi: (crwdns330274:0crwdne330274:0) crwdns330276:0crwdne330276:0\n:param miso: (crwdns330266:0crwdne330266:0) crwdns330268:0crwdne330268:0\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"crwdns330284:0``nbytes``crwdnd330284:0``out``crwdne330284:0 (crwdns330282:0crwdne330282:0)\n\nExample: ``spi.read(64)``\n\n:param nbytes: (crwdns330286:0crwdne330286:0) crwdns330288:0crwdne330288:0\n:param out: (crwdns360362:0crwdne360362:0) crwdns360364:0crwdne360364:0\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"crwdns330292:0crwdne330292:0 (crwdns330290:0crwdne330290:0)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (crwdns330294:0crwdne330294:0) crwdns330296:0crwdne330296:0\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"crwdns330300:0``out``crwdnd330300:0``in_``crwdne330300:0 (crwdns330298:0crwdne330298:0)\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: (crwdns330306:0crwdne330306:0) crwdns330308:0crwdne330308:0\n:param in_: (crwdns330302:0crwdne330302:0) crwdns330304:0crwdne330304:0\"\"\"\n ...", + "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"crwdns330312:0crwdne330312:0 (crwdns330310:0crwdne330310:0)\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"crwdns330316:0crwdne330316:0 (crwdns330314:0crwdne330314:0)\"\"\"\nEVEN: int\n\"\"\"crwdns330320:0crwdne330320:0 (crwdns330318:0crwdne330318:0)\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"crwdns330324:0crwdne330324:0 (crwdns330322:0crwdne330322:0)\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: (crwdns330326:0crwdne330326:0) crwdns330328:0crwdne330328:0\n:param bits: (crwdns330330:0crwdne330330:0) crwdns330332:0crwdne330332:0\n:param parity: (crwdns330334:0crwdne330334:0) crwdns330336:0``None``crwdnd330336:0``uart.ODD``crwdnd330336:0``uart.EVEN``crwdne330336:0\n:param stop: (crwdns330342:0crwdne330342:0) crwdns330344:0crwdne330344:0\n:param tx: (crwdns330346:0crwdne330346:0) crwdns330348:0crwdne330348:0\n:param rx: (crwdns330338:0crwdne330338:0) crwdns330340:0crwdne330340:0\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"crwdns334688:0crwdne334688:0 (crwdns330350:0crwdne330350:0)\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"crwdns330356:0crwdne330356:0 (crwdns330354:0crwdne330354:0)\n\nExample: ``uart.read()``\n\n:param nbytes: (crwdns330358:0crwdne330358:0) crwdns330360:0``nbytes``crwdne330360:0\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"crwdns330364:0``buf``crwdne330364:0 (crwdns330362:0crwdne330362:0)\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: (crwdns330366:0crwdne330366:0) crwdns330368:0crwdne330368:0\n:param nbytes: (crwdns330370:0crwdne330370:0) crwdns330372:0``nbytes``crwdnd330372:0``len(buf)``crwdne330372:0\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"crwdns330376:0crwdne330376:0 (crwdns330374:0crwdne330374:0)\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"crwdns330380:0crwdne330380:0 (crwdns330378:0crwdne330378:0)\n\nExample: ``uart.write('hello world')``\n\n:param buf: (crwdns330382:0crwdne330382:0) crwdns330384:0crwdne330384:0\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" } diff --git a/src/micropython/main/typeshed.nl.json b/src/micropython/main/typeshed.nl.json index a1439b3f0..30cd90468 100644 --- a/src/micropython/main/typeshed.nl.json +++ b/src/micropython/main/typeshed.nl.json @@ -7,23 +7,23 @@ "/typeshed/stdlib/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\n# Re-export for V1 compatibility.\nfrom .microbit.audio import (\n is_playing as is_playing,\n play as play,\n stop as stop,\n AudioFrame as AudioFrame,\n SoundEffect as SoundEffect,\n)\n", "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", - "/typeshed/stdlib/gc.pyi": "\"\"\"Control the garbage collector\"\"\"\n\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"Enable automatic garbage collection.\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"Disable automatic garbage collection.\n\n Heap memory can still be allocated,\n and garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Run a garbage collection.\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Get the number of bytes of heap RAM that are allocated.\n\n :return: The number of bytes allocated.\n\n This function is MicroPython extension.\n \"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Get the number of bytes of available heap RAM, or -1 if this amount is not known.\n\n :return: The number of bytes free.\n\n This function is MicroPython extension.\n \"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Query the additional GC allocation threshold.\n\n :return: The GC allocation threshold.\n\n This function is a MicroPython extension. CPython has a similar\n function - ``set_threshold()``, but due to different GC\n implementations, its signature and semantics are different.\n \"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Set the additional GC allocation threshold.\n\n Normally, a collection is triggered only when a new allocation\n cannot be satisfied, i.e. on an out-of-memory (OOM) condition.\n If this function is called, in addition to OOM, a collection\n will be triggered each time after ``amount`` bytes have been\n allocated (in total, since the previous time such an amount of bytes\n have been allocated). ``amount`` is usually specified as less than the\n full heap size, with the intention to trigger a collection earlier than when the\n heap becomes exhausted, and in the hope that an early collection will prevent\n excessive memory fragmentation. This is a heuristic measure, the effect\n of which will vary from application to application, as well as\n the optimal value of the ``amount`` parameter.\n\n A value of -1 means a disabled allocation threshold.\n\n This function is a MicroPython extension. CPython has a similar\n function - ``set_threshold()``, but due to different GC\n implementations, its signature and semantics are different.\n\n :param amount: The number of bytes after which a garbage collection should be triggered.\n \"\"\"\n ...\n", - "/typeshed/stdlib/log.pyi": "\"\"\"Log data to your micro:bit V2.\"\"\"\n\nfrom typing import Literal, Mapping, Optional, Union, overload\n\nMILLISECONDS = 1\n\"\"\"Milliseconds timestamp format.\"\"\"\n\nSECONDS = 10\n\"\"\"Seconds timestamp format.\"\"\"\n\nMINUTES = 600\n\"\"\"Minutes timestamp format.\"\"\"\n\nHOURS = 36000\n\"\"\"Hours timestamp format.\"\"\"\n\nDAYS = 864000\n\"\"\"Days timestamp format.\"\"\"\n\ndef set_labels(\n *labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]] = SECONDS\n) -> None:\n \"\"\"Set up the log file header.\n\n Example: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\n Ideally this function should be called a single time, before any data is\n logged, to configure the data table header once.\n\n If a log file already exists when the program starts, or if this function\n is called multiple times, it will check the labels already defined in the\n log file. If this function call contains any new labels not already\n present, it will generate a new header row with the additional columns.\n\n By default the first column contains a timestamp for each row. The time\n unit can be selected via the timestamp argument.\n\n :param *labels: Any number of positional arguments, each corresponding to an entry in the log header.\n :param timestamp: Select the timestamp unit that will be automatically added as the first column in every row. Timestamp values can be one of ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` or ``None`` to disable the timestamp. The default value is ``log.SECONDS``.\n \"\"\"\n ...\n\n@overload\ndef add(\n data_dictionary: Optional[Mapping[str, Union[str, int, float]]],\n) -> None:\n \"\"\"Add a data row to the log by passing a dictionary of headers and values.\n\n Example: ``log.add({ 'temp': temperature() })``\n\n Each call to this function adds a row to the log.\n\n New labels not previously specified via the set_labels function, or by a\n previous call to this function, will trigger a new header entry to be added\n to the log with the extra labels.\n\n Labels previously specified and not present in a call to this function will\n be skipped with an empty value in the log row.\n\n :param data_dictionary: The data to log as a dictionary with a key for each header.\n \"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"Add a data row to the log using keyword arguments.\n\n Example: ``log.add(temp=temperature())``\n\n Each call to this function adds a row to the log.\n\n New labels not previously specified via the set_labels function, or by a\n previous call to this function, will trigger a new header entry to be added\n to the log with the extra labels.\n\n Labels previously specified and not present in a call to this function will\n be skipped with an empty value in the log row.\n \"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"Deletes the contents of the log, including headers.\n\n Example: ``log.delete()``\n\n To add the log headers again the ``set_labels`` function should to be called after this function.\n\n There are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\n and \u201cfast\u201d invalidates the data without removing it.\n\n :param full: ``True`` selects a \u201cfull\u201d erase and ``False`` selects the \u201cfast\u201d erase method.\n \"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Configure mirroring of the data logging activity to the serial output.\n\n Example: ``log.set_mirroring(True)``\n\n Serial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n :param serial: ``True`` enables mirroring data to the serial output.\n \"\"\"\n ...\n", + "/typeshed/stdlib/gc.pyi": "\"\"\"Beheer de garbagecollector\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"Automatische afvalcollectie inschakelen. (inschakelen)\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"Automatische afvalinzameling uitschakelen. (uitschakelen)\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Voer een garbagecollectie uit. (verzamel)\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Krijg het aantal bytes van heap RAM die toegewezen zijn.\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Krijg het aantal bytes van beschikbare heap RAM, of -1 als dit bedrag niet bekend is.\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Vraag de extra GC toewijzingsdrempel op. (drempelwaarde)\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Stel de extra GC toewijzingsdrempel in. (drempelwaarde)\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: (bedrag) Het aantal bytes waarna een garbage collectie moet worden geactiveerd.\"\"\"\n ...", + "/typeshed/stdlib/log.pyi": "\"\"\"Log gegevens in op je micro:bit V2.\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"Milliseconden tijdstempel formaat. (milliseconden)\"\"\"\nSECONDS = 10\n\"\"\"Seconden tijdstempel formaat. (seconden)\"\"\"\nMINUTES = 600\n\"\"\"Minuten tijdstempel formaat. (minuten)\"\"\"\nHOURS = 36000\n\"\"\"Uren tijdstempel formaat. (uren)\"\"\"\nDAYS = 864000\n\"\"\"Dagen tijdstempel formaat. (dagen)\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"Stel de logbestandheader in. (kies labels)\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: Een willekeurig aantal positionele argumenten, elk corresponderend aan een vermelding in de log header.\n:param timestamp: (tijdstempel) Selecteer de eenheid van de tijdsaanduiding die automatisch als eerste kolom in elke rij wordt toegevoegd. Tijdstempel waarden kunnen een van ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, , , ``log.HOURS``, ``log.DAYS`` of ``None`` om de tijdstempel uit te schakelen. De standaardwaarde is ``log.SECONDS``.\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"Voeg een gegevensrij toe aan de log door een woordenboek van koppen en waarden te passeren. (toevoegen)\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: (gegevenswoordenboek) De gegevens die moeten worden geregistreerd als woordenboek met een sleutel voor elke header.\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"Voeg een gegevensrij toe aan het logboek met behulp van trefwoordargumenten. (toevoegen)\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"Verwijdert de inhoud van het log, inclusief headers. (verwijderen)\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: (volledig) ``True`` selecteert een \"volledige\" wissen en ``False`` selecteert de \"snel\" wis methode.\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Configureer het spiegelen van de data logging activiteit naar de seri\u00eble uitgang. (stel spiegelen in)\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: (serieel) ``True`` maakt het spiegelen van gegevens naar de seri\u00eble uitvoer mogelijk.\"\"\"\n ...", "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", - "/typeshed/stdlib/machine.pyi": "\"\"\"Low-level utilities.\n\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"Get a byte string with a unique identifier of a board.\n\n Example: ``machine.unique_id()``\n\n :return: An identifier that varies from one board instance to another.\n \"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset the device in a manner similar to pushing the external RESET button.\n\n Example: ``machine.reset()``\n \"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"Get the CPU frequency in hertz.\n\n Example: ``machine.freq()``\n\n :return: The CPU frequency.\n \"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"Disable interrupt requests.\n\n Example: ``interrupt_state = machine.disable_irq()``\n\n :return: the previous IRQ state which should be considered an opaque value\n\n The return value should be passed to the ``enable_irq`` function to restore\n interrupts to their original state.\n \"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"Re-enable interrupt requests.\n\n Example: ``machine.enable_irq(interrupt_state)``\n\n :param state: The value that was returned from the most recent call to the ``disable_irq`` function.\n \"\"\"\n ...\n\ndef time_pulse_us(\n pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int = 1000000\n) -> int:\n \"\"\"Time a pulse on a pin.\n\n Example: ``time_pulse_us(pin0, 1)``\n\n If the current input value of the pin is different to ``pulse_level``, the\n function first waits until the pin input becomes equal to\n ``pulse_level``, then times the duration that the pin is equal to\n ``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\n starts straight away.\n\n :param pin: The pin to use\n :param pulse_level: 0 to time a low pulse or 1 to time a high pulse\n :param timeout_us: A microsecond timeout\n :return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\n \"\"\"\n ...\n\nclass mem:\n \"\"\"The class for the ``mem8``, ``mem16`` and ``mem32`` memory views.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Access a value from memory.\n\n :param address: The memory address.\n :return: The value at that address as an integer.\n \"\"\"\n ...\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"Set a value at the given address.\n\n :param address: The memory address.\n :param value: The integer value to set.\n \"\"\"\n ...\n\nmem8: mem\n\"\"\"8-bit (byte) view of memory.\"\"\"\n\nmem16: mem\n\"\"\"16-bit view of memory.\"\"\"\n\nmem32: mem\n\"\"\"32-bit view of memory.\"\"\"\n", - "/typeshed/stdlib/math.pyi": "\"\"\"Mathematical functions.\n\"\"\"\n\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Calculate the inverse cosine.\n\n Example: ``math.acos(1)``\n\n :param x: A number\n :return: The inverse cosine of ``x``\n \"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Calculate the inverse sine.\n\n Example: ``math.asin(0)``\n\n :param x: A number\n :return: The inverse sine of ``x``\n \"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Calculate the inverse tangent.\n\n Example: ``math.atan(0)``\n\n :param x: A number\n :return: The inverse tangent of ``x``\n \"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Calculate the principal value of the inverse tangent of ``y/x``.\n\n Example: ``math.atan2(0, -1)``\n\n :param y: A number\n :param x: A number\n :return: The principal value of the inverse tangent of ``y/x``\n \"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Round a number towards positive infinity.\n\n Example: ``math.ceil(0.1)``\n\n :param x: A number\n :return: ``x`` rounded towards positive infinity.\n \"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Calculate ``x`` with the sign of ``y``.\n\n Example: ``math.copysign(1, -1)``\n\n :param x: A number\n :param y: The source of the sign for the return value\n :return: ``x`` with the sign of ``y``\n \"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Calculate the cosine of ``x``.\n\n Example: ``math.cos(0)``\n\n :param x: A number\n :return: The cosine of ``x``\n \"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Convert radians to degrees.\n\n Example: ``math.degrees(2 * math.pi)``\n\n :param x: A value in radians\n :return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Calculate the exponential of ``x``.\n\n Example: ``math.exp(1)``\n\n :param x: A number\n :return: The exponential of ``x``.\n \"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Return the absolute value of ``x``.\n\n Example: ``math.fabs(-0.1)``\n\n :param x: A number\n :return: The absolute value of ``x``\n \"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Round a number towards negative infinity.\n\n Example: ``math.floor(0.9)``\n\n :param x: A number\n :return: ``x`` rounded towards negative infinity.\n \"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Calculate the remainder of ``x/y``.\n\n Example: ``math.fmod(10, 3)``\n\n :param x: The numerator\n :param y: The denominator\n \"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Decomposes a floating-point number into its mantissa and exponent.\n\n Example: ``mantissa, exponent = math.frexp(2)``\n\n The returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\n exactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\n the relation ``0.5 <= abs(m) < 1`` holds.\n\n :param x: A floating-point number\n :return: A tuple of length two containing its mantissa then exponent\n \"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"Check if a value is finite.\n\n Example: ``math.isfinite(float('inf'))``\n\n :param x: A number.\n :return: ``True`` if ``x`` is finite, ``False`` otherwise.\n \"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"Check if a value is infinite.\n\n Example: ``math.isinf(float('-inf'))``\n\n :param x: A number.\n :return: ``True`` if ``x`` is infinite, ``False`` otherwise.\n \"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Check if a value is not-a-number (NaN).\n\n Example: ``math.isnan(float('nan'))``\n\n :param x: A number\n :return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Calculate ``x * (2**exp)``.\n\n Example: ``math.ldexp(0.5, 2)``\n\n :param x: A number\n :param exp: Integer exponent\n :return: ``x * (2**exp)``\n \"\"\"\n ...\n\ndef log(x: float, base: float = e) -> float:\n \"\"\"Calculate the logarithm of ``x`` to the given base (defaults to natural logorithm).\n\n Example: ``math.log(math.e)``\n\n With one argument, return the natural logarithm of x (to base e).\n\n With two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n :param x: A number\n :param base: The base to use\n :return: The natural logarithm of ``x``\n \"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Calculate the fractional and integral parts of ``x``.\n\n Example: ``fractional, integral = math.modf(1.5)``\n\n :param x: A number\n :return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\n Both the fractional and integral values have the same sign as ``x``.\n \"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Returns ``x`` to the power of ``y``.\n\n Example: ``math.pow(4, 0.5)``\n\n :param x: A number\n :param y: The exponent\n :return: ``x`` to the power of ``y``\n \"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Convert a degrees to radians.\n\n Example: ``math.radians(360)``\n\n :param x: A value in degrees\n :return: The value converted to radians\n \"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Calculate the sine of ``x``.\n\n Example: ``math.sin(math.pi/2)``\n\n :param x: A number\n :return: The sine of ``x``\n \"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Calculate the square root of ``x``.\n\n Example: ``math.sqrt(4)``\n\n :param x: A number\n :return: The square root of ``x``\n \"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Calculate the tangent of ``x``.\n\n Example: ``math.tan(0)``\n\n :param x: A number\n :return: The tangent of ``x``.\n \"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Round a number towards 0.\n\n Example: ``math.trunc(-0.9)``\n\n :param x: A number\n :return: ``x`` rounded towards zero.\n \"\"\"\n ...\n\ne: float\n\"\"\"Base of the natural logarithm\"\"\"\n\npi: float\n\"\"\"The ratio of a circle's circumference to its diameter\"\"\"\n", - "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython internals.\"\"\"\n\nfrom typing import Any, TypeVar, overload\n\n_T = TypeVar(\"_T\")\n\ndef const(expr: _T) -> _T:\n \"\"\"Used to declare that the expression is a constant so that the compiler can\n optimise it.\n\n The use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\n Constants declared this way are still accessible as global variables from\n outside the module they are declared in. On the other hand, if a constant\n begins with an underscore then it is hidden, it is not available as a\n global variable, and does not take up any memory during execution.\n\n :param expr: A constant expression.\n \"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Get the current optimisation level for the compilation of scripts.\n\n Example: ``micropython.opt_level()``\n\n The optimisation level controls the following compilation features:\n\n - Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n - Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n - Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n :return: An integer representing the current level.\n \"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Sets the optimisation level for subsequent compilation of scripts.\n\n Example: ``micropython.opt_level(1)``\n\n The optimisation level controls the following compilation features:\n\n - Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n - Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n - Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n The default optimisation level is usually level 0.\n\n :param level: An integer optimisation level.\n \"\"\"\n ...\n\ndef mem_info(verbose: Any = None) -> None:\n \"\"\"Print information about currently used memory.\n\n Example: ``micropython.mem_info()``\n\n :param verbose: If the ``verbose`` argument is given then extra information is printed.\n \"\"\"\n ...\n\ndef qstr_info(verbose: Any = None) -> None:\n \"\"\"Print information about currently interned strings.\n\n Example: ``micropython.qstr_info()``\n\n :param verbose: If the ``verbose`` argument is given then extra information is printed.\n\n The information that is printed is implementation dependent, but currently\n includes the number of interned strings and the amount of RAM they use. In\n verbose mode it prints out the names of all RAM-interned strings.\n \"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Return an integer representing the current amount of stack that is being\n used.\n\n Example: ``micropython.stack_use()``\n\n The absolute value of this is not particularly useful, rather it\n should be used to compute differences in stack usage at different points.\n\n :return: An integer representing current stack use.\n \"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Lock the heap.\n\n Example: ``micropython.heap_lock()``\n\n When locked no memory allocation can occur and a ``MemoryError`` will be\n raised if any heap allocation is attempted.\n \"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Unlock the heap.\n\n Example: ``micropython.heap_unlock()``\n\n When locked no memory allocation can occur and a ``MemoryError`` will be\n raised if any heap allocation is attempted.\n \"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Set the character that will raise a ``KeyboardInterrupt`` exception.\n\n Example: ``micropython.kbd_intr(-1)``\n\n :param chr: Character code to raise the interrupt or -1 to disable capture of Ctrl-C.\n\n By default this is set to 3 during script execution, corresponding to Ctrl-C.\n Passing -1 to this function will disable capture of Ctrl-C, and passing 3\n will restore it.\n\n This function can be used to prevent the capturing of Ctrl-C on the\n incoming stream of characters that is usually used for the REPL, in case\n that stream is used for other purposes.\n \"\"\"\n ...\n", - "/typeshed/stdlib/music.pyi": "\"\"\"Create and play melodies.\n\"\"\"\nfrom typing import Optional, Tuple, Union, List\n\nfrom .microbit import MicroBitDigitalPin, pin0\n\nDADADADUM: Tuple[str, ...]\n\"\"\"Melody: the opening to Beethoven\u2019s 5th Symphony in C minor.\"\"\"\n\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melody: the opening fragment of Scott Joplin\u2019s Ragtime classic \u201cThe Entertainer\u201d.\"\"\"\n\nPRELUDE: Tuple[str, ...]\n\"\"\"Melody: the opening of the first Prelude in C Major of J.S.Bach\u2019s 48 Preludes and Fugues.\"\"\"\n\nODE: Tuple[str, ...]\n\"\"\"Melody: the \u201cOde to Joy\u201d theme from Beethoven\u2019s 9th Symphony in D minor.\"\"\"\n\nNYAN: Tuple[str, ...]\n\"\"\"Melody: the Nyan Cat theme (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\n\nRINGTONE: Tuple[str, ...]\n\"\"\"Melody: something that sounds like a mobile phone ringtone.\n\nTo be used to indicate an incoming message.\n\"\"\"\n\nFUNK: Tuple[str, ...]\n\"\"\"Melody: a funky bass line for secret agents and criminal masterminds.\"\"\"\n\nBLUES: Tuple[str, ...]\n\"\"\"Melody: a boogie-woogie 12-bar blues walking bass.\"\"\"\n\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melody: \u201cHappy Birthday to You\u2026\u201d\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\n\nWEDDING: Tuple[str, ...]\n\"\"\"Melody: the bridal chorus from Wagner\u2019s opera \u201cLohengrin\u201d.\"\"\"\n\nFUNERAL: Tuple[str, ...]\n\"\"\"Melody: the \u201cfuneral march\u201d otherwise known as Fr\u00e9d\u00e9ric Chopin\u2019s Piano Sonata No. 2 in B\u266d minor, Op. 35.\"\"\"\n\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melody: a fun fragment that signifies a joke has been made.\"\"\"\n\nPYTHON: Tuple[str, ...]\n\"\"\"Melody: John Philip Sousa\u2019s march \u201cLiberty Bell\u201d aka, the theme for \u201cMonty Python\u2019s Flying Circus\u201d (after which the Python programming language is named).\"\"\"\n\nBADDY: Tuple[str, ...]\n\"\"\"Melody: silent movie era entrance of a baddy.\"\"\"\n\nCHASE: Tuple[str, ...]\n\"\"\"Melody: silent movie era chase scene.\"\"\"\n\nBA_DING: Tuple[str, ...]\n\"\"\"Melody: a short signal to indicate something has happened.\"\"\"\n\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melody: a very sad trombone.\"\"\"\n\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melody: for use in a game, indicating upward movement.\"\"\"\n\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melody: for use in a game, indicating downward movement.\"\"\"\n\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melody: a fanfare to indicate an achievement unlocked.\"\"\"\n\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melody: a sad fanfare to indicate an achievement lost.\"\"\"\n\ndef set_tempo(ticks: int = 4, bpm: int = 120) -> None:\n \"\"\"Sets the approximate tempo for playback.\n\n Example: ``music.set_tempo(bpm=120)``\n\n :param ticks: The number of ticks constituting a beat.\n :param bpm: An integer determining how many beats per minute.\n\n Suggested default values allow the following useful behaviour:\n\n - music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n - music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n - music.set_tempo(bpm=180) \u2013 just change the tempo\n\n To work out the length of a tick in milliseconds is very simple arithmetic:\n 60000/bpm/ticks_per_beat. For the default values that\u2019s\n 60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\n \"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Gets the current tempo as a tuple of integers: ``(ticks, bpm)``.\n\n Example: ``ticks, beats = music.get_tempo()``\n\n :return: The temp as a tuple with two integer values, the ticks then the beats per minute.\n \"\"\"\n ...\n\ndef play(\n music: Union[str, List[str], Tuple[str, ...]],\n pin: Optional[MicroBitDigitalPin] = pin0,\n wait: bool = True,\n loop: bool = False,\n) -> None:\n \"\"\"Plays music.\n\n Example: ``music.play(music.NYAN)``\n\n :param music: music specified in `a special notation `_\n :param pin: the output pin for use with an external speaker (default ``pin0``), ``None`` for no sound.\n :param wait: If ``wait`` is set to ``True``, this function is blocking.\n :param loop: If ``loop`` is set to ``True``, the tune repeats until ``stop`` is called or the blocking call is interrupted.\n\n Many built-in melodies are defined in this module.\n \"\"\"\n ...\n\ndef pitch(\n frequency: int,\n duration: int = -1,\n pin: Optional[MicroBitDigitalPin] = pin0,\n wait: bool = True,\n) -> None:\n \"\"\"Play a note.\n\n Example: ``music.pitch(185, 1000)``\n\n :param frequency: An integer frequency\n :param duration: A millisecond duration. If negative then sound is continuous until the next call or a call to ``stop``.\n :param pin: Optional output pin (default ``pin0``).\n :param wait: If ``wait`` is set to ``True``, this function is blocking.\n\n For example, if the frequency is set to 440 and the length to\n 1000 then we hear a standard concert A for one second.\n\n You can only play one pitch on one pin at any one time.\n \"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin] = pin0) -> None:\n \"\"\"Stops all music playback on the built-in speaker and any pin outputting sound.\n\n Example: ``music.stop()``\n\n :param pin: An optional argument can be provided to specify a pin, e.g. ``music.stop(pin1)``.\n \"\"\"\n\ndef reset() -> None:\n \"\"\"Resets ticks, bpm, duration and octave to their default values.\n\n Example: ``music.reset()``\n\n Values:\n - ``ticks = 4``\n - ``bpm = 120``\n - ``duration = 4``\n - ``octave = 4``\n \"\"\"\n ...\n", - "/typeshed/stdlib/neopixel.pyi": "\"\"\"Individually addressable RGB and RGBW LED strips.\n\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int = 3) -> None:\n \"\"\"Initialise a new strip of neopixel LEDs controlled via a pin.\n\n Example: ``np = neopixel.NeoPixel(pin0, 8)``\n\n To support RGBW neopixels, a third argument can be passed to\n ``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\n For RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\n Each pixel is addressed by a position (starting from 0). Neopixels are\n given RGB (red, green, blue) / RGBW (red, green, blue, white) values\n between 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\n white. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\n See `the online docs `_ for warnings and other advice.\n\n :param pin: The pin controlling the neopixel strip.\n :param n: The number of neopixels in the strip.\n :param bpp: Bytes per pixel. For RGBW neopixel support, pass 4 rather than the default of 3 for RGB and GRB.\n \"\"\"\n ...\n def clear(self) -> None:\n \"\"\"Clear all the pixels.\n\n Example: ``np.clear()``\n \"\"\"\n ...\n def show(self) -> None:\n \"\"\"Show the pixels.\n\n Example: ``np.show()``\n\n Must be called for any updates to become visible.\n \"\"\"\n ...\n def write(self) -> None:\n \"\"\"Show the pixels (micro:bit V2 only).\n\n Example: ``np.write()``\n\n Must be called for any updates to become visible.\n\n Equivalent to ``show``.\n \"\"\"\n ...\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Colour all pixels a given RGB/RGBW value (micro:bit V2 only).\n\n Example: ``np.fill((0, 0, 255))``\n\n :param colour: A tuple of the same length as the number of bytes per pixel (bpp).\n\n Use in conjunction with ``show()`` to update the neopixels.\n \"\"\"\n ...\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Set a pixel colour.\n\n Example: ``np[0] = (255, 0, 0)``\n\n :param key: The pixel number.\n :param value: The colour.\n \"\"\"\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Get a pixel colour.\n\n Example: ``r, g, b = np[0]``\n\n :param key: The pixel number.\n :return: The colour tuple.\n \"\"\"\n def __len__(self) -> int:\n \"\"\"Get length of this pixel strip.\n\n Example: ``len(np)``\n \"\"\"\n", - "/typeshed/stdlib/os.pyi": "\"\"\"Access the file system.\n\"\"\"\n\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"List files.\n\n Example: ``os.listdir()``\n\n :return: A list of the names of all the files contained within the local\n persistent on-device file system.\n \"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Remove (delete) a file.\n\n Example: ``os.remove('data.txt')``\n\n :param filename: The file to delete.\n\n If the file does not exist an ``OSError`` exception will occur.\n \"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Returns the size of a file.\n\n Example: ``os.size('data.txt')``\n\n :param filename: The file\n :return: The size in bytes.\n\n If the file does not exist an ``OSError`` exception will occur.\n \"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Result of ``os.uname()``\"\"\"\n sysname: str\n \"\"\"Operating system name.\"\"\"\n\n nodename: str\n \"\"\"Name of machine on network (implementation-defined).\"\"\"\n\n release: str\n \"\"\"Operating system release.\"\"\"\n \n version: str\n \"\"\"Operating system version.\"\"\"\n \n machine: str\n \"\"\"Hardware identifier.\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Returns information identifying the current operating system.\n\n Example: ``os.uname()``\n\n The return value is an object with five attributes:\n\n - ``sysname`` - operating system name\n - ``nodename`` - name of machine on network (implementation-defined)\n - ``release`` - operating system release\n - ``version`` - operating system version\n - ``machine`` - hardware identifier\n\n There is no underlying operating system in MicroPython. As a result the\n information returned by the ``uname`` function is mostly useful for\n versioning details.\n \"\"\"\n ...\n", + "/typeshed/stdlib/machine.pyi": "\"\"\"Hulpprogramma's op laag niveau.\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"Krijg een byte string met een uniek id van een bord. (uniek id)\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset het apparaat op een manier die lijkt op de externe RESET knop.\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"Krijg de CPU frequentie in Hertz. (frequentie)\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"Interruptie verzoeken uitschakelen. (irq uitschakelen)\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"Zet interruptie verzoeken opnieuw aan. (irq inschakelen)\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: (staat) De waarde die is teruggestuurd van de meest recente oproep naar de ``disable_irq`` functie.\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"Time een puls op een pin. (tijd pulse us)\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: De pin om te gebruiken\n:param pulse_level: (puls niveau) 0 om een lage puls te tikken of 1 om een hoge puls te tikken\n:param timeout_us: Een microseconde time-out\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"De klasse van de ``mem8``, ``mem16`` en ``mem32`` geheugenweergaven.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Toegang tot een waarde uit het geheugen.\n\n:param address: (adres) Het geheugenadres.\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"Stel een waarde in op het opgegeven adres.\n\n:param address: (adres) Het geheugen adres.\n:param value: (waarde) De integerwaarde die moet worden ingesteld.\"\"\"\n ...\nmem8: mem\n\"\"\"8-bit (byte) weergave van het geheugen.\"\"\"\nmem16: mem\n\"\"\"16-bit (byte) weergave van het geheugen.\"\"\"\nmem32: mem\n\"\"\"32-bit (byte) weergave van het geheugen.\"\"\"", + "/typeshed/stdlib/math.pyi": "\"\"\"Wiskundige functies. (wiskunde)\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Bereken de inverse cosinus.\n\nExample: ``math.acos(1)``\n\n:param x: (\u0445) Een getal\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Bereken de inverse sinus.\n\nExample: ``math.asin(0)``\n\n:param x: (\u0445) Een getal\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Bereken de inverse tangens.\n\nExample: ``math.atan(0)``\n\n:param x: (\u0445) Een getal\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Bereken de hoofdwaarde van de inverse tangens van ``y/x``.\n\nExample: ``math.atan2(0, -1)``\n\n:param y: (\u0445) Een getal\n:param x: (\u0445) Een getal\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Rond een getal af op een positief oneindig. (plafond)\n\nExample: ``math.ceil(0.1)``\n\n:param x: (\u0445) Een getal\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Bereken ``x`` met de teken van ``y``.\n\nExample: ``math.copysign(1, -1)``\n\n:param x: (\u0445) Een getal\n:param y: De bron van het teken voor de retourwaarde\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Bereken de cosinus van ``x``.\n\nExample: ``math.cos(0)``\n\n:param x: (\u0445) Een getal\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"radialen converteren naar graden: (graden)\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: (\u0445) Een waarde in radialen\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Bereken de exponenti\u00eble van ``x``.\n\nExample: ``math.exp(1)``\n\n:param x: (\u0445) Een getal\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Geeft de absolute waarde van ``x``.\n\nExample: ``math.fabs(-0.1)``\n\n:param x: (\u0445) Een getal\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Rond een getal af op een negatief oneindig.\n\nExample: ``math.floor(0.9)``\n\n:param x: (\u0445) Een getal\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Bereken de rest van ``x/y``.\n\nExample: ``math.fmod(10, 3)``\n\n:param x: (\u0445) De nummeraar\n:param y: De noemer\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Ontleedt een getal met drijvende komma in zijn mantisse en exponent.\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: (\u0445) Getal met drijvende komma\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"Controleer of een waarde eindig is. (is eindig)\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: (\u0445) Een getal.\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"Controleer of een waarde oneindig is.\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: (\u0445) Een getal.\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Check if is een waarde is geen getal (NaN).\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: (\u0445) Een getal\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Bereken ``x * (2**exp)``.\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: (\u0445) Een getal\n:param exp: Integer exponent\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"Bereken het logaritme van ``x`` naar de opgegeven basis (standaard is het natuurlijke logalgoritme).\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: (\u0445) Een getal\n:param base: (grondtal) Het grondtal om te gebruiken\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Bereken de fractionele en integrale onderdelen van ``x``.\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: (\u0445) Een getal\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Retourneert ``x`` naar de kracht van ``y``.\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: (\u0445) Een getal\n:param y: De exponent\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Converteer graden naar radialen. (radialen)\n\nExample: ``math.radians(360)``\n\n:param x: (\u0445) Een waarde in graden\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Bereken de sinus van ``x``.\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: (\u0445) Een getal\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Bereken de wortel van ``x``. (wortel)\n\nExample: ``math.sqrt(4)``\n\n:param x: (\u0445) Een getal\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Bereken de tangens van ``x``.\n\nExample: ``math.tan(0)``\n\n:param x: (\u0445) Een getal\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Rond een getal af naar 0.\n\nExample: ``math.trunc(-0.9)``\n\n:param x: (\u0445) Een getal\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"Basis van het natuurlijke logaritme\"\"\"\npi: float\n\"\"\"De omtrek van een cirkel tot de diameter\"\"\"", + "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython intern.\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"Gebruikt om te verklaren dat de expressie een constante is zodat de compiler\ndeze kan optimaliseren.\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: Een constante expressie.\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Krijg het huidige optimalisatieniveau voor de compilatie van scripts. (Kies niveau)\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Stelt het optimalisatie niveau in voor de latere compilatie van scripts. (opt niveau)\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: (niveau) Een integer optimaliserings niveau.\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"Druk informatie af over het momenteel gebruikte geheugen.\n\nExample: ``micropython.mem_info()``\n\n:param verbose: Als het argument van ``verbose`` wordt opgegeven, wordt extra informatie afgedrukt.\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"Druk informatie af over momenteel gebruikte interne tekenreeksen.\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: Als het argument van ``verbose`` wordt opgegeven, wordt extra informatie afgedrukt.\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Retourneert een integer getal dat huidige hoeveelheid stack vertegenwoordigt die wordt gebruikt. (stapel gebruik)\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Lock de heap. (heap slot)\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Unlock the heap.\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Stel het karakter in dat een ``KeyboardInterrupt`` -uitzondering maakt.\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: Karakter code om de onderbreking of -1 om opname van Ctrl-C uit te schakelen.\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", + "/typeshed/stdlib/music.pyi": "\"\"\"Maak en speel melodie\u00ebn. (muziek)\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"Melodie: de opening naar Beethoven's 5e Symfonie in C minor.\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melody: het openingsfragment van Scott Joplin\u2019s Ragtime classic \u201cThe Entertainer\u201d.\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"Melodie: de opening van de eerste prelude in C Major van J.S.Bach's 48 Preludes en Fugues.\"\"\"\nODE: Tuple[str, ...]\n\"\"\"Melodie: het thema \"Ode aan Joy\" van Beethoven zijn negende Symfonie in D-klein.\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"Melodie: het Nyan Cat thema (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"Melodie: iets dat klinkt als een beltoon van een mobiele telefoon. (beltoon)\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"Melodie: een grappige bas lijn voor geheime agenten en criminele meesterbreinen.\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"Melodie: een boogie-woogie 12-bar blues wandel bas. (Blues)\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melodie: \u201cHappy Birthday to You\u2026\u201d (verjaardag)\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"Melodie: het bruidskoor van de opera van Wagner \u201cLohengrin\u201d. (bruiloft)\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"Melody: de \u201cbegrafenismars\u201d die ook bekend staat als Fr\u00e9d\u00e9ric Chopin\u2019s Piano Sonata No. 2 in B\u266d minor, Op. 35. (begrafenis)\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melodie: een grappig fragment dat aangeeft dat er een grap is gemaakt. (clou)\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"Melodie: John Philip Sousa's mars \"Liberty Bell\", ook bekend als het thema voor \"Monty Python's Flying Circus\" (waarnaar de programmeertaal Python is vernoemd).\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"Melodie: stomme filmtijdperk de binnenkomst van een boef. (boef)\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"Melodie: stille film tijdperk achtervolgings-sc\u00e8ne. (achtervolgen)\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"Melodie: een kort signaal om aan te geven dat er iets is gebeurd.\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melody: een zeer trieste trombone.\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melody: voor gebruik in een spel om opwaartse beweging aan te geven. (spring omhoog)\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melody: voor gebruik in een spel, om neerwaartse beweging aan te geven. (spring omlaag)\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melodie: een fanfare die aantoont dat een prestatie ontgrendeld is. (opstarten)\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melody: een droevige fanfare om aan te geven dat een prestatie verloren is gegaan. (afsluiten)\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"Stelt het geschatte tempo in voor het afspelen. (kies tempo)\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: (tikken) Het aantal tikken in een beat.\n:param bpm: Een geheel getal dat het aantal beats per minuut bepaalt.\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Haalt het huidige tempo op als een heel geheel getal: ``(ticks, bpm)``. (krijg tempo)\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"Speelt muziek af. (afspelen)\n\nExample: ``music.play(music.NYAN)``\n\n:param music: (muziek) muziek opgegeven in `a special notation `_\n:param pin: de uitvoer pin voor gebruik met een externe luidspreker (standaard ``pin0``), ``None`` voor geen geluid.\n:param wait: (wacht) Als ``wait`` is ingesteld op ``True``wordt deze functie geblokkeerd.\n:param loop: Als ``loop`` is ingesteld op ``True``herhaalt de melodie tot ``stop`` wordt opgeroepen of wordt de blokkerende oproep word onderbroken.\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"Speel een noot. (toonhoogte)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (frequentie) Een integere frequentie\n:param duration: (Duur) Een milliseconde duur. Als negatief dan gaat het geluid door tot de volgende oproep of een oproep tot ``stop``.\n:param pin: Optionele uitvoer pin (standaard ``pin0``).\n:param wait: (wacht) Als ``wait`` is ingesteld op ``True``wordt deze functie geblokkeerd.\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Stopt alle muziek op de ingebouwde luidspreker en elke pin die geluid uitzendt.\n\nExample: ``music.stop()``\n\n:param pin: Een optioneel argument kan worden opgegeven om een pin op te geven, bijvoorbeeld ``music.stop(pin1)``.\"\"\"\n\ndef reset() -> None:\n \"\"\"Reset ticks, bpm, duur en octaven naar hun standaardwaarden.\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"Individueel adresseerbare RGB en RGBW LED-strips.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"Initialiseer een nieuwe strip van neopixel LED's beheerd via een pin. (initialiseren)\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: De pin regelt de neopixelstrook.\n:param n: Het aantal neopixels in de strip.\n:param bpp: Bytes per pixel. Voor ondersteuning van RGBW neopixels geeft je 4 aan in plaats van de standaardwaarde van 3 voor RGB en GRB.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"Verwijder alle pixels. (wissen)\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"Toon de pixels. (toon)\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"Toon de pixels (alleen micro:bit V2). (schrijven)\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Kleur alle pixels een bepaalde RGB/RGBW waarde (alleen micro:bit V2). (opvullen)\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: (kleur) Een tuple van dezelfde lengte als het aantal bytes per pixel (bpp).\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Stel een pixelkleur in.\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: (sleutel) Het pixelnummer.\n:param value: (waarde) De kleur.\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Krijg een pixelkleur.\n\nExample: ``r, g, b = np[0]``\n\n:param key: (sleutel) Het pixelnummer.\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"Haal de lengte op van deze pixelstrip.\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/os.pyi": "\"\"\"Toegang tot het bestandssysteem.\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"Bestanden weergeven.\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Verwijder (verwijder) een bestand. (verwijder)\n\nExample: ``os.remove('data.txt')``\n\n:param filename: (bestands naam) Het bestand is verwijderd\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Geeft de grootte van een bestand weer. (grootte)\n\nExample: ``os.size('data.txt')``\n\n:param filename: (bestands naam) Het bestand\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Resultaat van ``os.uname()`` (uname resultaat)\"\"\"\n sysname: str\n \"\"\"Besturingssysteem naam\"\"\"\n nodename: str\n \"\"\"Naam van machine op het netwerk (implementation-defined).\"\"\"\n release: str\n \"\"\"Besturingssysteem release. (vrijgeven)\"\"\"\n version: str\n \"\"\"Besturingssysteem versie. (versie)\"\"\"\n machine: str\n \"\"\"Identificatie hardware\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Geeft informatie terug die het huidige besturingssysteem identificeert.\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", - "/typeshed/stdlib/radio.pyi": "\"\"\"Communicate between micro:bits with the built-in radio.\n\"\"\"\n\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\n\nRATE_1MBIT: int\n\"\"\"Constant used to indicate a throughput of 1 MBit a second.\"\"\"\n\nRATE_2MBIT: int\n\"\"\"Constant used to indicate a throughput of 2 MBit a second.\"\"\"\n\ndef on() -> None:\n \"\"\"Turns the radio on.\n\n Example: ``radio.on()``\n\n This needs to be explicitly called since the radio draws power and takes\n up memory that you may otherwise need.\n \"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Turns off the radio, saving power and memory.\n\n Example: ``radio.off()``\n \"\"\"\n ...\n\ndef config(\n length: int = 32,\n queue: int = 3,\n channel: int = 7,\n power: int = 6,\n address: int = 0x75626974,\n group: int = 0,\n data_rate: int = RATE_1MBIT,\n) -> None:\n \"\"\"Configures the radio.\n\n Example: ``radio.config(group=42)``\n\n The default configuration is suitable for most use.\n\n :param length: (default=32) defines the maximum length, in bytes, of a message sent via the radio.\n It can be up to 251 bytes long (254 - 3 bytes for S0, LENGTH and S1 preamble).\n :param queue: (default=3) specifies the number of messages that can be stored on the incoming message queue.\n If there are no spaces left on the queue for incoming messages, then the incoming message is dropped.\n :param channel: (default=7) an integer value from 0 to 83 (inclusive) that defines an arbitrary \"channel\" to which the radio is tuned.\n Messages will be sent via this channel and only messages received via this channel will be put onto the incoming message queue. Each step is 1MHz wide, based at 2400MHz.\n :param power: (default=6) is an integer value from 0 to 7 (inclusive) to indicate the strength of signal used when broadcasting a message.\n The higher the value the stronger the signal, but the more power is consumed by the device. The numbering translates to positions in the following list of dBm (decibel milliwatt) values: -30, -20, -16, -12, -8, -4, 0, 4.\n :param address: (default=0x75626974) an arbitrary name, expressed as a 32-bit address, that's used to filter incoming packets at the hardware level, keeping only those that match the address you set.\n The default used by other micro:bit related platforms is the default setting used here.\n :param group: (default=0) an 8-bit value (0-255) used with the ``address`` when filtering messages.\n Conceptually, \"address\" is like a house/office address and \"group\" is like the person at that address to which you want to send your message.\n :param data_rate: (default=``radio.RATE_1MBIT``) indicates the speed at which data throughput takes place.\n Can be one of the following constants defined in the ``radio`` module: ``RATE_250KBIT``, ``RATE_1MBIT`` or ``RATE_2MBIT``.\n\n If ``config`` is not called then the defaults described above are assumed.\n \"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset the settings to their default values.\n\n Example: ``radio.reset()``\n\n The defaults as as per the ``config`` function above.\n \"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Sends a message containing bytes.\n\n Example: ``radio.send_bytes(b'hello')``\n\n :param message: The bytes to send.\n \"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Receive the next incoming message on the message queue.\n\n Example: ``radio.receive_bytes()``\n\n :return: The message bytes if any, otherwise ``None``.\n \"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Copy the next incoming message on the message queue into a buffer.\n\n Example: ``radio.receive_bytes_info(buffer)``\n\n :param buffer: The target buffer. The message is truncated if larger than the buffer.\n :return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\n \"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Sends a message string.\n\n Example: ``radio.send('hello')``\n\n This is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\n prepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n :param message: The string to send.\n \"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Works in exactly the same way as ``receive_bytes`` but returns whatever was sent.\n\n Example: ``radio.receive()``\n\n Equivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\n three bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\n may target the micro:bit).\n\n :return: The message with the prepended bytes stripped and converted to a string.\n\n A ``ValueError`` exception is raised if conversion to string fails.\n \"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Returns a tuple containing three values representing the next incoming message on the message queue.\n\n Example: ``radio.receive_full()``\n\n If there are no pending messages then ``None`` is returned.\n\n The three values in the tuple represent:\n\n - the next incoming message on the message queue as bytes.\n - the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n - a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\n For example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\n This function is useful for providing information needed for triangulation\n and/or trilateration with other micro:bit devices.\n\n :return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\n \"\"\"\n ...\n", - "/typeshed/stdlib/random.pyi": "\"\"\"Generate random numbers.\n\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"Generate an integer with ``n`` random bits.\n\n Example: ``random.getrandbits(1)``\n\n :param n: A value between 1-30 (inclusive).\n \"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Initialize the random number generator.\n\n Example: ``random.seed(0)``\n\n :param n: The integer seed\n\n This will give you reproducibly deterministic randomness from a given starting\n state (``n``).\n \"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"Choose a random integer between ``a`` and ``b`` inclusive.\n\n Example: ``random.randint(0, 9)``\n\n :param a: Start value for the range (inclusive)\n :param b: End value for the range (inclusive)\n\n Alias for ``randrange(a, b + 1)``.\n \"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"Choose a randomly selected integer between zero and up to (but not\n including) ``stop``.\n\n Example: ``random.randrange(10)``\n\n :param stop: End value for the range (exclusive)\n \"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int = 1) -> int:\n \"\"\"\n Choose a randomly selected element from ``range(start, stop, step)``.\n\n Example: ``random.randrange(0, 10)``\n\n :param start: The start of the range (inclusive)\n :param stop: The end of the range (exclusive)\n :param step: The step.\n \"\"\"\n ...\n\n_T = TypeVar(\"_T\")\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"Choose a random element from the non-empty sequence ``seq``.\n\n Example: ``random.choice([Image.HAPPY, Image.SAD])``\n\n :param seq: A sequence.\n\n If ``seq`` is empty, raises ``IndexError``.\n \"\"\"\n ...\n\ndef random() -> float:\n \"\"\"Generate a random floating point number in the range [0.0, 1.0).\n\n Example: ``random.random()``\n\n :return: The random floating point number\n \"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"\n Return a random floating point number between ``a`` and ``b`` inclusive.\n\n Example: ``random.uniform(0, 9)``\n\n :param a: Start value for the range (inclusive)\n :param b: End value for the range (inclusive)\n \"\"\"\n ...\n", - "/typeshed/stdlib/speech.pyi": "\"\"\"Make the micro:bit talk, sing and make other speech like sounds.\n\"\"\"\n\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"Translate English words to phonemes.\n\n Example: ``speech.translate('hello world')``\n\n :param words: A string of English words.\n :return: A string containing a best guess at the appropriate phonemes to pronounce.\n The output is generated from this `text to phoneme translation table `_.\n\n This function should be used to generate a first approximation of phonemes\n that can be further hand-edited to improve accuracy, inflection and\n emphasis.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef pronounce(\n phonemes: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: Optional[MicroBitDigitalPin] = pin0,\n) -> None:\n \"\"\"Pronounce phonemes.\n\n Example: ``speech.pronounce(' /HEHLOW WERLD')``\n\n :param phonemes: The string of phonemes to pronounce\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n Override the optional pitch, speed, mouth and throat settings to change the\n timbre (quality) of the voice.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef say(\n words: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: MicroBitDigitalPin = pin0,\n) -> None:\n \"\"\"Say English words.\n\n Example: ``speech.say('hello world')``\n\n :param words: The string of words to say.\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n The result is semi-accurate for English. Override the optional pitch, speed,\n mouth and throat settings to change the timbre (quality) of the voice.\n\n This is a short-hand equivalent of:\n ``speech.pronounce(speech.translate(words))``\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef sing(\n phonemes: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: MicroBitDigitalPin = pin0,\n) -> None:\n \"\"\"Sing phonemes.\n\n Example: ``speech.sing(' /HEHLOW WERLD')``\n\n :param phonemes: The string of words to sing.\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n Override the optional pitch, speed, mouth and throat settings to change\n the timbre (quality) of the voice.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n", - "/typeshed/stdlib/struct.pyi": "\"\"\"Pack and unpack primitive data types.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"Get the number of bytes needed to store the given ``fmt``.\n\n Example: ``struct.calcsize('hf')``\n\n :param fmt: A format string.\n :return The number of bytes needed to store such a value.\n \"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"Pack values according to a format string.\n\n Example: ``struct.pack('hf', 1, 3.1415)``\n\n :param fmt: The format string.\n :param v1: The first value.\n :param *vn: The remaining values.\n :return A bytes object encoding the values.\n \"\"\"\n ...\n\ndef pack_into(\n fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any\n) -> None:\n \"\"\"Pack values according to a format string.\n\n Example: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n :param fmt: The format string.\n :param buffer: The target buffer to write into.\n :param offset: The offset into the buffer. May be negative to count from the end of the buffer.\n :param v1: The first value.\n :param *vn: The remaining values.\n \"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"Unpack data according to a format string.\n\n Example: ``v1, v2 = struct.unpack('hf', buffer)``\n\n :param fmt: The format string.\n :param data: The data.\n :return: A tuple of the unpacked values.\n \"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int = 0) -> Tuple:\n \"\"\"Unpack data from a buffer according to a format string.\n\n Example: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n :param fmt: The format string.\n :param buffer: The source buffer to read from.\n :param offset: The offset into the buffer. May be negative to count from the end of the buffer.\n :return: A tuple of the unpacked values.\n \"\"\"\n ...\n", - "/typeshed/stdlib/sys.pyi": "\"\"\"System specific functions\"\"\"\n\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object = ...) -> NoReturn:\n \"\"\"Terminate current program with a given exit code.\n\n Example: ``sys.exit(1)``\n\n This function raises a ``SystemExit`` exception. If an argument is given, its\n value given as an argument to ``SystemExit``.\n\n :param retval: The exit code or message.\n \"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"\n Print an exception with a traceback.\n\n Example: ``sys.print_exception(e)``\n\n :param exc: The exception to print\n\n This is simplified version of a function which appears in the\n ``traceback`` module in CPython.\n \"\"\"\n\nargv: List[str]\n\"\"\"A mutable list of arguments the current program was started with.\"\"\"\n\nbyteorder: str\n\"\"\"The byte order of the system (``\"little\"`` or ``\"big\"``).\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\n\nimplementation: _implementation\n\"\"\"Object with information about the current Python implementation.\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\n\nmaxsize: int\n\"\"\"\nMaximum value which a native integer type can hold on the current platform,\nor maximum value representable by MicroPython integer type, if it's smaller\nthan platform max value (that is the case for MicroPython ports without\nlong int support).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\n\nmodules: Dict[str, Any]\n\"\"\"Dictionary of loaded modules. \n\nOn some ports, it may not include builtin modules.\"\"\"\n\npath: List[str]\n\"\"\"A mutable list of directories to search for imported modules.\"\"\"\n\nplatform: str\n\"\"\"The platform that MicroPython is running on. \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\n\nversion: str\n\"\"\"Python language version that this implementation conforms to, as a string.\"\"\"\n\nversion_info: Tuple[int, int, int]\n\"\"\"Python language version that this implementation conforms to, as a tuple of ints.\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"\n", + "/typeshed/stdlib/radio.pyi": "\"\"\"Communiceer tussen micro:bits met de ingebouwde radio.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"Constante gebruikt om een doorvoer van 1 MBit per seconde aan te geven.\"\"\"\nRATE_2MBIT: int\n\"\"\"Constante gebruikt om een doorvoer van 2 MBit per seconde aan te geven.\"\"\"\n\ndef on() -> None:\n \"\"\"Zet de radio aan. (aan)\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Schakelt de radio uit, bespaar stroom en geheugen. (uit)\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"Configureert de radio. (configuratie)\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (lengte) (default=32) definieert de maximale lengte, in bytes, van een bericht dat via de radio wordt verzonden.\nHet kan maximaal 251 bytes lang zijn (254 - 3 bytes voor S0, LENGTH en S1 preamble).\n:param queue: (wachtrij) (standaard=3) geeft het aantal berichten aan dat in de wachtrij van het inkomende bericht kan worden opgeslagen.\nAls er geen ruimte meer is in de wachtrij voor binnenkomende berichten, dan valt het inkomende bericht weg.\n:param channel: (kanaal) (default=7) een integer waarde van 0 tot 83 (inclusief) die een willekeurig \"kanaal\" definieert waaraan de radio wordt afgestemd.\nBerichten worden via dit kanaal verzonden en alleen via dit kanaal worden berichten in de wachtrij van het inkomende berichten geplaatst. Elke stap is 1 MHz breed, gebaseerd op 2400MHz.\n:param power: (vermogen) (default=6) is een integer waarde van 0 tot 7 (inclusief) om de sterkte van het signaal aan te geven dat wordt gebruikt bij het uitzenden van een bericht.\nHoe hoger de waarde, des te sterker het signaal, maar hoe meer stroom het apparaat verbruikt. De nummering vertaalt naar posities in de volgende lijst van dBm (decibel milliwatt) waarden: -30, -20, -16, -12, -8, -4, 0, 4.\n:param address: (adres) (default=0x75626974) een willekeurige naam, uitgedrukt als een 32-bits adres, wordt gebruikt om inkomende pakketten op hardware-niveau te filteren, waarbij alleen de pakketten worden bewaard die overeenkomen met het adres dat je zelf instelt.\nDe standaard gebruiker door andere micro:bit gerelateerde platforms is de standaard instelling die hier wordt gebruikt.\n:param group: (groep) (standaard=0) een 8-bit waarde (0-255) gebruikt met de ``address`` bij het filteren van berichten.\nConceptueel, \"adres\" is als een huis/kantooradres en \"groep\" is als de persoon op dat adres waarnaar je je bericht wilt sturen.\n:param data_rate: (Gegevens snelheid) (default=``radio.RATE_1MBIT``) geeft aan hoe snel de doorvoer van gegevens plaatsvindt.\nKan een van de volgende constanten zijn gedefinieerd in de ``radio`` module: ``RATE_250KBIT``, ``RATE_1MBIT`` of ``RATE_2MBIT``.\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset alle instellingen naar hun standaardwaarde.\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Stuurt een bericht met bytes. (verstuur bytes)\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: (bericht) De te verzenden bytes.\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Ontvang het volgende inkomende bericht in de wachtrij van het bericht. (ontvang bytes)\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Kopieer het volgende inkomende bericht in de wachtrij van het bericht naar een buffer. (ontvang bytes in)\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: De doel buffer. Het bericht wordt ingekort als het groter is dan de buffer.\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Stuurt een berichtenreeks. (verzenden)\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: (bericht) De te verzenden tekenreeks.\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Werkt op precies dezelfde manier als ``receive_bytes`` , maar retourneert wat er verzonden is. (ontvang)\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Geeft als resultaat een dup met drie waarden die het volgende inkomende bericht in de wachtrij van het bericht weergeven. (Ontvang vol)\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", + "/typeshed/stdlib/random.pyi": "\"\"\"Willekeurige getallen genereren. (willekeurig)\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"Genereer een geheel getal met ``n`` willekeurige bits.\n\nExample: ``random.getrandbits(1)``\n\n:param n: Een waarde tussen 1-30 (inclusief).\"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Initialiseer de willekeurige getalgenerator.\n\nExample: ``random.seed(0)``\n\n:param n: De integer seed\n\nThis will give you reproducibly deterministic randomness from a given starting\nstate (``n``).\"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"Kies een willekeurig geheel getal tussen ``a`` en ``b`` inclusief.\n\nExample: ``random.randint(0, 9)``\n\n:param a: Beginwaarde voor het bereik (inclusief)\n:param b: Eindwaarde voor het bereik (inclusief)\n\nAlias for ``randrange(a, b + 1)``.\"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"Kies een willekeurig geselecteerd geheel getal tussen nul en tot (maar niet\ninclusief) ``stop``.\n\nExample: ``random.randrange(10)``\n\n:param stop: Eindwaarde voor het bereik (exclusief)\"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int=1) -> int:\n \"\"\"Kies een willekeurig geselecteerd element uit ``range(start, stop, step)``.\n\nExample: ``random.randrange(0, 10)``\n\n:param start: Het begin van het bereik (inclusief)\n:param stop: Einde van het bereik (exclusief)\n:param step: (stap) De stap.\"\"\"\n ...\n_T = TypeVar('_T')\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"Kies een willekeurig element uit de niet-lege reeks ``seq``. (keuze)\n\nExample: ``random.choice([Image.HAPPY, Image.SAD])``\n\n:param seq: Een volgorde.\n\nIf ``seq`` is empty, raises ``IndexError``.\"\"\"\n ...\n\ndef random() -> float:\n \"\"\"Genereer een willekeurig zwevend puntnummer in het bereik [0.0, 1.0). (willekeurig)\n\nExample: ``random.random()``\n\n:return: The random floating point number\"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"Geeft een willekeurig zwevend punt nummer tussen ``a`` en ``b`` inclusief.\n\nExample: ``random.uniform(0, 9)``\n\n:param a: Beginwaarde voor het bereik (inclusief)\n:param b: Eindwaarde voor het bereik (inclusief)\"\"\"\n ...", + "/typeshed/stdlib/speech.pyi": "\"\"\"Laat de micro:bit praten, zingen en andere spraak maken, zoals geluid. (spraak)\"\"\"\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"Vertaal Engelse woorden naar fonemen. (vertalen)\n\nExample: ``speech.translate('hello world')``\n\n:param words: (woorden) Een tekenreeks Engelse woorden.\n:return: A string containing a best guess at the appropriate phonemes to pronounce.\nThe output is generated from this `text to phoneme translation table `_.\n\nThis function should be used to generate a first approximation of phonemes\nthat can be further hand-edited to improve accuracy, inflection and\nemphasis.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef pronounce(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Uitspraak phonemes. (uitspreken)\n\nExample: ``speech.pronounce(' /HEHLOW WERLD')``\n\n:param phonemes: (fonemen) De reeks fonemen om uit te spreken\n:param pitch: (toonhoogte) Een nummer dat de toonhoogte van de stem weergeeft\n:param speed: (snelheid) Een nummer dat de snelheid van de stem vertegenwoordigt\n:param mouth: (mond) Een nummer dat de mond van de stem weergeeft\n:param throat: (keel) Een nummer dat de keel van de stem weergeeft\n:param pin: Een optioneel argument om de uitvoer pin op te geven, kan worden gebruikt om de standaard van ``pin0``te overschrijven. Als we geen geluid willen afspelen, kunnen we ``pin=None`` gebruiken. Alleen voor micro:bit V2.\n\nOverride the optional pitch, speed, mouth and throat settings to change the\ntimbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef say(words: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Zeg Engelse woorden. (zeg)\n\nExample: ``speech.say('hello world')``\n\n:param words: (woorden) De tekenreeks van woorden om te zeggen.\n:param pitch: (toonhoogte) Een nummer dat de toonhoogte van de stem weergeeft\n:param speed: (snelheid) Een nummer dat de snelheid van de stem vertegenwoordigt\n:param mouth: (mond) Een nummer dat de mond van de stem weergeeft\n:param throat: (keel) Een nummer dat de keel van de stem weergeeft\n:param pin: Een optioneel argument om de uitvoer pin op te geven, kan worden gebruikt om de standaard van ``pin0``te overschrijven. Als we geen geluid willen afspelen, kunnen we ``pin=None`` gebruiken. Alleen voor micro:bit V2.\n\nThe result is semi-accurate for English. Override the optional pitch, speed,\nmouth and throat settings to change the timbre (quality) of the voice.\n\nThis is a short-hand equivalent of:\n``speech.pronounce(speech.translate(words))``\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef sing(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Zing fonemen. (zing)\n\nExample: ``speech.sing(' /HEHLOW WERLD')``\n\n:param phonemes: (fonemen) De tekenreeks van woorden om te zingen.\n:param pitch: (toonhoogte) Een nummer dat de toonhoogte van de stem weergeeft\n:param speed: (snelheid) Een nummer dat de snelheid van de stem vertegenwoordigt\n:param mouth: (mond) Een nummer dat de mond van de stem weergeeft\n:param throat: (keel) Een nummer dat de keel van de stem weergeeft\n:param pin: Een optioneel argument om de uitvoer pin op te geven, kan worden gebruikt om de standaard van ``pin0``te overschrijven. Als we geen geluid willen afspelen, kunnen we ``pin=None`` gebruiken. Alleen voor micro:bit V2.\n\nOverride the optional pitch, speed, mouth and throat settings to change\nthe timbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...", + "/typeshed/stdlib/struct.pyi": "\"\"\"Primitieve datatypes inpakken en uitpakken.\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"Haal het aantal bytes op dat nodig is om de gegeven ``fmt`` op te slaan.\n\nExample: ``struct.calcsize('hf')``\n\n:param fmt: Tekenreeks opmaak.\n:return The number of bytes needed to store such a value.\"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"Verpak de waarden op basis van een string formaat. (inpakken)\n\nExample: ``struct.pack('hf', 1, 3.1415)``\n\n:param fmt: De formaat tekenreeks.\n:param v1: De eerste waarde.\n:param *vn: De resterende waarden.\n:return A bytes object encoding the values.\"\"\"\n ...\n\ndef pack_into(fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any) -> None:\n \"\"\"Verpak de waarden op basis van een string formaat. (inpakken)\n\nExample: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n:param fmt: De formaat tekenreeks.\n:param buffer: De doelbuffer om in te schrijven.\n:param offset: (Offset) De compensatie in de buffer. Kan negatief zijn om te tellen aan het einde van de buffer.\n:param v1: De eerste waarde.\n:param *vn: De resterende waarden.\"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"Uitpakken van gegevens volgens een opmaakreeks. (uitpakken)\n\nExample: ``v1, v2 = struct.unpack('hf', buffer)``\n\n:param fmt: De formaat tekenreeks.\n:param data: (gegevens) De gegevens.\n:return: A tuple of the unpacked values.\"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int=0) -> Tuple:\n \"\"\"Uitpakken van gegevens van een buffer volgens een opmaak. (uitpakken van)\n\nExample: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n:param fmt: De formaat tekenreeks.\n:param buffer: De bronbuffer om uit te lezen.\n:param offset: (Offset) De compensatie in de buffer. Kan negatief zijn om te tellen aan het einde van de buffer.\n:return: A tuple of the unpacked values.\"\"\"\n ...", + "/typeshed/stdlib/sys.pyi": "\"\"\"Systeem specifieke functies\"\"\"\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object=...) -> NoReturn:\n \"\"\"Be\u00ebindig het huidige programma met een bepaalde exit code. (afsluiten)\n\nExample: ``sys.exit(1)``\n\nThis function raises a ``SystemExit`` exception. If an argument is given, its\nvalue given as an argument to ``SystemExit``.\n\n:param retval: De exit code of bericht.\"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"Print een exception met traceback. (exceptie afdrukken)\n\nExample: ``sys.print_exception(e)``\n\n:param exc: De af te drukken uitzondering\n\nThis is simplified version of a function which appears in the\n``traceback`` module in CPython.\"\"\"\nargv: List[str]\n\"\"\"Een veranderlijke lijst met argumenten waarmee het huidige programma is gestart.\"\"\"\nbyteorder: str\n\"\"\"De byte volgorde van het systeem (``\"little\"`` of ``\"big\"``). (byte volgorde)\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\nimplementation: _implementation\n\"\"\"Object met informatie over de huidige Python implementatie. (implementatie)\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\nmaxsize: int\n\"\"\"\nMaximale waarde die een native integer type kan aanhouden op het huidige platform, of de maximale waarde die kan worden vertegenwoordigd door MicroPython integer type, als het kleiner is dan platform max waarde (dat is het geval voor MicroPython poorten zonder\nlange int ondersteuning).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\nmodules: Dict[str, Any]\n\"\"\"Woordenboek van geladen modules. \n\nOn some ports, it may not include builtin modules.\"\"\"\npath: List[str]\n\"\"\"Een aanpasbare lijst van mappen om te zoeken naar ge\u00efmporteerde modules. (pad)\"\"\"\nplatform: str\n\"\"\"Het platform waarop MicroPython actief is. \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\nversion: str\n\"\"\"Python taalversie waar deze implementatie mee overeenstemt als tekenreeks. (versie)\"\"\"\nversion_info: Tuple[int, int, int]\n\"\"\"Python taalversie waaraan deze implementatie voldoet, als een tupel van ints. (versie informatie)\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"", "/typeshed/stdlib/this.pyi": "def authors() -> str: ...\n", - "/typeshed/stdlib/time.pyi": "\"\"\"Measure time and add delays to programs.\n\"\"\"\n\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"\n Delay a number of seconds.\n\n Example: ``time.sleep(1)``\n\n :param seconds: The number of seconds to sleep for.\n Use a floating-point number to sleep for a fractional number of seconds.\n \"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"\n Delay for given number of milliseconds.\n\n Example: ``time.sleep_ms(1_000_000)``\n\n :param ms: The number of milliseconds delay (>= 0).\n \"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"\n Delay for given number of microseconds.\n\n Example: ``time.sleep_us(1000)``\n\n :param us: The number of microseconds delay (>= 0).\n \"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"\n Get an increasing, millisecond counter with an arbitrary reference point,\n that wraps around after some value.\n\n Example: ``time.ticks_ms()``\n\n :return: The counter value in milliseconds.\n \"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"\n Get an increasing, microsecond counter with an arbitrary reference point,\n that wraps around after some value.\n\n Example: ``time.ticks_us()``\n\n :return: The counter value in microseconds.\n \"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"\n Offset ticks value by a given number, which can be either positive or\n negative.\n\n Example: ``time.ticks_add(time.ticks_ms(), 200)``\n\n Given a ticks value, this function allows to calculate ticks\n value delta ticks before or after it, following modular-arithmetic\n definition of tick values.\n\n :param ticks: A ticks value\n :param delta: An integer offset\n\n Example::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\n \"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"\n Measure ticks difference between values returned from\n ``time.ticks_ms()`` or ``ticks_us()``, as a signed value\n which may wrap around.\n\n Example: ``time.ticks_diff(scheduled_time, now)``\n\n :param ticks1: The value to subtract from\n :param ticks2: The value to subtract\n\n The argument order is the same as for subtraction operator,\n ``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n ``ticks_diff()`` is designed to accommodate various usage\n patterns, among them:\n\n Polling with timeout. In this case, the order of events is known, and you\n will deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\n Scheduling events. In this case, :func:`time.ticks_diff()` result may be\n negative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\n \"\"\"\n ...\n", + "/typeshed/stdlib/time.pyi": "\"\"\"Meet tijd en voeg vertragingen toe aan programma's. (tijd)\"\"\"\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"Vertraag een aantal seconden. (slapen)\n\nExample: ``time.sleep(1)``\n\n:param seconds: (seconden) Het aantal seconden om voor te slapen.\nGebruik een floating-point nummer om te slapen voor een fractioneel aantal seconden.\"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"Vertraging voor een bepaald aantal milliseconden. (slaap ms)\n\nExample: ``time.sleep_ms(1_000_000)``\n\n:param ms: Het aantal milliseconden vertraging (>= 0).\"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"Vertraging voor een bepaald aantal microseconden. (slaap us)\n\nExample: ``time.sleep_us(1000)``\n\n:param us: Het aantal microseconden vertraging (>= 0).\"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"Krijg een toenemende milliseconde teller met een willekeurig referentiepunt, dat omwikkeld na een waarde.\n\nExample: ``time.ticks_ms()``\n\n:return: The counter value in milliseconds.\"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"Krijg een toenemende milliseconde teller met een willekeurig referentiepunt, dat omwikkeld na een waarde.\n\nExample: ``time.ticks_us()``\n\n:return: The counter value in microseconds.\"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"Waarde van de offset ticks door een bepaald getal, die ofwel positief ofwel\nnegatief kan zijn. (ticks toevoegen)\n\nExample: ``time.ticks_add(time.ticks_ms(), 200)``\n\nGiven a ticks value, this function allows to calculate ticks\nvalue delta ticks before or after it, following modular-arithmetic\ndefinition of tick values.\n\n:param ticks: (tikken) Een ticks waarde\n:param delta: Een integer verschuiving\n\nExample::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"Meet het verschil in ticks tussen waarden die worden geretourneerd door ``time.ticks_ms()`` of ``ticks_us()``, als een ondertekende waarde die rond kan lopen.\n\nExample: ``time.ticks_diff(scheduled_time, now)``\n\n:param ticks1: De waarde om van af te trekken\n:param ticks2: De waarde om af te trekken\n\nThe argument order is the same as for subtraction operator,\n``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n``ticks_diff()`` is designed to accommodate various usage\npatterns, among them:\n\nPolling with timeout. In this case, the order of events is known, and you\nwill deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\nScheduling events. In this case, :func:`time.ticks_diff()` result may be\nnegative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\"\"\"\n ...", "/typeshed/stdlib/types.pyi": "import sys\nfrom typing import (\n Any,\n AsyncGenerator,\n Awaitable,\n Callable,\n Generator,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n Tuple,\n Type,\n TypeVar,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, final\n\n# Note, all classes \"defined\" here require special handling.\n\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_V_co = TypeVar(\"_V_co\", covariant=True)\n\n@final\nclass _Cell:\n __hash__: None # type: ignore\n cell_contents: Any\n\n@final\nclass FunctionType:\n __closure__: Tuple[_Cell, ...] | None\n __code__: CodeType\n __defaults__: Tuple[Any, ...] | None\n __dict__: dict[str, Any]\n __globals__: dict[str, Any]\n __name__: str\n __qualname__: str\n __annotations__: dict[str, Any]\n __kwdefaults__: dict[str, Any]\n def __init__(\n self,\n code: CodeType,\n globals: dict[str, Any],\n name: str | None = ...,\n argdefs: Tuple[object, ...] | None = ...,\n closure: Tuple[_Cell, ...] | None = ...,\n ) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: object | None, type: type | None) -> MethodType: ...\n\nLambdaType = FunctionType\n\n@final\nclass CodeType:\n \"\"\"Create a code object. Not for the faint of heart.\"\"\"\n\n co_argcount: int\n if sys.version_info >= (3, 8):\n co_posonlyargcount: int\n co_kwonlyargcount: int\n co_nlocals: int\n co_stacksize: int\n co_flags: int\n co_code: bytes\n co_consts: Tuple[Any, ...]\n co_names: Tuple[str, ...]\n co_varnames: Tuple[str, ...]\n co_filename: str\n co_name: str\n co_firstlineno: int\n co_lnotab: bytes\n co_freevars: Tuple[str, ...]\n co_cellvars: Tuple[str, ...]\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n argcount: int,\n posonlyargcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n else:\n def __init__(\n self,\n argcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n if sys.version_info >= (3, 8):\n def replace(\n self,\n *,\n co_argcount: int = ...,\n co_posonlyargcount: int = ...,\n co_kwonlyargcount: int = ...,\n co_nlocals: int = ...,\n co_stacksize: int = ...,\n co_flags: int = ...,\n co_firstlineno: int = ...,\n co_code: bytes = ...,\n co_consts: Tuple[Any, ...] = ...,\n co_names: Tuple[str, ...] = ...,\n co_varnames: Tuple[str, ...] = ...,\n co_freevars: Tuple[str, ...] = ...,\n co_cellvars: Tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_lnotab: bytes = ...,\n ) -> CodeType: ...\n\n@final\nclass MappingProxyType(Mapping[_KT, _VT_co], Generic[_KT, _VT_co]):\n __hash__: None # type: ignore\n def __init__(self, mapping: Mapping[_KT, _VT_co]) -> None: ...\n def __getitem__(self, k: _KT) -> _VT_co: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __len__(self) -> int: ...\n def copy(self) -> dict[_KT, _VT_co]: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def items(self) -> ItemsView[_KT, _VT_co]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def __or__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n def __ror__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n\nclass SimpleNamespace:\n __hash__: None # type: ignore\n def __init__(self, **kwargs: Any) -> None: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __delattr__(self, name: str) -> None: ...\n\nclass ModuleType:\n __name__: str\n __file__: str\n __dict__: dict[str, Any]\n __package__: str | None\n def __init__(self, name: str, doc: str | None = ...) -> None: ...\n\n@final\nclass GeneratorType(Generator[_T_co, _T_contra, _V_co]):\n gi_code: CodeType\n gi_frame: FrameType\n gi_running: bool\n gi_yieldfrom: GeneratorType[_T_co, _T_contra, Any] | None\n def __iter__(self) -> GeneratorType[_T_co, _T_contra, _V_co]: ...\n def __next__(self) -> _T_co: ...\n def close(self) -> None: ...\n def send(self, __arg: _T_contra) -> _T_co: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> _T_co: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> _T_co: ...\n\n@final\nclass AsyncGeneratorType(AsyncGenerator[_T_co, _T_contra]):\n ag_await: Awaitable[Any] | None\n ag_frame: FrameType\n ag_running: bool\n ag_code: CodeType\n def __aiter__(self) -> AsyncGeneratorType[_T_co, _T_contra]: ...\n def __anext__(self) -> Awaitable[_T_co]: ...\n def asend(self, __val: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Awaitable[_T_co]: ...\n def aclose(self) -> Awaitable[None]: ...\n\n@final\nclass CoroutineType:\n cr_await: Any | None\n cr_code: CodeType\n cr_frame: FrameType\n cr_running: bool\n def close(self) -> None: ...\n def send(self, __arg: Any) -> Any: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Any: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Any: ...\n\nclass _StaticFunctionType:\n \"\"\"Fictional type to correct the type of MethodType.__func__.\n\n FunctionType is a descriptor, so mypy follows the descriptor protocol and\n converts MethodType.__func__ back to MethodType (the return type of\n FunctionType.__get__). But this is actually a special case; MethodType is\n implemented in C and its attribute access doesn't go through\n __getattribute__.\n\n By wrapping FunctionType in _StaticFunctionType, we get the right result;\n similar to wrapping a function in staticmethod() at runtime to prevent it\n being bound as a method.\n \"\"\"\n\n def __get__(self, obj: object | None, type: type | None) -> FunctionType: ...\n\n@final\nclass MethodType:\n __closure__: Tuple[_Cell, ...] | None # inherited from the added function\n __defaults__: Tuple[Any, ...] | None # inherited from the added function\n __func__: _StaticFunctionType\n __self__: object\n __name__: str # inherited from the added function\n __qualname__: str # inherited from the added function\n def __init__(self, func: Callable[..., Any], obj: object) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\n@final\nclass BuiltinFunctionType:\n __self__: object | ModuleType\n __name__: str\n __qualname__: str\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\nBuiltinMethodType = BuiltinFunctionType\n\nif sys.version_info >= (3, 7):\n @final\n class WrapperDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class MethodWrapperType:\n __self__: object\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, other: Any) -> bool: ...\n def __ne__(self, other: Any) -> bool: ...\n @final\n class MethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class ClassMethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n\n@final\nclass TracebackType:\n if sys.version_info >= (3, 7):\n def __init__(\n self,\n tb_next: TracebackType | None,\n tb_frame: FrameType,\n tb_lasti: int,\n tb_lineno: int,\n ) -> None: ...\n tb_next: TracebackType | None\n else:\n @property\n def tb_next(self) -> TracebackType | None: ...\n # the rest are read-only even in 3.7\n @property\n def tb_frame(self) -> FrameType: ...\n @property\n def tb_lasti(self) -> int: ...\n @property\n def tb_lineno(self) -> int: ...\n\n@final\nclass FrameType:\n f_back: FrameType | None\n f_builtins: dict[str, Any]\n f_code: CodeType\n f_globals: dict[str, Any]\n f_lasti: int\n f_lineno: int\n f_locals: dict[str, Any]\n f_trace: Callable[[FrameType, str, Any], Any] | None\n if sys.version_info >= (3, 7):\n f_trace_lines: bool\n f_trace_opcodes: bool\n def clear(self) -> None: ...\n\n@final\nclass GetSetDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\n@final\nclass MemberDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nif sys.version_info >= (3, 7):\n def new_class(\n name: str,\n bases: Iterable[object] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n def resolve_bases(bases: Iterable[object]) -> Tuple[Any, ...]: ...\n\nelse:\n def new_class(\n name: str,\n bases: Tuple[type, ...] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n\ndef prepare_class(\n name: str, bases: Tuple[type, ...] = ..., kwds: dict[str, Any] | None = ...\n) -> Tuple[type, dict[str, Any], dict[str, Any]]: ...\n\n# Actually a different type, but `property` is special and we want that too.\nDynamicClassAttribute = property\n\ndef coroutine(func: Callable[..., Any]) -> CoroutineType: ...\n\nif sys.version_info >= (3, 8):\n CellType = _Cell\n\nif sys.version_info >= (3, 9):\n class GenericAlias:\n __origin__: type\n __args__: Tuple[Any, ...]\n __parameters__: Tuple[Any, ...]\n def __init__(self, origin: type, args: Any) -> None: ...\n def __getattr__(self, name: str) -> Any: ... # incomplete\n\nif sys.version_info >= (3, 10):\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n EllipsisType = ellipsis # noqa F811 from builtins\n from builtins import _NotImplementedType\n\n NotImplementedType = _NotImplementedType # noqa F811 from builtins\n @final\n class UnionType:\n __args__: Tuple[Any, ...]\n def __or__(self, obj: Any) -> UnionType: ...\n def __ror__(self, obj: Any) -> UnionType: ...\n", "/typeshed/stdlib/typing.pyi": "import collections # Needed by aliases like DefaultDict, see mypy issue 2986\nimport sys\nfrom abc import ABCMeta, abstractmethod\nfrom types import BuiltinFunctionType, CodeType, FrameType, FunctionType, MethodType, ModuleType, TracebackType\nfrom typing_extensions import Literal as _Literal\n\nif sys.version_info >= (3, 7):\n from types import MethodDescriptorType, MethodWrapperType, WrapperDescriptorType\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n# Definitions of special type checking related constructs. Their definitions\n# are not used, so their value does not matter.\n\nAny = object()\n\nclass TypeVar:\n __name__: str\n __bound__: Optional[Type[Any]]\n __constraints__: Tuple[Type[Any], ...]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self,\n name: str,\n *constraints: Type[Any],\n bound: Union[None, Type[Any], str] = ...,\n covariant: bool = ...,\n contravariant: bool = ...,\n ) -> None: ...\n\n_promote = object()\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> object: ...\n\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n\ndef overload(func: _F) -> _F: ...\n\nUnion: _SpecialForm = ...\nOptional: _SpecialForm = ...\nTuple: _SpecialForm = ...\nGeneric: _SpecialForm = ...\n# Protocol is only present in 3.8 and later, but mypy needs it unconditionally\nProtocol: _SpecialForm = ...\nCallable: _SpecialForm = ...\nType: _SpecialForm = ...\nClassVar: _SpecialForm = ...\nif sys.version_info >= (3, 8):\n Final: _SpecialForm = ...\n def final(f: _F) -> _F: ...\n Literal: _SpecialForm = ...\n # TypedDict is a (non-subscriptable) special form.\n TypedDict: object\n\nif sys.version_info < (3, 7):\n class GenericMeta(type): ...\n\nif sys.version_info >= (3, 10):\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Optional[Type[Any]]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: Union[None, Type[Any], str] = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n\n# Return type that indicates a function does not return.\n# This type is equivalent to the None type, but the no-op Union is necessary to\n# distinguish the None type from the None value.\nNoReturn = Union[None]\n\n# These type variables are used by the container types.\n_T = TypeVar(\"_T\")\n_S = TypeVar(\"_S\")\n_KT = TypeVar(\"_KT\") # Key type.\n_VT = TypeVar(\"_VT\") # Value type.\n_T_co = TypeVar(\"_T_co\", covariant=True) # Any type covariant containers.\n_V_co = TypeVar(\"_V_co\", covariant=True) # Any type covariant containers.\n_KT_co = TypeVar(\"_KT_co\", covariant=True) # Key type covariant containers.\n_VT_co = TypeVar(\"_VT_co\", covariant=True) # Value type covariant containers.\n_T_contra = TypeVar(\"_T_contra\", contravariant=True) # Ditto contravariant.\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\ndef no_type_check(arg: _F) -> _F: ...\ndef no_type_check_decorator(decorator: _F) -> _F: ...\n\n# Type aliases and type constructors\n\nclass _Alias:\n # Class for defining generic aliases for library types.\n def __getitem__(self, typeargs: Any) -> Any: ...\n\nList = _Alias()\nDict = _Alias()\nDefaultDict = _Alias()\nSet = _Alias()\nFrozenSet = _Alias()\nCounter = _Alias()\nDeque = _Alias()\nChainMap = _Alias()\n\nif sys.version_info >= (3, 7):\n OrderedDict = _Alias()\n\nif sys.version_info >= (3, 9):\n Annotated: _SpecialForm = ...\n\n# Predefined type variables.\nAnyStr = TypeVar(\"AnyStr\", str, bytes)\n\n# Abstract base classes.\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n@runtime_checkable\nclass SupportsInt(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __int__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsFloat(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __float__(self) -> float: ...\n\n@runtime_checkable\nclass SupportsComplex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __complex__(self) -> complex: ...\n\n@runtime_checkable\nclass SupportsBytes(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __bytes__(self) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n @runtime_checkable\n class SupportsIndex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __index__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsAbs(Protocol[_T_co]):\n @abstractmethod\n def __abs__(self) -> _T_co: ...\n\n@runtime_checkable\nclass SupportsRound(Protocol[_T_co]):\n @overload\n @abstractmethod\n def __round__(self) -> int: ...\n @overload\n @abstractmethod\n def __round__(self, ndigits: int) -> _T_co: ...\n\n@runtime_checkable\nclass Sized(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __len__(self) -> int: ...\n\n@runtime_checkable\nclass Hashable(Protocol, metaclass=ABCMeta):\n # TODO: This is special, in that a subclass of a hashable class may not be hashable\n # (for example, list vs. object). It's not obvious how to represent this. This class\n # is currently mostly useless for static checking.\n @abstractmethod\n def __hash__(self) -> int: ...\n\n@runtime_checkable\nclass Iterable(Protocol[_T_co]):\n @abstractmethod\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Iterator(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __next__(self) -> _T_co: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Reversible(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass Generator(Iterator[_T_co], Generic[_T_co, _T_contra, _V_co]):\n def __next__(self) -> _T_co: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n def close(self) -> None: ...\n def __iter__(self) -> Generator[_T_co, _T_contra, _V_co]: ...\n @property\n def gi_code(self) -> CodeType: ...\n @property\n def gi_frame(self) -> FrameType: ...\n @property\n def gi_running(self) -> bool: ...\n @property\n def gi_yieldfrom(self) -> Optional[Generator[Any, Any, Any]]: ...\n\n@runtime_checkable\nclass Awaitable(Protocol[_T_co]):\n @abstractmethod\n def __await__(self) -> Generator[Any, None, _T_co]: ...\n\nclass Coroutine(Awaitable[_V_co], Generic[_T_co, _T_contra, _V_co]):\n __name__: str\n __qualname__: str\n @property\n def cr_await(self) -> Optional[Any]: ...\n @property\n def cr_code(self) -> CodeType: ...\n @property\n def cr_frame(self) -> FrameType: ...\n @property\n def cr_running(self) -> bool: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n @abstractmethod\n def close(self) -> None: ...\n\n# NOTE: This type does not exist in typing.py or PEP 484.\n# The parameters correspond to Generator, but the 4th is the original type.\nclass AwaitableGenerator(\n Awaitable[_V_co], Generator[_T_co, _T_contra, _V_co], Generic[_T_co, _T_contra, _V_co, _S], metaclass=ABCMeta\n): ...\n\n@runtime_checkable\nclass AsyncIterable(Protocol[_T_co]):\n @abstractmethod\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\n@runtime_checkable\nclass AsyncIterator(AsyncIterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\nclass AsyncGenerator(AsyncIterator[_T_co], Generic[_T_co, _T_contra]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n @abstractmethod\n def asend(self, __value: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> Awaitable[_T_co]: ...\n @abstractmethod\n def aclose(self) -> Awaitable[None]: ...\n @abstractmethod\n def __aiter__(self) -> AsyncGenerator[_T_co, _T_contra]: ...\n @property\n def ag_await(self) -> Any: ...\n @property\n def ag_code(self) -> CodeType: ...\n @property\n def ag_frame(self) -> FrameType: ...\n @property\n def ag_running(self) -> bool: ...\n\n@runtime_checkable\nclass Container(Protocol[_T_co]):\n @abstractmethod\n def __contains__(self, __x: object) -> bool: ...\n\n@runtime_checkable\nclass Collection(Iterable[_T_co], Container[_T_co], Protocol[_T_co]):\n # Implement Sized (but don't have it as a base class).\n @abstractmethod\n def __len__(self) -> int: ...\n\n_Collection = Collection[_T_co]\n\nclass Sequence(_Collection[_T_co], Reversible[_T_co], Generic[_T_co]):\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T_co: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> Sequence[_T_co]: ...\n # Mixin methods\n def index(self, value: Any, start: int = ..., stop: int = ...) -> int: ...\n def count(self, value: Any) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass MutableSequence(Sequence[_T], Generic[_T]):\n @abstractmethod\n def insert(self, index: int, value: _T) -> None: ...\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> MutableSequence[_T]: ...\n @overload\n @abstractmethod\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n @abstractmethod\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: int) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: slice) -> None: ...\n # Mixin methods\n def append(self, value: _T) -> None: ...\n def clear(self) -> None: ...\n def extend(self, values: Iterable[_T]) -> None: ...\n def reverse(self) -> None: ...\n def pop(self, index: int = ...) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __iadd__(self, x: Iterable[_T]) -> MutableSequence[_T]: ...\n\nclass AbstractSet(_Collection[_T_co], Generic[_T_co]):\n @abstractmethod\n def __contains__(self, x: object) -> bool: ...\n # Mixin methods\n def __le__(self, s: AbstractSet[Any]) -> bool: ...\n def __lt__(self, s: AbstractSet[Any]) -> bool: ...\n def __gt__(self, s: AbstractSet[Any]) -> bool: ...\n def __ge__(self, s: AbstractSet[Any]) -> bool: ...\n def __and__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def __sub__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def isdisjoint(self, other: Iterable[Any]) -> bool: ...\n\nclass MutableSet(AbstractSet[_T], Generic[_T]):\n @abstractmethod\n def add(self, value: _T) -> None: ...\n @abstractmethod\n def discard(self, value: _T) -> None: ...\n # Mixin methods\n def clear(self) -> None: ...\n def pop(self) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __ior__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __iand__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __isub__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n\nclass MappingView(Sized):\n def __init__(self, mapping: Mapping[Any, Any]) -> None: ... # undocumented\n def __len__(self) -> int: ...\n\nclass ItemsView(MappingView, AbstractSet[Tuple[_KT_co, _VT_co]], Generic[_KT_co, _VT_co]):\n def __init__(self, mapping: Mapping[_KT_co, _VT_co]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n\nclass KeysView(MappingView, AbstractSet[_KT_co], Generic[_KT_co]):\n def __init__(self, mapping: Mapping[_KT_co, Any]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT_co]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n\nclass ValuesView(MappingView, Iterable[_VT_co], Generic[_VT_co]):\n def __init__(self, mapping: Mapping[Any, _VT_co]) -> None: ... # undocumented\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_VT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\n@runtime_checkable\nclass ContextManager(Protocol[_T_co]):\n def __enter__(self) -> _T_co: ...\n def __exit__(\n self,\n __exc_type: Optional[Type[BaseException]],\n __exc_value: Optional[BaseException],\n __traceback: Optional[TracebackType],\n ) -> Optional[bool]: ...\n\n@runtime_checkable\nclass AsyncContextManager(Protocol[_T_co]):\n def __aenter__(self) -> Awaitable[_T_co]: ...\n def __aexit__(\n self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Awaitable[Optional[bool]]: ...\n\nclass Mapping(_Collection[_KT], Generic[_KT, _VT_co]):\n # TODO: We wish the key type could also be covariant, but that doesn't work,\n # see discussion in https: //github.com/python/typing/pull/273.\n @abstractmethod\n def __getitem__(self, k: _KT) -> _VT_co: ...\n # Mixin methods\n @overload\n def get(self, key: _KT) -> Optional[_VT_co]: ...\n @overload\n def get(self, key: _KT, default: Union[_VT_co, _T]) -> Union[_VT_co, _T]: ...\n def items(self) -> AbstractSet[Tuple[_KT, _VT_co]]: ...\n def keys(self) -> AbstractSet[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def __contains__(self, o: object) -> bool: ...\n\nclass MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):\n @abstractmethod\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n @abstractmethod\n def __delitem__(self, v: _KT) -> None: ...\n def clear(self) -> None: ...\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...\n # 'update' used to take a Union, but using overloading is better.\n # The second overloaded type here is a bit too general, because\n # Mapping[Tuple[_KT, _VT], W] is a subclass of Iterable[Tuple[_KT, _VT]],\n # but will always have the behavior of the first overloaded type\n # at runtime, leading to keys of a mix of types _KT and Tuple[_KT, _VT].\n # We don't currently have any way of forcing all Mappings to use\n # the first overload, but by using overloading rather than a Union,\n # mypy will commit to using the first overload when the argument is\n # known to be a Mapping with unknown type parameters, which is closer\n # to the behavior we want. See mypy issue #1430.\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n\nText = str\n\nTYPE_CHECKING = True\n\nclass IO(Iterator[AnyStr], Generic[AnyStr]):\n # TODO use abstract properties\n @property\n def mode(self) -> str: ...\n @property\n def name(self) -> str: ...\n @abstractmethod\n def close(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n @abstractmethod\n def fileno(self) -> int: ...\n @abstractmethod\n def flush(self) -> None: ...\n @abstractmethod\n def isatty(self) -> bool: ...\n @abstractmethod\n def read(self, n: int = ...) -> AnyStr: ...\n @abstractmethod\n def readable(self) -> bool: ...\n @abstractmethod\n def readline(self, limit: int = ...) -> AnyStr: ...\n @abstractmethod\n def readlines(self, hint: int = ...) -> list[AnyStr]: ...\n @abstractmethod\n def seek(self, offset: int, whence: int = ...) -> int: ...\n @abstractmethod\n def seekable(self) -> bool: ...\n @abstractmethod\n def tell(self) -> int: ...\n @abstractmethod\n def truncate(self, size: Optional[int] = ...) -> int: ...\n @abstractmethod\n def writable(self) -> bool: ...\n @abstractmethod\n def write(self, s: AnyStr) -> int: ...\n @abstractmethod\n def writelines(self, lines: Iterable[AnyStr]) -> None: ...\n @abstractmethod\n def __next__(self) -> AnyStr: ...\n @abstractmethod\n def __iter__(self) -> Iterator[AnyStr]: ...\n @abstractmethod\n def __enter__(self) -> IO[AnyStr]: ...\n @abstractmethod\n def __exit__(\n self, t: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Optional[bool]: ...\n\nclass BinaryIO(IO[bytes]):\n @abstractmethod\n def __enter__(self) -> BinaryIO: ...\n\nclass TextIO(IO[str]):\n # TODO use abstractproperty\n @property\n def buffer(self) -> BinaryIO: ...\n @property\n def encoding(self) -> str: ...\n @property\n def errors(self) -> Optional[str]: ...\n @property\n def line_buffering(self) -> int: ... # int on PyPy, bool on CPython\n @property\n def newlines(self) -> Any: ... # None, str or tuple\n @abstractmethod\n def __enter__(self) -> TextIO: ...\n\nclass ByteString(Sequence[int], metaclass=ABCMeta): ...\n\nclass Match(Generic[AnyStr]):\n pos: int\n endpos: int\n lastindex: Optional[int]\n lastgroup: Optional[AnyStr]\n string: AnyStr\n\n # The regular expression object whose match() or search() method produced\n # this match instance.\n re: Pattern[AnyStr]\n def expand(self, template: AnyStr) -> AnyStr: ...\n # group() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def group(self, __group: _Literal[0] = ...) -> AnyStr: ...\n @overload\n def group(self, __group: str | int) -> AnyStr | Any: ...\n @overload\n def group(self, __group1: str | int, __group2: str | int, *groups: str | int) -> Tuple[AnyStr | Any, ...]: ...\n # Each item of groups()'s return tuple is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groups(self) -> Tuple[AnyStr | Any, ...]: ...\n @overload\n def groups(self, default: _T) -> Tuple[AnyStr | _T, ...]: ...\n # Each value in groupdict()'s return dict is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groupdict(self) -> dict[str, AnyStr | Any]: ...\n @overload\n def groupdict(self, default: _T) -> dict[str, AnyStr | _T]: ...\n def start(self, __group: Union[int, str] = ...) -> int: ...\n def end(self, __group: Union[int, str] = ...) -> int: ...\n def span(self, __group: Union[int, str] = ...) -> Tuple[int, int]: ...\n @property\n def regs(self) -> Tuple[Tuple[int, int], ...]: ... # undocumented\n # __getitem__() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def __getitem__(self, __key: _Literal[0]) -> AnyStr: ...\n @overload\n def __getitem__(self, __key: int | str) -> AnyStr | Any: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Pattern(Generic[AnyStr]):\n flags: int\n groupindex: Mapping[str, int]\n groups: int\n pattern: AnyStr\n def search(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def match(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def fullmatch(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def split(self, string: AnyStr, maxsplit: int = ...) -> list[AnyStr]: ...\n def findall(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> list[Any]: ...\n def finditer(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Iterator[Match[AnyStr]]: ...\n @overload\n def sub(self, repl: AnyStr, string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def sub(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def subn(self, repl: AnyStr, string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n @overload\n def subn(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# Functions\n\nif sys.version_info >= (3, 7):\n _get_type_hints_obj_allowed_types = Union[\n object,\n Callable[..., Any],\n FunctionType,\n BuiltinFunctionType,\n MethodType,\n ModuleType,\n WrapperDescriptorType,\n MethodWrapperType,\n MethodDescriptorType,\n ]\nelse:\n _get_type_hints_obj_allowed_types = Union[\n object, Callable[..., Any], FunctionType, BuiltinFunctionType, MethodType, ModuleType,\n ]\n\nif sys.version_info >= (3, 9):\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types,\n globalns: Optional[Dict[str, Any]] = ...,\n localns: Optional[Dict[str, Any]] = ...,\n include_extras: bool = ...,\n ) -> Dict[str, Any]: ...\n\nelse:\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types, globalns: Optional[Dict[str, Any]] = ..., localns: Optional[Dict[str, Any]] = ...\n ) -> Dict[str, Any]: ...\n\nif sys.version_info >= (3, 8):\n def get_origin(tp: Any) -> Optional[Any]: ...\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n\n@overload\ndef cast(typ: Type[_T], val: Any) -> _T: ...\n@overload\ndef cast(typ: str, val: Any) -> Any: ...\n@overload\ndef cast(typ: object, val: Any) -> Any: ...\n\n# Type constructors\n\n# NamedTuple is special-cased in the type checker\nclass NamedTuple(Tuple[Any, ...]):\n _field_types: collections.OrderedDict[str, Type[Any]]\n _field_defaults: Dict[str, Any] = ...\n _fields: Tuple[str, ...]\n _source: str\n def __init__(self, typename: str, fields: Iterable[Tuple[str, Any]] = ..., **kwargs: Any) -> None: ...\n @classmethod\n def _make(cls: Type[_T], iterable: Iterable[Any]) -> _T: ...\n if sys.version_info >= (3, 8):\n def _asdict(self) -> Dict[str, Any]: ...\n else:\n def _asdict(self) -> collections.OrderedDict[str, Any]: ...\n def _replace(self: _T, **kwargs: Any) -> _T: ...\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __or__(self: _T, __value: _T) -> _T: ...\n def __ior__(self: _T, __value: _T) -> _T: ...\n\ndef NewType(name: str, tp: Type[_T]) -> Type[_T]: ...\n\n# This itself is only available during type checking\ndef type_check_only(func_or_cls: _F) -> _F: ...\n\nif sys.version_info >= (3, 7):\n class ForwardRef:\n __forward_arg__: str\n __forward_code__: CodeType\n __forward_evaluated__: bool\n __forward_value__: Optional[Any]\n __forward_is_argument__: bool\n def __init__(self, arg: str, is_argument: bool = ...) -> None: ...\n def _evaluate(self, globalns: Optional[Dict[str, Any]], localns: Optional[Dict[str, Any]]) -> Optional[Any]: ...\n def __eq__(self, other: Any) -> bool: ...\n def __hash__(self) -> int: ...\n def __repr__(self) -> str: ...\n\nif sys.version_info >= (3, 10):\n def is_typeddict(tp: Any) -> bool: ...\n", "/typeshed/stdlib/typing_extensions.pyi": "import abc\nimport sys\nfrom typing import (\n TYPE_CHECKING as TYPE_CHECKING,\n Any,\n AsyncContextManager as AsyncContextManager,\n AsyncGenerator as AsyncGenerator,\n AsyncIterable as AsyncIterable,\n AsyncIterator as AsyncIterator,\n Awaitable as Awaitable,\n Callable,\n ChainMap as ChainMap,\n ClassVar as ClassVar,\n ContextManager as ContextManager,\n Coroutine as Coroutine,\n Counter as Counter,\n DefaultDict as DefaultDict,\n Deque as Deque,\n ItemsView,\n KeysView,\n Mapping,\n NewType as NewType,\n NoReturn as NoReturn,\n Text as Text,\n Tuple,\n Type as Type,\n TypeVar,\n ValuesView,\n _Alias,\n overload as overload,\n)\n\n_T = TypeVar(\"_T\")\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> Any: ...\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n\n# This alias for above is kept here for backwards compatibility.\nruntime = runtime_checkable\nProtocol: _SpecialForm = ...\nFinal: _SpecialForm = ...\n\ndef final(f: _F) -> _F: ...\n\nLiteral: _SpecialForm = ...\n\ndef IntVar(name: str) -> Any: ... # returns a new TypeVar\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n\n# TypedDict is a (non-subscriptable) special form.\nTypedDict: object = ...\n\nOrderedDict = _Alias()\n\ndef get_type_hints(\n obj: Callable[..., Any],\n globalns: dict[str, Any] | None = ...,\n localns: dict[str, Any] | None = ...,\n include_extras: bool = ...,\n) -> dict[str, Any]: ...\n\nif sys.version_info >= (3, 7):\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n def get_origin(tp: Any) -> Any | None: ...\n\nAnnotated: _SpecialForm = ...\n_AnnotatedAlias: Any = ... # undocumented\n\n@runtime_checkable\nclass SupportsIndex(Protocol, metaclass=abc.ABCMeta):\n @abc.abstractmethod\n def __index__(self) -> int: ...\n\n# PEP 612 support for Python < 3.9\nif sys.version_info >= (3, 10):\n from typing import Concatenate as Concatenate, ParamSpec as ParamSpec, TypeAlias as TypeAlias, TypeGuard as TypeGuard\nelse:\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Type[Any] | None\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: None | Type[Any] | str = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n", @@ -35,16 +35,16 @@ "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", - "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pins, images, sounds, temperature and volume.\n\"\"\"\n\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\n\nfrom _typeshed import ReadableBuffer\n\n# V2 only\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(\n callback: Optional[Callable[[], None]] = None,\n days: int = 0,\n h: int = 0,\n min: int = 0,\n s: int = 0,\n ms: int = 0,\n) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Schedule to run a function at the interval specified by the time arguments **V2 only**.\n\n Example: ``run_every(my_logging, min=5)``\n\n ``run_every`` can be used in two ways:\n\n As a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\n As a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\n Each argument corresponds to a different time unit and they are additive.\n So ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\n When an exception is thrown inside the callback function it deschedules the\n function. To avoid this you can catch exceptions with ``try/except``.\n\n :param callback: Function to call at the provided interval. Omit when using as a decorator.\n :param days: Sets the day mark for the scheduling.\n :param h: Sets the hour mark for the scheduling.\n :param min: Sets the minute mark for the scheduling.\n :param s: Sets the second mark for the scheduling.\n :param ms: Sets the millisecond mark for the scheduling.\n \"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Enter a panic mode.\n\n Example: ``panic(127)``\n\n :param n: An arbitrary integer <= 255 to indicate a status.\n\n Requires restart.\n \"\"\"\n\ndef reset() -> None:\n \"\"\"Restart the board.\"\"\"\n\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converts a value from a range to an integer range.\n\n Example: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\n For example, to convert an accelerometer X value to a speaker volume.\n\n If one of the numbers in the ``to`` parameter is a floating point\n (i.e a decimal number like ``10.0``), this function will return a\n floating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n :param value: A number to convert.\n :param from_: A tuple to define the range to convert from.\n :param to: A tuple to define the range to convert to.\n :return: The ``value`` converted to the ``to`` range.\n \"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converts a value from a range to a floating point range.\n\n Example: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\n For example, to convert temperature from a Celsius scale to Fahrenheit.\n\n If one of the numbers in the ``to`` parameter is a floating point\n (i.e a decimal number like ``10.0``), this function will return a\n floating point number.\n If they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n :param value: A number to convert.\n :param from_: A tuple to define the range to convert from.\n :param to: A tuple to define the range to convert to.\n :return: The ``value`` converted to the ``to`` range.\n \"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Wait for ``n`` milliseconds.\n\n Example: ``sleep(1000)``\n\n :param n: The number of milliseconds to wait\n\n One second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\n will pause the execution for one second.\n \"\"\"\n\ndef running_time() -> int:\n \"\"\"Get the running time of the board.\n\n :return: The number of milliseconds since the board was switched on or restarted.\n \"\"\"\n\ndef temperature() -> int:\n \"\"\"Get the temperature of the micro:bit in degrees Celsius.\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Sets the volume.\n\n Example: ``set_volume(127)``\n\n :param v: a value between 0 (low) and 255 (high).\n\n Out of range values will be clamped to 0 or 255.\n\n **V2** only.\n \"\"\"\n ...\n\nclass Button:\n \"\"\"The class for the buttons ``button_a`` and ``button_b``.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Check if the button is pressed.\n\n :return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\n \"\"\"\n ...\n def was_pressed(self) -> bool:\n \"\"\"Check if the button was pressed since the device started or the last time this method was called.\n\n Calling this method will clear the press state so\n that the button must be pressed again before this method will return\n ``True`` again.\n\n :return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\n \"\"\"\n ...\n def get_presses(self) -> int:\n \"\"\"Get the running total of button presses, and resets this total\n to zero before returning.\n\n :return: The number of presses since the device started or the last time this method was called\n \"\"\"\n ...\n\nbutton_a: Button\n\"\"\"The left button ``Button`` object.\"\"\"\n\nbutton_b: Button\n\"\"\"The right button ``Button`` object.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"A digital pin.\n\n Some pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\n \"\"\"\n\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n def read_digital(self) -> int:\n \"\"\"Get the digital value of the pin.\n\n Example: ``value = pin0.read_digital()``\n\n :return: 1 if the pin is high, and 0 if it's low.\n \"\"\"\n ...\n def write_digital(self, value: int) -> None:\n \"\"\"Set the digital value of the pin.\n\n Example: ``pin0.write_digital(1)``\n\n :param value: 1 to set the pin high or 0 to set the pin low\"\"\"\n ...\n def set_pull(self, value: int) -> None:\n \"\"\"Set the pull state to one of three possible values: ``PULL_UP``, ``PULL_DOWN`` or ``NO_PULL``.\n\n Example: ``pin0.set_pull(pin0.PULL_UP)``\n\n :param value: The pull state from the relevant pin, e.g. ``pin0.PULL_UP``.\n \"\"\"\n ...\n def get_pull(self) -> int:\n \"\"\"Get the pull state on a pin.\n\n Example: ``pin0.get_pull()``\n\n :return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\n These are set using the ``set_pull()`` method or automatically configured\n when a pin mode requires it.\n \"\"\"\n ...\n def get_mode(self) -> str:\n \"\"\"Returns the pin mode.\n\n Example: ``pin0.get_mode()``\n\n When a pin is used for a specific function, like\n writing a digital value, or reading an analog value, the pin mode\n changes.\n\n :return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\n \"\"\"\n ...\n def write_analog(self, value: int) -> None:\n \"\"\"Output a PWM signal on the pin, with the duty cycle proportional to ``value``.\n\n Example: ``pin0.write_analog(254)``\n\n :param value: An integer or a floating point number between 0 (0% duty cycle) and 1023 (100% duty).\n \"\"\"\n def set_analog_period(self, period: int) -> None:\n \"\"\"Set the period of the PWM signal being output to ``period`` in milliseconds.\n\n Example: ``pin0.set_analog_period(10)``\n\n :param period: The period in milliseconds with a minimum valid value of 1ms.\n \"\"\"\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Set the period of the PWM signal being output to ``period`` in microseconds.\n\n Example: ``pin0.set_analog_period_microseconds(512)``\n\n :param period: The period in microseconds with a minimum valid value of 256\u00b5s.\n \"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"A pin with analog and digital features.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Read the voltage applied to the pin.\n\n Example: ``pin0.read_analog()``\n\n :return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\n \"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"A pin with analog, digital and touch features.\"\"\"\n\n CAPACITIVE: int\n RESISTIVE: int\n def is_touched(self) -> bool:\n \"\"\"Check if the pin is being touched.\n\n Example: ``pin0.is_touched()``\n\n The default touch mode for the pins on the edge connector is ``resistive``.\n The default for the logo pin **V2** is ``capacitive``.\n\n **Resistive touch**\n This test is done by measuring how much resistance there is between the\n pin and ground. A low resistance gives a reading of ``True``. To get\n a reliable reading using a finger you may need to touch the ground pin\n with another part of your body, for example your other hand.\n\n **Capacitive touch**\n This test is done by interacting with the electric field of a capacitor\n using a finger as a conductor. `Capacitive touch\n `_\n does not require you to make a ground connection as part of a circuit.\n\n :return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\n \"\"\"\n ...\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Set the touch mode for the pin.\n\n Example: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\n The default touch mode for the pins on the edge connector is\n ``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n :param value: ``CAPACITIVE`` or ``RESISTIVE`` from the relevant pin.\n \"\"\"\n ...\n\npin0: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin1: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin2: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin5: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin6: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin7: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin8: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin9: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin11: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin12: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin13: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin14: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin15: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin16: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin19: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin20: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin_logo: MicroBitTouchPin\n\"\"\"A touch sensitive logo pin on the front of the micro:bit, which by default is set to capacitive touch mode.\"\"\"\n\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"A pin to address the micro:bit speaker.\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"An image to show on the micro:bit LED display.\n\n Given an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\n \"\"\"\n\n HEART: Image\n \"\"\"Heart image.\"\"\"\n\n HEART_SMALL: Image\n \"\"\"Small heart image.\"\"\"\n\n HAPPY: Image\n \"\"\"Happy face image.\"\"\"\n\n SMILE: Image\n \"\"\"Smiling mouth image.\"\"\"\n\n SAD: Image\n \"\"\"Sad face image.\"\"\"\n\n CONFUSED: Image\n \"\"\"Confused face image.\"\"\"\n\n ANGRY: Image\n \"\"\"Angry face image.\"\"\"\n\n ASLEEP: Image\n \"\"\"Sleeping face image.\"\"\"\n\n SURPRISED: Image\n \"\"\"Surprised face image.\"\"\"\n\n SILLY: Image\n \"\"\"Silly face image.\"\"\"\n\n FABULOUS: Image\n \"\"\"Sunglasses face image.\"\"\"\n\n MEH: Image\n \"\"\"Unimpressed face image.\"\"\"\n\n YES: Image\n \"\"\"Tick image.\"\"\"\n\n NO: Image\n \"\"\"Cross image.\"\"\"\n\n CLOCK12: Image\n \"\"\"Image with line pointing to 12 o'clock.\"\"\"\n\n CLOCK11: Image\n \"\"\"Image with line pointing to 11 o'clock.\"\"\"\n\n CLOCK10: Image\n \"\"\"Image with line pointing to 10 o'clock.\"\"\"\n\n CLOCK9: Image\n \"\"\"Image with line pointing to 9 o'clock.\"\"\"\n\n CLOCK8: Image\n \"\"\"Image with line pointing to 8 o'clock.\"\"\"\n\n CLOCK7: Image\n \"\"\"Image with line pointing to 7 o'clock.\"\"\"\n\n CLOCK6: Image\n \"\"\"Image with line pointing to 6 o'clock.\"\"\"\n\n CLOCK5: Image\n \"\"\"Image with line pointing to 5 o'clock.\"\"\"\n\n CLOCK4: Image\n \"\"\"Image with line pointing to 4 o'clock.\"\"\"\n\n CLOCK3: Image\n \"\"\"Image with line pointing to 3 o'clock.\"\"\"\n\n CLOCK2: Image\n \"\"\"Image with line pointing to 2 o'clock.\"\"\"\n\n CLOCK1: Image\n \"\"\"Image with line pointing to 1 o'clock.\"\"\"\n\n ARROW_N: Image\n \"\"\"Image of arrow pointing north.\"\"\"\n\n ARROW_NE: Image\n \"\"\"Image of arrow pointing north east.\"\"\"\n\n ARROW_E: Image\n \"\"\"Image of arrow pointing east.\"\"\"\n\n ARROW_SE: Image\n \"\"\"Image of arrow pointing south east.\"\"\"\n\n ARROW_S: Image\n \"\"\"Image of arrow pointing south.\"\"\"\n\n ARROW_SW: Image\n \"\"\"Image of arrow pointing south west.\"\"\"\n\n ARROW_W: Image\n \"\"\"Image of arrow pointing west.\"\"\"\n\n ARROW_NW: Image\n \"\"\"Image of arrow pointing north west.\"\"\"\n\n TRIANGLE: Image\n \"\"\"Image of a triangle pointing up.\"\"\"\n\n TRIANGLE_LEFT: Image\n \"\"\"Image of a triangle in the left corner.\"\"\"\n\n CHESSBOARD: Image\n \"\"\"Alternate LEDs lit in a chessboard pattern.\"\"\"\n\n DIAMOND: Image\n \"\"\"Diamond image.\"\"\"\n\n DIAMOND_SMALL: Image\n \"\"\"Small diamond image.\"\"\"\n\n SQUARE: Image\n \"\"\"Square image.\"\"\"\n\n SQUARE_SMALL: Image\n \"\"\"Small square image.\"\"\"\n\n RABBIT: Image\n \"\"\"Rabbit image.\"\"\"\n\n COW: Image\n \"\"\"Cow image.\"\"\"\n\n MUSIC_CROTCHET: Image\n \"\"\"Crotchet note image.\"\"\"\n\n MUSIC_QUAVER: Image\n \"\"\"Quaver note image.\"\"\"\n\n MUSIC_QUAVERS: Image\n \"\"\"Pair of quavers note image.\"\"\"\n\n PITCHFORK: Image\n \"\"\"Pitchfork image.\"\"\"\n\n XMAS: Image\n \"\"\"Christmas tree image.\"\"\"\n\n PACMAN: Image\n \"\"\"Pac-Man arcade character image.\"\"\"\n\n TARGET: Image\n \"\"\"Target image.\"\"\"\n\n TSHIRT: Image\n \"\"\"T-shirt image.\"\"\"\n\n ROLLERSKATE: Image\n \"\"\"Rollerskate image.\"\"\"\n\n DUCK: Image\n \"\"\"Duck image.\"\"\"\n\n HOUSE: Image\n \"\"\"House image.\"\"\"\n\n TORTOISE: Image\n \"\"\"Tortoise image.\"\"\"\n\n BUTTERFLY: Image\n \"\"\"Butterfly image.\"\"\"\n\n STICKFIGURE: Image\n \"\"\"Stick figure image.\"\"\"\n\n GHOST: Image\n \"\"\"Ghost image.\"\"\"\n\n SWORD: Image\n \"\"\"Sword image.\"\"\"\n\n GIRAFFE: Image\n \"\"\"Giraffe image.\"\"\"\n\n SKULL: Image\n \"\"\"Skull image.\"\"\"\n\n UMBRELLA: Image\n \"\"\"Umbrella image.\"\"\"\n\n SNAKE: Image\n \"\"\"Snake image.\"\"\"\n\n SCISSORS: Image\n \"\"\"Scissors image.\"\"\"\n\n ALL_CLOCKS: List[Image]\n \"\"\"A list containing all the CLOCK_ images in sequence.\"\"\"\n\n ALL_ARROWS: List[Image]\n \"\"\"A list containing all the ARROW_ images in sequence.\"\"\"\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Create an image from a string describing which LEDs are lit.\n\n ``string`` has to consist of digits 0-9 arranged into lines,\n describing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\n will create a 5\u00d75 image of an X. The end of a line is indicated by a\n colon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n :param string: The string describing the image.\n \"\"\"\n ...\n @overload\n def __init__(\n self, width: int = 5, height: int = 5, buffer: ReadableBuffer = None\n ) -> None:\n \"\"\"Create an empty image with ``width`` columns and ``height`` rows.\n\n :param width: Optional width of the image\n :param height: Optional height of the image\n :param buffer: Optional array or bytes of ``width``\u00d7``height`` integers in range 0-9 to initialize the image\n\n Examples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\n These create 2 x 2 pixel images at full brightness.\n \"\"\"\n ...\n def width(self) -> int:\n \"\"\"Get the number of columns.\n\n :return: The number of columns in the image\n \"\"\"\n ...\n def height(self) -> int:\n \"\"\"Get the number of rows.\n\n :return: The number of rows in the image\n \"\"\"\n ...\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Set the brightness of a pixel.\n\n Example: ``my_image.set_pixel(0, 0, 9)``\n\n :param x: The column number\n :param y: The row number\n :param value: The brightness as an integer between 0 (dark) and 9 (bright)\n\n This method will raise an exception when called on any of the built-in\n read-only images, like ``Image.HEART``.\n \"\"\"\n ...\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Get the brightness of a pixel.\n\n Example: ``my_image.get_pixel(0, 0)``\n\n :param x: The column number\n :param y: The row number\n :return: The brightness as an integer between 0 and 9.\n \"\"\"\n ...\n def shift_left(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture left.\n\n Example: ``Image.HEART_SMALL.shift_left(1)``\n\n :param n: The number of columns to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_right(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture right.\n\n Example: ``Image.HEART_SMALL.shift_right(1)``\n\n :param n: The number of columns to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_up(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture up.\n\n Example: ``Image.HEART_SMALL.shift_up(1)``\n\n :param n: The number of rows to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_down(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture down.\n\n Example: ``Image.HEART_SMALL.shift_down(1)``\n\n :param n: The number of rows to shift by\n :return: The shifted image\n \"\"\"\n ...\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Create a new image by cropping the picture.\n\n Example: ``Image.HEART.crop(1, 1, 3, 3)``\n\n :param x: The crop offset column\n :param y: The crop offset row\n :param w: The crop width\n :param h: The crop height\n :return: The new image\n \"\"\"\n ...\n def copy(self) -> Image:\n \"\"\"Create an exact copy of the image.\n\n Example: ``Image.HEART.copy()``\n\n :return: The new image\n \"\"\"\n ...\n def invert(self) -> Image:\n \"\"\"Create a new image by inverting the brightness of the pixels in the\n source image.\n\n Example: ``Image.SMALL_HEART.invert()``\n\n :return: The new image.\n \"\"\"\n ...\n def fill(self, value: int) -> None:\n \"\"\"Set the brightness of all the pixels in the image.\n\n Example: ``my_image.fill(5)``\n\n :param value: The new brightness as a number between 0 (dark) and 9 (bright).\n\n This method will raise an exception when called on any of the built-in\n read-only images, like ``Image.HEART``.\n \"\"\"\n ...\n def blit(\n self,\n src: Image,\n x: int,\n y: int,\n w: int,\n h: int,\n xdest: int = 0,\n ydest: int = 0,\n ) -> None:\n \"\"\"Copy an area from another image into this image.\n\n Example: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n :param src: The source image\n :param x: The starting column offset in the source image\n :param y: The starting row offset in the source image\n :param w: The number of columns to copy\n :param h: The number of rows to copy\n :param xdest: The column offset to modify in this image\n :param ydest: The row offset to modify in this image\n\n Pixels outside the source image are treated as having a brightness of 0.\n\n ``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\n and ``crop()`` can are all implemented by using ``blit()``.\n\n For example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\n \"\"\"\n ...\n def __repr__(self) -> str:\n \"\"\"Get a compact string representation of the image.\"\"\"\n ...\n def __str__(self) -> str:\n \"\"\"Get a readable string representation of the image.\"\"\"\n ...\n def __add__(self, other: Image) -> Image:\n \"\"\"Create a new image by adding the brightness values from the two\n images for each pixel.\n\n Example: ``Image.HEART + Image.HAPPY``\n\n :param other: The image to add.\n \"\"\"\n ...\n def __sub__(self, other: Image) -> Image:\n \"\"\"Create a new image by subtracting the brightness values of the\n other image from this image.\n\n Example: ``Image.HEART - Image.HEART_SMALL``\n\n :param other: The image to subtract.\n \"\"\"\n ...\n def __mul__(self, n: float) -> Image:\n \"\"\"Create a new image by multiplying the brightness of each pixel by\n ``n``.\n\n Example: ``Image.HEART * 0.5``\n\n :param n: The value to multiply by.\n \"\"\"\n ...\n def __truediv__(self, n: float) -> Image:\n \"\"\"Create a new image by dividing the brightness of each pixel by\n ``n``.\n\n Example: ``Image.HEART / 2``\n\n :param n: The value to divide by.\n \"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Represents the transition of sound events, from ``quiet`` to ``loud`` like clapping or shouting.\"\"\"\n\n QUIET: SoundEvent\n \"\"\"Represents the transition of sound events, from ``loud`` to ``quiet`` like speaking or background music.\"\"\"\n\nclass Sound:\n \"\"\"The built-in sounds can be called using ``audio.play(Sound.NAME)``.\"\"\"\n\n GIGGLE: Sound\n \"\"\"Giggling sound.\"\"\"\n\n HAPPY: Sound\n \"\"\"Happy sound.\"\"\"\n\n HELLO: Sound\n \"\"\"Greeting sound.\"\"\"\n\n MYSTERIOUS: Sound\n \"\"\"Mysterious sound.\"\"\"\n\n SAD: Sound\n \"\"\"Sad sound.\"\"\"\n\n SLIDE: Sound\n \"\"\"Sliding sound.\"\"\"\n\n SOARING: Sound\n \"\"\"Soaring sound.\"\"\"\n\n SPRING: Sound\n \"\"\"Spring sound.\"\"\"\n\n TWINKLE: Sound\n \"\"\"Twinkling sound.\"\"\"\n\n YAWN: Sound\n \"\"\"Yawning sound.\"\"\"\n", - "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Measure the acceleration of the micro:bit and recognise gestures.\n\"\"\"\n\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Get the acceleration measurement in the ``x`` axis in milli-g.\n\n Example: ``accelerometer.get_x()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Get the acceleration measurement in the ``y`` axis in milli-g.\n\n Example: ``accelerometer.get_y()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Get the acceleration measurement in the ``z`` axis in milli-g.\n\n Example: ``accelerometer.get_z()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Get the acceleration measurements in all axes at once as a tuple.\n\n Example: ``x, y, z = accelerometer.get_values()``\n\n :return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\n \"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Get the acceleration measurement of all axes combined, as a positive integer. This is the Pythagorean sum of the X, Y and Z axes.\n\n Example: ``accelerometer.get_strength()``\n\n :return: The combined acceleration strength of all the axes, in milli-g.\n \"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Get the name of the current gesture.\n\n Example: ``accelerometer.current_gesture()``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :return: The current gesture\n \"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Check if the named gesture is currently active.\n\n Example: ``accelerometer.is_gesture('shake')``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :param name: The gesture name.\n :return: ``True`` if the gesture is active, ``False`` otherwise.\n \"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Check if the named gesture was active since the last call.\n\n Example: ``accelerometer.was_gesture('shake')``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :param name: The gesture name.\n :return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\n \"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Return a tuple of the gesture history.\n\n Example: ``accelerometer.get_gestures()``\n\n Clears the gesture history before returning.\n\n Gestures are not updated in the background so there needs to be constant\n calls to some accelerometer method to do the gesture detection. Usually\n gestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n :return: The history as a tuple, most recent last.\n \"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Set the accelerometer sensitivity range, in g (standard gravity), to the closest values supported by the hardware, so it rounds to either ``2``, ``4``, or ``8`` g.\n\n Example: ``accelerometer.set_range(8)``\n\n :param value: New range for the accelerometer, an integer in ``g``.\n \"\"\"\n", - "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(\n source: Union[Iterable[AudioFrame], Sound, SoundEffect],\n wait: bool = True,\n pin: MicroBitDigitalPin = pin0,\n return_pin: Union[MicroBitDigitalPin, None] = None,\n) -> None:\n \"\"\"Play a built-in sound, sound effect or custom audio frames.\n\n Example: ``audio.play(Sound.GIGGLE)``\n\n :param source: A built-in ``Sound`` such as ``Sound.GIGGLE``, a ``SoundEffect`` or sample data as an iterable of ``AudioFrame`` objects.\n :param wait: If ``wait`` is ``True``, this function will block until the sound is complete.\n :param pin: An optional argument to specify the output pin can be used to override the default of ``pin0``. If we do not want any sound to play we can use ``pin=None``.\n :param return_pin: Specifies a differential edge connector pin to connect to an external speaker instead of ground. This is ignored for the **V2** revision.\n \"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Check whether a sound is playing.\n\n Example: ``audio.is_playing()``\n\n :return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Stop all audio playback.\n\n Example: ``audio.stop()``\n \"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"A sound effect, composed by a set of parameters configured via the constructor or attributes.\"\"\"\n\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sine wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Sawtooth wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Triangle wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Square wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise option used for the ``waveform`` parameter.\"\"\"\n\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Linear interpolation option used for the ``shape`` parameter.\"\"\"\n\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolation option used for the ``shape`` parameter.\"\"\"\n\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmic interpolation option used for the ``shape`` parameter.\"\"\"\n\n FX_NONE: ClassVar[int]\n \"\"\"No effect option used for the ``fx`` parameter.\"\"\"\n\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect option used for the ``fx`` parameter.\"\"\"\n\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect option used for the ``fx`` parameter.\"\"\"\n\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect option used for the ``fx`` parameter.\"\"\"\n\n freq_start: int\n \"\"\"Start frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n\n freq_end: int\n \"\"\"End frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n\n duration: int\n \"\"\"Duration of the sound in milliseconds, a number between ``0`` and ``9999``\"\"\"\n\n vol_start: int\n \"\"\"Start volume value, a number between ``0`` and ``255``\"\"\"\n\n vol_end: int\n \"\"\"End volume value, a number between ``0`` and ``255``\"\"\"\n\n waveform: int\n \"\"\"Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise)\"\"\"\n\n fx: int\n \"\"\"Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``\"\"\"\n\n shape: int\n \"\"\"The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(\n self,\n freq_start: int = 500,\n freq_end: int = 2500,\n duration: int = 500,\n vol_start: int = 255,\n vol_end: int = 0,\n waveform: int = WAVEFORM_SQUARE,\n fx: int = FX_NONE,\n shape: int = SHAPE_LOG,\n ):\n \"\"\"Create a new sound effect.\n\n Example: ``my_effect = SoundEffect(duration=1000)``\n\n All the parameters are optional, with default values as shown above, and\n they can all be modified via attributes of the same name. For example, we\n can first create an effect ``my_effect = SoundEffect(duration=1000)``,\n and then change its attributes ``my_effect.duration = 500``.\n\n :param freq_start: Start frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n :param freq_end: End frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n :param duration: Duration of the sound in milliseconds, a number between ``0`` and ``9999``.\n :param vol_start: Start volume value, a number between ``0`` and ``255``.\n :param vol_end: End volume value, a number between ``0`` and ``255``.\n :param waveform: Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise).\n :param fx: Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n :param shape: The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\n \"\"\"\n def copy(self) -> SoundEffect:\n \"\"\"Create a copy of this ``SoundEffect``.\n\n Example: ``sound_2 = sound_1.copy()``\n\n :return: A copy of the SoundEffect.\n \"\"\"\n\nclass AudioFrame:\n \"\"\"An ``AudioFrame`` object is a list of 32 samples each of which is a unsigned byte\n (whole number between 0 and 255).\n\n It takes just over 4 ms to play a single frame.\n\n Example::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\n \"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overwrite the data in this ``AudioFrame`` with the data from another ``AudioFrame`` instance.\n\n Example: ``my_frame.copyfrom(source_frame)``\n\n :param other: ``AudioFrame`` instance from which to copy the data.\n \"\"\"\n def __len__(self) -> int: ...\n def __setitem__(self, key: int, value: int) -> None: ...\n def __getitem__(self, key: int) -> int: ...\n", - "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Use the built-in compass.\n\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Starts the calibration process.\n\n Example: ``compass.calibrate()``\n\n An instructive message will be scrolled to the user after which they will need\n to rotate the device in order to draw a circle on the LED display.\n \"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"Check is the compass is calibrated.\n\n Example: ``compass.is_calibrated()``\n\n :return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\n \"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Undoes the calibration, making the compass uncalibrated again.\n\n Example: ``compass.clear_calibration()``\n \"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Get the magnetic field strength on the ``x`` axis.\n\n Example: ``compass.get_x()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Get the magnetic field strength on the ``y`` axis.\n\n Example: ``compass.get_y()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Get the magnetic field strength on the ``z`` axis.\n\n Example: ``compass.get_z()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Get the compass heading.\n\n Example: ``compass.heading()``\n\n :return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\n \"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Get the magnitude of the magnetic field around the device.\n\n Example: ``compass.get_field_strength()``\n\n :return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...\n", - "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Show text, images and animations on the 5\u00d75 LED display.\n\"\"\"\n\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Get the brightness of the LED at column ``x`` and row ``y``.\n\n Example: ``display.get_pixel(0, 0)``\n\n :param x: The display column (0..4)\n :param y: The display row (0..4)\n :return: A number between 0 (off) and 9 (bright)\n \"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Set the brightness of the LED at column ``x`` and row ``y``.\n\n Example: ``display.set_pixel(0, 0, 9)``\n\n :param x: The display column (0..4)\n :param y: The display row (0..4)\n :param value: The brightness between 0 (off) and 9 (bright)\n \"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Set the brightness of all LEDs to 0 (off).\n\n Example: ``display.clear()``\n \"\"\"\n ...\n\ndef show(\n image: Union[str, float, int, Image, Iterable[Image]],\n delay: int = 400,\n wait: bool = True,\n loop: bool = False,\n clear: bool = False,\n) -> None:\n \"\"\"Shows images, letters or digits on the LED display.\n\n Example: ``display.show(Image.HEART)``\n\n When ``image`` is an image or a list of images then each image is displayed in turn.\n If ``image`` is a string or number, each letter or digit is displayed in turn.\n\n :param image: A string, number, image or list of images to show.\n :param delay: Each letter, digit or image is shown with ``delay`` milliseconds between them.\n :param wait: If ``wait`` is ``True``, this function will block until the animation is finished, otherwise the animation will happen in the background.\n :param loop: If ``loop`` is ``True``, the animation will repeat forever.\n :param clear: If ``clear`` is ``True``, the display will be cleared after the sequence has finished.\n\n The ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\n \"\"\"\n ...\n\ndef scroll(\n text: Union[str, float, int],\n delay: int = 150,\n wait: bool = True,\n loop: bool = False,\n monospace: bool = False,\n) -> None:\n \"\"\"Scrolls a number or text on the LED display.\n\n Example: ``display.scroll('micro:bit')``\n\n :param text: The string to scroll. If ``text`` is an integer or float it is first converted to a string using ``str()``.\n :param delay: The ``delay`` parameter controls how fast the text is scrolling.\n :param wait: If ``wait`` is ``True``, this function will block until the animation is finished, otherwise the animation will happen in the background.\n :param loop: If ``loop`` is ``True``, the animation will repeat forever.\n :param monospace: If ``monospace`` is ``True``, the characters will all take up 5 pixel-columns in width, otherwise there will be exactly 1 blank pixel-column between each character as they scroll.\n\n The ``wait``, ``loop`` and ``monospace`` arguments must be specified\n using their keyword.\n \"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Turn on the LED display.\n\n Example: ``display.on()``\n \"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Turn off the LED display (disabling the display allows you to re-use the GPIO pins for other purposes).\n\n Example: ``display.off()``\n \"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"Check whether the LED display is enabled.\n\n Example: ``display.is_on()``\n\n :return: ``True`` if the display is on, otherwise returns ``False``.\n \"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Read the light level.\n\n Example: ``display.read_light_level()``\n\n Uses the display's LEDs in reverse-bias mode to sense the amount of light\n falling on the display.\n\n :return: An integer between 0 and 255 representing the light level, with larger meaning more light.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Communicate with devices using the I\u00b2C bus protocol.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(\n freq: int = 100000, sda: MicroBitDigitalPin = pin20, scl: MicroBitDigitalPin = pin19\n) -> None:\n \"\"\"Re-initialize a peripheral.\n\n Example: ``i2c.init()``\n\n :param freq: clock frequency\n :param sda: ``sda`` pin (default 20)\n :param scl: ``scl`` pin (default 19)\n\n On a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\n the accelerometer and compass stop working, as they are connected\n internally to those pins. This warning does not apply to the **V2**\n revision of the micro:bit as this has `separate I\u00b2C lines `_\n for the motion sensors and the edge connector.\n \"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scan the bus for devices.\n\n Example: ``i2c.scan()``\n\n :return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\n \"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool = False) -> bytes:\n \"\"\"Read bytes from a device.\n\n Example: ``i2c.read(0x50, 64)``\n\n :param addr: The 7-bit address of the device\n :param n: The number of bytes to read\n :param repeat: If ``True``, no stop bit will be sent\n :return: The bytes read\n \"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool = False) -> None:\n \"\"\"Write bytes to a device.\n\n Example: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n :param addr: The 7-bit address of the device\n :param buf: A buffer containing the bytes to write\n :param repeat: If ``True``, no stop bit will be sent\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Respond to sound using the built-in microphone (V2 only).\n\"\"\"\n\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Get the last recorded sound event\n\n Example: ``microphone.current_event()``\n\n :return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\n \"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Check if a sound was heard at least once since the last call.\n\n Example: ``microphone.was_event(SoundEvent.LOUD)``\n\n This call clears the sound history before returning.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\n \"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Check the most recent sound event detected.\n\n Example: ``microphone.is_event(SoundEvent.LOUD)``\n\n This call does not clear the sound event history.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was the most recent heard, ``False`` otherwise.\n \"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Get the sound event history as a tuple.\n\n Example: ``microphone.get_events()``\n\n This call clears the sound history before returning.\n\n :return: A tuple of the event history with the most recent event last.\n \"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Set the threshold for a sound event.\n\n Example: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\n A high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n :param event: A sound event, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``.\n :param value: The threshold level in the range 0-255.\n \"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Get the sound pressure level.\n\n Example: ``microphone.sound_level()``\n\n :return: A representation of the sound pressure level in the range 0 to 255.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Control the built-in speaker (V2 only).\n\"\"\"\n\ndef off() -> None:\n \"\"\"Turn the speaker off.\n\n Example: ``speaker.off()``\n\n This does not disable sound output to an edge connector pin.\n \"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Turn the speaker on.\n\n Example: ``speaker.on()``\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communicate with devices using the serial peripheral interface (SPI) bus.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(\n baudrate: int = 1000000,\n bits: int = 8,\n mode: int = 0,\n sclk: MicroBitDigitalPin = pin13,\n mosi: MicroBitDigitalPin = pin15,\n miso: MicroBitDigitalPin = pin14,\n) -> None:\n \"\"\"Initialize SPI communication.\n\n Example: ``spi.init()``\n\n For correct communication, the parameters have to be the same on both communicating devices.\n\n :param baudrate: The speed of communication.\n :param bits: The width in bits of each transfer. Currently only ``bits=8`` is supported. However, this may change in the future.\n :param mode: Determines the combination of clock polarity and phase - `see online table `_.\n :param sclk: sclk pin (default 13)\n :param mosi: mosi pin (default 15)\n :param miso: miso pin (default 14)\n \"\"\"\n ...\n\ndef read(nbytes: int, out: int = 0) -> bytes:\n \"\"\"Read at most ``nbytes`` while continuously writing the single byte given by ``out``.\n\n Example: ``spi.read(64)``\n\n :param nbytes: Maximum number of bytes to read.\n :param out: The byte value to write (default 0).\n :return: The bytes read.\n \"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Write bytes to the bus.\n\n Example: ``spi.write(bytes([1, 2, 3]))``\n\n :param buffer: A buffer to read data from.\n \"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Write the ``out`` buffer to the bus and read any response into the ``in_`` buffer.\n\n Example: ``spi.write_readinto(out_buffer, in_buffer)``\n\n The length of the buffers should be the same. The buffers can be the same object.\n\n :param out: The buffer to write any response to.\n :param in_: The buffer to read data from.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Communicate with a device using a serial interface.\n\"\"\"\n\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\n\nODD: int\n\"\"\"Odd parity\"\"\"\n\nEVEN: int\n\"\"\"Even parity\"\"\"\n\ndef init(\n baudrate: int = 9600,\n bits: int = 8,\n parity: Optional[int] = None,\n stop: int = 1,\n tx: Optional[MicroBitDigitalPin] = None,\n rx: Optional[MicroBitDigitalPin] = None,\n) -> None:\n \"\"\"Initialize serial communication.\n\n Example: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n :param baudrate: The speed of communication.\n :param bits: The size of bytes being transmitted. micro:bit only supports 8.\n :param parity: How parity is checked, ``None``, ``uart.ODD`` or ``uart.EVEN``.\n :param stop: The number of stop bits, has to be 1 for micro:bit.\n :param tx: Transmitting pin.\n :param rx: Receiving pin.\n\n Initializing the UART on external pins will cause the Python console on\n USB to become unaccessible, as it uses the same hardware. To bring the\n console back you must reinitialize the UART without passing anything for\n ``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\n that calling ``uart.init(115200)`` is enough to restore the Python console.\n\n For more details see `the online documentation `_.\n \"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Check if any data is waiting.\n\n Example: ``uart.any()``\n\n :return: ``True`` if any data is waiting, else ``False``.\n \"\"\"\n ...\n\ndef read(nbytes: Optional[int] = None) -> Optional[bytes]:\n \"\"\"Read bytes.\n\n Example: ``uart.read()``\n\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read as many bytes as possible\n :return: A bytes object or ``None`` on timeout\n \"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int] = None) -> Optional[int]:\n \"\"\"Read bytes into the ``buf``.\n\n Example: ``uart.readinto(input_buffer)``\n\n :param buf: The buffer to write to.\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read ``len(buf)`` bytes.\n :return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\n \"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Read a line, ending in a newline character.\n\n Example: ``uart.readline()``\n\n :return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\n \"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Write a buffer to the bus.\n\n Example: ``uart.write('hello world')``\n\n :param buf: A bytes object or a string.\n :return: The number of bytes written, or ``None`` on timeout.\n\n Examples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\n \"\"\"\n ...\n", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pinnen, afbeeldingen, geluiden, temperatuur en volume.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Plan om een functie uit te voeren volgens het interval dat gespecificeerd is door het time argument **V2 alleen**. (draai elke)\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Functie om op te roepen bij de meegeleverde interval. Weglaten wanneer je als decorator gebruikt.\n:param days: (dagen) Stelt de dag markering in voor de planning.\n:param h: (uur) Stelt de urenmarkering in voor de planning.\n:param min: Stelt de minuut markering in voor de planning.\n:param s: Stelt de seconde markering in voor de planning.\n:param ms: Stelt de milliseconde markering in voor de planning.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Voer een paniekmodus in. (paniek)\n\nExample: ``panic(127)``\n\n:param n: Een willekeurig geheel getal <= 255 om een status aan te geven.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"Herstart het bord.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Zet een waarde om van een bereik naar een ander bereik van natuurlijke getallen. (schaal)\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: (waarde) Een getal om te converteren\n:param from_: (van) Een getallen paar wat het bereik aangeeft vanwaar je wilt converteren\n:param to: (naar) Een getallen paar om het bereik te defini\u00ebren waar je naar wilt converteren.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Zet een waarde om van een bereik naar een ander bereik van decimale getallen. (schaal)\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: (waarde) Een getal om te converteren\n:param from_: (van) Een getallen paar wat het bereik aangeeft vanwaar je wilt converteren\n:param to: (naar) Een getallen paar om het bereik te defini\u00ebren waar je naar wilt converteren.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Wacht op ``n`` milliseconden. (slapen)\n\nExample: ``sleep(1000)``\n\n:param n: Het aantal milliseconden te wachten\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"Bekijk de looptijd van het bord. (looptijd)\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"Krijg de temperatuur van de micro:bit in graden Celsius. (temperatuur)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Stelt het volume in. (stel volume in)\n\nExample: ``set_volume(127)``\n\n:param v: een waarde tussen 0 (laag) en 255 (hoog).\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"De klasse voor de knoppen ``button_a`` en ``button_b``. (knop)\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Controleer of op de knop wordt gedrukt. (is ingedrukt)\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"Controleer of de knop was ingedrukt sinds het apparaat is gestart of de laatste keer dat deze methode is gebruikt. (was ingedrukt)\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"Krijg het totale aantal ingedrukte knoppen en reset dit totaal\nnaar nul voordat u terugkeert. (zie knop acties)\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"Het object van de linker knop ``Button``. (knop a)\"\"\"\nbutton_b: Button\n\"\"\"Het object van de rechter knop ``Button``. (knop b)\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"Een digitale pin\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"Haal de digitale waarde van de pincode op. (digitaal lezen)\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"Stel de digitale waarde van de pin in. (digitaal schrijven)\n\nExample: ``pin0.write_digital(1)``\n\n:param value: (waarde) 1 om de pin hoog of 0 om de pin laag in te stellen\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"Zet de pull-status op een van de drie mogelijke waarden: ``PULL_UP``, ``PULL_DOWN`` of ``NO_PULL``. (pull instellen)\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: (waarde) De pull-status van de relevante pincode, bijvoorbeeld ``pin0.PULL_UP``.\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"Bekijk de pull status van een pin. (pull instellen)\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"Geeft de pinmodus weer. (Bekijk modus)\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"Voer een PWM-signaal uit op de pin, waarbij de taakcyclus proportioneel is aan ``value``. (analoge schrijven)\n\nExample: ``pin0.write_analog(254)``\n\n:param value: (waarde) Een geheel getal of een zwevend punt getal tussen 0 (0% tariefcyclus) en 1023 (100% belasting).\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"Stel de periode in van het PWM-signaal dat uitgevoerd wordt naar ``period`` in milliseconden. (gebruik analoge periode)\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: (periode) De periode in milliseconden met een minimale geldige waarde van 1 ms.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Stel de periode in van het PWM-signaal dat uitgevoerd wordt naar ``period`` in milliseconden. (microseconden analoge periode instellen)\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: (periode) De periode in microseconden met een minimumwaarde van 256 mres.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"Een pin met analoge en digitale functies.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Lees de spanning op de pin. (lees analoge)\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"Een pin met analoge, digitale en touch functies.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"Controleer of de pin aangeraakt wordt. (is aangeraakt)\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Stel de aanraakmodus voor de pin in. (aanraakmodus instellen)\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: (waarde) ``CAPACITIVE`` of ``RESISTIVE`` van de relevante speler.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"Pin met digitale, analoge en touch functies.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"Pin met digitale functies.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"Pin met digitale functies.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"Pin met digitale functies.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"Pin met digitale functies.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"Pin met digitale, analoge en aanraak functies.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"Een aanraak gevoelige logo pin op de voorkant van de micro:bit, die standaard is ingesteld op capacitieve aanraking modus.\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"Een pin om de micro:bit luidspreker aan te spreken. (pin luidspreker)\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"Een afbeelding om te laten zien op het micro:bit LED display. (afbeelding)\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"Hart afbeelding (hart)\"\"\"\n HEART_SMALL: Image\n \"\"\"Klein hart afbeelding. (hart klein)\"\"\"\n HAPPY: Image\n \"\"\"Blije gezichtsafbeelding. (blij)\"\"\"\n SMILE: Image\n \"\"\"Glimlach gezicht afbeelding. (glimlach)\"\"\"\n SAD: Image\n \"\"\"Droevige gezichtsafbeelding. (verdrietig)\"\"\"\n CONFUSED: Image\n \"\"\"Verward gezichtsafbeelding. (verward)\"\"\"\n ANGRY: Image\n \"\"\"Boos gezichtsafbeelding. (kwaad)\"\"\"\n ASLEEP: Image\n \"\"\"Slapend gezicht afbeelding. (in slaap)\"\"\"\n SURPRISED: Image\n \"\"\"Verraste gezichtsafbeelding. (verrast)\"\"\"\n SILLY: Image\n \"\"\"Gek gezichtsafbeelding. (gek)\"\"\"\n FABULOUS: Image\n \"\"\"Zonnebril gezichtsafbeelding. (fantastisch)\"\"\"\n MEH: Image\n \"\"\"Niet onder de indruk gezichtsafbeelding.\"\"\"\n YES: Image\n \"\"\"Aanvinken afbeelding. (ja)\"\"\"\n NO: Image\n \"\"\"Kruis afbeelding. (nee)\"\"\"\n CLOCK12: Image\n \"\"\"Afbeelding met lijn die naar 12.00 uur wijst. (klok 12)\"\"\"\n CLOCK11: Image\n \"\"\"Afbeelding met lijn die naar 11.00 uur wijst. (klok 11)\"\"\"\n CLOCK10: Image\n \"\"\"Afbeelding met lijn die naar 10.00 uur wijst. (klok 10)\"\"\"\n CLOCK9: Image\n \"\"\"Afbeelding met lijn die naar 9.00 uur wijst. (klok 9)\"\"\"\n CLOCK8: Image\n \"\"\"Afbeelding met lijn die naar 8.00 uur wijst. (klok 8)\"\"\"\n CLOCK7: Image\n \"\"\"Afbeelding met lijn die naar 7.00 uur wijst. (klok 7)\"\"\"\n CLOCK6: Image\n \"\"\"Afbeelding met lijn die naar 6.00 uur wijst. (klok 6)\"\"\"\n CLOCK5: Image\n \"\"\"Afbeelding met lijn die naar 5.00 uur wijst. (klok 5)\"\"\"\n CLOCK4: Image\n \"\"\"Afbeelding met lijn die naar 4.00 uur wijst. (klok 4)\"\"\"\n CLOCK3: Image\n \"\"\"Afbeelding met lijn die naar 3.00 uur wijst. (klok 3)\"\"\"\n CLOCK2: Image\n \"\"\"Afbeelding met lijn die naar 2 uur wijst. (klok2)\"\"\"\n CLOCK1: Image\n \"\"\"Afbeelding met lijn die naar 1 uur wijst. (klok1)\"\"\"\n ARROW_N: Image\n \"\"\"Afbeelding van pijl richting het noorden. (pijl n)\"\"\"\n ARROW_NE: Image\n \"\"\"Afbeelding van pijl richting het noord oosten. (pijl NO)\"\"\"\n ARROW_E: Image\n \"\"\"Afbeelding van pijl richting het oosten. (pijl e)\"\"\"\n ARROW_SE: Image\n \"\"\"Afbeelding van pijl richting het zuid-oosten. (pijl ZO)\"\"\"\n ARROW_S: Image\n \"\"\"Afbeelding van pijltje richting het zuiden. (pijl z)\"\"\"\n ARROW_SW: Image\n \"\"\"Afbeelding van pijl richting het zuid-westen. (pijl ZW)\"\"\"\n ARROW_W: Image\n \"\"\"Afbeelding van pijl richting het westen. (pijl w)\"\"\"\n ARROW_NW: Image\n \"\"\"Afbeelding van pijl richting het noord-westen. (pijl NW)\"\"\"\n TRIANGLE: Image\n \"\"\"Afbeelding van een driehoek die naar boven wijst. (driehoek)\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"Afbeelding van een driehoek in de linker hoek. (Driehoek links)\"\"\"\n CHESSBOARD: Image\n \"\"\"Alternatieve LED's verlichten in een schaakbord patroon. (schaakbord)\"\"\"\n DIAMOND: Image\n \"\"\"Diamanten afbeelding. (diamant)\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"Kleine diamanten afbeelding. (diamant klein)\"\"\"\n SQUARE: Image\n \"\"\"Vierkante afbeelding (vierkant)\"\"\"\n SQUARE_SMALL: Image\n \"\"\"Kleine vierkante afbeelding. (vierkant klein)\"\"\"\n RABBIT: Image\n \"\"\"Konijn afbeelding. (konijn)\"\"\"\n COW: Image\n \"\"\"Koe afbeelding. (koe)\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"Kwartnoot afbeelding. (muziek kwartnoot)\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"Kwartnoot afbeelding. (muziek kwartnoot)\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"Koppel van kwartnoten afbeelding. (muziek kwartnoten)\"\"\"\n PITCHFORK: Image\n \"\"\"Stemvork afbeelding. (stemvork)\"\"\"\n XMAS: Image\n \"\"\"Kerstboom afbeelding. (kerstmis)\"\"\"\n PACMAN: Image\n \"\"\"Pac-Man arcade karakterafbeelding. (Pacman)\"\"\"\n TARGET: Image\n \"\"\"Doel afbeelding. (doel)\"\"\"\n TSHIRT: Image\n \"\"\"T-shirt afbeelding.\"\"\"\n ROLLERSKATE: Image\n \"\"\"Rolschaats afbeelding. (rolschaatsen)\"\"\"\n DUCK: Image\n \"\"\"Eend afbeelding. (eend)\"\"\"\n HOUSE: Image\n \"\"\"Huis afbeelding. (huis)\"\"\"\n TORTOISE: Image\n \"\"\"Schildpad afbeelding. (schildpad)\"\"\"\n BUTTERFLY: Image\n \"\"\"Vlinder afbeelding. (vlinder)\"\"\"\n STICKFIGURE: Image\n \"\"\"Stok figuur afbeelding. (stok figuur)\"\"\"\n GHOST: Image\n \"\"\"Spook afbeelding. (spook)\"\"\"\n SWORD: Image\n \"\"\"Zwaard afbeelding. (zwaard)\"\"\"\n GIRAFFE: Image\n \"\"\"Giraffe afbeelding.\"\"\"\n SKULL: Image\n \"\"\"Schedel afbeelding. (doodshoofd)\"\"\"\n UMBRELLA: Image\n \"\"\"Paraplu afbeelding. (paraplu)\"\"\"\n SNAKE: Image\n \"\"\"Slang afbeelding. (slang)\"\"\"\n SCISSORS: Image\n \"\"\"Schaar afbeelding. (schaar)\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"Een lijst met alle CLOCK_ afbeeldingen achter elkaar. (alle klokken)\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"Een lijst met alle ARROW_ afbeeldingen in reeks. (alle pijlen)\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Maak een afbeelding van een tekenreeks die beschrijft welke LED's zijn. (initialiseren)\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: (tekenreeks) De tekenreeks die de afbeelding beschrijft.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"Maak een lege afbeelding met ``width`` kolommen en ``height`` rijen. (initialiseren)\n\n:param width: (breedte) Optionele breedte van de afbeelding\n:param height: (hoogte) Optionele hoogte van de afbeelding\n:param buffer: Optionele array of bytes van ``width``\u00d7``height`` integers in bereik 0-9 om de afbeelding te initialiseren\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"Haal het aantal kolommen op. (breedte)\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"Krijg het aantal rijen. (hoogte)\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Stel de helderheid van een pixel in. (pixel instellen)\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: (\u0445) Het kolom nummer\n:param y: Het rij nummer\n:param value: (waarde) De helderheid als een geheel getal tussen 0 (donker) en 9 (helder)\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Krijg de helderheid van een pixel. (verkrijg pixel)\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: (\u0445) Het kolom nummer\n:param y: Het rij nummer\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de afbeelding naar links te verschuiven. (verschuiving naar links)\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: Het aantal te verschuiven kolommen\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de afbeelding rechts te verschuiven. (verschuif Rechts)\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: Het aantal te verschuiven kolommen\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de afbeelding omhoog te schuiven. (verschuiving omhoog)\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: Het aantal rijen om te verschuiven met\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de afbeelding omlaag te verschuiven. (verschuif omlaag)\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: Het aantal rijen om te verschuiven met\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de afbeelding bij te snijden. (bij snijden)\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: (\u0445) De kolom verschuiving\n:param y: De rij verschuiving\n:param w: De bij snij breedte\n:param h: (uur) Hoogte bijsnijden\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"Maak een exacte kopie van de afbeelding. (kopi\u00eber)\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de helderheid van de pixels in de\nbronafbeelding om te draaien. (omkeren)\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"Stel de helderheid van alle pixels in de afbeelding in. (opvullen)\n\nExample: ``my_image.fill(5)``\n\n:param value: (waarde) De nieuwe helderheid als een getal tussen 0 (donker) en 9 (helder).\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"Kopieer een gebied van een andere afbeelding naar deze afbeelding.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: De bron afbeelding\n:param x: (\u0445) De begin kolom offset in de bron afbeelding\n:param y: De beginkolom offset in de bronafbeelding\n:param w: Het aantal te kopi\u00ebren kolommen\n:param h: (uur) Het aantal te kopi\u00ebren rijen\n:param xdest: De kolomverschuiving om aan te passen in deze afbeelding\n:param ydest: De kolomverschuiving om aan te passen in deze afbeelding\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"Krijg een compacte tekenreeks die de afbeelding vertegenwoordigt.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"Krijg een leesbare tekenreeks die de afbeelding vertegenwoordigt.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de helderheidswaarden van de twee\nafbeeldingen voor elke pixel toe te voegen. (toevoegen)\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: (overige) De afbeelding om toe te voegen.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"Maak een nieuw beeld door de helderheidswaarden van de andere afbeelding van deze afbeelding af te trekken.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: (overige) De afbeelding om af te trekken.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de helderheid van elke pixel te vermenigvuldigen met\n``n``.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: De waarde om te vermenigvuldigen.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"Maak een nieuwe afbeelding door de helderheid van elke pixel te delen door\n``n``.\n\nExample: ``Image.HEART / 2``\n\n:param n: De waarde om mee te delen.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Vertegenwoordigt de transitie van geluidsgebeurtenissen, van ``quiet`` tot ``loud`` zoals klappen of roepen. (luid)\"\"\"\n QUIET: SoundEvent\n \"\"\"Vertegenwoordigt de transitie van geluidsgebeurtenissen, van ``loud`` tot ``quiet`` zoals spreken of achtergrondmuziek. (stil)\"\"\"\n\nclass Sound:\n \"\"\"De ingebouwde geluiden kunnen worden aangeroepen met ``audio.play(Sound.NAME)``. (geluid)\"\"\"\n GIGGLE: Sound\n \"\"\"Giechelgeluidjes (giechelen)\"\"\"\n HAPPY: Sound\n \"\"\"Blij geluid. (blij)\"\"\"\n HELLO: Sound\n \"\"\"Groet geluid. (hallo)\"\"\"\n MYSTERIOUS: Sound\n \"\"\"Mysterieus geluid. (mysterieus)\"\"\"\n SAD: Sound\n \"\"\"Droevig geluid. (verdrietig)\"\"\"\n SLIDE: Sound\n \"\"\"Glij geluid. (Veeg)\"\"\"\n SOARING: Sound\n \"\"\"Zweef geluid. (stijgend)\"\"\"\n SPRING: Sound\n \"\"\"Spring geluid. (veer)\"\"\"\n TWINKLE: Sound\n \"\"\"Twinkel geluid. (twinkeling)\"\"\"\n YAWN: Sound\n \"\"\"Geeuwgeluiden (geeuw)\"\"\"", + "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Meet de versnelling van de micro:bit en herken gebaren. (acceleratiemeter)\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Krijg de acceleratiemeting in de ``x`` as in milli-g. (krijg x)\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Krijg de acceleratiemeting in de ``y`` as in milli-g. (krijg y)\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Krijg de acceleratiemeter meting in de ``z`` as in milli-g. (krijg z)\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Verkrijg de acceleratiemeter metingen in alle assen tegelijk als een tupel. (krijg waarden)\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Krijg de versnelling meting van alle assen gecombineerd, als een positief getal. Dit is de Pythagorische som van de X, Y en Z assen. (krijg sterkte)\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Verkrijg de naam van het huidige gebaar. (huidig gebaar)\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Controleer of het benoemde gebaar momenteel actief is. (is gebaren)\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (naam) De naam van het gebaar.\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Controleer of het benoemde gebaar actief was sinds het laatste gesprek. (was gebaren)\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: (naam) De naam van het gebaar.\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Geeft als resultaat een reeks van de gebaren geschiedenis. (verkrijg gebaren)\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Stel het gevoeligheidsbereik van de acceleratiemeter, in g (standaard zwaartekracht), in op de dichtstbijzijnde waarden die door de hardware worden ondersteund, zodat het wordt afgerond op ``2``, ``4`` of ``8`` g. (kies bereik)\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: (waarde) Nieuwe bereik voor de acceleratiemeter, een geheel getal in ``g``.\"\"\"", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Geluid afspelen met behulp van de micro:bit (importeer ``audio`` voor V1 compatibiliteit).\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Een ingebouwde geluid, geluids effect of aangepaste audio frames afspelen. (afspelen)\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: (bron) Een ingebouwde ``Sound`` zoals ``Sound.GIGGLE``, een ``SoundEffect`` of voorbeeldgegevens als een iteratie van ``AudioFrame`` objecten.\n:param wait: (wacht) Als ``wait`` ``True``is, wordt deze functie geblokkeerd totdat het geluid is voltooid.\n:param pin: Een optioneel argument om de uitvoerpin op te geven kan worden gebruikt om de standaard van ``pin0``te overschrijven. Als we geen geluid willen afspelen, kunnen we ``pin=None`` gebruiken.\n:param return_pin: (retourneer pin) Specificeert een differenti\u00eble rand connector pin om verbinding te maken met een externe luidspreker in plaats van de grond. Dit wordt genegeerd voor de **V2** herziening.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Controleer of een geluid wordt gespeeld. (speelt af)\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Stop het afspelen van de audio.\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"Een geluidseffect, bestaande uit een set parameters geconfigureerd via de constructor of attributen.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"De sinusgolf optie gebruikt voor de ``waveform`` parameter. (golfvorm sinus)\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Zaag golf optie gebruikt voor de ``waveform`` parameter. (golfvorm zaagtand)\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"De drie hoeks golf optie gebruikt voor de ``waveform`` parameter. (golfvorm driehoek)\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Blok golf optie die wordt gebruikt voor de parameter ``waveform``. (golfvorm vierkant)\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise optie gebruikt voor de ``waveform`` parameter. (golfvormig geluid)\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Lineaire interpolatie optie die wordt gebruikt voor de ``shape`` parameter. (vorm lineair)\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolatie optie gebruikt voor de ``shape`` parameter. (vorm curve)\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logaritmische interpolatie optie gebruikt voor de ``shape`` parameter. (vorm log)\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"Geen effectoptie gebruikt voor de ``fx`` parameter. (geen fx)\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect optie die wordt gebruikt voor de ``fx`` parameter.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect optie die wordt gebruikt voor de ``fx`` parameter.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect optie die wordt gebruikt voor de ``fx`` parameter .\"\"\"\n freq_start: int\n \"\"\"Start frequentie in Hertz (Hz), een getal tussen ``0`` en ``9999`` (frequentie start)\"\"\"\n freq_end: int\n \"\"\"Eind frequentie in Hertz (Hz), een getal tussen ``0`` en ``9999`` (frequentie einde)\"\"\"\n duration: int\n \"\"\"Duur van het geluid in milliseconden, een getal tussen ``0`` en ``9999`` (Duur)\"\"\"\n vol_start: int\n \"\"\"Start volume waarde, een getal tussen ``0`` en ``255``\"\"\"\n vol_end: int\n \"\"\"Eind volume waarde, een getal tussen ``0`` en ``255`` (vol einde)\"\"\"\n waveform: int\n \"\"\"Type van golfvorm, \u00e9\u00e9n van deze waarden: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (willekeurig gegenereerde lawaai) (golfvorm)\"\"\"\n fx: int\n \"\"\"Effect om aan het geluid toe te voegen, een van de volgende waarden: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``of ``FX_NONE``\"\"\"\n shape: int\n \"\"\"Het type van de interpolatie curve tussen de begin- en eind frequenties, verschillende golfvormen hebben verschillende snelheid bij het wijzigen van de frequentie. Een van de volgende waarden: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG`` (vorm)\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Maak een nieuw geluidseffect. (initialiseren)\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: (frequentie start) Start frequentie in Hertz (Hz), een getal tussen ``0`` en ``9999``.\n:param freq_end: (frequentie einde) Eind frequentie in Hertz (Hz), een getal tussen ``0`` en ``9999``.\n:param duration: (duur) Duur van het geluid in milliseconden, een getal tussen ``0`` en ``9999``.\n:param vol_start: Startvolumewaarde, een getal tussen ``0`` en ``255``.\n:param vol_end: (vol einde) Eindvolumewaarde, een getal tussen ``0`` en ``255``.\n:param waveform: (golfvorm) Type golfvorm, \u00e9\u00e9n van deze waarden: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (willekeurig gegenereerde geluid).\n:param fx: Effect om het geluid toe te voegen, een van de volgende waarden: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``of ``FX_NONE``.\n:param shape: (vorm) Het type van de interpolatie curve tussen de begin- en eind frequenties, verschillende golfvormen hebben verschillende snelheid bij het wijzigen van de frequentie. Een van de volgende waarden: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Maak een kopie van dit ``SoundEffect``. (kopi\u00eber)\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"Een ``AudioFrame`` object is een lijst van 32 samples elk een niet-ondertekende byte\n(geheel getal tussen 0 en 255).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overschrijf de gegevens in deze ``AudioFrame`` met de gegevens van een andere ``AudioFrame`` instantie. (kopieer van)\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: (overige) ``AudioFrame`` exemplaar van waar de gegevens worden gekopieerd.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Gebruik het ingebouwde kompas. (kompas)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Start het kalibratieproces. (Kalibreren)\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"Controleer of het kompas is gekalibreerd. (gekalibreerd)\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Kalibratie ongedaan maken, waardoor het kompas weer losgemaakt wordt. (kalibratie wissen)\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Krijg de magnetische veldsterkte op de ``x`` as. (krijg x)\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Krijg de magnetische veldsterkte op de ``y`` as. (krijg y)\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Krijg de magnetische veldsterkte op de ``z`` as. (krijg z)\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Haal de kompaskop op. (kop)\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Krijg de magnitude van het magnetische veld rond het apparaat. (krijg veldsterkte)\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", + "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Tekst, afbeeldingen en animaties weergeven op het 5\u00d75 LED-weergave.\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Krijg de helderheid van de LED in kolom ``x`` en rij ``y``. (verkrijg pixel)\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: (\u0445) De weergavekolom (0..4)\n:param y: De weergave rij (0.4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Stel de helderheid van de LED in op kolom ``x`` en rij ``y``. (pixel instellen)\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: (\u0445) De weergavekolom (0..4)\n:param y: De weergave rij (0.4)\n:param value: (waarde) De helderheid tussen 0 (uit) en 9 (helderst)\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Stel de helderheid van alle LED's in op 0 (uit). (wissen)\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"Toont afbeeldingen, letters of cijfers op het LED-scherm. (toon)\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: (afbeelding) Een string, nummer, afbeelding of lijst van weer te geven afbeeldingen.\n:param delay: (vertraging) Elke letter, cijfer of afbeelding wordt weergegeven met ``delay`` milliseconden tussen hen.\n:param wait: (wacht) Als ``wait`` ``True``is, blokkeert deze functie totdat de animatie is voltooid, anders gebeurt de animatie op de achtergrond.\n:param loop: Als ``loop`` ``True``is, zal de animatie voor altijd herhalen.\n:param clear: (wissen) Als ``clear`` ``True``is, wordt het scherm gewist nadat de reeks is voltooid.\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"Scrolt een nummer of tekst op het LED display (scrollen)\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: (tekst) De tekenreeks om te scrollen. Als ``text`` een geheel getal of float is, wordt het eerst geconverteerd naar een tekenreeks met behulp van ``str()``.\n:param delay: (vertraging) De parameter ``delay`` bepaalt hoe snel de tekst scrolt.\n:param wait: (wacht) Als ``wait`` ``True``is, blokkeert deze functie totdat de animatie is voltooid, anders gebeurt de animatie op de achtergrond.\n:param loop: Als ``loop`` ``True``is, zal de animatie voor altijd herhalen.\n:param monospace: Als ``monospace`` ``True`` is, nemen de tekens allemaal 5 pixel kolommen in de breedte in beslag, anders staat er precies 1 lege pixelkolom tussen elk teken terwijl ze scrollen.\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Schakel het LED display in. (aan)\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Het uitschakelen van het LED display (uitschakelen van het scherm geeft je de mogelijkheid om de GPIO-pinnen opnieuw te gebruiken voor andere doeleinden). (uit)\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"Controleer of de LED-weergave is ingeschakeld. (staat aan)\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Lees het licht niveau. (lees licht niveau)\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Communiceer met apparaten met behulp van het I\u00b2C bus protocol.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"Initialiseer een randapparaat opnieuw. (initialiseren)\n\nExample: ``i2c.init()``\n\n:param freq: (frequentie) klok frequentie\n:param sda: ``sda`` pin (standaard 20)\n:param scl: ``scl`` pin (standaard 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scan de bus op apparaten. (scannen)\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Lees bytes van een apparaat. (lezen)\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: Het 7-bit adres van het apparaat\n:param n: Het aantal te lezen bytes\n:param repeat: (herhaal) Als ``True``, zal er geen stop bit worden verzonden\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"Schrijven van bytes naar een apparaat. (schrijven)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: Het 7-bit adres van het apparaat\n:param buf: Een buffer met de te schrijven bytes\n:param repeat: (herhaal) Als ``True``, zal er geen stop bit worden verzonden\"\"\"\n ...", + "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Reageer op geluid met de ingebouwde microfoon (V2 alleen). (microfoon)\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Krijg de laatst opgenomen geluidsgebeurtenis (huidige gebeurtenis)\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Controleer of een geluid tenminste \u00e9\u00e9n keer is gehoord sinds het laatste gesprek.\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: (gebeurtenis) Het te controleren evenement, zoals ``SoundEvent.LOUD`` of ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Controleer de meest recente geluidsgebeurtenis gedetecteerd.\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: (gebeurtenis) Het te controleren evenement, zoals ``SoundEvent.LOUD`` of ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Krijg de geluidsgeschiedenis als tuple.\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Stel de drempel in voor een geluidsgebeurtenis. (stel drempelwaarde in)\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: (gebeurtenis) Een geluidsgebeurtenis, zoals ``SoundEvent.LOUD`` of ``SoundEvent.QUIET``.\n:param value: (waarde) Het drempelniveau in het bereik 0-255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Krijg het Geluidsdrukniveau. (geluidsniveau)\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", + "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Beheer de ingebouwde luidspreker (alleen V2). (luidspreker)\"\"\"\n\ndef off() -> None:\n \"\"\"Luidspreker uitschakelen. (uit)\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Luidspreker inschakelen (aan)\n\nExample: ``speaker.on()``\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communiceer met apparaten met behulp van de seri\u00eble perifere interface (SPI) bus.\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Initialiseer SPI communicatie. (initialiseren)\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: De snelheid van de communicatie.\n:param bits: De breedte in bits van elke overdracht. Momenteel wordt alleen ``bits=8`` ondersteund. Dit kan echter veranderen in de toekomst.\n:param mode: (modus) Bepaalt de combinatie van klokpolariteit en fase - `zie online tabel `_.\n:param sclk: sclk pin (standaard 13)\n:param mosi: mosi pin (standaard 15)\n:param miso: miso pin (standaard 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"Lees minstens ``nbytes`` terwijl het enkele byte gegeven in ``out`` continu geschreven wordt. (lezen)\n\nExample: ``spi.read(64)``\n\n:param nbytes: Maximum aantal te lezen bytes.\n:param out: (uit) De byte-waarde om te schrijven (standaard 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Schrijf bytes naar de bus. (schrijven)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: Een buffer om gegevens van te lezen.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Schrijf de ``out`` buffer naar de bus en lees elke reactie in de ``in_`` buffer. (schrijf readinto)\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: (uit) De buffer om een reactie naar te schrijven.\n:param in_: De buffer om gegevens van te lezen.\"\"\"\n ...", + "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Communiceer met een apparaat via een seri\u00eble interface.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"Oneven pariteit (oneven)\"\"\"\nEVEN: int\n\"\"\"Even pariteit\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"Initialiseer seri\u00eble communicatie. (initialiseren)\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: De snelheid van de communicatie.\n:param bits: De grootte van de bytes die worden verzonden. micro:bit ondersteunt slechts 8.\n:param parity: (pariteit) Hoe de pariteit is aangevinkt, ``None``, ``uart.ODD`` of ``uart.EVEN``.\n:param stop: Het aantal stop bits, moet 1 zijn voor micro:bit.\n:param tx: Verzend pin.\n:param rx: Ontvangende pin.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Controleer of er nog gegevens staan te wachten. (elke)\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"Lees bytes. (lezen)\n\nExample: ``uart.read()``\n\n:param nbytes: Als ``nbytes`` is gespecificeerd, lees dan maximaal zoveel bytes, anders lees zo veel mogelijk bytes\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"Lees bytes in de ``buf``. (inlezen)\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: De buffer om naar te schrijven.\n:param nbytes: Als ``nbytes`` is gespecificeerd, lees dan hooguit zoveel bytes, anders lees ``len(buf)`` bytes.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Lees een regel, eindigend in een nieuw karakter regel. (leesregel)\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Schrijf bytes naar de bus. (schrijven)\n\nExample: ``uart.write('hello world')``\n\n:param buf: Een bytes object of een tekenreeks.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" } diff --git a/src/micropython/main/typeshed.pl.json b/src/micropython/main/typeshed.pl.json index a1439b3f0..673b6df5e 100644 --- a/src/micropython/main/typeshed.pl.json +++ b/src/micropython/main/typeshed.pl.json @@ -7,23 +7,23 @@ "/typeshed/stdlib/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\n# Re-export for V1 compatibility.\nfrom .microbit.audio import (\n is_playing as is_playing,\n play as play,\n stop as stop,\n AudioFrame as AudioFrame,\n SoundEffect as SoundEffect,\n)\n", "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", - "/typeshed/stdlib/gc.pyi": "\"\"\"Control the garbage collector\"\"\"\n\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"Enable automatic garbage collection.\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"Disable automatic garbage collection.\n\n Heap memory can still be allocated,\n and garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Run a garbage collection.\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Get the number of bytes of heap RAM that are allocated.\n\n :return: The number of bytes allocated.\n\n This function is MicroPython extension.\n \"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Get the number of bytes of available heap RAM, or -1 if this amount is not known.\n\n :return: The number of bytes free.\n\n This function is MicroPython extension.\n \"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Query the additional GC allocation threshold.\n\n :return: The GC allocation threshold.\n\n This function is a MicroPython extension. CPython has a similar\n function - ``set_threshold()``, but due to different GC\n implementations, its signature and semantics are different.\n \"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Set the additional GC allocation threshold.\n\n Normally, a collection is triggered only when a new allocation\n cannot be satisfied, i.e. on an out-of-memory (OOM) condition.\n If this function is called, in addition to OOM, a collection\n will be triggered each time after ``amount`` bytes have been\n allocated (in total, since the previous time such an amount of bytes\n have been allocated). ``amount`` is usually specified as less than the\n full heap size, with the intention to trigger a collection earlier than when the\n heap becomes exhausted, and in the hope that an early collection will prevent\n excessive memory fragmentation. This is a heuristic measure, the effect\n of which will vary from application to application, as well as\n the optimal value of the ``amount`` parameter.\n\n A value of -1 means a disabled allocation threshold.\n\n This function is a MicroPython extension. CPython has a similar\n function - ``set_threshold()``, but due to different GC\n implementations, its signature and semantics are different.\n\n :param amount: The number of bytes after which a garbage collection should be triggered.\n \"\"\"\n ...\n", - "/typeshed/stdlib/log.pyi": "\"\"\"Log data to your micro:bit V2.\"\"\"\n\nfrom typing import Literal, Mapping, Optional, Union, overload\n\nMILLISECONDS = 1\n\"\"\"Milliseconds timestamp format.\"\"\"\n\nSECONDS = 10\n\"\"\"Seconds timestamp format.\"\"\"\n\nMINUTES = 600\n\"\"\"Minutes timestamp format.\"\"\"\n\nHOURS = 36000\n\"\"\"Hours timestamp format.\"\"\"\n\nDAYS = 864000\n\"\"\"Days timestamp format.\"\"\"\n\ndef set_labels(\n *labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]] = SECONDS\n) -> None:\n \"\"\"Set up the log file header.\n\n Example: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\n Ideally this function should be called a single time, before any data is\n logged, to configure the data table header once.\n\n If a log file already exists when the program starts, or if this function\n is called multiple times, it will check the labels already defined in the\n log file. If this function call contains any new labels not already\n present, it will generate a new header row with the additional columns.\n\n By default the first column contains a timestamp for each row. The time\n unit can be selected via the timestamp argument.\n\n :param *labels: Any number of positional arguments, each corresponding to an entry in the log header.\n :param timestamp: Select the timestamp unit that will be automatically added as the first column in every row. Timestamp values can be one of ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` or ``None`` to disable the timestamp. The default value is ``log.SECONDS``.\n \"\"\"\n ...\n\n@overload\ndef add(\n data_dictionary: Optional[Mapping[str, Union[str, int, float]]],\n) -> None:\n \"\"\"Add a data row to the log by passing a dictionary of headers and values.\n\n Example: ``log.add({ 'temp': temperature() })``\n\n Each call to this function adds a row to the log.\n\n New labels not previously specified via the set_labels function, or by a\n previous call to this function, will trigger a new header entry to be added\n to the log with the extra labels.\n\n Labels previously specified and not present in a call to this function will\n be skipped with an empty value in the log row.\n\n :param data_dictionary: The data to log as a dictionary with a key for each header.\n \"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"Add a data row to the log using keyword arguments.\n\n Example: ``log.add(temp=temperature())``\n\n Each call to this function adds a row to the log.\n\n New labels not previously specified via the set_labels function, or by a\n previous call to this function, will trigger a new header entry to be added\n to the log with the extra labels.\n\n Labels previously specified and not present in a call to this function will\n be skipped with an empty value in the log row.\n \"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"Deletes the contents of the log, including headers.\n\n Example: ``log.delete()``\n\n To add the log headers again the ``set_labels`` function should to be called after this function.\n\n There are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\n and \u201cfast\u201d invalidates the data without removing it.\n\n :param full: ``True`` selects a \u201cfull\u201d erase and ``False`` selects the \u201cfast\u201d erase method.\n \"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Configure mirroring of the data logging activity to the serial output.\n\n Example: ``log.set_mirroring(True)``\n\n Serial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n :param serial: ``True`` enables mirroring data to the serial output.\n \"\"\"\n ...\n", + "/typeshed/stdlib/gc.pyi": "\"\"\"Steruj zbieraniem \u015bmieci\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"W\u0142\u0105cz automatyczne zbieranie \u015bmieci.\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"Wy\u0142\u0105cz automatyczne zbieranie \u015bmieci.\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Uruchom zbieranie \u015bmieci.\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Znajd\u017a liczb\u0119 przydzielonych bajt\u00f3w sterty pami\u0119ci RAM.\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Znajd\u017a liczb\u0119 bajt\u00f3w dost\u0119pnej sterty pami\u0119ci RAM lub -1, je\u015bli ta liczba nie jest znana.\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Zapytanie o dodatkowy pr\u00f3g przydzia\u0142u GC.\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Ustaw pr\u00f3g dodatkowego przydzia\u0142u GC.\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: Liczba bajt\u00f3w, po kt\u00f3rych powinno zosta\u0107 uruchomione zbieranie \u015bmieci.\"\"\"\n ...", + "/typeshed/stdlib/log.pyi": "\"\"\"Zaloguj dane do swojego micro:bita V2.\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"Format znacznika czasu w milisekundach.\"\"\"\nSECONDS = 10\n\"\"\"Format znacznika czasu w sekundach.\"\"\"\nMINUTES = 600\n\"\"\"Format znacznika czasu w minutach.\"\"\"\nHOURS = 36000\n\"\"\"Format znacznika czasu w godzinach.\"\"\"\nDAYS = 864000\n\"\"\"Format znacznika czasu w dniach.\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"Ustaw nag\u0142\u00f3wek pliku dziennika.\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: Dowolna liczba argument\u00f3w pozycyjnych, ka\u017cdy odpowiadaj\u0105cy wpisowi w nag\u0142\u00f3wku dziennika.\n:param timestamp: Wybierz jednostk\u0119 znacznika czasu, kt\u00f3ra b\u0119dzie automatycznie dodana jako pierwsza kolumna w ka\u017cdym wierszu. Warto\u015bci znacznika czasu mog\u0105 by\u0107 jedn\u0105 z ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` lub ``None``, aby wy\u0142\u0105czy\u0107 znacznik czasu. Warto\u015bci\u0105 domy\u015bln\u0105 jest ``log.SECONDS``.\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"Dodaj wiersz danych do dziennika poprzez podanie s\u0142ownika nag\u0142\u00f3wk\u00f3w i warto\u015bci.\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: Dane do logowania jako s\u0142ownik z kluczem dla ka\u017cdego nag\u0142\u00f3wka.\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"Dodaj wiersz danych do dziennika u\u017cywaj\u0105c argument\u00f3w s\u0142\u00f3w kluczowych. (dodaj)\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"Usuwa zawarto\u015b\u0107 wpisu, w tym nag\u0142\u00f3wki.\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: ``True`` wybiera usuni\u0119cie \"pe\u0142ne\" i ``False`` wybiera metod\u0119 \"szybkiego\" usuni\u0119cia.\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Skonfiguruj lustrzane odbicie logowania danych do wyj\u015bcia szeregowego.\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: ``True`` umo\u017cliwia odbicie lustrzane danych na szeregowe wyj\u015bcie.\"\"\"\n ...", "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", - "/typeshed/stdlib/machine.pyi": "\"\"\"Low-level utilities.\n\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"Get a byte string with a unique identifier of a board.\n\n Example: ``machine.unique_id()``\n\n :return: An identifier that varies from one board instance to another.\n \"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset the device in a manner similar to pushing the external RESET button.\n\n Example: ``machine.reset()``\n \"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"Get the CPU frequency in hertz.\n\n Example: ``machine.freq()``\n\n :return: The CPU frequency.\n \"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"Disable interrupt requests.\n\n Example: ``interrupt_state = machine.disable_irq()``\n\n :return: the previous IRQ state which should be considered an opaque value\n\n The return value should be passed to the ``enable_irq`` function to restore\n interrupts to their original state.\n \"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"Re-enable interrupt requests.\n\n Example: ``machine.enable_irq(interrupt_state)``\n\n :param state: The value that was returned from the most recent call to the ``disable_irq`` function.\n \"\"\"\n ...\n\ndef time_pulse_us(\n pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int = 1000000\n) -> int:\n \"\"\"Time a pulse on a pin.\n\n Example: ``time_pulse_us(pin0, 1)``\n\n If the current input value of the pin is different to ``pulse_level``, the\n function first waits until the pin input becomes equal to\n ``pulse_level``, then times the duration that the pin is equal to\n ``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\n starts straight away.\n\n :param pin: The pin to use\n :param pulse_level: 0 to time a low pulse or 1 to time a high pulse\n :param timeout_us: A microsecond timeout\n :return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\n \"\"\"\n ...\n\nclass mem:\n \"\"\"The class for the ``mem8``, ``mem16`` and ``mem32`` memory views.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Access a value from memory.\n\n :param address: The memory address.\n :return: The value at that address as an integer.\n \"\"\"\n ...\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"Set a value at the given address.\n\n :param address: The memory address.\n :param value: The integer value to set.\n \"\"\"\n ...\n\nmem8: mem\n\"\"\"8-bit (byte) view of memory.\"\"\"\n\nmem16: mem\n\"\"\"16-bit view of memory.\"\"\"\n\nmem32: mem\n\"\"\"32-bit view of memory.\"\"\"\n", - "/typeshed/stdlib/math.pyi": "\"\"\"Mathematical functions.\n\"\"\"\n\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Calculate the inverse cosine.\n\n Example: ``math.acos(1)``\n\n :param x: A number\n :return: The inverse cosine of ``x``\n \"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Calculate the inverse sine.\n\n Example: ``math.asin(0)``\n\n :param x: A number\n :return: The inverse sine of ``x``\n \"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Calculate the inverse tangent.\n\n Example: ``math.atan(0)``\n\n :param x: A number\n :return: The inverse tangent of ``x``\n \"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Calculate the principal value of the inverse tangent of ``y/x``.\n\n Example: ``math.atan2(0, -1)``\n\n :param y: A number\n :param x: A number\n :return: The principal value of the inverse tangent of ``y/x``\n \"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Round a number towards positive infinity.\n\n Example: ``math.ceil(0.1)``\n\n :param x: A number\n :return: ``x`` rounded towards positive infinity.\n \"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Calculate ``x`` with the sign of ``y``.\n\n Example: ``math.copysign(1, -1)``\n\n :param x: A number\n :param y: The source of the sign for the return value\n :return: ``x`` with the sign of ``y``\n \"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Calculate the cosine of ``x``.\n\n Example: ``math.cos(0)``\n\n :param x: A number\n :return: The cosine of ``x``\n \"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Convert radians to degrees.\n\n Example: ``math.degrees(2 * math.pi)``\n\n :param x: A value in radians\n :return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Calculate the exponential of ``x``.\n\n Example: ``math.exp(1)``\n\n :param x: A number\n :return: The exponential of ``x``.\n \"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Return the absolute value of ``x``.\n\n Example: ``math.fabs(-0.1)``\n\n :param x: A number\n :return: The absolute value of ``x``\n \"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Round a number towards negative infinity.\n\n Example: ``math.floor(0.9)``\n\n :param x: A number\n :return: ``x`` rounded towards negative infinity.\n \"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Calculate the remainder of ``x/y``.\n\n Example: ``math.fmod(10, 3)``\n\n :param x: The numerator\n :param y: The denominator\n \"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Decomposes a floating-point number into its mantissa and exponent.\n\n Example: ``mantissa, exponent = math.frexp(2)``\n\n The returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\n exactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\n the relation ``0.5 <= abs(m) < 1`` holds.\n\n :param x: A floating-point number\n :return: A tuple of length two containing its mantissa then exponent\n \"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"Check if a value is finite.\n\n Example: ``math.isfinite(float('inf'))``\n\n :param x: A number.\n :return: ``True`` if ``x`` is finite, ``False`` otherwise.\n \"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"Check if a value is infinite.\n\n Example: ``math.isinf(float('-inf'))``\n\n :param x: A number.\n :return: ``True`` if ``x`` is infinite, ``False`` otherwise.\n \"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Check if a value is not-a-number (NaN).\n\n Example: ``math.isnan(float('nan'))``\n\n :param x: A number\n :return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Calculate ``x * (2**exp)``.\n\n Example: ``math.ldexp(0.5, 2)``\n\n :param x: A number\n :param exp: Integer exponent\n :return: ``x * (2**exp)``\n \"\"\"\n ...\n\ndef log(x: float, base: float = e) -> float:\n \"\"\"Calculate the logarithm of ``x`` to the given base (defaults to natural logorithm).\n\n Example: ``math.log(math.e)``\n\n With one argument, return the natural logarithm of x (to base e).\n\n With two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n :param x: A number\n :param base: The base to use\n :return: The natural logarithm of ``x``\n \"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Calculate the fractional and integral parts of ``x``.\n\n Example: ``fractional, integral = math.modf(1.5)``\n\n :param x: A number\n :return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\n Both the fractional and integral values have the same sign as ``x``.\n \"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Returns ``x`` to the power of ``y``.\n\n Example: ``math.pow(4, 0.5)``\n\n :param x: A number\n :param y: The exponent\n :return: ``x`` to the power of ``y``\n \"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Convert a degrees to radians.\n\n Example: ``math.radians(360)``\n\n :param x: A value in degrees\n :return: The value converted to radians\n \"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Calculate the sine of ``x``.\n\n Example: ``math.sin(math.pi/2)``\n\n :param x: A number\n :return: The sine of ``x``\n \"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Calculate the square root of ``x``.\n\n Example: ``math.sqrt(4)``\n\n :param x: A number\n :return: The square root of ``x``\n \"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Calculate the tangent of ``x``.\n\n Example: ``math.tan(0)``\n\n :param x: A number\n :return: The tangent of ``x``.\n \"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Round a number towards 0.\n\n Example: ``math.trunc(-0.9)``\n\n :param x: A number\n :return: ``x`` rounded towards zero.\n \"\"\"\n ...\n\ne: float\n\"\"\"Base of the natural logarithm\"\"\"\n\npi: float\n\"\"\"The ratio of a circle's circumference to its diameter\"\"\"\n", - "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython internals.\"\"\"\n\nfrom typing import Any, TypeVar, overload\n\n_T = TypeVar(\"_T\")\n\ndef const(expr: _T) -> _T:\n \"\"\"Used to declare that the expression is a constant so that the compiler can\n optimise it.\n\n The use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\n Constants declared this way are still accessible as global variables from\n outside the module they are declared in. On the other hand, if a constant\n begins with an underscore then it is hidden, it is not available as a\n global variable, and does not take up any memory during execution.\n\n :param expr: A constant expression.\n \"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Get the current optimisation level for the compilation of scripts.\n\n Example: ``micropython.opt_level()``\n\n The optimisation level controls the following compilation features:\n\n - Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n - Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n - Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n :return: An integer representing the current level.\n \"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Sets the optimisation level for subsequent compilation of scripts.\n\n Example: ``micropython.opt_level(1)``\n\n The optimisation level controls the following compilation features:\n\n - Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n - Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n - Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n The default optimisation level is usually level 0.\n\n :param level: An integer optimisation level.\n \"\"\"\n ...\n\ndef mem_info(verbose: Any = None) -> None:\n \"\"\"Print information about currently used memory.\n\n Example: ``micropython.mem_info()``\n\n :param verbose: If the ``verbose`` argument is given then extra information is printed.\n \"\"\"\n ...\n\ndef qstr_info(verbose: Any = None) -> None:\n \"\"\"Print information about currently interned strings.\n\n Example: ``micropython.qstr_info()``\n\n :param verbose: If the ``verbose`` argument is given then extra information is printed.\n\n The information that is printed is implementation dependent, but currently\n includes the number of interned strings and the amount of RAM they use. In\n verbose mode it prints out the names of all RAM-interned strings.\n \"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Return an integer representing the current amount of stack that is being\n used.\n\n Example: ``micropython.stack_use()``\n\n The absolute value of this is not particularly useful, rather it\n should be used to compute differences in stack usage at different points.\n\n :return: An integer representing current stack use.\n \"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Lock the heap.\n\n Example: ``micropython.heap_lock()``\n\n When locked no memory allocation can occur and a ``MemoryError`` will be\n raised if any heap allocation is attempted.\n \"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Unlock the heap.\n\n Example: ``micropython.heap_unlock()``\n\n When locked no memory allocation can occur and a ``MemoryError`` will be\n raised if any heap allocation is attempted.\n \"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Set the character that will raise a ``KeyboardInterrupt`` exception.\n\n Example: ``micropython.kbd_intr(-1)``\n\n :param chr: Character code to raise the interrupt or -1 to disable capture of Ctrl-C.\n\n By default this is set to 3 during script execution, corresponding to Ctrl-C.\n Passing -1 to this function will disable capture of Ctrl-C, and passing 3\n will restore it.\n\n This function can be used to prevent the capturing of Ctrl-C on the\n incoming stream of characters that is usually used for the REPL, in case\n that stream is used for other purposes.\n \"\"\"\n ...\n", - "/typeshed/stdlib/music.pyi": "\"\"\"Create and play melodies.\n\"\"\"\nfrom typing import Optional, Tuple, Union, List\n\nfrom .microbit import MicroBitDigitalPin, pin0\n\nDADADADUM: Tuple[str, ...]\n\"\"\"Melody: the opening to Beethoven\u2019s 5th Symphony in C minor.\"\"\"\n\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melody: the opening fragment of Scott Joplin\u2019s Ragtime classic \u201cThe Entertainer\u201d.\"\"\"\n\nPRELUDE: Tuple[str, ...]\n\"\"\"Melody: the opening of the first Prelude in C Major of J.S.Bach\u2019s 48 Preludes and Fugues.\"\"\"\n\nODE: Tuple[str, ...]\n\"\"\"Melody: the \u201cOde to Joy\u201d theme from Beethoven\u2019s 9th Symphony in D minor.\"\"\"\n\nNYAN: Tuple[str, ...]\n\"\"\"Melody: the Nyan Cat theme (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\n\nRINGTONE: Tuple[str, ...]\n\"\"\"Melody: something that sounds like a mobile phone ringtone.\n\nTo be used to indicate an incoming message.\n\"\"\"\n\nFUNK: Tuple[str, ...]\n\"\"\"Melody: a funky bass line for secret agents and criminal masterminds.\"\"\"\n\nBLUES: Tuple[str, ...]\n\"\"\"Melody: a boogie-woogie 12-bar blues walking bass.\"\"\"\n\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melody: \u201cHappy Birthday to You\u2026\u201d\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\n\nWEDDING: Tuple[str, ...]\n\"\"\"Melody: the bridal chorus from Wagner\u2019s opera \u201cLohengrin\u201d.\"\"\"\n\nFUNERAL: Tuple[str, ...]\n\"\"\"Melody: the \u201cfuneral march\u201d otherwise known as Fr\u00e9d\u00e9ric Chopin\u2019s Piano Sonata No. 2 in B\u266d minor, Op. 35.\"\"\"\n\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melody: a fun fragment that signifies a joke has been made.\"\"\"\n\nPYTHON: Tuple[str, ...]\n\"\"\"Melody: John Philip Sousa\u2019s march \u201cLiberty Bell\u201d aka, the theme for \u201cMonty Python\u2019s Flying Circus\u201d (after which the Python programming language is named).\"\"\"\n\nBADDY: Tuple[str, ...]\n\"\"\"Melody: silent movie era entrance of a baddy.\"\"\"\n\nCHASE: Tuple[str, ...]\n\"\"\"Melody: silent movie era chase scene.\"\"\"\n\nBA_DING: Tuple[str, ...]\n\"\"\"Melody: a short signal to indicate something has happened.\"\"\"\n\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melody: a very sad trombone.\"\"\"\n\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melody: for use in a game, indicating upward movement.\"\"\"\n\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melody: for use in a game, indicating downward movement.\"\"\"\n\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melody: a fanfare to indicate an achievement unlocked.\"\"\"\n\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melody: a sad fanfare to indicate an achievement lost.\"\"\"\n\ndef set_tempo(ticks: int = 4, bpm: int = 120) -> None:\n \"\"\"Sets the approximate tempo for playback.\n\n Example: ``music.set_tempo(bpm=120)``\n\n :param ticks: The number of ticks constituting a beat.\n :param bpm: An integer determining how many beats per minute.\n\n Suggested default values allow the following useful behaviour:\n\n - music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n - music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n - music.set_tempo(bpm=180) \u2013 just change the tempo\n\n To work out the length of a tick in milliseconds is very simple arithmetic:\n 60000/bpm/ticks_per_beat. For the default values that\u2019s\n 60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\n \"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Gets the current tempo as a tuple of integers: ``(ticks, bpm)``.\n\n Example: ``ticks, beats = music.get_tempo()``\n\n :return: The temp as a tuple with two integer values, the ticks then the beats per minute.\n \"\"\"\n ...\n\ndef play(\n music: Union[str, List[str], Tuple[str, ...]],\n pin: Optional[MicroBitDigitalPin] = pin0,\n wait: bool = True,\n loop: bool = False,\n) -> None:\n \"\"\"Plays music.\n\n Example: ``music.play(music.NYAN)``\n\n :param music: music specified in `a special notation `_\n :param pin: the output pin for use with an external speaker (default ``pin0``), ``None`` for no sound.\n :param wait: If ``wait`` is set to ``True``, this function is blocking.\n :param loop: If ``loop`` is set to ``True``, the tune repeats until ``stop`` is called or the blocking call is interrupted.\n\n Many built-in melodies are defined in this module.\n \"\"\"\n ...\n\ndef pitch(\n frequency: int,\n duration: int = -1,\n pin: Optional[MicroBitDigitalPin] = pin0,\n wait: bool = True,\n) -> None:\n \"\"\"Play a note.\n\n Example: ``music.pitch(185, 1000)``\n\n :param frequency: An integer frequency\n :param duration: A millisecond duration. If negative then sound is continuous until the next call or a call to ``stop``.\n :param pin: Optional output pin (default ``pin0``).\n :param wait: If ``wait`` is set to ``True``, this function is blocking.\n\n For example, if the frequency is set to 440 and the length to\n 1000 then we hear a standard concert A for one second.\n\n You can only play one pitch on one pin at any one time.\n \"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin] = pin0) -> None:\n \"\"\"Stops all music playback on the built-in speaker and any pin outputting sound.\n\n Example: ``music.stop()``\n\n :param pin: An optional argument can be provided to specify a pin, e.g. ``music.stop(pin1)``.\n \"\"\"\n\ndef reset() -> None:\n \"\"\"Resets ticks, bpm, duration and octave to their default values.\n\n Example: ``music.reset()``\n\n Values:\n - ``ticks = 4``\n - ``bpm = 120``\n - ``duration = 4``\n - ``octave = 4``\n \"\"\"\n ...\n", - "/typeshed/stdlib/neopixel.pyi": "\"\"\"Individually addressable RGB and RGBW LED strips.\n\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int = 3) -> None:\n \"\"\"Initialise a new strip of neopixel LEDs controlled via a pin.\n\n Example: ``np = neopixel.NeoPixel(pin0, 8)``\n\n To support RGBW neopixels, a third argument can be passed to\n ``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\n For RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\n Each pixel is addressed by a position (starting from 0). Neopixels are\n given RGB (red, green, blue) / RGBW (red, green, blue, white) values\n between 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\n white. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\n See `the online docs `_ for warnings and other advice.\n\n :param pin: The pin controlling the neopixel strip.\n :param n: The number of neopixels in the strip.\n :param bpp: Bytes per pixel. For RGBW neopixel support, pass 4 rather than the default of 3 for RGB and GRB.\n \"\"\"\n ...\n def clear(self) -> None:\n \"\"\"Clear all the pixels.\n\n Example: ``np.clear()``\n \"\"\"\n ...\n def show(self) -> None:\n \"\"\"Show the pixels.\n\n Example: ``np.show()``\n\n Must be called for any updates to become visible.\n \"\"\"\n ...\n def write(self) -> None:\n \"\"\"Show the pixels (micro:bit V2 only).\n\n Example: ``np.write()``\n\n Must be called for any updates to become visible.\n\n Equivalent to ``show``.\n \"\"\"\n ...\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Colour all pixels a given RGB/RGBW value (micro:bit V2 only).\n\n Example: ``np.fill((0, 0, 255))``\n\n :param colour: A tuple of the same length as the number of bytes per pixel (bpp).\n\n Use in conjunction with ``show()`` to update the neopixels.\n \"\"\"\n ...\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Set a pixel colour.\n\n Example: ``np[0] = (255, 0, 0)``\n\n :param key: The pixel number.\n :param value: The colour.\n \"\"\"\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Get a pixel colour.\n\n Example: ``r, g, b = np[0]``\n\n :param key: The pixel number.\n :return: The colour tuple.\n \"\"\"\n def __len__(self) -> int:\n \"\"\"Get length of this pixel strip.\n\n Example: ``len(np)``\n \"\"\"\n", - "/typeshed/stdlib/os.pyi": "\"\"\"Access the file system.\n\"\"\"\n\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"List files.\n\n Example: ``os.listdir()``\n\n :return: A list of the names of all the files contained within the local\n persistent on-device file system.\n \"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Remove (delete) a file.\n\n Example: ``os.remove('data.txt')``\n\n :param filename: The file to delete.\n\n If the file does not exist an ``OSError`` exception will occur.\n \"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Returns the size of a file.\n\n Example: ``os.size('data.txt')``\n\n :param filename: The file\n :return: The size in bytes.\n\n If the file does not exist an ``OSError`` exception will occur.\n \"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Result of ``os.uname()``\"\"\"\n sysname: str\n \"\"\"Operating system name.\"\"\"\n\n nodename: str\n \"\"\"Name of machine on network (implementation-defined).\"\"\"\n\n release: str\n \"\"\"Operating system release.\"\"\"\n \n version: str\n \"\"\"Operating system version.\"\"\"\n \n machine: str\n \"\"\"Hardware identifier.\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Returns information identifying the current operating system.\n\n Example: ``os.uname()``\n\n The return value is an object with five attributes:\n\n - ``sysname`` - operating system name\n - ``nodename`` - name of machine on network (implementation-defined)\n - ``release`` - operating system release\n - ``version`` - operating system version\n - ``machine`` - hardware identifier\n\n There is no underlying operating system in MicroPython. As a result the\n information returned by the ``uname`` function is mostly useful for\n versioning details.\n \"\"\"\n ...\n", + "/typeshed/stdlib/machine.pyi": "\"\"\"Narz\u0119dzia niskiego poziomu.\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"Pobierz ci\u0105g bajt\u00f3w z unikatowym identyfikatorem p\u0142ytki.\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Zresetuj urz\u0105dzenie w spos\u00f3b podobny do naci\u015bni\u0119cia zewn\u0119trznego przycisku RESET.\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"Uzyskaj cz\u0119stotliwo\u015b\u0107 procesora w hercach\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"Wy\u0142\u0105cz \u017c\u0105dania przerwa\u0144.\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"Ponownie w\u0142\u0105cz \u017c\u0105dania przerwa\u0144.\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: Warto\u015b\u0107, kt\u00f3ra zosta\u0142a zwr\u00f3cona z ostatniego wywo\u0142ania funkcji ``disable_irq``.\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"Czas pulsowania na pinie.\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: Pin do u\u017cycia\n:param pulse_level: 0 do czasu niskiego pulsu lub 1 do czasu wysokiego pulsu\n:param timeout_us: Mikrosekundowy limit czasu\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"Klasa dla widok\u00f3w pami\u0119ci ``mem8``, ``mem16`` i ``mem32``.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Uzyskaj dost\u0119p do warto\u015bci z pami\u0119ci.\n\n:param address: Adres pami\u0119ci.\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"Ustaw warto\u015b\u0107 dla podanego adresu.\n\n:param address: Adres pami\u0119ci.\n:param value: Warto\u015b\u0107 ca\u0142kowita do ustawiania.\"\"\"\n ...\nmem8: mem\n\"\"\"8-bitowy widok pami\u0119ci.\"\"\"\nmem16: mem\n\"\"\"16-bitowy widok pami\u0119ci.\"\"\"\nmem32: mem\n\"\"\"32-bitowy widok pami\u0119ci.\"\"\"", + "/typeshed/stdlib/math.pyi": "\"\"\"Funkcje matematyczne.\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Obliczy\u0107 odwrotno\u015b\u0107 cosinusa.\n\nExample: ``math.acos(1)``\n\n:param x: Liczba\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Obliczy\u0107 odwrotno\u015b\u0107 sinusa.\n\nExample: ``math.asin(0)``\n\n:param x: Liczba\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Oblicz odwrotno\u015b\u0107 tangensa.\n\nExample: ``math.atan(0)``\n\n:param x: Liczba\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Oblicz warto\u015b\u0107 g\u0142\u00f3wn\u0105 odwrotno\u015bci tangensa ``y/x``.\n\nExample: ``math.atan2(0, -1)``\n\n:param y: Liczba\n:param x: Liczba\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Zaokr\u0105glij liczb\u0119 w kierunku dodatniej niesko\u0144czono\u015bci.\n\nExample: ``math.ceil(0.1)``\n\n:param x: Liczba\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Oblicz ``x`` ze znakiem ``y``.\n\nExample: ``math.copysign(1, -1)``\n\n:param x: Liczba\n:param y: \u0179r\u00f3d\u0142o znaku dla warto\u015bci zwracanej\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Oblicz cosinus ``x``.\n\nExample: ``math.cos(0)``\n\n:param x: Liczba\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Konwertuj radiany na stopnie.\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: Warto\u015b\u0107 w radianach\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Oblicz pot\u0119g\u0119 ``x``.\n\nExample: ``math.exp(1)``\n\n:param x: Liczba\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Zwr\u00f3\u0107 warto\u015b\u0107 bezwzgl\u0119dn\u0105 ``x``.\n\nExample: ``math.fabs(-0.1)``\n\n:param x: Liczba\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Zaokr\u0105glij liczb\u0119 w kierunku ujemnej niesko\u0144czono\u015bci.\n\nExample: ``math.floor(0.9)``\n\n:param x: Liczba\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Oblicz reszt\u0119 z ``x/y``.\n\nExample: ``math.fmod(10, 3)``\n\n:param x: Licznik\n:param y: Mianownik\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Rozk\u0142ada liczb\u0119 zmiennopozycyjn\u0105 na mantys\u0119 i wyk\u0142adnik.\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: Liczba zmiennopozycyjna\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"Sprawd\u017a, czy warto\u015b\u0107 jest sko\u0144czona.\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: Liczba.\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"Sprawd\u017a, czy warto\u015b\u0107 jest niesko\u0144czona.\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: Liczba.\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Sprawd\u017a, czy warto\u015b\u0107 nie jest liczb\u0105 (NaN).\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: Liczba\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Oblicz ``x * (2**exp)``.\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: Liczba\n:param exp: Wyk\u0142adnik ca\u0142kowity\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"Oblicz logarytm z ``x`` przy podanej podstawie (domy\u015blnie loggorytm naturalny).\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: Liczba\n:param base: Podstawa do u\u017cycia\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Oblicz cz\u0119\u015b\u0107 u\u0142amkow\u0105 i ca\u0142kowit\u0105 z ``x``.\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: Liczba\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Zwraca ``x`` do pot\u0119gi ``y``.\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: Liczba\n:param y: Wyk\u0142adnik\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Konwertuj stopnie na radiany.\n\nExample: ``math.radians(360)``\n\n:param x: Warto\u015b\u0107 w stopniach\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Oblicz sinus ``x``.\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: Liczba\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Oblicz pierwiastek kwadratowy z ``x``.\n\nExample: ``math.sqrt(4)``\n\n:param x: Liczba\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Oblicz tangens z ``x``.\n\nExample: ``math.tan(0)``\n\n:param x: Liczba\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Zaokr\u0105glij liczb\u0119 w kierunku 0.\n\nExample: ``math.trunc(-0.9)``\n\n:param x: Liczba\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"Podstawa logarytmu naturalnego\"\"\"\npi: float\n\"\"\"Stosunek obwodu okr\u0119gu do jego \u015brednicy\"\"\"", + "/typeshed/stdlib/micropython.pyi": "\"\"\"Wewn\u0105trz MicroPythona. (microPython)\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"S\u0142u\u017cy do zadeklarowania, \u017ce wyra\u017cenie jest sta\u0142\u0105 tak, \u017ce kompilator mo\u017ce\nje zoptymalizowa\u0107.\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: Wyra\u017cenie sta\u0142e.\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Uzyskaj obecny poziom optymalizacji dla kompilacji skrypt\u00f3w.\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Ustawia poziom optymalizacji dla p\u00f3\u017aniejszej kompilacji skrypt\u00f3w.\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: Poziom optymalizacji ca\u0142kowity.\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"Drukuj informacje o aktualnie u\u017cywanej pami\u0119ci.\n\nExample: ``micropython.mem_info()``\n\n:param verbose: Je\u015bli dany jest argument ``verbose``, drukowane s\u0105 dodatkowe informacje.\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"Drukuj informacje o aktualnie internowanych \u0142a\u0144cuchach.\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: Je\u015bli dany jest argument ``verbose``, drukowane s\u0105 dodatkowe informacje.\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Zwr\u00f3\u0107 liczb\u0119 ca\u0142kowit\u0105 reprezentuj\u0105c\u0105 aktualn\u0105 wielko\u015b\u0107 u\u017cywanego stosu\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Zablokuj stos.\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Odblokuj stos.\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Ustaw znak, kt\u00f3ry zg\u0142osi wyj\u0105tek ``KeyboardInterrupt``.\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: Kod znaku, aby zwi\u0119kszy\u0107 przerw\u0119 lub -1, aby wy\u0142\u0105czy\u0107 przechwytywanie Ctrl-C.\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", + "/typeshed/stdlib/music.pyi": "\"\"\"Tw\u00f3rz i graj w melodie.\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"Melodia: otwarcie 5. symfonii Beethovena w C minor\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melodia: fragment otwieraj\u0105cy klasyczny Scott Joplin Ragtime \"The Entertainer\".\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"Melodia: otwarcie pierwszego Preludium w C Major, 48 preludi\u00f3w i Fug J.S.Bacha.\"\"\"\nODE: Tuple[str, ...]\n\"\"\"Melodia: motyw Ody do rado\u015bci z 9. Symfonii Beethovena w D minor.\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"Melodia: motyw Nyan Kot (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"Melodia: co\u015b, co brzmi jak dzwonek telefonu kom\u00f3rkowego.\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"Melody: funkowa linia basu dla tajnych agent\u00f3w i geniuszy kryminalnych.\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"Melodia: 12-taktowy bluesowy chodz\u0105cy bas w stylu boogie-woogie.\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melodia: \"Wszystkiego najlepszego\u2026\"\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"Melodia: ch\u00f3r panny m\u0142odej z opery Wagnera \u201eLohengrin\u201d. (\u015blub)\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"Melodia: \u00bbMarsz pogrzebowy\u00ab znany jako Sonata Fortepianowa No. 2 w B\u266d minor, Op. 35 Fryderyka Chopina. (pogrzeb)\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melodia: zabawny fragment oznaczaj\u0105cy, \u017ce za\u017cartowano.\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"Melodia: Marsz John Philip Sousa \u201eLiberty Bell\u201d aka, motyw \u201eMonty Python Flating Circus\u201d (po kt\u00f3rym nazwano j\u0119zyk programowania Pythona).\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"Melodia: wej\u015bcie z\u0142ego cz\u0142owieka do ery kina niemego.\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"Melodia: scena po\u015bcigu z epoki kina niemego.\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"Melodia: kr\u00f3tki sygna\u0142 informuj\u0105cy, \u017ce co\u015b si\u0119 wydarzy\u0142o.\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melodia: bardzo smutny puzon.\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melodia: do u\u017cytku w grze, wskazuj\u0105cy ruch w g\u00f3r\u0119.\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melodia: do u\u017cytku w grze, wskazuj\u0105cy ruch w g\u00f3r\u0119.\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melodia: fanfara oznaczaj\u0105ca odblokowanie osi\u0105gni\u0119cia.\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melodia: smutna fanfara oznaczaj\u0105ca utracenie osi\u0105gni\u0119cia.\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"Ustawia przybli\u017cone tempo dla odtwarzania.\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: Liczba takt\u00f3w sk\u0142adaj\u0105cych si\u0119 na uderzenie.\n:param bpm: Liczba ca\u0142kowita okre\u015blaj\u0105ca liczb\u0119 uderze\u0144 na minut\u0119.\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Pobiera bie\u017c\u0105ce tempo jako par\u0119 liczb ca\u0142kowitych: ``(ticks, bpm)``.\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"Odtwarzaj muzyk\u0119.\n\nExample: ``music.play(music.NYAN)``\n\n:param music: muzyka okre\u015blona w `specjalnej notacji `_\n:param pin: pin wyj\u015bciowy do u\u017cycia z zewn\u0119trznym g\u0142o\u015bnikiem (domy\u015blnie ``pin0``), ``None`` dla braku d\u017awi\u0119ku.\n:param wait: Je\u015bli ``wait`` jest ustawiony na ``True``, ta funkcja jest blokowana.\n:param loop: Je\u015bli ``loop`` jest ustawiony na ``True``, melodia powtarza si\u0119, a\u017c ``stop`` jest wywo\u0142ana lub po\u0142\u0105czenie blokuj\u0105ce zostanie przerwane.\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"Zagraj nut\u0119.\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: Cz\u0119stotliwo\u015b\u0107 ca\u0142kowitoliczbowa\n:param duration: Czas trwania w milisekundach. Je\u015bli ujemny, to d\u017awi\u0119k jest ci\u0105g\u0142y a\u017c do nast\u0119pnego po\u0142\u0105czenia lub po\u0142\u0105czenia z ``stop``.\n:param pin: Opcjonalny pin wyj\u015bciowy (domy\u015blny ``pin0``).\n:param wait: Je\u015bli ``wait`` jest ustawiony na ``True``, ta funkcja jest blokowana.\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Zatrzymuje odtwarzanie muzyki na wbudowanym g\u0142o\u015bniku i jakimkolwiek pinie wyj\u015bciowym d\u017awi\u0119ku.\n\nExample: ``music.stop()``\n\n:param pin: Opcjonalny argument mo\u017ce by\u0107 podany do okre\u015blenia pinu, np. ``music.stop(pin1)``.\"\"\"\n\ndef reset() -> None:\n \"\"\"Resetuje takty, bpm, czas trwania i oktaw\u0119 do ich warto\u015bci domy\u015blnych.\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"Indywidualnie adresowalne paski LED RGB i RGBW.\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"Zainicjuj nowy pasek neopikselowych diod LED sterowanych za pomoc\u0105 pinu.\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: Pin kontroluj\u0105cy pasek neopikseli.\n:param n: Liczba neopikseli w pasku.\n:param bpp: Bajty na piksel. W przypadku obs\u0142ugi neopikseli RGBW nale\u017cy przekaza\u0107 4 zamiast domy\u015blnych 3 dla RGB i GRB.\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"Wyczy\u015b\u0107 wszystkie piksele.\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"Poka\u017c piksele.\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"Poka\u017c piksele (tylko micro:bit V2).\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Pokoloruj wszystkie piksele okre\u015blon\u0105 warto\u015bci\u0105 RGB/RGBW (tylko micro:bit V2).\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: Krotka o takiej samej d\u0142ugo\u015bci jak liczba bajt\u00f3w na piksel (bpp).\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Ustaw kolor pikseli.\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: Liczba pikseli.\n:param value: Kolor\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Uzyskaj kolor piksela.\n\nExample: ``r, g, b = np[0]``\n\n:param key: Liczba pikseli.\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"Uzyskaj d\u0142ugo\u015b\u0107 tego paska pikseli.\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/os.pyi": "\"\"\"Uzyskaj dost\u0119p do systemu plik\u00f3w.\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"Lista plik\u00f3w.\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Usu\u0144 (usu\u0144) plik.\n\nExample: ``os.remove('data.txt')``\n\n:param filename: Plik do usuni\u0119cia.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Zwraca rozmiar pliku.\n\nExample: ``os.size('data.txt')``\n\n:param filename: Plik\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Wynik ``os.uname()``\"\"\"\n sysname: str\n \"\"\"Nazwa systemu operacyjnego.\"\"\"\n nodename: str\n \"\"\"Nazwa maszyny w sieci (zdefiniowana w implementacji).\"\"\"\n release: str\n \"\"\"Wydanie systemu operacyjnego.\"\"\"\n version: str\n \"\"\"Wersja systemu operacyjnego\"\"\"\n machine: str\n \"\"\"Identyfikator sprz\u0119tu.\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Zwraca informacje identyfikuj\u0105ce bie\u017c\u0105cy system operacyjny.\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", - "/typeshed/stdlib/radio.pyi": "\"\"\"Communicate between micro:bits with the built-in radio.\n\"\"\"\n\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\n\nRATE_1MBIT: int\n\"\"\"Constant used to indicate a throughput of 1 MBit a second.\"\"\"\n\nRATE_2MBIT: int\n\"\"\"Constant used to indicate a throughput of 2 MBit a second.\"\"\"\n\ndef on() -> None:\n \"\"\"Turns the radio on.\n\n Example: ``radio.on()``\n\n This needs to be explicitly called since the radio draws power and takes\n up memory that you may otherwise need.\n \"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Turns off the radio, saving power and memory.\n\n Example: ``radio.off()``\n \"\"\"\n ...\n\ndef config(\n length: int = 32,\n queue: int = 3,\n channel: int = 7,\n power: int = 6,\n address: int = 0x75626974,\n group: int = 0,\n data_rate: int = RATE_1MBIT,\n) -> None:\n \"\"\"Configures the radio.\n\n Example: ``radio.config(group=42)``\n\n The default configuration is suitable for most use.\n\n :param length: (default=32) defines the maximum length, in bytes, of a message sent via the radio.\n It can be up to 251 bytes long (254 - 3 bytes for S0, LENGTH and S1 preamble).\n :param queue: (default=3) specifies the number of messages that can be stored on the incoming message queue.\n If there are no spaces left on the queue for incoming messages, then the incoming message is dropped.\n :param channel: (default=7) an integer value from 0 to 83 (inclusive) that defines an arbitrary \"channel\" to which the radio is tuned.\n Messages will be sent via this channel and only messages received via this channel will be put onto the incoming message queue. Each step is 1MHz wide, based at 2400MHz.\n :param power: (default=6) is an integer value from 0 to 7 (inclusive) to indicate the strength of signal used when broadcasting a message.\n The higher the value the stronger the signal, but the more power is consumed by the device. The numbering translates to positions in the following list of dBm (decibel milliwatt) values: -30, -20, -16, -12, -8, -4, 0, 4.\n :param address: (default=0x75626974) an arbitrary name, expressed as a 32-bit address, that's used to filter incoming packets at the hardware level, keeping only those that match the address you set.\n The default used by other micro:bit related platforms is the default setting used here.\n :param group: (default=0) an 8-bit value (0-255) used with the ``address`` when filtering messages.\n Conceptually, \"address\" is like a house/office address and \"group\" is like the person at that address to which you want to send your message.\n :param data_rate: (default=``radio.RATE_1MBIT``) indicates the speed at which data throughput takes place.\n Can be one of the following constants defined in the ``radio`` module: ``RATE_250KBIT``, ``RATE_1MBIT`` or ``RATE_2MBIT``.\n\n If ``config`` is not called then the defaults described above are assumed.\n \"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset the settings to their default values.\n\n Example: ``radio.reset()``\n\n The defaults as as per the ``config`` function above.\n \"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Sends a message containing bytes.\n\n Example: ``radio.send_bytes(b'hello')``\n\n :param message: The bytes to send.\n \"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Receive the next incoming message on the message queue.\n\n Example: ``radio.receive_bytes()``\n\n :return: The message bytes if any, otherwise ``None``.\n \"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Copy the next incoming message on the message queue into a buffer.\n\n Example: ``radio.receive_bytes_info(buffer)``\n\n :param buffer: The target buffer. The message is truncated if larger than the buffer.\n :return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\n \"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Sends a message string.\n\n Example: ``radio.send('hello')``\n\n This is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\n prepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n :param message: The string to send.\n \"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Works in exactly the same way as ``receive_bytes`` but returns whatever was sent.\n\n Example: ``radio.receive()``\n\n Equivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\n three bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\n may target the micro:bit).\n\n :return: The message with the prepended bytes stripped and converted to a string.\n\n A ``ValueError`` exception is raised if conversion to string fails.\n \"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Returns a tuple containing three values representing the next incoming message on the message queue.\n\n Example: ``radio.receive_full()``\n\n If there are no pending messages then ``None`` is returned.\n\n The three values in the tuple represent:\n\n - the next incoming message on the message queue as bytes.\n - the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n - a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\n For example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\n This function is useful for providing information needed for triangulation\n and/or trilateration with other micro:bit devices.\n\n :return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\n \"\"\"\n ...\n", - "/typeshed/stdlib/random.pyi": "\"\"\"Generate random numbers.\n\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"Generate an integer with ``n`` random bits.\n\n Example: ``random.getrandbits(1)``\n\n :param n: A value between 1-30 (inclusive).\n \"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Initialize the random number generator.\n\n Example: ``random.seed(0)``\n\n :param n: The integer seed\n\n This will give you reproducibly deterministic randomness from a given starting\n state (``n``).\n \"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"Choose a random integer between ``a`` and ``b`` inclusive.\n\n Example: ``random.randint(0, 9)``\n\n :param a: Start value for the range (inclusive)\n :param b: End value for the range (inclusive)\n\n Alias for ``randrange(a, b + 1)``.\n \"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"Choose a randomly selected integer between zero and up to (but not\n including) ``stop``.\n\n Example: ``random.randrange(10)``\n\n :param stop: End value for the range (exclusive)\n \"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int = 1) -> int:\n \"\"\"\n Choose a randomly selected element from ``range(start, stop, step)``.\n\n Example: ``random.randrange(0, 10)``\n\n :param start: The start of the range (inclusive)\n :param stop: The end of the range (exclusive)\n :param step: The step.\n \"\"\"\n ...\n\n_T = TypeVar(\"_T\")\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"Choose a random element from the non-empty sequence ``seq``.\n\n Example: ``random.choice([Image.HAPPY, Image.SAD])``\n\n :param seq: A sequence.\n\n If ``seq`` is empty, raises ``IndexError``.\n \"\"\"\n ...\n\ndef random() -> float:\n \"\"\"Generate a random floating point number in the range [0.0, 1.0).\n\n Example: ``random.random()``\n\n :return: The random floating point number\n \"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"\n Return a random floating point number between ``a`` and ``b`` inclusive.\n\n Example: ``random.uniform(0, 9)``\n\n :param a: Start value for the range (inclusive)\n :param b: End value for the range (inclusive)\n \"\"\"\n ...\n", - "/typeshed/stdlib/speech.pyi": "\"\"\"Make the micro:bit talk, sing and make other speech like sounds.\n\"\"\"\n\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"Translate English words to phonemes.\n\n Example: ``speech.translate('hello world')``\n\n :param words: A string of English words.\n :return: A string containing a best guess at the appropriate phonemes to pronounce.\n The output is generated from this `text to phoneme translation table `_.\n\n This function should be used to generate a first approximation of phonemes\n that can be further hand-edited to improve accuracy, inflection and\n emphasis.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef pronounce(\n phonemes: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: Optional[MicroBitDigitalPin] = pin0,\n) -> None:\n \"\"\"Pronounce phonemes.\n\n Example: ``speech.pronounce(' /HEHLOW WERLD')``\n\n :param phonemes: The string of phonemes to pronounce\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n Override the optional pitch, speed, mouth and throat settings to change the\n timbre (quality) of the voice.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef say(\n words: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: MicroBitDigitalPin = pin0,\n) -> None:\n \"\"\"Say English words.\n\n Example: ``speech.say('hello world')``\n\n :param words: The string of words to say.\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n The result is semi-accurate for English. Override the optional pitch, speed,\n mouth and throat settings to change the timbre (quality) of the voice.\n\n This is a short-hand equivalent of:\n ``speech.pronounce(speech.translate(words))``\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef sing(\n phonemes: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: MicroBitDigitalPin = pin0,\n) -> None:\n \"\"\"Sing phonemes.\n\n Example: ``speech.sing(' /HEHLOW WERLD')``\n\n :param phonemes: The string of words to sing.\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n Override the optional pitch, speed, mouth and throat settings to change\n the timbre (quality) of the voice.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n", - "/typeshed/stdlib/struct.pyi": "\"\"\"Pack and unpack primitive data types.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"Get the number of bytes needed to store the given ``fmt``.\n\n Example: ``struct.calcsize('hf')``\n\n :param fmt: A format string.\n :return The number of bytes needed to store such a value.\n \"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"Pack values according to a format string.\n\n Example: ``struct.pack('hf', 1, 3.1415)``\n\n :param fmt: The format string.\n :param v1: The first value.\n :param *vn: The remaining values.\n :return A bytes object encoding the values.\n \"\"\"\n ...\n\ndef pack_into(\n fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any\n) -> None:\n \"\"\"Pack values according to a format string.\n\n Example: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n :param fmt: The format string.\n :param buffer: The target buffer to write into.\n :param offset: The offset into the buffer. May be negative to count from the end of the buffer.\n :param v1: The first value.\n :param *vn: The remaining values.\n \"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"Unpack data according to a format string.\n\n Example: ``v1, v2 = struct.unpack('hf', buffer)``\n\n :param fmt: The format string.\n :param data: The data.\n :return: A tuple of the unpacked values.\n \"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int = 0) -> Tuple:\n \"\"\"Unpack data from a buffer according to a format string.\n\n Example: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n :param fmt: The format string.\n :param buffer: The source buffer to read from.\n :param offset: The offset into the buffer. May be negative to count from the end of the buffer.\n :return: A tuple of the unpacked values.\n \"\"\"\n ...\n", - "/typeshed/stdlib/sys.pyi": "\"\"\"System specific functions\"\"\"\n\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object = ...) -> NoReturn:\n \"\"\"Terminate current program with a given exit code.\n\n Example: ``sys.exit(1)``\n\n This function raises a ``SystemExit`` exception. If an argument is given, its\n value given as an argument to ``SystemExit``.\n\n :param retval: The exit code or message.\n \"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"\n Print an exception with a traceback.\n\n Example: ``sys.print_exception(e)``\n\n :param exc: The exception to print\n\n This is simplified version of a function which appears in the\n ``traceback`` module in CPython.\n \"\"\"\n\nargv: List[str]\n\"\"\"A mutable list of arguments the current program was started with.\"\"\"\n\nbyteorder: str\n\"\"\"The byte order of the system (``\"little\"`` or ``\"big\"``).\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\n\nimplementation: _implementation\n\"\"\"Object with information about the current Python implementation.\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\n\nmaxsize: int\n\"\"\"\nMaximum value which a native integer type can hold on the current platform,\nor maximum value representable by MicroPython integer type, if it's smaller\nthan platform max value (that is the case for MicroPython ports without\nlong int support).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\n\nmodules: Dict[str, Any]\n\"\"\"Dictionary of loaded modules. \n\nOn some ports, it may not include builtin modules.\"\"\"\n\npath: List[str]\n\"\"\"A mutable list of directories to search for imported modules.\"\"\"\n\nplatform: str\n\"\"\"The platform that MicroPython is running on. \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\n\nversion: str\n\"\"\"Python language version that this implementation conforms to, as a string.\"\"\"\n\nversion_info: Tuple[int, int, int]\n\"\"\"Python language version that this implementation conforms to, as a tuple of ints.\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"\n", + "/typeshed/stdlib/radio.pyi": "\"\"\"Komunikuj si\u0119 pomi\u0119dzy micro:bitami za pomoc\u0105 wbudowanego radia.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"Sta\u0142a u\u017cywana do wskazania przepustowo\u015bci 1 MBit na sekund\u0119.\"\"\"\nRATE_2MBIT: int\n\"\"\"Sta\u0142a u\u017cywana do wskazania przepustowo\u015bci 2 MBit na sekund\u0119.\"\"\"\n\ndef on() -> None:\n \"\"\"W\u0142\u0105cza radio\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Wy\u0142\u0105cza radio, oszcz\u0119dzaj\u0105c energi\u0119 i pami\u0119\u0107.\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"Konfiguruje radio.\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (default=32) definiuje maksymaln\u0105 d\u0142ugo\u015b\u0107 w bajtach wiadomo\u015bci wysy\u0142anej przez radio.\nMo\u017ce mie\u0107 d\u0142ugo\u015b\u0107 do 251 bajt\u00f3w (254 - 3 bajty dla S0, LENGTH i S1).\n:param queue: (default=3) okre\u015bla liczb\u0119 wiadomo\u015bci, kt\u00f3re mog\u0105 by\u0107 przechowywane w kolejce przychodz\u0105cych wiadomo\u015bci.\nJe\u015bli w kolejce na wiadomo\u015bci przychodz\u0105ce nie ma ju\u017c wolnych miejsc, wiadomo\u015b\u0107 przychodz\u0105ca jest odrzucana.\n:param channel: (default=7) warto\u015b\u0107 ca\u0142kowita od 0 do 83 (w\u0142\u0105cznie), kt\u00f3ra definiuje dowolny \u201ekana\u0142\u201d, do kt\u00f3rego dostrojone jest radio.\nWiadomo\u015bci b\u0119d\u0105 wysy\u0142ane za po\u015brednictwem tego kana\u0142u i tylko wiadomo\u015bci otrzymane za po\u015brednictwem tego kana\u0142u zostan\u0105 umieszczone w kolejce wiadomo\u015bci przychodz\u0105cych. Ka\u017cdy stopie\u0144 ma szeroko\u015b\u0107 1 MHz w oparciu o cz\u0119stotliwo\u015b\u0107 2400 MHz.\n:param power: (default=6) jest liczb ca\u0142kowit\u0105 od 0 do 7 (w\u0142\u0105cznie) do oznaczenia si\u0142y sygna\u0142u u\u017cywanego podczas nadawania wiadomo\u015bci.\nIm wy\u017csza warto\u015b\u0107, tym silniejszy jest sygna\u0142, ale tym wi\u0119ksza moc jest zu\u017cywana przez urz\u0105dzenie. Numeracja przek\u0142ada si\u0119 na pozycje w nast\u0119puj\u0105cym wykazie warto\u015bci dBm (decybel miliwat): -30, -20, -16, -12, -8, -4, 0, 4.\n:param address: (default=0x75626974) dowolna nazwa wyra\u017cona jako 32-bitowy adres, u\u017cywana do filtrowania przychodz\u0105cych pakiet\u00f3w na poziomie sprz\u0119towym, zatrzymuj\u0105c tylko te, kt\u00f3re odpowiadaj\u0105 ustawionemu adresowi.\nDomy\u015blnym ustawieniem u\u017cywanym przez inne platformy powi\u0105zane z micro:bitem jest ustawienie domy\u015blne u\u017cywane tutaj.\n:param group: (default=0) 8-bitowa warto\u015b\u0107 (0-255) u\u017cywana wraz z ``address`` podczas filtrowania wiadomo\u015bci.\nKoncepcyjnie, \"adres\" jest jak adres domu/biura, a \"grupa\" jest jak osoba pod tym adresem, na kt\u00f3ry chcesz wys\u0142a\u0107 swoj\u0105 wiadomo\u015b\u0107.\n:param data_rate: (default=``radio.RATE_1MBIT``) wskazuje pr\u0119dko\u015b\u0107, z jak\u0105 odbywa si\u0119 przesy\u0142anie danych.\nMo\u017ce by\u0107 jedn\u0105 z nast\u0119puj\u0105cych sta\u0142ych zdefiniowanych w module ``radio``:``RATE_250KBIT``, ``RATE_1MBIT`` lub ``RATE_2MBIT``.\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Resetuj ustawienia do ich warto\u015bci domy\u015blnych.\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Wysy\u0142a wiadomo\u015b\u0107 zawieraj\u0105c\u0105 bajty.\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: Bajty do wys\u0142ania.\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Otrzymuj nast\u0119pn\u0105 przychodz\u0105c\u0105 wiadomo\u015b\u0107 w kolejce wiadomo\u015bci.\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Skopiuj nast\u0119pn\u0105 wiadomo\u015b\u0107 przychodz\u0105c\u0105 do kolejki wiadomo\u015bci w buforze.\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: Bufor docelowy. Wiadomo\u015b\u0107 jest obcinana, je\u015bli jest wi\u0119ksza ni\u017c bufor.\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Wysy\u0142a \u0142a\u0144cuch wiadomo\u015bci.\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: \u0141a\u0144cuch do wys\u0142ania.\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Dzia\u0142a dok\u0142adnie w taki sam spos\u00f3b, jak ``receive_bytes``, ale zwraca cokolwiek zosta\u0142o wys\u0142ane. (odbierz)\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Zwraca krotk\u0119 zawieraj\u0105c\u0105 trzy warto\u015bci reprezentuj\u0105ce nast\u0119pn\u0105 wiadomo\u015b\u0107 przychodz\u0105c\u0105 do kolejki wiadomo\u015bci.\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", + "/typeshed/stdlib/random.pyi": "\"\"\"Generuj liczb losowe. (losowy)\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"Wygeneruj liczb\u0119 ca\u0142kowit\u0105 z ``n`` losowymi bitami.\n\nExample: ``random.getrandbits(1)``\n\n:param n: Warto\u015b\u0107 mi\u0119dzy 1\u201330 (w\u0142\u0105cznie).\"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Zainicjuj generator liczb losowych.\n\nExample: ``random.seed(0)``\n\n:param n: Ca\u0142kowity zarodek\n\nThis will give you reproducibly deterministic randomness from a given starting\nstate (``n``).\"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"Wybierz losow\u0105 liczb\u0119 ca\u0142kowit\u0105 pomi\u0119dzy ``a`` i ``b`` w\u0142\u0105cznie.\n\nExample: ``random.randint(0, 9)``\n\n:param a: Warto\u015b\u0107 pocz\u0105tkowa dla zakresu (w\u0142\u0105cznie)\n:param b: Warto\u015b\u0107 ko\u0144cowa dla zakresu (wy\u0142\u0105cznie)\n\nAlias for ``randrange(a, b + 1)``.\"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"Wybierz losowo wybran\u0105 liczb\u0119 ca\u0142kowit\u0105 mi\u0119dzy zero a\u017c do (ale nie\nw\u0142\u0105cznie) ``stop``.\n\nExample: ``random.randrange(10)``\n\n:param stop: Warto\u015b\u0107 ko\u0144cowa zakresu (wy\u0142\u0105cznie)\"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int=1) -> int:\n \"\"\"Wybierz losowo wybrany element z ``range(start, stop, step)``.\n\nExample: ``random.randrange(0, 10)``\n\n:param start: Pocz\u0105tek zakresu (w\u0142\u0105cznie)\n:param stop: Koniec zakresu (wy\u0142\u0105cznie)\n:param step: Krok\"\"\"\n ...\n_T = TypeVar('_T')\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"Wybierz losowy element z niepustego cigu ``seq``.\n\nExample: ``random.choice([Image.HAPPY, Image.SAD])``\n\n:param seq: Cig.\n\nIf ``seq`` is empty, raises ``IndexError``.\"\"\"\n ...\n\ndef random() -> float:\n \"\"\"Wygeneruj losow\u0105 liczb\u0119 zmiennopozycyjn\u0105 w zakresie [0.0, 1.0).\n\nExample: ``random.random()``\n\n:return: The random floating point number\"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"Zwr\u00f3\u0107 losow\u0105 liczb\u0119 zmiennopozycyjn\u0142\u0105 mi\u0119dzy ``a`` i ``b``.\n\nExample: ``random.uniform(0, 9)``\n\n:param a: Warto\u015b\u0107 pocz\u0105tkowa dla zakresu (w\u0142\u0105cznie)\n:param b: Warto\u015b\u0107 ko\u0144cowa dla zakresu (wy\u0142\u0105cznie)\"\"\"\n ...", + "/typeshed/stdlib/speech.pyi": "\"\"\"Spraw, by micro:bit m\u00f3wi\u0142, \u015bpiewa\u0142 i tworzy\u0142 inne d\u017awi\u0119ki podobne do mowy.\"\"\"\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"T\u0142umacz angielskie s\u0142owa na fonemy.\n\nExample: ``speech.translate('hello world')``\n\n:param words: \u0141a\u0144cuch s\u0142\u00f3w angielskich.\n:return: A string containing a best guess at the appropriate phonemes to pronounce.\nThe output is generated from this `text to phoneme translation table `_.\n\nThis function should be used to generate a first approximation of phonemes\nthat can be further hand-edited to improve accuracy, inflection and\nemphasis.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef pronounce(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"Wym\u00f3w fonemy.\n\nExample: ``speech.pronounce(' /HEHLOW WERLD')``\n\n:param phonemes: \u0141a\u0144cuch fonem\u00f3w do wym\u00f3wienia\n:param pitch: Liczba reprezentuj\u0105ca wysoko\u015b\u0107 g\u0142osu\n:param speed: Liczba reprezentuj\u0105ca szybko\u015b\u0107 g\u0142osu\n:param mouth: Liczba reprezentuj\u0105ca usta g\u0142osu\n:param throat: Liczba reprezentuj\u0105ca gard\u0142o g\u0142osu\n:param pin: Opcjonalny argument do okre\u015blenia pinu wyj\u015bciowego mo\u017ce by\u0107 u\u017cyty do nadpisania domy\u015blnej warto\u015bci ``pin0``.\nJe\u015bli nie chcemy, aby jakikolwiek d\u017awi\u0119k wydobywa\u0142 si\u0119 z pin\u00f3w, mo\u017cemy u\u017cy\u0107 ``pin=None``. Tylko micro:bit V2.\n\nOverride the optional pitch, speed, mouth and throat settings to change the\ntimbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef say(words: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Powiedz angielskie s\u0142owa.\n\nExample: ``speech.say('hello world')``\n\n:param words: \u0141a\u0144cuch s\u0142\u00f3w do powiedzenia.\n:param pitch: Liczba reprezentuj\u0105ca wysoko\u015b\u0107 g\u0142osu\n:param speed: Liczba reprezentuj\u0105ca szybko\u015b\u0107 g\u0142osu\n:param mouth: Liczba reprezentuj\u0105ca usta g\u0142osu\n:param throat: Liczba reprezentuj\u0105ca gard\u0142o g\u0142osu\n:param pin: Opcjonalny argument do okre\u015blenia pinu wyj\u015bciowego mo\u017ce by\u0107 u\u017cyty do nadpisania domy\u015blnej warto\u015bci ``pin0``.\nJe\u015bli nie chcemy, aby jakikolwiek d\u017awi\u0119k wydobywa\u0142 si\u0119 z pin\u00f3w, mo\u017cemy u\u017cy\u0107 ``pin=None``. Tylko micro:bit V2.\n\nThe result is semi-accurate for English. Override the optional pitch, speed,\nmouth and throat settings to change the timbre (quality) of the voice.\n\nThis is a short-hand equivalent of:\n``speech.pronounce(speech.translate(words))``\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef sing(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"Za\u015bpiewaj fonemy.\n\nExample: ``speech.sing(' /HEHLOW WERLD')``\n\n:param phonemes: \u0141a\u0144cuch s\u0142\u00f3w do za\u015bpiewania.\n:param pitch: Liczba reprezentuj\u0105ca wysoko\u015b\u0107 g\u0142osu\n:param speed: Liczba reprezentuj\u0105ca szybko\u015b\u0107 g\u0142osu\n:param mouth: Liczba reprezentuj\u0105ca usta g\u0142osu\n:param throat: Liczba reprezentuj\u0105ca gard\u0142o g\u0142osu\n:param pin: Opcjonalny argument do okre\u015blenia pinu wyj\u015bciowego mo\u017ce by\u0107 u\u017cyty do nadpisania domy\u015blnej warto\u015bci ``pin0``.\nJe\u015bli nie chcemy, aby jakikolwiek d\u017awi\u0119k wydobywa\u0142 si\u0119 z pin\u00f3w, mo\u017cemy u\u017cy\u0107 ``pin=None``. Tylko micro:bit V2.\n\nOverride the optional pitch, speed, mouth and throat settings to change\nthe timbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...", + "/typeshed/stdlib/struct.pyi": "\"\"\"Pakuj i rozpakowuj prymitywne typy danych.\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"Uzyskaj liczb\u0119 bajt\u00f3w potrzebnych do przechowywania podanego ``fmt``.\n\nExample: ``struct.calcsize('hf')``\n\n:param fmt: \u0141a\u0144cuch formatu.\n:return The number of bytes needed to store such a value.\"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"Upakuj warto\u015bci zgodnie z \u0142\u0144cuchem formatu.\n\nExample: ``struct.pack('hf', 1, 3.1415)``\n\n:param fmt: \u0141a\u0144cuch formatu.\n:param v1: Pierwsza warto\u015b\u0107.\n:param *vn: Pozosta\u0142e warto\u015bci.\n:return A bytes object encoding the values.\"\"\"\n ...\n\ndef pack_into(fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any) -> None:\n \"\"\"Upakuj warto\u015bci zgodnie z \u0142\u0144cuchem formatu.\n\nExample: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n:param fmt: \u0141a\u0144cuch formatu.\n:param buffer: Bufor docelowy do zapisu.\n:param offset: Przesuni\u0119cie do bufora. Warto\u015b\u0107 ujemna mo\u017ce by\u0107 liczona od ko\u0144ca bufora.\n:param v1: (w1) Pierwsza warto\u015b\u0107.\n:param *vn: Pozosta\u0142e warto\u015bci.\"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"Rozpakuj dane zgodnie z \u0142a\u0144cuchem formatu.\n\nExample: ``v1, v2 = struct.unpack('hf', buffer)``\n\n:param fmt: \u0141a\u0144cuch formatu.\n:param data: Dane\n:return: A tuple of the unpacked values.\"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int=0) -> Tuple:\n \"\"\"Rozpakuj dane z buforu zgodnie z \u0142a\u0144cuchem formatu.\n\nExample: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n:param fmt: \u0141a\u0144cuch formatu.\n:param buffer: Bufor \u017ar\u00f3d\u0142owy do odczytu.\n:param offset: Przesuni\u0119cie do bufora. Warto\u015b\u0107 ujemna mo\u017ce by\u0107 liczona od ko\u0144ca bufora.\n:return: A tuple of the unpacked values.\"\"\"\n ...", + "/typeshed/stdlib/sys.pyi": "\"\"\"Funkcje specyficzne dla systemu\"\"\"\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object=...) -> NoReturn:\n \"\"\"Zako\u0144cz bie\u017c\u0105cy program z podanym kodem wyj\u015bcia.\n\nExample: ``sys.exit(1)``\n\nThis function raises a ``SystemExit`` exception. If an argument is given, its\nvalue given as an argument to ``SystemExit``.\n\n:param retval: Kod lub wiadomo\u015b\u0107 wyj\u015bciowa.\"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"Wydrukuj wyj\u0105tek ze \u015bledzeniem.\n\nExample: ``sys.print_exception(e)``\n\n:param exc: Wyj\u0105tek do wydrukowania\n\nThis is simplified version of a function which appears in the\n``traceback`` module in CPython.\"\"\"\nargv: List[str]\n\"\"\"Zmienna lista argument\u00f3w, od kt\u00f3rych uruchomiono bie\u017c\u0105cy program.\"\"\"\nbyteorder: str\n\"\"\"Kolejno\u015b\u0107 bajt\u00f3w systemu (``\"little\"`` lub ``\"big\"``).\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\nimplementation: _implementation\n\"\"\"Obiekt z informacjami o bie\u017c\u0105cej implementacji Pythona.\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\nmaxsize: int\n\"\"\"\nMaksymalna warto\u015b\u0107, jak\u0105 mo\u017ce przechowywa\u0107 natywny typ ca\u0142kowity na bie\u017c\u0105cej platformie,\nlub maksymalna warto\u015b\u0107 reprezentowana przez typ ca\u0142kowity MicroPythona, je\u015bli jest mniejsza\nni\u017c maksymalna warto\u015b\u0107 platformy (tak jest w przypadku port\u00f3w MicroPython bez\nwsparcia long int).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\nmodules: Dict[str, Any]\n\"\"\"S\u0142ownik za\u0142adowanych modu\u0142\u00f3w. \n\nOn some ports, it may not include builtin modules.\"\"\"\npath: List[str]\n\"\"\"Zmienna lista katalog\u00f3w do wyszukiwania importowanych modu\u0142\u00f3w.\"\"\"\nplatform: str\n\"\"\"Platforma na kt\u00f3rej dzia\u0142a MicroPython. \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\nversion: str\n\"\"\"Wersja Pythona, z kt\u00f3r\u0105 ta implementacja jest zgodna, jako \u0142a\u0144cuch.\"\"\"\nversion_info: Tuple[int, int, int]\n\"\"\"Wersja Pythona, z kt\u00f3r\u0105 ta implementacja jest zgodna, jako krotka typu int.\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"", "/typeshed/stdlib/this.pyi": "def authors() -> str: ...\n", - "/typeshed/stdlib/time.pyi": "\"\"\"Measure time and add delays to programs.\n\"\"\"\n\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"\n Delay a number of seconds.\n\n Example: ``time.sleep(1)``\n\n :param seconds: The number of seconds to sleep for.\n Use a floating-point number to sleep for a fractional number of seconds.\n \"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"\n Delay for given number of milliseconds.\n\n Example: ``time.sleep_ms(1_000_000)``\n\n :param ms: The number of milliseconds delay (>= 0).\n \"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"\n Delay for given number of microseconds.\n\n Example: ``time.sleep_us(1000)``\n\n :param us: The number of microseconds delay (>= 0).\n \"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"\n Get an increasing, millisecond counter with an arbitrary reference point,\n that wraps around after some value.\n\n Example: ``time.ticks_ms()``\n\n :return: The counter value in milliseconds.\n \"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"\n Get an increasing, microsecond counter with an arbitrary reference point,\n that wraps around after some value.\n\n Example: ``time.ticks_us()``\n\n :return: The counter value in microseconds.\n \"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"\n Offset ticks value by a given number, which can be either positive or\n negative.\n\n Example: ``time.ticks_add(time.ticks_ms(), 200)``\n\n Given a ticks value, this function allows to calculate ticks\n value delta ticks before or after it, following modular-arithmetic\n definition of tick values.\n\n :param ticks: A ticks value\n :param delta: An integer offset\n\n Example::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\n \"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"\n Measure ticks difference between values returned from\n ``time.ticks_ms()`` or ``ticks_us()``, as a signed value\n which may wrap around.\n\n Example: ``time.ticks_diff(scheduled_time, now)``\n\n :param ticks1: The value to subtract from\n :param ticks2: The value to subtract\n\n The argument order is the same as for subtraction operator,\n ``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n ``ticks_diff()`` is designed to accommodate various usage\n patterns, among them:\n\n Polling with timeout. In this case, the order of events is known, and you\n will deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\n Scheduling events. In this case, :func:`time.ticks_diff()` result may be\n negative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\n \"\"\"\n ...\n", + "/typeshed/stdlib/time.pyi": "\"\"\"Zmierz czas i dodaj op\u00f3\u017anienia do program\u00f3w.\"\"\"\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"Op\u00f3\u017anij kilka sekund.\n\nExample: ``time.sleep(1)``\n\n:param seconds: Liczba sekund snu.\nU\u017cyj liczby zmiennopozycyjnej, aby spa\u0107 przez u\u0142amkow\u0105 cz\u0119\u015b\u0107 sekund.\"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"Op\u00f3\u017anij o podan\u0105 liczb\u0119 milisekund.\n\nExample: ``time.sleep_ms(1_000_000)``\n\n:param ms: Liczba milisekund op\u00f3\u017anienia (>= 0).\"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"Op\u00f3\u017anij o podan\u0105 liczb\u0119 milisekund.\n\nExample: ``time.sleep_us(1000)``\n\n:param us: Liczba milisekund op\u00f3\u017anienia (>= 0).\"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"Uzyskaj rosn\u0105cy licznik milisekundowy z dowolnym punktem odniesienia,\nkt\u00f3ry zawija si\u0119 po pewnej warto\u015bci.\n\nExample: ``time.ticks_ms()``\n\n:return: The counter value in milliseconds.\"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"Uzyskaj rosn\u0105cy licznik milisekundowy z dowolnym punktem odniesienia,\nkt\u00f3ry zawija si\u0119 po pewnej warto\u015bci.\n\nExample: ``time.ticks_us()``\n\n:return: The counter value in microseconds.\"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"Przesuni\u0119cie zaznacza warto\u015b\u0107 o podan\u0105 liczb\u0119, kt\u00f3ra mo\u017ce by\u0107 dodatnia lub\nnegatywny.\n.\n\nExample: ``time.ticks_add(time.ticks_ms(), 200)``\n\nGiven a ticks value, this function allows to calculate ticks\nvalue delta ticks before or after it, following modular-arithmetic\ndefinition of tick values.\n\n:param ticks: Warto\u015b\u0107 tick\u00f3w\n:param delta: Przesuni\u0119cie o liczb\u0119 ca\u0142kowit\u0105\n\nExample::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"Zmierz r\u00f3\u017cnic\u0119 tick\u00f3w mi\u0119dzy warto\u015bciami zwr\u00f3conymi z\n``time.ticks_ms()`` lub ``ticks_us()``, jako warto\u015b\u0107 ze znakiem, \nkt\u00f3ra mo\u017ce si\u0119 zawija\u0107.\n\nExample: ``time.ticks_diff(scheduled_time, now)``\n\n:param ticks1: Warto\u015b\u0107 do odejmowania od\n:param ticks2: Warto\u015b\u0107 do odejmowania\n\nThe argument order is the same as for subtraction operator,\n``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n``ticks_diff()`` is designed to accommodate various usage\npatterns, among them:\n\nPolling with timeout. In this case, the order of events is known, and you\nwill deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\nScheduling events. In this case, :func:`time.ticks_diff()` result may be\nnegative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\"\"\"\n ...", "/typeshed/stdlib/types.pyi": "import sys\nfrom typing import (\n Any,\n AsyncGenerator,\n Awaitable,\n Callable,\n Generator,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n Tuple,\n Type,\n TypeVar,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, final\n\n# Note, all classes \"defined\" here require special handling.\n\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_V_co = TypeVar(\"_V_co\", covariant=True)\n\n@final\nclass _Cell:\n __hash__: None # type: ignore\n cell_contents: Any\n\n@final\nclass FunctionType:\n __closure__: Tuple[_Cell, ...] | None\n __code__: CodeType\n __defaults__: Tuple[Any, ...] | None\n __dict__: dict[str, Any]\n __globals__: dict[str, Any]\n __name__: str\n __qualname__: str\n __annotations__: dict[str, Any]\n __kwdefaults__: dict[str, Any]\n def __init__(\n self,\n code: CodeType,\n globals: dict[str, Any],\n name: str | None = ...,\n argdefs: Tuple[object, ...] | None = ...,\n closure: Tuple[_Cell, ...] | None = ...,\n ) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: object | None, type: type | None) -> MethodType: ...\n\nLambdaType = FunctionType\n\n@final\nclass CodeType:\n \"\"\"Create a code object. Not for the faint of heart.\"\"\"\n\n co_argcount: int\n if sys.version_info >= (3, 8):\n co_posonlyargcount: int\n co_kwonlyargcount: int\n co_nlocals: int\n co_stacksize: int\n co_flags: int\n co_code: bytes\n co_consts: Tuple[Any, ...]\n co_names: Tuple[str, ...]\n co_varnames: Tuple[str, ...]\n co_filename: str\n co_name: str\n co_firstlineno: int\n co_lnotab: bytes\n co_freevars: Tuple[str, ...]\n co_cellvars: Tuple[str, ...]\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n argcount: int,\n posonlyargcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n else:\n def __init__(\n self,\n argcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n if sys.version_info >= (3, 8):\n def replace(\n self,\n *,\n co_argcount: int = ...,\n co_posonlyargcount: int = ...,\n co_kwonlyargcount: int = ...,\n co_nlocals: int = ...,\n co_stacksize: int = ...,\n co_flags: int = ...,\n co_firstlineno: int = ...,\n co_code: bytes = ...,\n co_consts: Tuple[Any, ...] = ...,\n co_names: Tuple[str, ...] = ...,\n co_varnames: Tuple[str, ...] = ...,\n co_freevars: Tuple[str, ...] = ...,\n co_cellvars: Tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_lnotab: bytes = ...,\n ) -> CodeType: ...\n\n@final\nclass MappingProxyType(Mapping[_KT, _VT_co], Generic[_KT, _VT_co]):\n __hash__: None # type: ignore\n def __init__(self, mapping: Mapping[_KT, _VT_co]) -> None: ...\n def __getitem__(self, k: _KT) -> _VT_co: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __len__(self) -> int: ...\n def copy(self) -> dict[_KT, _VT_co]: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def items(self) -> ItemsView[_KT, _VT_co]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def __or__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n def __ror__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n\nclass SimpleNamespace:\n __hash__: None # type: ignore\n def __init__(self, **kwargs: Any) -> None: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __delattr__(self, name: str) -> None: ...\n\nclass ModuleType:\n __name__: str\n __file__: str\n __dict__: dict[str, Any]\n __package__: str | None\n def __init__(self, name: str, doc: str | None = ...) -> None: ...\n\n@final\nclass GeneratorType(Generator[_T_co, _T_contra, _V_co]):\n gi_code: CodeType\n gi_frame: FrameType\n gi_running: bool\n gi_yieldfrom: GeneratorType[_T_co, _T_contra, Any] | None\n def __iter__(self) -> GeneratorType[_T_co, _T_contra, _V_co]: ...\n def __next__(self) -> _T_co: ...\n def close(self) -> None: ...\n def send(self, __arg: _T_contra) -> _T_co: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> _T_co: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> _T_co: ...\n\n@final\nclass AsyncGeneratorType(AsyncGenerator[_T_co, _T_contra]):\n ag_await: Awaitable[Any] | None\n ag_frame: FrameType\n ag_running: bool\n ag_code: CodeType\n def __aiter__(self) -> AsyncGeneratorType[_T_co, _T_contra]: ...\n def __anext__(self) -> Awaitable[_T_co]: ...\n def asend(self, __val: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Awaitable[_T_co]: ...\n def aclose(self) -> Awaitable[None]: ...\n\n@final\nclass CoroutineType:\n cr_await: Any | None\n cr_code: CodeType\n cr_frame: FrameType\n cr_running: bool\n def close(self) -> None: ...\n def send(self, __arg: Any) -> Any: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Any: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Any: ...\n\nclass _StaticFunctionType:\n \"\"\"Fictional type to correct the type of MethodType.__func__.\n\n FunctionType is a descriptor, so mypy follows the descriptor protocol and\n converts MethodType.__func__ back to MethodType (the return type of\n FunctionType.__get__). But this is actually a special case; MethodType is\n implemented in C and its attribute access doesn't go through\n __getattribute__.\n\n By wrapping FunctionType in _StaticFunctionType, we get the right result;\n similar to wrapping a function in staticmethod() at runtime to prevent it\n being bound as a method.\n \"\"\"\n\n def __get__(self, obj: object | None, type: type | None) -> FunctionType: ...\n\n@final\nclass MethodType:\n __closure__: Tuple[_Cell, ...] | None # inherited from the added function\n __defaults__: Tuple[Any, ...] | None # inherited from the added function\n __func__: _StaticFunctionType\n __self__: object\n __name__: str # inherited from the added function\n __qualname__: str # inherited from the added function\n def __init__(self, func: Callable[..., Any], obj: object) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\n@final\nclass BuiltinFunctionType:\n __self__: object | ModuleType\n __name__: str\n __qualname__: str\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\nBuiltinMethodType = BuiltinFunctionType\n\nif sys.version_info >= (3, 7):\n @final\n class WrapperDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class MethodWrapperType:\n __self__: object\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, other: Any) -> bool: ...\n def __ne__(self, other: Any) -> bool: ...\n @final\n class MethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class ClassMethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n\n@final\nclass TracebackType:\n if sys.version_info >= (3, 7):\n def __init__(\n self,\n tb_next: TracebackType | None,\n tb_frame: FrameType,\n tb_lasti: int,\n tb_lineno: int,\n ) -> None: ...\n tb_next: TracebackType | None\n else:\n @property\n def tb_next(self) -> TracebackType | None: ...\n # the rest are read-only even in 3.7\n @property\n def tb_frame(self) -> FrameType: ...\n @property\n def tb_lasti(self) -> int: ...\n @property\n def tb_lineno(self) -> int: ...\n\n@final\nclass FrameType:\n f_back: FrameType | None\n f_builtins: dict[str, Any]\n f_code: CodeType\n f_globals: dict[str, Any]\n f_lasti: int\n f_lineno: int\n f_locals: dict[str, Any]\n f_trace: Callable[[FrameType, str, Any], Any] | None\n if sys.version_info >= (3, 7):\n f_trace_lines: bool\n f_trace_opcodes: bool\n def clear(self) -> None: ...\n\n@final\nclass GetSetDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\n@final\nclass MemberDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nif sys.version_info >= (3, 7):\n def new_class(\n name: str,\n bases: Iterable[object] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n def resolve_bases(bases: Iterable[object]) -> Tuple[Any, ...]: ...\n\nelse:\n def new_class(\n name: str,\n bases: Tuple[type, ...] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n\ndef prepare_class(\n name: str, bases: Tuple[type, ...] = ..., kwds: dict[str, Any] | None = ...\n) -> Tuple[type, dict[str, Any], dict[str, Any]]: ...\n\n# Actually a different type, but `property` is special and we want that too.\nDynamicClassAttribute = property\n\ndef coroutine(func: Callable[..., Any]) -> CoroutineType: ...\n\nif sys.version_info >= (3, 8):\n CellType = _Cell\n\nif sys.version_info >= (3, 9):\n class GenericAlias:\n __origin__: type\n __args__: Tuple[Any, ...]\n __parameters__: Tuple[Any, ...]\n def __init__(self, origin: type, args: Any) -> None: ...\n def __getattr__(self, name: str) -> Any: ... # incomplete\n\nif sys.version_info >= (3, 10):\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n EllipsisType = ellipsis # noqa F811 from builtins\n from builtins import _NotImplementedType\n\n NotImplementedType = _NotImplementedType # noqa F811 from builtins\n @final\n class UnionType:\n __args__: Tuple[Any, ...]\n def __or__(self, obj: Any) -> UnionType: ...\n def __ror__(self, obj: Any) -> UnionType: ...\n", "/typeshed/stdlib/typing.pyi": "import collections # Needed by aliases like DefaultDict, see mypy issue 2986\nimport sys\nfrom abc import ABCMeta, abstractmethod\nfrom types import BuiltinFunctionType, CodeType, FrameType, FunctionType, MethodType, ModuleType, TracebackType\nfrom typing_extensions import Literal as _Literal\n\nif sys.version_info >= (3, 7):\n from types import MethodDescriptorType, MethodWrapperType, WrapperDescriptorType\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n# Definitions of special type checking related constructs. Their definitions\n# are not used, so their value does not matter.\n\nAny = object()\n\nclass TypeVar:\n __name__: str\n __bound__: Optional[Type[Any]]\n __constraints__: Tuple[Type[Any], ...]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self,\n name: str,\n *constraints: Type[Any],\n bound: Union[None, Type[Any], str] = ...,\n covariant: bool = ...,\n contravariant: bool = ...,\n ) -> None: ...\n\n_promote = object()\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> object: ...\n\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n\ndef overload(func: _F) -> _F: ...\n\nUnion: _SpecialForm = ...\nOptional: _SpecialForm = ...\nTuple: _SpecialForm = ...\nGeneric: _SpecialForm = ...\n# Protocol is only present in 3.8 and later, but mypy needs it unconditionally\nProtocol: _SpecialForm = ...\nCallable: _SpecialForm = ...\nType: _SpecialForm = ...\nClassVar: _SpecialForm = ...\nif sys.version_info >= (3, 8):\n Final: _SpecialForm = ...\n def final(f: _F) -> _F: ...\n Literal: _SpecialForm = ...\n # TypedDict is a (non-subscriptable) special form.\n TypedDict: object\n\nif sys.version_info < (3, 7):\n class GenericMeta(type): ...\n\nif sys.version_info >= (3, 10):\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Optional[Type[Any]]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: Union[None, Type[Any], str] = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n\n# Return type that indicates a function does not return.\n# This type is equivalent to the None type, but the no-op Union is necessary to\n# distinguish the None type from the None value.\nNoReturn = Union[None]\n\n# These type variables are used by the container types.\n_T = TypeVar(\"_T\")\n_S = TypeVar(\"_S\")\n_KT = TypeVar(\"_KT\") # Key type.\n_VT = TypeVar(\"_VT\") # Value type.\n_T_co = TypeVar(\"_T_co\", covariant=True) # Any type covariant containers.\n_V_co = TypeVar(\"_V_co\", covariant=True) # Any type covariant containers.\n_KT_co = TypeVar(\"_KT_co\", covariant=True) # Key type covariant containers.\n_VT_co = TypeVar(\"_VT_co\", covariant=True) # Value type covariant containers.\n_T_contra = TypeVar(\"_T_contra\", contravariant=True) # Ditto contravariant.\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\ndef no_type_check(arg: _F) -> _F: ...\ndef no_type_check_decorator(decorator: _F) -> _F: ...\n\n# Type aliases and type constructors\n\nclass _Alias:\n # Class for defining generic aliases for library types.\n def __getitem__(self, typeargs: Any) -> Any: ...\n\nList = _Alias()\nDict = _Alias()\nDefaultDict = _Alias()\nSet = _Alias()\nFrozenSet = _Alias()\nCounter = _Alias()\nDeque = _Alias()\nChainMap = _Alias()\n\nif sys.version_info >= (3, 7):\n OrderedDict = _Alias()\n\nif sys.version_info >= (3, 9):\n Annotated: _SpecialForm = ...\n\n# Predefined type variables.\nAnyStr = TypeVar(\"AnyStr\", str, bytes)\n\n# Abstract base classes.\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n@runtime_checkable\nclass SupportsInt(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __int__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsFloat(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __float__(self) -> float: ...\n\n@runtime_checkable\nclass SupportsComplex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __complex__(self) -> complex: ...\n\n@runtime_checkable\nclass SupportsBytes(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __bytes__(self) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n @runtime_checkable\n class SupportsIndex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __index__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsAbs(Protocol[_T_co]):\n @abstractmethod\n def __abs__(self) -> _T_co: ...\n\n@runtime_checkable\nclass SupportsRound(Protocol[_T_co]):\n @overload\n @abstractmethod\n def __round__(self) -> int: ...\n @overload\n @abstractmethod\n def __round__(self, ndigits: int) -> _T_co: ...\n\n@runtime_checkable\nclass Sized(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __len__(self) -> int: ...\n\n@runtime_checkable\nclass Hashable(Protocol, metaclass=ABCMeta):\n # TODO: This is special, in that a subclass of a hashable class may not be hashable\n # (for example, list vs. object). It's not obvious how to represent this. This class\n # is currently mostly useless for static checking.\n @abstractmethod\n def __hash__(self) -> int: ...\n\n@runtime_checkable\nclass Iterable(Protocol[_T_co]):\n @abstractmethod\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Iterator(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __next__(self) -> _T_co: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Reversible(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass Generator(Iterator[_T_co], Generic[_T_co, _T_contra, _V_co]):\n def __next__(self) -> _T_co: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n def close(self) -> None: ...\n def __iter__(self) -> Generator[_T_co, _T_contra, _V_co]: ...\n @property\n def gi_code(self) -> CodeType: ...\n @property\n def gi_frame(self) -> FrameType: ...\n @property\n def gi_running(self) -> bool: ...\n @property\n def gi_yieldfrom(self) -> Optional[Generator[Any, Any, Any]]: ...\n\n@runtime_checkable\nclass Awaitable(Protocol[_T_co]):\n @abstractmethod\n def __await__(self) -> Generator[Any, None, _T_co]: ...\n\nclass Coroutine(Awaitable[_V_co], Generic[_T_co, _T_contra, _V_co]):\n __name__: str\n __qualname__: str\n @property\n def cr_await(self) -> Optional[Any]: ...\n @property\n def cr_code(self) -> CodeType: ...\n @property\n def cr_frame(self) -> FrameType: ...\n @property\n def cr_running(self) -> bool: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n @abstractmethod\n def close(self) -> None: ...\n\n# NOTE: This type does not exist in typing.py or PEP 484.\n# The parameters correspond to Generator, but the 4th is the original type.\nclass AwaitableGenerator(\n Awaitable[_V_co], Generator[_T_co, _T_contra, _V_co], Generic[_T_co, _T_contra, _V_co, _S], metaclass=ABCMeta\n): ...\n\n@runtime_checkable\nclass AsyncIterable(Protocol[_T_co]):\n @abstractmethod\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\n@runtime_checkable\nclass AsyncIterator(AsyncIterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\nclass AsyncGenerator(AsyncIterator[_T_co], Generic[_T_co, _T_contra]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n @abstractmethod\n def asend(self, __value: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> Awaitable[_T_co]: ...\n @abstractmethod\n def aclose(self) -> Awaitable[None]: ...\n @abstractmethod\n def __aiter__(self) -> AsyncGenerator[_T_co, _T_contra]: ...\n @property\n def ag_await(self) -> Any: ...\n @property\n def ag_code(self) -> CodeType: ...\n @property\n def ag_frame(self) -> FrameType: ...\n @property\n def ag_running(self) -> bool: ...\n\n@runtime_checkable\nclass Container(Protocol[_T_co]):\n @abstractmethod\n def __contains__(self, __x: object) -> bool: ...\n\n@runtime_checkable\nclass Collection(Iterable[_T_co], Container[_T_co], Protocol[_T_co]):\n # Implement Sized (but don't have it as a base class).\n @abstractmethod\n def __len__(self) -> int: ...\n\n_Collection = Collection[_T_co]\n\nclass Sequence(_Collection[_T_co], Reversible[_T_co], Generic[_T_co]):\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T_co: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> Sequence[_T_co]: ...\n # Mixin methods\n def index(self, value: Any, start: int = ..., stop: int = ...) -> int: ...\n def count(self, value: Any) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass MutableSequence(Sequence[_T], Generic[_T]):\n @abstractmethod\n def insert(self, index: int, value: _T) -> None: ...\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> MutableSequence[_T]: ...\n @overload\n @abstractmethod\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n @abstractmethod\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: int) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: slice) -> None: ...\n # Mixin methods\n def append(self, value: _T) -> None: ...\n def clear(self) -> None: ...\n def extend(self, values: Iterable[_T]) -> None: ...\n def reverse(self) -> None: ...\n def pop(self, index: int = ...) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __iadd__(self, x: Iterable[_T]) -> MutableSequence[_T]: ...\n\nclass AbstractSet(_Collection[_T_co], Generic[_T_co]):\n @abstractmethod\n def __contains__(self, x: object) -> bool: ...\n # Mixin methods\n def __le__(self, s: AbstractSet[Any]) -> bool: ...\n def __lt__(self, s: AbstractSet[Any]) -> bool: ...\n def __gt__(self, s: AbstractSet[Any]) -> bool: ...\n def __ge__(self, s: AbstractSet[Any]) -> bool: ...\n def __and__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def __sub__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def isdisjoint(self, other: Iterable[Any]) -> bool: ...\n\nclass MutableSet(AbstractSet[_T], Generic[_T]):\n @abstractmethod\n def add(self, value: _T) -> None: ...\n @abstractmethod\n def discard(self, value: _T) -> None: ...\n # Mixin methods\n def clear(self) -> None: ...\n def pop(self) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __ior__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __iand__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __isub__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n\nclass MappingView(Sized):\n def __init__(self, mapping: Mapping[Any, Any]) -> None: ... # undocumented\n def __len__(self) -> int: ...\n\nclass ItemsView(MappingView, AbstractSet[Tuple[_KT_co, _VT_co]], Generic[_KT_co, _VT_co]):\n def __init__(self, mapping: Mapping[_KT_co, _VT_co]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n\nclass KeysView(MappingView, AbstractSet[_KT_co], Generic[_KT_co]):\n def __init__(self, mapping: Mapping[_KT_co, Any]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT_co]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n\nclass ValuesView(MappingView, Iterable[_VT_co], Generic[_VT_co]):\n def __init__(self, mapping: Mapping[Any, _VT_co]) -> None: ... # undocumented\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_VT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\n@runtime_checkable\nclass ContextManager(Protocol[_T_co]):\n def __enter__(self) -> _T_co: ...\n def __exit__(\n self,\n __exc_type: Optional[Type[BaseException]],\n __exc_value: Optional[BaseException],\n __traceback: Optional[TracebackType],\n ) -> Optional[bool]: ...\n\n@runtime_checkable\nclass AsyncContextManager(Protocol[_T_co]):\n def __aenter__(self) -> Awaitable[_T_co]: ...\n def __aexit__(\n self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Awaitable[Optional[bool]]: ...\n\nclass Mapping(_Collection[_KT], Generic[_KT, _VT_co]):\n # TODO: We wish the key type could also be covariant, but that doesn't work,\n # see discussion in https: //github.com/python/typing/pull/273.\n @abstractmethod\n def __getitem__(self, k: _KT) -> _VT_co: ...\n # Mixin methods\n @overload\n def get(self, key: _KT) -> Optional[_VT_co]: ...\n @overload\n def get(self, key: _KT, default: Union[_VT_co, _T]) -> Union[_VT_co, _T]: ...\n def items(self) -> AbstractSet[Tuple[_KT, _VT_co]]: ...\n def keys(self) -> AbstractSet[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def __contains__(self, o: object) -> bool: ...\n\nclass MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):\n @abstractmethod\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n @abstractmethod\n def __delitem__(self, v: _KT) -> None: ...\n def clear(self) -> None: ...\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...\n # 'update' used to take a Union, but using overloading is better.\n # The second overloaded type here is a bit too general, because\n # Mapping[Tuple[_KT, _VT], W] is a subclass of Iterable[Tuple[_KT, _VT]],\n # but will always have the behavior of the first overloaded type\n # at runtime, leading to keys of a mix of types _KT and Tuple[_KT, _VT].\n # We don't currently have any way of forcing all Mappings to use\n # the first overload, but by using overloading rather than a Union,\n # mypy will commit to using the first overload when the argument is\n # known to be a Mapping with unknown type parameters, which is closer\n # to the behavior we want. See mypy issue #1430.\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n\nText = str\n\nTYPE_CHECKING = True\n\nclass IO(Iterator[AnyStr], Generic[AnyStr]):\n # TODO use abstract properties\n @property\n def mode(self) -> str: ...\n @property\n def name(self) -> str: ...\n @abstractmethod\n def close(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n @abstractmethod\n def fileno(self) -> int: ...\n @abstractmethod\n def flush(self) -> None: ...\n @abstractmethod\n def isatty(self) -> bool: ...\n @abstractmethod\n def read(self, n: int = ...) -> AnyStr: ...\n @abstractmethod\n def readable(self) -> bool: ...\n @abstractmethod\n def readline(self, limit: int = ...) -> AnyStr: ...\n @abstractmethod\n def readlines(self, hint: int = ...) -> list[AnyStr]: ...\n @abstractmethod\n def seek(self, offset: int, whence: int = ...) -> int: ...\n @abstractmethod\n def seekable(self) -> bool: ...\n @abstractmethod\n def tell(self) -> int: ...\n @abstractmethod\n def truncate(self, size: Optional[int] = ...) -> int: ...\n @abstractmethod\n def writable(self) -> bool: ...\n @abstractmethod\n def write(self, s: AnyStr) -> int: ...\n @abstractmethod\n def writelines(self, lines: Iterable[AnyStr]) -> None: ...\n @abstractmethod\n def __next__(self) -> AnyStr: ...\n @abstractmethod\n def __iter__(self) -> Iterator[AnyStr]: ...\n @abstractmethod\n def __enter__(self) -> IO[AnyStr]: ...\n @abstractmethod\n def __exit__(\n self, t: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Optional[bool]: ...\n\nclass BinaryIO(IO[bytes]):\n @abstractmethod\n def __enter__(self) -> BinaryIO: ...\n\nclass TextIO(IO[str]):\n # TODO use abstractproperty\n @property\n def buffer(self) -> BinaryIO: ...\n @property\n def encoding(self) -> str: ...\n @property\n def errors(self) -> Optional[str]: ...\n @property\n def line_buffering(self) -> int: ... # int on PyPy, bool on CPython\n @property\n def newlines(self) -> Any: ... # None, str or tuple\n @abstractmethod\n def __enter__(self) -> TextIO: ...\n\nclass ByteString(Sequence[int], metaclass=ABCMeta): ...\n\nclass Match(Generic[AnyStr]):\n pos: int\n endpos: int\n lastindex: Optional[int]\n lastgroup: Optional[AnyStr]\n string: AnyStr\n\n # The regular expression object whose match() or search() method produced\n # this match instance.\n re: Pattern[AnyStr]\n def expand(self, template: AnyStr) -> AnyStr: ...\n # group() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def group(self, __group: _Literal[0] = ...) -> AnyStr: ...\n @overload\n def group(self, __group: str | int) -> AnyStr | Any: ...\n @overload\n def group(self, __group1: str | int, __group2: str | int, *groups: str | int) -> Tuple[AnyStr | Any, ...]: ...\n # Each item of groups()'s return tuple is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groups(self) -> Tuple[AnyStr | Any, ...]: ...\n @overload\n def groups(self, default: _T) -> Tuple[AnyStr | _T, ...]: ...\n # Each value in groupdict()'s return dict is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groupdict(self) -> dict[str, AnyStr | Any]: ...\n @overload\n def groupdict(self, default: _T) -> dict[str, AnyStr | _T]: ...\n def start(self, __group: Union[int, str] = ...) -> int: ...\n def end(self, __group: Union[int, str] = ...) -> int: ...\n def span(self, __group: Union[int, str] = ...) -> Tuple[int, int]: ...\n @property\n def regs(self) -> Tuple[Tuple[int, int], ...]: ... # undocumented\n # __getitem__() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def __getitem__(self, __key: _Literal[0]) -> AnyStr: ...\n @overload\n def __getitem__(self, __key: int | str) -> AnyStr | Any: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Pattern(Generic[AnyStr]):\n flags: int\n groupindex: Mapping[str, int]\n groups: int\n pattern: AnyStr\n def search(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def match(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def fullmatch(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def split(self, string: AnyStr, maxsplit: int = ...) -> list[AnyStr]: ...\n def findall(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> list[Any]: ...\n def finditer(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Iterator[Match[AnyStr]]: ...\n @overload\n def sub(self, repl: AnyStr, string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def sub(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def subn(self, repl: AnyStr, string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n @overload\n def subn(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# Functions\n\nif sys.version_info >= (3, 7):\n _get_type_hints_obj_allowed_types = Union[\n object,\n Callable[..., Any],\n FunctionType,\n BuiltinFunctionType,\n MethodType,\n ModuleType,\n WrapperDescriptorType,\n MethodWrapperType,\n MethodDescriptorType,\n ]\nelse:\n _get_type_hints_obj_allowed_types = Union[\n object, Callable[..., Any], FunctionType, BuiltinFunctionType, MethodType, ModuleType,\n ]\n\nif sys.version_info >= (3, 9):\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types,\n globalns: Optional[Dict[str, Any]] = ...,\n localns: Optional[Dict[str, Any]] = ...,\n include_extras: bool = ...,\n ) -> Dict[str, Any]: ...\n\nelse:\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types, globalns: Optional[Dict[str, Any]] = ..., localns: Optional[Dict[str, Any]] = ...\n ) -> Dict[str, Any]: ...\n\nif sys.version_info >= (3, 8):\n def get_origin(tp: Any) -> Optional[Any]: ...\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n\n@overload\ndef cast(typ: Type[_T], val: Any) -> _T: ...\n@overload\ndef cast(typ: str, val: Any) -> Any: ...\n@overload\ndef cast(typ: object, val: Any) -> Any: ...\n\n# Type constructors\n\n# NamedTuple is special-cased in the type checker\nclass NamedTuple(Tuple[Any, ...]):\n _field_types: collections.OrderedDict[str, Type[Any]]\n _field_defaults: Dict[str, Any] = ...\n _fields: Tuple[str, ...]\n _source: str\n def __init__(self, typename: str, fields: Iterable[Tuple[str, Any]] = ..., **kwargs: Any) -> None: ...\n @classmethod\n def _make(cls: Type[_T], iterable: Iterable[Any]) -> _T: ...\n if sys.version_info >= (3, 8):\n def _asdict(self) -> Dict[str, Any]: ...\n else:\n def _asdict(self) -> collections.OrderedDict[str, Any]: ...\n def _replace(self: _T, **kwargs: Any) -> _T: ...\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __or__(self: _T, __value: _T) -> _T: ...\n def __ior__(self: _T, __value: _T) -> _T: ...\n\ndef NewType(name: str, tp: Type[_T]) -> Type[_T]: ...\n\n# This itself is only available during type checking\ndef type_check_only(func_or_cls: _F) -> _F: ...\n\nif sys.version_info >= (3, 7):\n class ForwardRef:\n __forward_arg__: str\n __forward_code__: CodeType\n __forward_evaluated__: bool\n __forward_value__: Optional[Any]\n __forward_is_argument__: bool\n def __init__(self, arg: str, is_argument: bool = ...) -> None: ...\n def _evaluate(self, globalns: Optional[Dict[str, Any]], localns: Optional[Dict[str, Any]]) -> Optional[Any]: ...\n def __eq__(self, other: Any) -> bool: ...\n def __hash__(self) -> int: ...\n def __repr__(self) -> str: ...\n\nif sys.version_info >= (3, 10):\n def is_typeddict(tp: Any) -> bool: ...\n", "/typeshed/stdlib/typing_extensions.pyi": "import abc\nimport sys\nfrom typing import (\n TYPE_CHECKING as TYPE_CHECKING,\n Any,\n AsyncContextManager as AsyncContextManager,\n AsyncGenerator as AsyncGenerator,\n AsyncIterable as AsyncIterable,\n AsyncIterator as AsyncIterator,\n Awaitable as Awaitable,\n Callable,\n ChainMap as ChainMap,\n ClassVar as ClassVar,\n ContextManager as ContextManager,\n Coroutine as Coroutine,\n Counter as Counter,\n DefaultDict as DefaultDict,\n Deque as Deque,\n ItemsView,\n KeysView,\n Mapping,\n NewType as NewType,\n NoReturn as NoReturn,\n Text as Text,\n Tuple,\n Type as Type,\n TypeVar,\n ValuesView,\n _Alias,\n overload as overload,\n)\n\n_T = TypeVar(\"_T\")\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> Any: ...\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n\n# This alias for above is kept here for backwards compatibility.\nruntime = runtime_checkable\nProtocol: _SpecialForm = ...\nFinal: _SpecialForm = ...\n\ndef final(f: _F) -> _F: ...\n\nLiteral: _SpecialForm = ...\n\ndef IntVar(name: str) -> Any: ... # returns a new TypeVar\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n\n# TypedDict is a (non-subscriptable) special form.\nTypedDict: object = ...\n\nOrderedDict = _Alias()\n\ndef get_type_hints(\n obj: Callable[..., Any],\n globalns: dict[str, Any] | None = ...,\n localns: dict[str, Any] | None = ...,\n include_extras: bool = ...,\n) -> dict[str, Any]: ...\n\nif sys.version_info >= (3, 7):\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n def get_origin(tp: Any) -> Any | None: ...\n\nAnnotated: _SpecialForm = ...\n_AnnotatedAlias: Any = ... # undocumented\n\n@runtime_checkable\nclass SupportsIndex(Protocol, metaclass=abc.ABCMeta):\n @abc.abstractmethod\n def __index__(self) -> int: ...\n\n# PEP 612 support for Python < 3.9\nif sys.version_info >= (3, 10):\n from typing import Concatenate as Concatenate, ParamSpec as ParamSpec, TypeAlias as TypeAlias, TypeGuard as TypeGuard\nelse:\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Type[Any] | None\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: None | Type[Any] | str = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n", @@ -35,16 +35,16 @@ "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", - "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pins, images, sounds, temperature and volume.\n\"\"\"\n\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\n\nfrom _typeshed import ReadableBuffer\n\n# V2 only\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(\n callback: Optional[Callable[[], None]] = None,\n days: int = 0,\n h: int = 0,\n min: int = 0,\n s: int = 0,\n ms: int = 0,\n) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Schedule to run a function at the interval specified by the time arguments **V2 only**.\n\n Example: ``run_every(my_logging, min=5)``\n\n ``run_every`` can be used in two ways:\n\n As a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\n As a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\n Each argument corresponds to a different time unit and they are additive.\n So ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\n When an exception is thrown inside the callback function it deschedules the\n function. To avoid this you can catch exceptions with ``try/except``.\n\n :param callback: Function to call at the provided interval. Omit when using as a decorator.\n :param days: Sets the day mark for the scheduling.\n :param h: Sets the hour mark for the scheduling.\n :param min: Sets the minute mark for the scheduling.\n :param s: Sets the second mark for the scheduling.\n :param ms: Sets the millisecond mark for the scheduling.\n \"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Enter a panic mode.\n\n Example: ``panic(127)``\n\n :param n: An arbitrary integer <= 255 to indicate a status.\n\n Requires restart.\n \"\"\"\n\ndef reset() -> None:\n \"\"\"Restart the board.\"\"\"\n\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converts a value from a range to an integer range.\n\n Example: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\n For example, to convert an accelerometer X value to a speaker volume.\n\n If one of the numbers in the ``to`` parameter is a floating point\n (i.e a decimal number like ``10.0``), this function will return a\n floating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n :param value: A number to convert.\n :param from_: A tuple to define the range to convert from.\n :param to: A tuple to define the range to convert to.\n :return: The ``value`` converted to the ``to`` range.\n \"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converts a value from a range to a floating point range.\n\n Example: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\n For example, to convert temperature from a Celsius scale to Fahrenheit.\n\n If one of the numbers in the ``to`` parameter is a floating point\n (i.e a decimal number like ``10.0``), this function will return a\n floating point number.\n If they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n :param value: A number to convert.\n :param from_: A tuple to define the range to convert from.\n :param to: A tuple to define the range to convert to.\n :return: The ``value`` converted to the ``to`` range.\n \"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Wait for ``n`` milliseconds.\n\n Example: ``sleep(1000)``\n\n :param n: The number of milliseconds to wait\n\n One second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\n will pause the execution for one second.\n \"\"\"\n\ndef running_time() -> int:\n \"\"\"Get the running time of the board.\n\n :return: The number of milliseconds since the board was switched on or restarted.\n \"\"\"\n\ndef temperature() -> int:\n \"\"\"Get the temperature of the micro:bit in degrees Celsius.\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Sets the volume.\n\n Example: ``set_volume(127)``\n\n :param v: a value between 0 (low) and 255 (high).\n\n Out of range values will be clamped to 0 or 255.\n\n **V2** only.\n \"\"\"\n ...\n\nclass Button:\n \"\"\"The class for the buttons ``button_a`` and ``button_b``.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Check if the button is pressed.\n\n :return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\n \"\"\"\n ...\n def was_pressed(self) -> bool:\n \"\"\"Check if the button was pressed since the device started or the last time this method was called.\n\n Calling this method will clear the press state so\n that the button must be pressed again before this method will return\n ``True`` again.\n\n :return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\n \"\"\"\n ...\n def get_presses(self) -> int:\n \"\"\"Get the running total of button presses, and resets this total\n to zero before returning.\n\n :return: The number of presses since the device started or the last time this method was called\n \"\"\"\n ...\n\nbutton_a: Button\n\"\"\"The left button ``Button`` object.\"\"\"\n\nbutton_b: Button\n\"\"\"The right button ``Button`` object.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"A digital pin.\n\n Some pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\n \"\"\"\n\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n def read_digital(self) -> int:\n \"\"\"Get the digital value of the pin.\n\n Example: ``value = pin0.read_digital()``\n\n :return: 1 if the pin is high, and 0 if it's low.\n \"\"\"\n ...\n def write_digital(self, value: int) -> None:\n \"\"\"Set the digital value of the pin.\n\n Example: ``pin0.write_digital(1)``\n\n :param value: 1 to set the pin high or 0 to set the pin low\"\"\"\n ...\n def set_pull(self, value: int) -> None:\n \"\"\"Set the pull state to one of three possible values: ``PULL_UP``, ``PULL_DOWN`` or ``NO_PULL``.\n\n Example: ``pin0.set_pull(pin0.PULL_UP)``\n\n :param value: The pull state from the relevant pin, e.g. ``pin0.PULL_UP``.\n \"\"\"\n ...\n def get_pull(self) -> int:\n \"\"\"Get the pull state on a pin.\n\n Example: ``pin0.get_pull()``\n\n :return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\n These are set using the ``set_pull()`` method or automatically configured\n when a pin mode requires it.\n \"\"\"\n ...\n def get_mode(self) -> str:\n \"\"\"Returns the pin mode.\n\n Example: ``pin0.get_mode()``\n\n When a pin is used for a specific function, like\n writing a digital value, or reading an analog value, the pin mode\n changes.\n\n :return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\n \"\"\"\n ...\n def write_analog(self, value: int) -> None:\n \"\"\"Output a PWM signal on the pin, with the duty cycle proportional to ``value``.\n\n Example: ``pin0.write_analog(254)``\n\n :param value: An integer or a floating point number between 0 (0% duty cycle) and 1023 (100% duty).\n \"\"\"\n def set_analog_period(self, period: int) -> None:\n \"\"\"Set the period of the PWM signal being output to ``period`` in milliseconds.\n\n Example: ``pin0.set_analog_period(10)``\n\n :param period: The period in milliseconds with a minimum valid value of 1ms.\n \"\"\"\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Set the period of the PWM signal being output to ``period`` in microseconds.\n\n Example: ``pin0.set_analog_period_microseconds(512)``\n\n :param period: The period in microseconds with a minimum valid value of 256\u00b5s.\n \"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"A pin with analog and digital features.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Read the voltage applied to the pin.\n\n Example: ``pin0.read_analog()``\n\n :return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\n \"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"A pin with analog, digital and touch features.\"\"\"\n\n CAPACITIVE: int\n RESISTIVE: int\n def is_touched(self) -> bool:\n \"\"\"Check if the pin is being touched.\n\n Example: ``pin0.is_touched()``\n\n The default touch mode for the pins on the edge connector is ``resistive``.\n The default for the logo pin **V2** is ``capacitive``.\n\n **Resistive touch**\n This test is done by measuring how much resistance there is between the\n pin and ground. A low resistance gives a reading of ``True``. To get\n a reliable reading using a finger you may need to touch the ground pin\n with another part of your body, for example your other hand.\n\n **Capacitive touch**\n This test is done by interacting with the electric field of a capacitor\n using a finger as a conductor. `Capacitive touch\n `_\n does not require you to make a ground connection as part of a circuit.\n\n :return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\n \"\"\"\n ...\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Set the touch mode for the pin.\n\n Example: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\n The default touch mode for the pins on the edge connector is\n ``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n :param value: ``CAPACITIVE`` or ``RESISTIVE`` from the relevant pin.\n \"\"\"\n ...\n\npin0: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin1: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin2: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin5: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin6: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin7: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin8: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin9: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin11: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin12: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin13: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin14: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin15: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin16: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin19: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin20: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin_logo: MicroBitTouchPin\n\"\"\"A touch sensitive logo pin on the front of the micro:bit, which by default is set to capacitive touch mode.\"\"\"\n\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"A pin to address the micro:bit speaker.\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"An image to show on the micro:bit LED display.\n\n Given an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\n \"\"\"\n\n HEART: Image\n \"\"\"Heart image.\"\"\"\n\n HEART_SMALL: Image\n \"\"\"Small heart image.\"\"\"\n\n HAPPY: Image\n \"\"\"Happy face image.\"\"\"\n\n SMILE: Image\n \"\"\"Smiling mouth image.\"\"\"\n\n SAD: Image\n \"\"\"Sad face image.\"\"\"\n\n CONFUSED: Image\n \"\"\"Confused face image.\"\"\"\n\n ANGRY: Image\n \"\"\"Angry face image.\"\"\"\n\n ASLEEP: Image\n \"\"\"Sleeping face image.\"\"\"\n\n SURPRISED: Image\n \"\"\"Surprised face image.\"\"\"\n\n SILLY: Image\n \"\"\"Silly face image.\"\"\"\n\n FABULOUS: Image\n \"\"\"Sunglasses face image.\"\"\"\n\n MEH: Image\n \"\"\"Unimpressed face image.\"\"\"\n\n YES: Image\n \"\"\"Tick image.\"\"\"\n\n NO: Image\n \"\"\"Cross image.\"\"\"\n\n CLOCK12: Image\n \"\"\"Image with line pointing to 12 o'clock.\"\"\"\n\n CLOCK11: Image\n \"\"\"Image with line pointing to 11 o'clock.\"\"\"\n\n CLOCK10: Image\n \"\"\"Image with line pointing to 10 o'clock.\"\"\"\n\n CLOCK9: Image\n \"\"\"Image with line pointing to 9 o'clock.\"\"\"\n\n CLOCK8: Image\n \"\"\"Image with line pointing to 8 o'clock.\"\"\"\n\n CLOCK7: Image\n \"\"\"Image with line pointing to 7 o'clock.\"\"\"\n\n CLOCK6: Image\n \"\"\"Image with line pointing to 6 o'clock.\"\"\"\n\n CLOCK5: Image\n \"\"\"Image with line pointing to 5 o'clock.\"\"\"\n\n CLOCK4: Image\n \"\"\"Image with line pointing to 4 o'clock.\"\"\"\n\n CLOCK3: Image\n \"\"\"Image with line pointing to 3 o'clock.\"\"\"\n\n CLOCK2: Image\n \"\"\"Image with line pointing to 2 o'clock.\"\"\"\n\n CLOCK1: Image\n \"\"\"Image with line pointing to 1 o'clock.\"\"\"\n\n ARROW_N: Image\n \"\"\"Image of arrow pointing north.\"\"\"\n\n ARROW_NE: Image\n \"\"\"Image of arrow pointing north east.\"\"\"\n\n ARROW_E: Image\n \"\"\"Image of arrow pointing east.\"\"\"\n\n ARROW_SE: Image\n \"\"\"Image of arrow pointing south east.\"\"\"\n\n ARROW_S: Image\n \"\"\"Image of arrow pointing south.\"\"\"\n\n ARROW_SW: Image\n \"\"\"Image of arrow pointing south west.\"\"\"\n\n ARROW_W: Image\n \"\"\"Image of arrow pointing west.\"\"\"\n\n ARROW_NW: Image\n \"\"\"Image of arrow pointing north west.\"\"\"\n\n TRIANGLE: Image\n \"\"\"Image of a triangle pointing up.\"\"\"\n\n TRIANGLE_LEFT: Image\n \"\"\"Image of a triangle in the left corner.\"\"\"\n\n CHESSBOARD: Image\n \"\"\"Alternate LEDs lit in a chessboard pattern.\"\"\"\n\n DIAMOND: Image\n \"\"\"Diamond image.\"\"\"\n\n DIAMOND_SMALL: Image\n \"\"\"Small diamond image.\"\"\"\n\n SQUARE: Image\n \"\"\"Square image.\"\"\"\n\n SQUARE_SMALL: Image\n \"\"\"Small square image.\"\"\"\n\n RABBIT: Image\n \"\"\"Rabbit image.\"\"\"\n\n COW: Image\n \"\"\"Cow image.\"\"\"\n\n MUSIC_CROTCHET: Image\n \"\"\"Crotchet note image.\"\"\"\n\n MUSIC_QUAVER: Image\n \"\"\"Quaver note image.\"\"\"\n\n MUSIC_QUAVERS: Image\n \"\"\"Pair of quavers note image.\"\"\"\n\n PITCHFORK: Image\n \"\"\"Pitchfork image.\"\"\"\n\n XMAS: Image\n \"\"\"Christmas tree image.\"\"\"\n\n PACMAN: Image\n \"\"\"Pac-Man arcade character image.\"\"\"\n\n TARGET: Image\n \"\"\"Target image.\"\"\"\n\n TSHIRT: Image\n \"\"\"T-shirt image.\"\"\"\n\n ROLLERSKATE: Image\n \"\"\"Rollerskate image.\"\"\"\n\n DUCK: Image\n \"\"\"Duck image.\"\"\"\n\n HOUSE: Image\n \"\"\"House image.\"\"\"\n\n TORTOISE: Image\n \"\"\"Tortoise image.\"\"\"\n\n BUTTERFLY: Image\n \"\"\"Butterfly image.\"\"\"\n\n STICKFIGURE: Image\n \"\"\"Stick figure image.\"\"\"\n\n GHOST: Image\n \"\"\"Ghost image.\"\"\"\n\n SWORD: Image\n \"\"\"Sword image.\"\"\"\n\n GIRAFFE: Image\n \"\"\"Giraffe image.\"\"\"\n\n SKULL: Image\n \"\"\"Skull image.\"\"\"\n\n UMBRELLA: Image\n \"\"\"Umbrella image.\"\"\"\n\n SNAKE: Image\n \"\"\"Snake image.\"\"\"\n\n SCISSORS: Image\n \"\"\"Scissors image.\"\"\"\n\n ALL_CLOCKS: List[Image]\n \"\"\"A list containing all the CLOCK_ images in sequence.\"\"\"\n\n ALL_ARROWS: List[Image]\n \"\"\"A list containing all the ARROW_ images in sequence.\"\"\"\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Create an image from a string describing which LEDs are lit.\n\n ``string`` has to consist of digits 0-9 arranged into lines,\n describing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\n will create a 5\u00d75 image of an X. The end of a line is indicated by a\n colon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n :param string: The string describing the image.\n \"\"\"\n ...\n @overload\n def __init__(\n self, width: int = 5, height: int = 5, buffer: ReadableBuffer = None\n ) -> None:\n \"\"\"Create an empty image with ``width`` columns and ``height`` rows.\n\n :param width: Optional width of the image\n :param height: Optional height of the image\n :param buffer: Optional array or bytes of ``width``\u00d7``height`` integers in range 0-9 to initialize the image\n\n Examples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\n These create 2 x 2 pixel images at full brightness.\n \"\"\"\n ...\n def width(self) -> int:\n \"\"\"Get the number of columns.\n\n :return: The number of columns in the image\n \"\"\"\n ...\n def height(self) -> int:\n \"\"\"Get the number of rows.\n\n :return: The number of rows in the image\n \"\"\"\n ...\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Set the brightness of a pixel.\n\n Example: ``my_image.set_pixel(0, 0, 9)``\n\n :param x: The column number\n :param y: The row number\n :param value: The brightness as an integer between 0 (dark) and 9 (bright)\n\n This method will raise an exception when called on any of the built-in\n read-only images, like ``Image.HEART``.\n \"\"\"\n ...\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Get the brightness of a pixel.\n\n Example: ``my_image.get_pixel(0, 0)``\n\n :param x: The column number\n :param y: The row number\n :return: The brightness as an integer between 0 and 9.\n \"\"\"\n ...\n def shift_left(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture left.\n\n Example: ``Image.HEART_SMALL.shift_left(1)``\n\n :param n: The number of columns to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_right(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture right.\n\n Example: ``Image.HEART_SMALL.shift_right(1)``\n\n :param n: The number of columns to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_up(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture up.\n\n Example: ``Image.HEART_SMALL.shift_up(1)``\n\n :param n: The number of rows to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_down(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture down.\n\n Example: ``Image.HEART_SMALL.shift_down(1)``\n\n :param n: The number of rows to shift by\n :return: The shifted image\n \"\"\"\n ...\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Create a new image by cropping the picture.\n\n Example: ``Image.HEART.crop(1, 1, 3, 3)``\n\n :param x: The crop offset column\n :param y: The crop offset row\n :param w: The crop width\n :param h: The crop height\n :return: The new image\n \"\"\"\n ...\n def copy(self) -> Image:\n \"\"\"Create an exact copy of the image.\n\n Example: ``Image.HEART.copy()``\n\n :return: The new image\n \"\"\"\n ...\n def invert(self) -> Image:\n \"\"\"Create a new image by inverting the brightness of the pixels in the\n source image.\n\n Example: ``Image.SMALL_HEART.invert()``\n\n :return: The new image.\n \"\"\"\n ...\n def fill(self, value: int) -> None:\n \"\"\"Set the brightness of all the pixels in the image.\n\n Example: ``my_image.fill(5)``\n\n :param value: The new brightness as a number between 0 (dark) and 9 (bright).\n\n This method will raise an exception when called on any of the built-in\n read-only images, like ``Image.HEART``.\n \"\"\"\n ...\n def blit(\n self,\n src: Image,\n x: int,\n y: int,\n w: int,\n h: int,\n xdest: int = 0,\n ydest: int = 0,\n ) -> None:\n \"\"\"Copy an area from another image into this image.\n\n Example: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n :param src: The source image\n :param x: The starting column offset in the source image\n :param y: The starting row offset in the source image\n :param w: The number of columns to copy\n :param h: The number of rows to copy\n :param xdest: The column offset to modify in this image\n :param ydest: The row offset to modify in this image\n\n Pixels outside the source image are treated as having a brightness of 0.\n\n ``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\n and ``crop()`` can are all implemented by using ``blit()``.\n\n For example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\n \"\"\"\n ...\n def __repr__(self) -> str:\n \"\"\"Get a compact string representation of the image.\"\"\"\n ...\n def __str__(self) -> str:\n \"\"\"Get a readable string representation of the image.\"\"\"\n ...\n def __add__(self, other: Image) -> Image:\n \"\"\"Create a new image by adding the brightness values from the two\n images for each pixel.\n\n Example: ``Image.HEART + Image.HAPPY``\n\n :param other: The image to add.\n \"\"\"\n ...\n def __sub__(self, other: Image) -> Image:\n \"\"\"Create a new image by subtracting the brightness values of the\n other image from this image.\n\n Example: ``Image.HEART - Image.HEART_SMALL``\n\n :param other: The image to subtract.\n \"\"\"\n ...\n def __mul__(self, n: float) -> Image:\n \"\"\"Create a new image by multiplying the brightness of each pixel by\n ``n``.\n\n Example: ``Image.HEART * 0.5``\n\n :param n: The value to multiply by.\n \"\"\"\n ...\n def __truediv__(self, n: float) -> Image:\n \"\"\"Create a new image by dividing the brightness of each pixel by\n ``n``.\n\n Example: ``Image.HEART / 2``\n\n :param n: The value to divide by.\n \"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Represents the transition of sound events, from ``quiet`` to ``loud`` like clapping or shouting.\"\"\"\n\n QUIET: SoundEvent\n \"\"\"Represents the transition of sound events, from ``loud`` to ``quiet`` like speaking or background music.\"\"\"\n\nclass Sound:\n \"\"\"The built-in sounds can be called using ``audio.play(Sound.NAME)``.\"\"\"\n\n GIGGLE: Sound\n \"\"\"Giggling sound.\"\"\"\n\n HAPPY: Sound\n \"\"\"Happy sound.\"\"\"\n\n HELLO: Sound\n \"\"\"Greeting sound.\"\"\"\n\n MYSTERIOUS: Sound\n \"\"\"Mysterious sound.\"\"\"\n\n SAD: Sound\n \"\"\"Sad sound.\"\"\"\n\n SLIDE: Sound\n \"\"\"Sliding sound.\"\"\"\n\n SOARING: Sound\n \"\"\"Soaring sound.\"\"\"\n\n SPRING: Sound\n \"\"\"Spring sound.\"\"\"\n\n TWINKLE: Sound\n \"\"\"Twinkling sound.\"\"\"\n\n YAWN: Sound\n \"\"\"Yawning sound.\"\"\"\n", - "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Measure the acceleration of the micro:bit and recognise gestures.\n\"\"\"\n\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Get the acceleration measurement in the ``x`` axis in milli-g.\n\n Example: ``accelerometer.get_x()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Get the acceleration measurement in the ``y`` axis in milli-g.\n\n Example: ``accelerometer.get_y()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Get the acceleration measurement in the ``z`` axis in milli-g.\n\n Example: ``accelerometer.get_z()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Get the acceleration measurements in all axes at once as a tuple.\n\n Example: ``x, y, z = accelerometer.get_values()``\n\n :return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\n \"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Get the acceleration measurement of all axes combined, as a positive integer. This is the Pythagorean sum of the X, Y and Z axes.\n\n Example: ``accelerometer.get_strength()``\n\n :return: The combined acceleration strength of all the axes, in milli-g.\n \"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Get the name of the current gesture.\n\n Example: ``accelerometer.current_gesture()``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :return: The current gesture\n \"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Check if the named gesture is currently active.\n\n Example: ``accelerometer.is_gesture('shake')``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :param name: The gesture name.\n :return: ``True`` if the gesture is active, ``False`` otherwise.\n \"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Check if the named gesture was active since the last call.\n\n Example: ``accelerometer.was_gesture('shake')``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :param name: The gesture name.\n :return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\n \"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Return a tuple of the gesture history.\n\n Example: ``accelerometer.get_gestures()``\n\n Clears the gesture history before returning.\n\n Gestures are not updated in the background so there needs to be constant\n calls to some accelerometer method to do the gesture detection. Usually\n gestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n :return: The history as a tuple, most recent last.\n \"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Set the accelerometer sensitivity range, in g (standard gravity), to the closest values supported by the hardware, so it rounds to either ``2``, ``4``, or ``8`` g.\n\n Example: ``accelerometer.set_range(8)``\n\n :param value: New range for the accelerometer, an integer in ``g``.\n \"\"\"\n", - "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(\n source: Union[Iterable[AudioFrame], Sound, SoundEffect],\n wait: bool = True,\n pin: MicroBitDigitalPin = pin0,\n return_pin: Union[MicroBitDigitalPin, None] = None,\n) -> None:\n \"\"\"Play a built-in sound, sound effect or custom audio frames.\n\n Example: ``audio.play(Sound.GIGGLE)``\n\n :param source: A built-in ``Sound`` such as ``Sound.GIGGLE``, a ``SoundEffect`` or sample data as an iterable of ``AudioFrame`` objects.\n :param wait: If ``wait`` is ``True``, this function will block until the sound is complete.\n :param pin: An optional argument to specify the output pin can be used to override the default of ``pin0``. If we do not want any sound to play we can use ``pin=None``.\n :param return_pin: Specifies a differential edge connector pin to connect to an external speaker instead of ground. This is ignored for the **V2** revision.\n \"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Check whether a sound is playing.\n\n Example: ``audio.is_playing()``\n\n :return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Stop all audio playback.\n\n Example: ``audio.stop()``\n \"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"A sound effect, composed by a set of parameters configured via the constructor or attributes.\"\"\"\n\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sine wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Sawtooth wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Triangle wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Square wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise option used for the ``waveform`` parameter.\"\"\"\n\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Linear interpolation option used for the ``shape`` parameter.\"\"\"\n\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolation option used for the ``shape`` parameter.\"\"\"\n\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmic interpolation option used for the ``shape`` parameter.\"\"\"\n\n FX_NONE: ClassVar[int]\n \"\"\"No effect option used for the ``fx`` parameter.\"\"\"\n\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect option used for the ``fx`` parameter.\"\"\"\n\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect option used for the ``fx`` parameter.\"\"\"\n\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect option used for the ``fx`` parameter.\"\"\"\n\n freq_start: int\n \"\"\"Start frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n\n freq_end: int\n \"\"\"End frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n\n duration: int\n \"\"\"Duration of the sound in milliseconds, a number between ``0`` and ``9999``\"\"\"\n\n vol_start: int\n \"\"\"Start volume value, a number between ``0`` and ``255``\"\"\"\n\n vol_end: int\n \"\"\"End volume value, a number between ``0`` and ``255``\"\"\"\n\n waveform: int\n \"\"\"Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise)\"\"\"\n\n fx: int\n \"\"\"Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``\"\"\"\n\n shape: int\n \"\"\"The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(\n self,\n freq_start: int = 500,\n freq_end: int = 2500,\n duration: int = 500,\n vol_start: int = 255,\n vol_end: int = 0,\n waveform: int = WAVEFORM_SQUARE,\n fx: int = FX_NONE,\n shape: int = SHAPE_LOG,\n ):\n \"\"\"Create a new sound effect.\n\n Example: ``my_effect = SoundEffect(duration=1000)``\n\n All the parameters are optional, with default values as shown above, and\n they can all be modified via attributes of the same name. For example, we\n can first create an effect ``my_effect = SoundEffect(duration=1000)``,\n and then change its attributes ``my_effect.duration = 500``.\n\n :param freq_start: Start frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n :param freq_end: End frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n :param duration: Duration of the sound in milliseconds, a number between ``0`` and ``9999``.\n :param vol_start: Start volume value, a number between ``0`` and ``255``.\n :param vol_end: End volume value, a number between ``0`` and ``255``.\n :param waveform: Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise).\n :param fx: Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n :param shape: The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\n \"\"\"\n def copy(self) -> SoundEffect:\n \"\"\"Create a copy of this ``SoundEffect``.\n\n Example: ``sound_2 = sound_1.copy()``\n\n :return: A copy of the SoundEffect.\n \"\"\"\n\nclass AudioFrame:\n \"\"\"An ``AudioFrame`` object is a list of 32 samples each of which is a unsigned byte\n (whole number between 0 and 255).\n\n It takes just over 4 ms to play a single frame.\n\n Example::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\n \"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overwrite the data in this ``AudioFrame`` with the data from another ``AudioFrame`` instance.\n\n Example: ``my_frame.copyfrom(source_frame)``\n\n :param other: ``AudioFrame`` instance from which to copy the data.\n \"\"\"\n def __len__(self) -> int: ...\n def __setitem__(self, key: int, value: int) -> None: ...\n def __getitem__(self, key: int) -> int: ...\n", - "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Use the built-in compass.\n\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Starts the calibration process.\n\n Example: ``compass.calibrate()``\n\n An instructive message will be scrolled to the user after which they will need\n to rotate the device in order to draw a circle on the LED display.\n \"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"Check is the compass is calibrated.\n\n Example: ``compass.is_calibrated()``\n\n :return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\n \"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Undoes the calibration, making the compass uncalibrated again.\n\n Example: ``compass.clear_calibration()``\n \"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Get the magnetic field strength on the ``x`` axis.\n\n Example: ``compass.get_x()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Get the magnetic field strength on the ``y`` axis.\n\n Example: ``compass.get_y()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Get the magnetic field strength on the ``z`` axis.\n\n Example: ``compass.get_z()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Get the compass heading.\n\n Example: ``compass.heading()``\n\n :return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\n \"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Get the magnitude of the magnetic field around the device.\n\n Example: ``compass.get_field_strength()``\n\n :return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...\n", - "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Show text, images and animations on the 5\u00d75 LED display.\n\"\"\"\n\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Get the brightness of the LED at column ``x`` and row ``y``.\n\n Example: ``display.get_pixel(0, 0)``\n\n :param x: The display column (0..4)\n :param y: The display row (0..4)\n :return: A number between 0 (off) and 9 (bright)\n \"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Set the brightness of the LED at column ``x`` and row ``y``.\n\n Example: ``display.set_pixel(0, 0, 9)``\n\n :param x: The display column (0..4)\n :param y: The display row (0..4)\n :param value: The brightness between 0 (off) and 9 (bright)\n \"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Set the brightness of all LEDs to 0 (off).\n\n Example: ``display.clear()``\n \"\"\"\n ...\n\ndef show(\n image: Union[str, float, int, Image, Iterable[Image]],\n delay: int = 400,\n wait: bool = True,\n loop: bool = False,\n clear: bool = False,\n) -> None:\n \"\"\"Shows images, letters or digits on the LED display.\n\n Example: ``display.show(Image.HEART)``\n\n When ``image`` is an image or a list of images then each image is displayed in turn.\n If ``image`` is a string or number, each letter or digit is displayed in turn.\n\n :param image: A string, number, image or list of images to show.\n :param delay: Each letter, digit or image is shown with ``delay`` milliseconds between them.\n :param wait: If ``wait`` is ``True``, this function will block until the animation is finished, otherwise the animation will happen in the background.\n :param loop: If ``loop`` is ``True``, the animation will repeat forever.\n :param clear: If ``clear`` is ``True``, the display will be cleared after the sequence has finished.\n\n The ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\n \"\"\"\n ...\n\ndef scroll(\n text: Union[str, float, int],\n delay: int = 150,\n wait: bool = True,\n loop: bool = False,\n monospace: bool = False,\n) -> None:\n \"\"\"Scrolls a number or text on the LED display.\n\n Example: ``display.scroll('micro:bit')``\n\n :param text: The string to scroll. If ``text`` is an integer or float it is first converted to a string using ``str()``.\n :param delay: The ``delay`` parameter controls how fast the text is scrolling.\n :param wait: If ``wait`` is ``True``, this function will block until the animation is finished, otherwise the animation will happen in the background.\n :param loop: If ``loop`` is ``True``, the animation will repeat forever.\n :param monospace: If ``monospace`` is ``True``, the characters will all take up 5 pixel-columns in width, otherwise there will be exactly 1 blank pixel-column between each character as they scroll.\n\n The ``wait``, ``loop`` and ``monospace`` arguments must be specified\n using their keyword.\n \"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Turn on the LED display.\n\n Example: ``display.on()``\n \"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Turn off the LED display (disabling the display allows you to re-use the GPIO pins for other purposes).\n\n Example: ``display.off()``\n \"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"Check whether the LED display is enabled.\n\n Example: ``display.is_on()``\n\n :return: ``True`` if the display is on, otherwise returns ``False``.\n \"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Read the light level.\n\n Example: ``display.read_light_level()``\n\n Uses the display's LEDs in reverse-bias mode to sense the amount of light\n falling on the display.\n\n :return: An integer between 0 and 255 representing the light level, with larger meaning more light.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Communicate with devices using the I\u00b2C bus protocol.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(\n freq: int = 100000, sda: MicroBitDigitalPin = pin20, scl: MicroBitDigitalPin = pin19\n) -> None:\n \"\"\"Re-initialize a peripheral.\n\n Example: ``i2c.init()``\n\n :param freq: clock frequency\n :param sda: ``sda`` pin (default 20)\n :param scl: ``scl`` pin (default 19)\n\n On a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\n the accelerometer and compass stop working, as they are connected\n internally to those pins. This warning does not apply to the **V2**\n revision of the micro:bit as this has `separate I\u00b2C lines `_\n for the motion sensors and the edge connector.\n \"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scan the bus for devices.\n\n Example: ``i2c.scan()``\n\n :return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\n \"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool = False) -> bytes:\n \"\"\"Read bytes from a device.\n\n Example: ``i2c.read(0x50, 64)``\n\n :param addr: The 7-bit address of the device\n :param n: The number of bytes to read\n :param repeat: If ``True``, no stop bit will be sent\n :return: The bytes read\n \"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool = False) -> None:\n \"\"\"Write bytes to a device.\n\n Example: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n :param addr: The 7-bit address of the device\n :param buf: A buffer containing the bytes to write\n :param repeat: If ``True``, no stop bit will be sent\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Respond to sound using the built-in microphone (V2 only).\n\"\"\"\n\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Get the last recorded sound event\n\n Example: ``microphone.current_event()``\n\n :return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\n \"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Check if a sound was heard at least once since the last call.\n\n Example: ``microphone.was_event(SoundEvent.LOUD)``\n\n This call clears the sound history before returning.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\n \"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Check the most recent sound event detected.\n\n Example: ``microphone.is_event(SoundEvent.LOUD)``\n\n This call does not clear the sound event history.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was the most recent heard, ``False`` otherwise.\n \"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Get the sound event history as a tuple.\n\n Example: ``microphone.get_events()``\n\n This call clears the sound history before returning.\n\n :return: A tuple of the event history with the most recent event last.\n \"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Set the threshold for a sound event.\n\n Example: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\n A high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n :param event: A sound event, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``.\n :param value: The threshold level in the range 0-255.\n \"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Get the sound pressure level.\n\n Example: ``microphone.sound_level()``\n\n :return: A representation of the sound pressure level in the range 0 to 255.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Control the built-in speaker (V2 only).\n\"\"\"\n\ndef off() -> None:\n \"\"\"Turn the speaker off.\n\n Example: ``speaker.off()``\n\n This does not disable sound output to an edge connector pin.\n \"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Turn the speaker on.\n\n Example: ``speaker.on()``\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communicate with devices using the serial peripheral interface (SPI) bus.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(\n baudrate: int = 1000000,\n bits: int = 8,\n mode: int = 0,\n sclk: MicroBitDigitalPin = pin13,\n mosi: MicroBitDigitalPin = pin15,\n miso: MicroBitDigitalPin = pin14,\n) -> None:\n \"\"\"Initialize SPI communication.\n\n Example: ``spi.init()``\n\n For correct communication, the parameters have to be the same on both communicating devices.\n\n :param baudrate: The speed of communication.\n :param bits: The width in bits of each transfer. Currently only ``bits=8`` is supported. However, this may change in the future.\n :param mode: Determines the combination of clock polarity and phase - `see online table `_.\n :param sclk: sclk pin (default 13)\n :param mosi: mosi pin (default 15)\n :param miso: miso pin (default 14)\n \"\"\"\n ...\n\ndef read(nbytes: int, out: int = 0) -> bytes:\n \"\"\"Read at most ``nbytes`` while continuously writing the single byte given by ``out``.\n\n Example: ``spi.read(64)``\n\n :param nbytes: Maximum number of bytes to read.\n :param out: The byte value to write (default 0).\n :return: The bytes read.\n \"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Write bytes to the bus.\n\n Example: ``spi.write(bytes([1, 2, 3]))``\n\n :param buffer: A buffer to read data from.\n \"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Write the ``out`` buffer to the bus and read any response into the ``in_`` buffer.\n\n Example: ``spi.write_readinto(out_buffer, in_buffer)``\n\n The length of the buffers should be the same. The buffers can be the same object.\n\n :param out: The buffer to write any response to.\n :param in_: The buffer to read data from.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Communicate with a device using a serial interface.\n\"\"\"\n\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\n\nODD: int\n\"\"\"Odd parity\"\"\"\n\nEVEN: int\n\"\"\"Even parity\"\"\"\n\ndef init(\n baudrate: int = 9600,\n bits: int = 8,\n parity: Optional[int] = None,\n stop: int = 1,\n tx: Optional[MicroBitDigitalPin] = None,\n rx: Optional[MicroBitDigitalPin] = None,\n) -> None:\n \"\"\"Initialize serial communication.\n\n Example: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n :param baudrate: The speed of communication.\n :param bits: The size of bytes being transmitted. micro:bit only supports 8.\n :param parity: How parity is checked, ``None``, ``uart.ODD`` or ``uart.EVEN``.\n :param stop: The number of stop bits, has to be 1 for micro:bit.\n :param tx: Transmitting pin.\n :param rx: Receiving pin.\n\n Initializing the UART on external pins will cause the Python console on\n USB to become unaccessible, as it uses the same hardware. To bring the\n console back you must reinitialize the UART without passing anything for\n ``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\n that calling ``uart.init(115200)`` is enough to restore the Python console.\n\n For more details see `the online documentation `_.\n \"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Check if any data is waiting.\n\n Example: ``uart.any()``\n\n :return: ``True`` if any data is waiting, else ``False``.\n \"\"\"\n ...\n\ndef read(nbytes: Optional[int] = None) -> Optional[bytes]:\n \"\"\"Read bytes.\n\n Example: ``uart.read()``\n\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read as many bytes as possible\n :return: A bytes object or ``None`` on timeout\n \"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int] = None) -> Optional[int]:\n \"\"\"Read bytes into the ``buf``.\n\n Example: ``uart.readinto(input_buffer)``\n\n :param buf: The buffer to write to.\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read ``len(buf)`` bytes.\n :return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\n \"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Read a line, ending in a newline character.\n\n Example: ``uart.readline()``\n\n :return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\n \"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Write a buffer to the bus.\n\n Example: ``uart.write('hello world')``\n\n :param buf: A bytes object or a string.\n :return: The number of bytes written, or ``None`` on timeout.\n\n Examples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\n \"\"\"\n ...\n", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Piny, obrazy, d\u017awi\u0119ki, temperatura i g\u0142o\u015bno\u015b\u0107.\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Zaplanuj uruchomienie funkcji w przedziale okre\u015blonym przez argumenty czasu **tylko V2**.\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Funkcja wywo\u0142ywana w podanym przedziale. Pomi\u0144, je\u015bli u\u017cywasz jako dekorator.\n:param days: Ustawia oznaczenie dnia dla harmonogramu.\n:param h: Ustawia znak godziny dla harmonogramu.\n:param min: Ustawia znak minuty dla harmonogramu.\n:param s: Ustawia znak sekundy dla harmonogramu.\n:param ms: Ustawia znak milisekundy dla harmonogramu.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Wejd\u017a w tryb paniki.\n\nExample: ``panic(127)``\n\n:param n: Dowolna liczba ca\u0142kowita <= 255 dla wskazania statusu.\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"Uruchom ponownie p\u0142ytk\u0119.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Konwertuje warto\u015b\u0107 z zakresu do zakresu liczb ca\u0142kowitych.\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: Liczba do konwersji.\n:param from_: Krotka do zdefiniowania zakresu dla konwersji z.\n:param to: Krotka do zdefiniowania zakresu dla konwersji do.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Konwertuje warto\u015b\u0107 z zakresu do zakresu o zmiennopozycyjnego.\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: Liczba do konwersji.\n:param from_: Krotka do zdefiniowania zakresu dla konwersji z.\n:param to: Krotka do zdefiniowania zakresu, na jaki konwertowa\u0107.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Poczekaj ``n`` milisekund.\n\nExample: ``sleep(1000)``\n\n:param n: Liczba milisekund oczekiwania\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"Uzyskaj czas pracy p\u0142ytki.\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"Uzyskaj temperatur\u0119 micro:bita w stopniach Celsjusza.\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Ustawia g\u0142o\u015bno\u015b\u0107.\n\nExample: ``set_volume(127)``\n\n:param v: warto\u015b\u0107 mi\u0119dzy 0 (niska) a 255 (wysoka).\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"Klasa dla przycisk\u00f3w ``button_a`` i ``button_b``.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Sprawd\u017a, czy przycisk jest naci\u015bni\u0119ty.\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"Sprawd\u017a, czy przycisk zosta\u0142 naci\u015bni\u0119ty od momentu uruchomienia urz\u0105dzenia lub kiedy ta metoda zosta\u0142a wywo\u0142ana.\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"Pobierz sum\u0119 naci\u015bni\u0119\u0107 przycisk\u00f3w i zresetuje t\u0119 sum\u0119\ndo zera przed powrotem.\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"Lewy przycisk ``Button`` obiekt.\"\"\"\nbutton_b: Button\n\"\"\"Prawy przycisk ``Button`` obiekt.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"Cyfrowy pin.\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"Uzyskaj cyfrow\u0105 warto\u015b\u0107 pinu.\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"Ustaw cyfrow\u0105 warto\u015b\u0107 pinu.\n\nExample: ``pin0.write_digital(1)``\n\n:param value: 1, aby ustawi\u0107 wysok\u0105 warto\u015b\u0107 pinu lub 0, aby ustawi\u0107 nisk\u0105 warto\u015b\u0107 pinu\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"Ustaw stan ci\u0105gni\u0119cia na jedn\u0105 z trzech mo\u017cliwych warto\u015bci: ``PULL_UP``, ``PULL_DOWN`` lub ``NO_PULL``.\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: Stan ci\u0105gni\u0119cia z odpowiedniego pinu, np. ``pin0.PULL_UP``.\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"Uzyskaj stan cigni\u0119cia na pinie.\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"Zwraca tryb pinu.\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"Wysy\u0142aj sygna\u0142 PWM na pin, z cyklem pracy proporcjonalnym do ``value``.\n\nExample: ``pin0.write_analog(254)``\n\n:param value: Liczba ca\u0142kowita lub liczba zmiennopozycyjna mi\u0119dzy 0 (0% cyklu pracy) a 1023 (100% cyklu pracy).\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"Ustaw okres wyj\u015bcia sygna\u0142u PWM na ``period`` w milisekundach.\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: Okres w milisekundach z minimaln\u0105 poprawn\u0105 warto\u015bci\u0105 1 ms.\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Ustaw okres wyj\u015bcia sygna\u0142u PWM na ``period`` w mikrosekundach. (ustaw mikrosekundy okresu analogowego)\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: Okres w mikrosekundach z minimaln\u0105 poprawn\u0105 warto\u015bci\u0105 256\u00b5s.\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"Pin z funkcjami analogowymi i cyfrowymi.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Odczytaj napi\u0119cie przy\u0142o\u017cone do pinu.\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"Pin z funkcjami analogowymi, cyfrowymi i dotykowymi.\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"Sprawd\u017a, czy pin zosta\u0142 dotkni\u0119ty.\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Ustaw tryb dotykowy dla pinu.\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: ``CAPACITIVE`` lub ``RESISTIVE`` z odpowiedniego pinu.\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"Pin z funkcjami cyfrow\u0105, analogow\u0105 i dotykow\u0105.\"\"\"\npin1: MicroBitTouchPin\n\"\"\"Pin z funkcjami cyfrow\u0105, analogow\u0105 i dotykow\u0105.\"\"\"\npin2: MicroBitTouchPin\n\"\"\"Pin z funkcjami cyfrow\u0105, analogow\u0105 i dotykow\u0105.\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi i analogowymi.\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi i analogowymi.\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi i analogowymi.\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"Pin z funkcjami cyfrowymi.\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"Wra\u017cliwy na dotyk pin z logo z przodu micro:bita, kt\u00f3ry domy\u015blnie jest ustawiony na pojemno\u015bciowy tryb dotykowy.\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"Pin adresuj\u0105cy g\u0142o\u015bnik micro:bita.\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"Obraz wy\u015bwietlany na wy\u015bwietlaczu LED micro:bita.\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"Obraz serca.\"\"\"\n HEART_SMALL: Image\n \"\"\"Obraz ma\u0142ego serca.\"\"\"\n HAPPY: Image\n \"\"\"Obraz szcz\u0119\u015bliwej twarzy.\"\"\"\n SMILE: Image\n \"\"\"Obraz u\u015bmiechni\u0119tej twarzy.\"\"\"\n SAD: Image\n \"\"\"Obraz smutnej twarzy.\"\"\"\n CONFUSED: Image\n \"\"\"Obraz zmieszanej twarzy.\"\"\"\n ANGRY: Image\n \"\"\"Obraz z\u0142ej twarzy.\"\"\"\n ASLEEP: Image\n \"\"\"Obraz \u015bpi\u0105cej twarzy.\"\"\"\n SURPRISED: Image\n \"\"\"Obraz zaskoczonej twarzy.\"\"\"\n SILLY: Image\n \"\"\"Obraz g\u0142upiej twarzy.\"\"\"\n FABULOUS: Image\n \"\"\"Obraz twarzy w okularach przeciws\u0142onecznych.\"\"\"\n MEH: Image\n \"\"\"Obraz niewzruszonej twarzy.\"\"\"\n YES: Image\n \"\"\"Haczyk na TAK.\"\"\"\n NO: Image\n \"\"\"Krzy\u017cyk na NIE.\"\"\"\n CLOCK12: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 12.\"\"\"\n CLOCK11: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 11.\"\"\"\n CLOCK10: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 10.\"\"\"\n CLOCK9: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 9.\"\"\"\n CLOCK8: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 8.\"\"\"\n CLOCK7: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 7.\"\"\"\n CLOCK6: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 6.\"\"\"\n CLOCK5: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 5.\"\"\"\n CLOCK4: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 4.\"\"\"\n CLOCK3: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 3.\"\"\"\n CLOCK2: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 2.\"\"\"\n CLOCK1: Image\n \"\"\"Obraz z lini\u0105 wskazuj\u0105c\u0105 na godzin\u0119 1.\"\"\"\n ARROW_N: Image\n \"\"\"Obraz strza\u0142ki wskazuj\u0105cej p\u00f3\u0142noc.\"\"\"\n ARROW_NE: Image\n \"\"\"Obraz strza\u0142ki wskazuj\u0105cej p\u00f3\u0142nocny wsch\u00f3d.\"\"\"\n ARROW_E: Image\n \"\"\"Obraz strza\u0142ki wskazuj\u0105cej wsch\u00f3d.\"\"\"\n ARROW_SE: Image\n \"\"\"Obraz strza\u0142ki wskazuj\u0105cej po\u0142udniowy wsch\u00f3d.\"\"\"\n ARROW_S: Image\n \"\"\"Obraz strza\u0142ki wskazuj\u0105cej po\u0142udnie.\"\"\"\n ARROW_SW: Image\n \"\"\"Obraz strza\u0142ki wskazuj\u0105cej po\u0142udniowy zach\u00f3d.\"\"\"\n ARROW_W: Image\n \"\"\"Obraz strza\u0142ki wskazuj\u0105cej zach\u00f3d.\"\"\"\n ARROW_NW: Image\n \"\"\"Obraz strza\u0142ki wskazuj\u0105cej p\u00f3\u0142nocny zach\u00f3d.\"\"\"\n TRIANGLE: Image\n \"\"\"Obraz tr\u00f3jk\u0105ta skierowanego do g\u00f3ry.\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"Obraz tr\u00f3jk\u0105ta w lewym rogu.\"\"\"\n CHESSBOARD: Image\n \"\"\"Diody LED \u015bwiec\u0105 naprzemiennie w uk\u0142adzie szachownicy.\"\"\"\n DIAMOND: Image\n \"\"\"Obraz diamentu.\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"Obraz ma\u0142ego diamentu.\"\"\"\n SQUARE: Image\n \"\"\"Obraz kwadratu.\"\"\"\n SQUARE_SMALL: Image\n \"\"\"Obraz ma\u0142ego kwadratu.\"\"\"\n RABBIT: Image\n \"\"\"Obraz kr\u00f3lika.\"\"\"\n COW: Image\n \"\"\"Obraz krowy.\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"Obraz \u0107wier\u0107nuty.\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"Obraz nuty \u00f3semki.\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"Obraz pary nut \u00f3semek.\"\"\"\n PITCHFORK: Image\n \"\"\"Obraz kamertonu.\"\"\"\n XMAS: Image\n \"\"\"Obraz choinki.\"\"\"\n PACMAN: Image\n \"\"\"Obrazek postaci arcade Pac-Man\"\"\"\n TARGET: Image\n \"\"\"Obraz celu.\"\"\"\n TSHIRT: Image\n \"\"\"Obraz t-shirt.\"\"\"\n ROLLERSKATE: Image\n \"\"\"Obraz Rollerskate.\"\"\"\n DUCK: Image\n \"\"\"Obraz kaczki.\"\"\"\n HOUSE: Image\n \"\"\"Obraz domu.\"\"\"\n TORTOISE: Image\n \"\"\"Obraz \u017c\u00f3\u0142wia.\"\"\"\n BUTTERFLY: Image\n \"\"\"Obraz motyla.\"\"\"\n STICKFIGURE: Image\n \"\"\"Obraz przyklejonej figury.\"\"\"\n GHOST: Image\n \"\"\"Obraz ducha.\"\"\"\n SWORD: Image\n \"\"\"Obraz miecza.\"\"\"\n GIRAFFE: Image\n \"\"\"Obraz \u017cyrafy.\"\"\"\n SKULL: Image\n \"\"\"Obraz czaszki.\"\"\"\n UMBRELLA: Image\n \"\"\"Obraz parasola.\"\"\"\n SNAKE: Image\n \"\"\"Obraz w\u0119\u017ca.\"\"\"\n SCISSORS: Image\n \"\"\"Obraz no\u017cyczek.\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"Lista zawieraj\u0105ca wszystkie obrazy CLOCK_ po kolei.\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"Lista zawieraj\u0105ca wszystkie obrazy ARROW_ po kolei.\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Utw\u00f3rz obraz z \u0142a\u0144cucha opisuj\u0105cego, kt\u00f3re diody LED s\u0105 zapalone.\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: \u0141a\u0144cuch opisuj\u0105cy obraz.\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"Utw\u00f3rz pusty obraz z ``width`` kolumnami i ``height`` wierszami.\n\n:param width: Opcjonalna szeroko\u015b\u0107 obrazu\n:param height: Opcjonalna wysoko\u015b\u0107 obrazu\n:param buffer: Opcjonalna tablica lub bajty ``width``\u00d7``height`` liczb ca\u0142kowitych w zakresie 0-9 do zainicjowania obrazu\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"Ustal liczb\u0119 kolumn\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"Uzyskaj liczb\u0119 wierszy\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Ustaw jasno\u015b\u0107 piksela.\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: Numer kolumny\n:param y: Numer wiersza\n:param value: Jasno\u015b\u0107 jako liczba ca\u0142kowita mi\u0119dzy 0 (ciemny) i 9 (jasna)\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"uzyskaj jasno\u015b\u0107 piksela.\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: Numer kolumny\n:param y: Numer wiersza\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz przesuwaj\u0105c ten obraz w lewo.\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: Liczba kolumn do przesuni\u0119cia\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz, przesuwaj\u0105c ten obraz w prawo.\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: Liczba kolumn do przesuni\u0119cia\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz, przesuwaj\u0105c obraz do g\u00f3ry.\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: Liczba wierszy do przesuni\u0119cia o\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz, przesuwaj\u0105c obraz do do\u0142u.\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: Liczba wierszy do przesuni\u0119cia o\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz przez przyci\u0119cie zdj\u0119cia.\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: Kolumna przesuni\u0119cia przyci\u0119cia\n:param y: Wiersz przesuni\u0119cia przyci\u0119cia\n:param w: Szeroko\u015b\u0107 przyci\u0119cia\n:param h: Wysoko\u015b\u0107 przyci\u0119cia\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"Utw\u00f3rz dok\u0142adn\u0105 kopi\u0119 obrazu.\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz przez odwr\u00f3cenie jasno\u015bci pikseli w obrazie \u017ar\u00f3d\u0142owym.\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"Ustaw jasno\u015b\u0107 wszystkich pikseli obrazka.\n\nExample: ``my_image.fill(5)``\n\n:param value: Nowa jasno\u015b\u0107 jako liczba mi\u0119dzy 0 (ciemny) a 9 (jasny).\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"Skopiuj obszar z innego obrazu na ten obraz.\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: Zdj\u0119cie \u017ar\u00f3d\u0142owe\n:param x: Pocz\u0105tkowe przesuni\u0119cie kolumny w obrazie \u017ar\u00f3d\u0142owym\n:param y: Pocz\u0105tkowe przesuni\u0119cie wiersza na obrazie \u017ar\u00f3d\u0142owym\n:param w: Liczba kolumn do skopiowania\n:param h: Liczba wierszy do skopiowania\n:param xdest: Przesuni\u0119cie kolumny do modyfikacji na tym obrazie\n:param ydest: Przesuni\u0119cie wiersza do modyfikacji na tym obrazie\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"Uzyskaj kompaktow\u0105 reprezentacj\u0119 obrazu w postaci \u0142a\u0144cucha.\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"Uzyskaj czyteln\u0105 reprezentacj\u0119 obrazu w postaci \u0142a\u0144cucha.\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz, dodaj\u0105c warto\u015bci jasno\u015bci z dw\u00f3ch\nobraz\u00f3w dla ka\u017cdego piksela.\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: Obraz do dodania.\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz, odejmuj\u0105c warto\u015bci jasno\u015bci\ninnego obrazu od tego obrazu.\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: Obraz do odj\u0119cia.\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz, mno\u017c\u0105c jasno\u015b\u0107 ka\u017cdego piksela przez\n``n``.\n\nExample: ``Image.HEART * 0.5``\n\n:param n: Warto\u015b\u0107 do mno\u017cenia przez.\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"Utw\u00f3rz nowy obraz, dziel\u0105c jasno\u015b\u0107 ka\u017cdego piksela przez\n``n``.\n\nExample: ``Image.HEART / 2``\n\n:param n: Warto\u015b\u0107 do dzielenia przez.\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Przedstawia przej\u015bcie zdarze\u0144 d\u017awi\u0119kowych z ``quiet`` do ``loud``, jak klaskanie lub krzyczenie.\"\"\"\n QUIET: SoundEvent\n \"\"\"Przedstawia przej\u015bcie zdarze\u0144 d\u017awi\u0119kowych z ``loud`` do ``quiet``, jak m\u00f3wienie lub muzyka w tle.\"\"\"\n\nclass Sound:\n \"\"\"Wbudowane d\u017awi\u0119ki mo\u017cna wywo\u0142a\u0107 za pomoc\u0105 ``audio.play(Sound.NAME)``.\"\"\"\n GIGGLE: Sound\n \"\"\"Chichocz\u0105cy d\u017awi\u0119k.\"\"\"\n HAPPY: Sound\n \"\"\"Szcz\u0119\u015bliwy d\u017awi\u0119k.\"\"\"\n HELLO: Sound\n \"\"\"D\u017awi\u0119k powitania.\"\"\"\n MYSTERIOUS: Sound\n \"\"\"Tajemniczy d\u017awi\u0119k.\"\"\"\n SAD: Sound\n \"\"\"Smutny d\u017awi\u0119k.\"\"\"\n SLIDE: Sound\n \"\"\"Przesuwaj\u0105cy si\u0119 d\u017awi\u0119k.\"\"\"\n SOARING: Sound\n \"\"\"Wznosz\u0105cy si\u0119 d\u017awi\u0119k.\"\"\"\n SPRING: Sound\n \"\"\"Wiosny d\u017awi\u0119k.\"\"\"\n TWINKLE: Sound\n \"\"\"Migocz\u0105cy d\u017awi\u0119k.\"\"\"\n YAWN: Sound\n \"\"\"D\u017awi\u0119k ziewania.\"\"\"", + "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Zmierz przyspieszenie micro:bita i rozpoznawaj gesty.\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Uzyskaj pomiar przyspieszenia na osi ``x`` w mili-g.\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Uzyskaj pomiar przyspieszenia na osi ``y`` w mili-g.\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Uzyskaj pomiar przyspieszenia na osi ``z`` w mili-g.\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Uzyskaj pomiary przyspieszenia na wszystkich osiach jednocze\u015bnie, jako krotk\u0119.\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Uzyskaj pomiar przyspieszenia wszystkich osi \u0142\u0105cznie jako dodatni\u0105 liczb\u0119 ca\u0142kowit\u0105. Jest to suma pitagorejska osi X, Y i Z.\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Pobierz nazw\u0119 aktualnego gestu.\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Sprawd\u017a, czy nazwany gest jest aktualnie aktywny.\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: Nazwa gestu.\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Sprawd\u017a, czy nazwany gest by\u0142 aktywny od ostatniego po\u0142\u0105czenia.\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: Nazwa gestu.\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Zwr\u00f3\u0107 krotk\u0119 historii gest\u00f3w.\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Ustaw zakres czu\u0142o\u015bci akcelerometru w g (standardowa grawitacja) na najbli\u017csze warto\u015bci obs\u0142ugiwane przez sprz\u0119t tak, aby zaokr\u0105gla\u0142 si\u0119 do ``2``, ``4`` lub ``8`` g.\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: Nowy zakres dla akcelerometru, liczba ca\u0142kowita w ``g``.\"\"\"", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Odtwarzaj d\u017awi\u0119ki za pomoc\u0105 micro:bita (importuj ``audio`` dla kompatybilno\u015bci V1).\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Odtw\u00f3rz wbudowany d\u017awi\u0119k, efekt d\u017awi\u0119kowy lub niestandardowe ramki audio.\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: Wbudowany ``Sound``, taki jak ``Sound.GIGGLE``, ``SoundEffect`` lub przyk\u0142adowe dane jako iteracja obiekt\u00f3w ``AudioFrame``.\n:param wait: Je\u015bli ``wait`` jest ``True``, ta funkcja b\u0119dzie blokowa\u0107, a\u017c d\u017awi\u0119k zostanie zako\u0144czony.\n:param pin: Opcjonalny argument do okre\u015blenia pinu wyj\u015bciowego mo\u017ce by\u0107 u\u017cyty do nadpisania domy\u015blnej warto\u015bci ``pin0``. Je\u015bli nie chcemy, aby \u017caden d\u017awi\u0119k nie by\u0142 odtwarzany, mo\u017cemy u\u017cy\u0107 ``pin=None``.\n:param return_pin: Okre\u015bla pin \u0142\u0105cznika r\u00f3\u017cnicowego, aby pod\u0142\u0105czy\u0107 p\u0142ytk\u0119 do zewn\u0119trznego g\u0142o\u015bnika zamiast do ziemi. Jest to ignorowane dla **V2**.\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Sprawd\u017a, czy d\u017awi\u0119k jest odtwarzany.\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Zatrzymaj odtwarzania audio.\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"Efekt d\u017awi\u0119kowy, utworzony przez zestaw parametr\u00f3w skonfigurowanych za pomoc\u0105 konstruktora lub atrybut\u00f3w.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Opcja sinusoidalnej fali u\u017cywana dla parametru ``waveform``.\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Opcja fali pi\u0142okszta\u0142tnej u\u017cywana dla parametru ``waveform``.\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Opcja fali tr\u00f3jk\u0105tnej u\u017cywana dla parametru ``waveform``.\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Opcja fali kwadratowj u\u017cywana dla parametru ``waveform``.\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Opcja szumu u\u017cywana dla parametru ``waveform``.\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Opcja interpolacji liniowej u\u017cywana dla parametru ``shape``.\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Opcja interpolacji krzywej u\u017cywana dla parametru ``shape``.\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Opcja interpolacji logarytmicznej u\u017cywana dla parametru ``shape``.\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"Opcja braku efektu u\u017cyta dla parametru ``fx``.\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Opcja efektu Tremelo u\u017cyta dla parametru ``fx``.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Opcja efektu Vibrato u\u017cyta dla parametru ``fx``.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Opcja efektu Warble u\u017cyta dla parametru ``fx``.\"\"\"\n freq_start: int\n \"\"\"Cz\u0119stotliwo\u015b\u0107 pocz\u0105tkowa w hercach (Hz), liczba mi\u0119dzy ``0`` i ``9999``\"\"\"\n freq_end: int\n \"\"\"Cz\u0119stotliwo\u015b\u0107 ko\u0144cowa w hercach (Hz), liczba mi\u0119dzy ``0`` i ``9999``\"\"\"\n duration: int\n \"\"\"Czas trwania d\u017awi\u0119ku w milisekundach, liczba pomi\u0119dzy ``0`` i ``9999``\"\"\"\n vol_start: int\n \"\"\"Warto\u015b\u0107 g\u0142o\u015bno\u015bci pocz\u0105tkowej, liczba mi\u0119dzy ``0`` i ``255``\"\"\"\n vol_end: int\n \"\"\"Warto\u015b\u0107 g\u0142o\u015bno\u015bci ko\u0144cowej, liczba mi\u0119dzy ``0`` i ``255``\"\"\"\n waveform: int\n \"\"\"Rodzaj kszta\u0142tu fali, jedna z tych warto\u015bci:``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (losowo generowany szum)\"\"\"\n fx: int\n \"\"\"Efekt do dodania do d\u017awi\u0119ku, jedna z nast\u0119puj\u0105cych warto\u015bci: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE`` lub ``FX_NONE``\"\"\"\n shape: int\n \"\"\"Rodzaj krzywej interpolacji mi\u0119dzy cz\u0119stotliwo\u015bci\u0105 pocz\u0105tkow\u0105 i ko\u0144cow\u0105, r\u00f3\u017cne kszta\u0142ty fal maj\u0105 r\u00f3\u017cne szybko\u015bci zmian cz\u0119stotliwo\u015bci. Jedna z nast\u0119puj\u0105cych warto\u015bci: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Utw\u00f3rz nowy efekt d\u017awi\u0119kowy.\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: Cz\u0119stotliwo\u015b\u0107 pocz\u0105tkowa w hercach (Hz), liczba mi\u0119dzy ``0`` i ``9999``.\n:param freq_end: Cz\u0119stotliwo\u015b\u0107 ko\u0144cowa w hercach (Hz), liczba mi\u0119dzy ``0`` i ``9999``.\n:param duration: Czas trwania d\u017awi\u0119ku w milisekundach, liczba mi\u0119dzy ``0`` i ``9999``.\n:param vol_start: Pocz\u0105tkowa warto\u015b\u0107 g\u0142o\u015bno\u015bci, liczba pomi\u0119dzy ``0`` i ``255``.\n:param vol_end: Ko\u0144cowa warto\u015b\u0107 g\u0142o\u015bno\u015bci, liczba pomi\u0119dzy ``0`` i ``255``.\n:param waveform: Rodzaj kszta\u0142tu fali, jedna z tych warto\u015bci: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (losowo generowany szum).\n:param fx: Efekt do dodania do d\u017awi\u0119ku, jedna z nast\u0119puj\u0105cych warto\u015bci: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE`` lub ``FX_NONE``.\n:param shape: Rodzaj krzywej interpolacji mi\u0119dzy cz\u0119stotliwo\u015bci\u0105 pocz\u0105tkow\u0105 i ko\u0144cow\u0105, r\u00f3\u017cne kszta\u0142ty fal maj\u0105 r\u00f3\u017cne szybko\u015bci zmian cz\u0119stotliwo\u015bci. Jedna z nast\u0119puj\u0105cych warto\u015bci: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Utw\u00f3rz kopi\u0119 ``SoundEffect``.\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"Obiekt ``AudioFrame`` jest list\u0105 32 pr\u00f3bek, z kt\u00f3rych ka\u017cda jest niepodpisanym bajtem (liczba ca\u0142kowita mi\u0119dzy 0 a 255).\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Zast\u0105p dane w tym ``AudioFrame`` danymi z innej instancji ``AudioFrame``.\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: Instancja ``AudioFrame``, z kt\u00f3rej skopiowane s\u0105 dane.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"U\u017cyj wbudowanego kompasu.\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Rozpoczyna proces kalibracji.\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"Sprawd\u017a, czy kompas jest skalibrowany.\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Cofnij kalibracj\u0119, czyni\u0105c kompas ponownie niekalibrowanym.\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Uzyskaj nat\u0119\u017cenie pola magnetycznego na osi ``x``.\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Uzyskaj nat\u0119\u017cenie pola magnetycznego na osi ``y``.\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Uzyskaj nat\u0119\u017cenie pola magnetycznego na osi ``z``.\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Pobierz kierunek kompasu.\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Uzyskaj wielko\u015b\u0107 pola magnetycznego wok\u00f3\u0142 urz\u0105dzenia.\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", + "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Poka\u017c tekst, obrazy i animacje na wy\u015bwietlaczu 5x5 LED.\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Uzyskaj jasno\u015b\u0107 LED w kolumnie ``x`` i w wierszu ``y``.\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: Wy\u015bwietlana kolumna (0..4)\n:param y: Wy\u015bwietlany wiersz (0..4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Ustaw jasno\u015b\u0107 LED w kolumnie ``x`` i wierszu ``y``.\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: Wy\u015bwietlana kolumna (0..4)\n:param y: Wy\u015bwietlany wiersz (0..4)\n:param value: Jasno\u015b\u0107 mi\u0119dzy 0 (wy\u0142\u0105czona) i 9 (jasna)\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Ustaw jasno\u015b\u0107 wszystkich diod LED na 0 (wy\u0142\u0105czone).\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"Pokazuje obrazy, litery lub cyfry na wy\u015bwietlaczu LED.\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: \u0141a\u0144cuch, liczba, obraz lub lista obraz\u00f3w do pokazania.\n:param delay: Ka\u017cda litera, cyfra lub obraz s\u0105 wy\u015bwietlane z ``delay`` milisekundami mi\u0119dzy sob\u0105.\n:param wait: Je\u015bli ``wait`` jest ``True``, ta funkcja b\u0119dzie blokowa\u0107, a\u017c zako\u0144czy si\u0119 animacja, w przeciwnym razie animacja pojawi si\u0119 w tle.\n:param loop: Je\u015bli ``loop`` jest ``True``, animacja b\u0119dzie powtarzana w niesko\u0144czono\u015b\u0107.\n:param clear: Je\u015bli ``clear`` jest ``True``, wy\u015bwietlacz zostanie wyczyszczony po zako\u0144czeniu sekwencji.\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"Przewija liczb\u0119 lub tekst na wy\u015bwietlaczu LED.\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: \u0141a\u0144cuch do przewini\u0119cia. Je\u015bli ``text`` jest liczb\u0105 ca\u0142kowit\u0105 lub zmiennopozycyjn\u0105, najpierw zostanie przekonwertowany na \u0142a\u0144cuch za pomoc\u0105 ``str()``.\n:param delay: Parametr ``delay`` kontroluje szybko\u015b\u0107 przewijania tekstu.\n:param wait: Je\u015bli ``wait`` jest ``True``, ta funkcja b\u0119dzie blokowa\u0107, a\u017c zako\u0144czy si\u0119 animacja, w przeciwnym razie animacja pojawi si\u0119 w tle.\n:param loop: Je\u015bli ``loop`` jest ``True``, animacja b\u0119dzie powtarzana w niesko\u0144czono\u015b\u0107.\n:param monospace: Je\u015bli ``monospace`` jest ``True``, wszystkie znaki zajm\u0105 co najwy\u017cej 5 kolumn pikseli na szeroko\u015b\u0107, w przeciwnym razie b\u0119dzie dok\u0142adnie 1 pusta kolumna pikseli pomi\u0119dzy ka\u017cdym znakiem, gdy si\u0119 przewijaj\u0105.\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"W\u0142\u0105cz wy\u015bwietlacz LED.\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Wy\u0142\u0105cz wy\u015bwietlacz LED (wy\u0142\u0105czenie wy\u015bwietlania pozwala na ponowne u\u017cycie pin\u00f3w GPIO do innych cel\u00f3w).\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"Sprawd\u017a, czy wy\u015bwietlacz LED jest w\u0142\u0105czony.\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Odczytuj poziom \u015bwiat\u0142a.\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Komunikuj si\u0119 z urz\u0105dzeniami za pomoc\u0105 protoko\u0142u magistrali I2C.\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"Ponownie zainicjuj peryferia.\n\nExample: ``i2c.init()``\n\n:param freq: clock frequency\n:param sda: ``sda`` pin (domy\u015blnie 20)\n:param scl: ``scl`` pin (domy\u015blnie 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Przeskanuj magistral\u0119 w poszukiwaniu urz\u0105dze\u0144.\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"Odczytaj bajty z urz\u0105dzenia..\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: 7-bitowy adres urz\u0105dzenia\n:param n: Liczba bajt\u00f3w do odczytu\n:param repeat: Je\u015bli ``True``, nie zostan\u0105 wys\u0142ane \u017cadne bity zatrzymania\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"Zapisz bajty na urz\u0105dzenie.\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: 7-bitowy adres urz\u0105dzenia\n:param buf: Bufor zawieraj\u0105cy bajty do zapisu\n:param repeat: Je\u015bli ``True``, nie zostan\u0105 wys\u0142ane \u017cadne bity zatrzymania\"\"\"\n ...", + "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Odpowiedz na d\u017awi\u0119k przy u\u017cyciu wbudowanego mikrofonu (tylko V2).\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Pobierz ostatnie nagrane zdarzenie d\u017awi\u0119kowe\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Sprawd\u017a, czy d\u017awi\u0119k by\u0142 s\u0142yszany co najmniej raz od ostatniego po\u0142\u0105czenia.\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: Zdarzenie do sprawdzenia, takie jak ``SoundEvent.LOUD`` lub ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Sprawd\u017a najnowsze wykryte zdarzenie d\u017awi\u0119kowe.\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: Zdarzenie do sprawdzenia, takie jak ``SoundEvent.LOUD`` lub ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Pobierz histori\u0119 zdarze\u0144 d\u017awi\u0119kowych jako krotk\u0119.\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Ustaw pr\u00f3g dla zdarzenia d\u017awi\u0119kowego.\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: Zdarzenie d\u017awi\u0119kowe, takie jak ``SoundEvent.LOUD`` lub ``SoundEvent.QUIET``.\n:param value: Poziom progu w zakresie 0-255.\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Uzyskaj poziom ci\u015bnienia akustycznego.\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", + "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Sprawd\u017a wbudowany g\u0142o\u015bnik (tylko V2).\"\"\"\n\ndef off() -> None:\n \"\"\"Wy\u0142\u0105cz g\u0142o\u015bnik.\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"W\u0142\u0105cz g\u0142o\u015bnik.\n\nExample: ``speaker.on()``\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Komunikuj si\u0119 z urz\u0105dzeniami za pomoc\u0105 magistrali szeregowego interfejsu (SPI).\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"Zainicjuj komunikacj\u0119 SPI.\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: Szybko\u015b\u0107 komunikacji.\n:param bits: Szeroko\u015b\u0107 w bitach ka\u017cdego transferu. Obecnie obs\u0142ugiwanych jest tylko ``bits=8``. Mo\u017ce to jednak ulec zmianie w przysz\u0142o\u015bci.\n:param mode: Okre\u015bla po\u0142\u0105czenie polarno\u015bci zegara i fazy - `zobacz tabel\u0119 online `_.\n:param sclk: pin sclk (domy\u015blnie 13)\n:param mosi: pin mosi (domy\u015blnie 15)\n:param miso: pin miso (domy\u015blnie 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"Przeczytaj co najwy\u017cej ``nbytes`` podczas ci\u0105g\u0142ego pisania pojedynczego bajtu danego przez ``out``.\n\nExample: ``spi.read(64)``\n\n:param nbytes: Maksymalna liczba bajt\u00f3w do odczytu.\n:param out: Warto\u015b\u0107 bajtu do zapisu (domy\u015blnie 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Zapisz bajty na magistrali.\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: Bufor do odczytu danych.\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Zapisz bufor ``out`` do magistrali i wczytaj dowoln\u0105 odpowied\u017a do bufora ``in_``.\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: Bufor do zapisu dowolnej odpowiedzi.\n:param in_: Bufor do odczytu danych.\"\"\"\n ...", + "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Komunikuj si\u0119 z urz\u0105dzeniem za pomoc\u0105 interfejsu szeregowego.\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"Nieparzysta parzysto\u015b\u0107\"\"\"\nEVEN: int\n\"\"\"Parzysta parzysto\u015b\u0107\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"Zainicjuj komunikacj\u0119 seryjn\u0105.\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: Szybko\u015b\u0107 komunikacji.\n:param bits: Rozmiar przesy\u0142anych bajt\u00f3w. micro:bit obs\u0142uguje tylko 8.\n:param parity: Jak sprawdzana jest parzysto\u015b\u0107, ``None``, ``uart.ODD`` lub ``uart.EVEN``.\n:param stop: Liczba bit\u00f3w stopu musi wynosi\u0107 1 dla micro:bita.\n:param tx: Transmituj\u0105c pin.\n:param rx: Odbieranie pinu.\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Sprawd\u017a, czy czekaj\u0105 jakie\u015b dane.\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"Czytaj bajty.\n\nExample: ``uart.read()``\n\n:param nbytes: Je\u015bli ``nbytes`` jest okre\u015blony, przeczytaj co najwy\u017cej t\u0119 liczb\u0119 bajt\u00f3w, w przeciwnym razie przeczytaj jak najwi\u0119cej bajt\u00f3w\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"Przeczytaj bajty do ``buf``.\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: Bufor do zapisu.\n:param nbytes: Je\u015bli ``nbytes`` jest okre\u015blony, przeczytaj co najwy\u017cej t\u0119 liczb\u0119 bajt\u00f3w, w przeciwnym razie przeczytaj ``len(buf)`` bajt\u00f3w.\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Przeczytaj wiersz ko\u0144cz\u0105cy si\u0119 znakiem nowej linii.\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Zapisz bufor na magistrali.\n\nExample: ``uart.write('hello world')``\n\n:param buf: Obiekt bajt\u00f3w lub \u0142a\u0144cuch.\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" } diff --git a/src/micropython/main/typeshed.zh-cn.json b/src/micropython/main/typeshed.zh-cn.json index a1439b3f0..23f0f2312 100644 --- a/src/micropython/main/typeshed.zh-cn.json +++ b/src/micropython/main/typeshed.zh-cn.json @@ -7,23 +7,23 @@ "/typeshed/stdlib/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\n# Re-export for V1 compatibility.\nfrom .microbit.audio import (\n is_playing as is_playing,\n play as play,\n stop as stop,\n AudioFrame as AudioFrame,\n SoundEffect as SoundEffect,\n)\n", "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", - "/typeshed/stdlib/gc.pyi": "\"\"\"Control the garbage collector\"\"\"\n\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"Enable automatic garbage collection.\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"Disable automatic garbage collection.\n\n Heap memory can still be allocated,\n and garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Run a garbage collection.\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Get the number of bytes of heap RAM that are allocated.\n\n :return: The number of bytes allocated.\n\n This function is MicroPython extension.\n \"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Get the number of bytes of available heap RAM, or -1 if this amount is not known.\n\n :return: The number of bytes free.\n\n This function is MicroPython extension.\n \"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Query the additional GC allocation threshold.\n\n :return: The GC allocation threshold.\n\n This function is a MicroPython extension. CPython has a similar\n function - ``set_threshold()``, but due to different GC\n implementations, its signature and semantics are different.\n \"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Set the additional GC allocation threshold.\n\n Normally, a collection is triggered only when a new allocation\n cannot be satisfied, i.e. on an out-of-memory (OOM) condition.\n If this function is called, in addition to OOM, a collection\n will be triggered each time after ``amount`` bytes have been\n allocated (in total, since the previous time such an amount of bytes\n have been allocated). ``amount`` is usually specified as less than the\n full heap size, with the intention to trigger a collection earlier than when the\n heap becomes exhausted, and in the hope that an early collection will prevent\n excessive memory fragmentation. This is a heuristic measure, the effect\n of which will vary from application to application, as well as\n the optimal value of the ``amount`` parameter.\n\n A value of -1 means a disabled allocation threshold.\n\n This function is a MicroPython extension. CPython has a similar\n function - ``set_threshold()``, but due to different GC\n implementations, its signature and semantics are different.\n\n :param amount: The number of bytes after which a garbage collection should be triggered.\n \"\"\"\n ...\n", - "/typeshed/stdlib/log.pyi": "\"\"\"Log data to your micro:bit V2.\"\"\"\n\nfrom typing import Literal, Mapping, Optional, Union, overload\n\nMILLISECONDS = 1\n\"\"\"Milliseconds timestamp format.\"\"\"\n\nSECONDS = 10\n\"\"\"Seconds timestamp format.\"\"\"\n\nMINUTES = 600\n\"\"\"Minutes timestamp format.\"\"\"\n\nHOURS = 36000\n\"\"\"Hours timestamp format.\"\"\"\n\nDAYS = 864000\n\"\"\"Days timestamp format.\"\"\"\n\ndef set_labels(\n *labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]] = SECONDS\n) -> None:\n \"\"\"Set up the log file header.\n\n Example: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\n Ideally this function should be called a single time, before any data is\n logged, to configure the data table header once.\n\n If a log file already exists when the program starts, or if this function\n is called multiple times, it will check the labels already defined in the\n log file. If this function call contains any new labels not already\n present, it will generate a new header row with the additional columns.\n\n By default the first column contains a timestamp for each row. The time\n unit can be selected via the timestamp argument.\n\n :param *labels: Any number of positional arguments, each corresponding to an entry in the log header.\n :param timestamp: Select the timestamp unit that will be automatically added as the first column in every row. Timestamp values can be one of ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` or ``None`` to disable the timestamp. The default value is ``log.SECONDS``.\n \"\"\"\n ...\n\n@overload\ndef add(\n data_dictionary: Optional[Mapping[str, Union[str, int, float]]],\n) -> None:\n \"\"\"Add a data row to the log by passing a dictionary of headers and values.\n\n Example: ``log.add({ 'temp': temperature() })``\n\n Each call to this function adds a row to the log.\n\n New labels not previously specified via the set_labels function, or by a\n previous call to this function, will trigger a new header entry to be added\n to the log with the extra labels.\n\n Labels previously specified and not present in a call to this function will\n be skipped with an empty value in the log row.\n\n :param data_dictionary: The data to log as a dictionary with a key for each header.\n \"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"Add a data row to the log using keyword arguments.\n\n Example: ``log.add(temp=temperature())``\n\n Each call to this function adds a row to the log.\n\n New labels not previously specified via the set_labels function, or by a\n previous call to this function, will trigger a new header entry to be added\n to the log with the extra labels.\n\n Labels previously specified and not present in a call to this function will\n be skipped with an empty value in the log row.\n \"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"Deletes the contents of the log, including headers.\n\n Example: ``log.delete()``\n\n To add the log headers again the ``set_labels`` function should to be called after this function.\n\n There are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\n and \u201cfast\u201d invalidates the data without removing it.\n\n :param full: ``True`` selects a \u201cfull\u201d erase and ``False`` selects the \u201cfast\u201d erase method.\n \"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Configure mirroring of the data logging activity to the serial output.\n\n Example: ``log.set_mirroring(True)``\n\n Serial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n :param serial: ``True`` enables mirroring data to the serial output.\n \"\"\"\n ...\n", + "/typeshed/stdlib/gc.pyi": "\"\"\"\u63a7\u5236\u5783\u573e\u56de\u6536\u5668 (\u5783\u573e\u56de\u6536(gc))\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"\u542f\u7528\u81ea\u52a8\u5783\u573e\u56de\u6536\u673a\u5236\u3002\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"\u7981\u7528\u81ea\u52a8\u5783\u573e\u56de\u6536\u673a\u5236\u3002\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"\u6267\u884c\u4e00\u6b21\u5783\u573e\u56de\u6536\u3002\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"\u83b7\u53d6\u5206\u914d\u7684\u5806\u5185\u5b58\u7684\u5b57\u8282\u6570\u3002\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"\u83b7\u53d6\u53ef\u7528\u5806\u5185\u5b58\u7684\u5b57\u8282\u6570\uff0c\u5982\u679c\u6b64\u6570\u91cf\u672a\u77e5\uff0c\u5219\u8fd4\u56de\u503c\u4e3a -1\u3002\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"\u67e5\u8be2\u989d\u5916\u7684\u5783\u573e\u56de\u6536\u5206\u914d\u9608\u503c\u3002\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"\u8bbe\u7f6e\u989d\u5916\u7684\u5783\u573e\u56de\u6536\u5206\u914d\u9608\u503c\u3002\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: \u89e6\u53d1\u8fdb\u884c\u5783\u573e\u56de\u6536\u7684\u5b57\u8282\u6570\u3002\"\"\"\n ...", + "/typeshed/stdlib/log.pyi": "\"\"\"\u5c06\u6570\u636e\u8bb0\u5f55\u5230\u60a8\u7684 micro:bit V2\u3002 (\u65e5\u5fd7)\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"\u6beb\u79d2\u65f6\u95f4\u6233\u683c\u5f0f\u3002 (\u6beb\u79d2)\"\"\"\nSECONDS = 10\n\"\"\"\u79d2\u65f6\u95f4\u6233\u683c\u5f0f\u3002 (\u79d2)\"\"\"\nMINUTES = 600\n\"\"\"\u5206\u949f\u65f6\u95f4\u6233\u683c\u5f0f\u3002 (\u5206\u949f)\"\"\"\nHOURS = 36000\n\"\"\"\u5c0f\u65f6\u65f6\u95f4\u6233\u683c\u5f0f\u3002 (\u5c0f\u65f6)\"\"\"\nDAYS = 864000\n\"\"\"\u65e5\u671f\u65f6\u95f4\u6233\u683c\u5f0f\u3002 (\u5929)\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"\u8bbe\u7f6e\u65e5\u5fd7\u6587\u4ef6\u5934\u3002\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: (*\u6807\u7b7e) \u4efb\u4f55\u6570\u91cf\u7684\u4f4d\u7f6e\u53c2\u6570\uff0c\u6bcf\u4e2a\u5bf9\u5e94\u4e8e\u65e5\u5fd7\u5934\u4e2d\u7684\u4e00\u4e2a\u6807\u9898\u3002\n:param timestamp: \u9009\u62e9\u5c06\u81ea\u52a8\u6dfb\u52a0\u4e3a\u6bcf\u884c\u7b2c\u4e00\u5217\u7684\u65f6\u95f4\u6233\u5355\u4f4d\u3002 \u65f6\u95f4\u6233\u503c\u53ef\u4ee5\u662f ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` \uff0c\u6216\u8005 ``None`` \u6765\u7981\u7528\u65f6\u95f4\u6233\u3002 \u9ed8\u8ba4\u503c\u662f ``log.SECONDS``\u3002\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"\u901a\u8fc7\u4f20\u9012\u5305\u542b\u6807\u9898\u548c\u503c\u7684\u5b57\u5178\u5c06\u6570\u636e\u884c\u6dfb\u52a0\u5230\u65e5\u5fd7\u4e2d\u3002\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: (\u6570\u636e\u8bcd\u5178) \u8981\u8bb0\u5f55\u4e3a\u8bcd\u5178\u7684\u6570\u636e\uff0c\u6bcf\u4e2a\u6807\u9898\u90fd\u6709\u4e00\u4e2a\u952e\u3002\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"\u4f7f\u7528\u5173\u952e\u5b57\u53c2\u6570\u5c06\u6570\u636e\u884c\u6dfb\u52a0\u5230\u65e5\u5fd7\u4e2d\u3002\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"\u5220\u9664\u65e5\u5fd7\u7684\u5185\u5bb9\uff0c\u5305\u62ec\u6807\u9898\u3002\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: ``True`` \u9009\u62e9\u201c\u5b8c\u5168\u201d\u64e6\u9664\uff0c ``False`` \u9009\u62e9\u201c\u5feb\u901f\u201d\u64e6\u9664\u65b9\u6cd5\u3002\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"\u914d\u7f6e\u5c06\u6570\u636e\u65e5\u5fd7\u6d3b\u52a8\u955c\u50cf\u5230\u4e32\u884c\u8f93\u51fa\u3002\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: ``True`` \u542f\u7528\u4e86\u5c06\u6570\u636e\u955c\u50cf\u5230\u4e32\u884c\u8f93\u51fa\u3002\"\"\"\n ...", "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", - "/typeshed/stdlib/machine.pyi": "\"\"\"Low-level utilities.\n\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"Get a byte string with a unique identifier of a board.\n\n Example: ``machine.unique_id()``\n\n :return: An identifier that varies from one board instance to another.\n \"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset the device in a manner similar to pushing the external RESET button.\n\n Example: ``machine.reset()``\n \"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"Get the CPU frequency in hertz.\n\n Example: ``machine.freq()``\n\n :return: The CPU frequency.\n \"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"Disable interrupt requests.\n\n Example: ``interrupt_state = machine.disable_irq()``\n\n :return: the previous IRQ state which should be considered an opaque value\n\n The return value should be passed to the ``enable_irq`` function to restore\n interrupts to their original state.\n \"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"Re-enable interrupt requests.\n\n Example: ``machine.enable_irq(interrupt_state)``\n\n :param state: The value that was returned from the most recent call to the ``disable_irq`` function.\n \"\"\"\n ...\n\ndef time_pulse_us(\n pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int = 1000000\n) -> int:\n \"\"\"Time a pulse on a pin.\n\n Example: ``time_pulse_us(pin0, 1)``\n\n If the current input value of the pin is different to ``pulse_level``, the\n function first waits until the pin input becomes equal to\n ``pulse_level``, then times the duration that the pin is equal to\n ``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\n starts straight away.\n\n :param pin: The pin to use\n :param pulse_level: 0 to time a low pulse or 1 to time a high pulse\n :param timeout_us: A microsecond timeout\n :return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\n \"\"\"\n ...\n\nclass mem:\n \"\"\"The class for the ``mem8``, ``mem16`` and ``mem32`` memory views.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Access a value from memory.\n\n :param address: The memory address.\n :return: The value at that address as an integer.\n \"\"\"\n ...\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"Set a value at the given address.\n\n :param address: The memory address.\n :param value: The integer value to set.\n \"\"\"\n ...\n\nmem8: mem\n\"\"\"8-bit (byte) view of memory.\"\"\"\n\nmem16: mem\n\"\"\"16-bit view of memory.\"\"\"\n\nmem32: mem\n\"\"\"32-bit view of memory.\"\"\"\n", - "/typeshed/stdlib/math.pyi": "\"\"\"Mathematical functions.\n\"\"\"\n\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Calculate the inverse cosine.\n\n Example: ``math.acos(1)``\n\n :param x: A number\n :return: The inverse cosine of ``x``\n \"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Calculate the inverse sine.\n\n Example: ``math.asin(0)``\n\n :param x: A number\n :return: The inverse sine of ``x``\n \"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Calculate the inverse tangent.\n\n Example: ``math.atan(0)``\n\n :param x: A number\n :return: The inverse tangent of ``x``\n \"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Calculate the principal value of the inverse tangent of ``y/x``.\n\n Example: ``math.atan2(0, -1)``\n\n :param y: A number\n :param x: A number\n :return: The principal value of the inverse tangent of ``y/x``\n \"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Round a number towards positive infinity.\n\n Example: ``math.ceil(0.1)``\n\n :param x: A number\n :return: ``x`` rounded towards positive infinity.\n \"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Calculate ``x`` with the sign of ``y``.\n\n Example: ``math.copysign(1, -1)``\n\n :param x: A number\n :param y: The source of the sign for the return value\n :return: ``x`` with the sign of ``y``\n \"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Calculate the cosine of ``x``.\n\n Example: ``math.cos(0)``\n\n :param x: A number\n :return: The cosine of ``x``\n \"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Convert radians to degrees.\n\n Example: ``math.degrees(2 * math.pi)``\n\n :param x: A value in radians\n :return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Calculate the exponential of ``x``.\n\n Example: ``math.exp(1)``\n\n :param x: A number\n :return: The exponential of ``x``.\n \"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Return the absolute value of ``x``.\n\n Example: ``math.fabs(-0.1)``\n\n :param x: A number\n :return: The absolute value of ``x``\n \"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Round a number towards negative infinity.\n\n Example: ``math.floor(0.9)``\n\n :param x: A number\n :return: ``x`` rounded towards negative infinity.\n \"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Calculate the remainder of ``x/y``.\n\n Example: ``math.fmod(10, 3)``\n\n :param x: The numerator\n :param y: The denominator\n \"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Decomposes a floating-point number into its mantissa and exponent.\n\n Example: ``mantissa, exponent = math.frexp(2)``\n\n The returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\n exactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\n the relation ``0.5 <= abs(m) < 1`` holds.\n\n :param x: A floating-point number\n :return: A tuple of length two containing its mantissa then exponent\n \"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"Check if a value is finite.\n\n Example: ``math.isfinite(float('inf'))``\n\n :param x: A number.\n :return: ``True`` if ``x`` is finite, ``False`` otherwise.\n \"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"Check if a value is infinite.\n\n Example: ``math.isinf(float('-inf'))``\n\n :param x: A number.\n :return: ``True`` if ``x`` is infinite, ``False`` otherwise.\n \"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Check if a value is not-a-number (NaN).\n\n Example: ``math.isnan(float('nan'))``\n\n :param x: A number\n :return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Calculate ``x * (2**exp)``.\n\n Example: ``math.ldexp(0.5, 2)``\n\n :param x: A number\n :param exp: Integer exponent\n :return: ``x * (2**exp)``\n \"\"\"\n ...\n\ndef log(x: float, base: float = e) -> float:\n \"\"\"Calculate the logarithm of ``x`` to the given base (defaults to natural logorithm).\n\n Example: ``math.log(math.e)``\n\n With one argument, return the natural logarithm of x (to base e).\n\n With two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n :param x: A number\n :param base: The base to use\n :return: The natural logarithm of ``x``\n \"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Calculate the fractional and integral parts of ``x``.\n\n Example: ``fractional, integral = math.modf(1.5)``\n\n :param x: A number\n :return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\n Both the fractional and integral values have the same sign as ``x``.\n \"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Returns ``x`` to the power of ``y``.\n\n Example: ``math.pow(4, 0.5)``\n\n :param x: A number\n :param y: The exponent\n :return: ``x`` to the power of ``y``\n \"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Convert a degrees to radians.\n\n Example: ``math.radians(360)``\n\n :param x: A value in degrees\n :return: The value converted to radians\n \"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Calculate the sine of ``x``.\n\n Example: ``math.sin(math.pi/2)``\n\n :param x: A number\n :return: The sine of ``x``\n \"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Calculate the square root of ``x``.\n\n Example: ``math.sqrt(4)``\n\n :param x: A number\n :return: The square root of ``x``\n \"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Calculate the tangent of ``x``.\n\n Example: ``math.tan(0)``\n\n :param x: A number\n :return: The tangent of ``x``.\n \"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Round a number towards 0.\n\n Example: ``math.trunc(-0.9)``\n\n :param x: A number\n :return: ``x`` rounded towards zero.\n \"\"\"\n ...\n\ne: float\n\"\"\"Base of the natural logarithm\"\"\"\n\npi: float\n\"\"\"The ratio of a circle's circumference to its diameter\"\"\"\n", - "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython internals.\"\"\"\n\nfrom typing import Any, TypeVar, overload\n\n_T = TypeVar(\"_T\")\n\ndef const(expr: _T) -> _T:\n \"\"\"Used to declare that the expression is a constant so that the compiler can\n optimise it.\n\n The use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\n Constants declared this way are still accessible as global variables from\n outside the module they are declared in. On the other hand, if a constant\n begins with an underscore then it is hidden, it is not available as a\n global variable, and does not take up any memory during execution.\n\n :param expr: A constant expression.\n \"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Get the current optimisation level for the compilation of scripts.\n\n Example: ``micropython.opt_level()``\n\n The optimisation level controls the following compilation features:\n\n - Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n - Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n - Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n :return: An integer representing the current level.\n \"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Sets the optimisation level for subsequent compilation of scripts.\n\n Example: ``micropython.opt_level(1)``\n\n The optimisation level controls the following compilation features:\n\n - Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n - Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n - Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n The default optimisation level is usually level 0.\n\n :param level: An integer optimisation level.\n \"\"\"\n ...\n\ndef mem_info(verbose: Any = None) -> None:\n \"\"\"Print information about currently used memory.\n\n Example: ``micropython.mem_info()``\n\n :param verbose: If the ``verbose`` argument is given then extra information is printed.\n \"\"\"\n ...\n\ndef qstr_info(verbose: Any = None) -> None:\n \"\"\"Print information about currently interned strings.\n\n Example: ``micropython.qstr_info()``\n\n :param verbose: If the ``verbose`` argument is given then extra information is printed.\n\n The information that is printed is implementation dependent, but currently\n includes the number of interned strings and the amount of RAM they use. In\n verbose mode it prints out the names of all RAM-interned strings.\n \"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Return an integer representing the current amount of stack that is being\n used.\n\n Example: ``micropython.stack_use()``\n\n The absolute value of this is not particularly useful, rather it\n should be used to compute differences in stack usage at different points.\n\n :return: An integer representing current stack use.\n \"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Lock the heap.\n\n Example: ``micropython.heap_lock()``\n\n When locked no memory allocation can occur and a ``MemoryError`` will be\n raised if any heap allocation is attempted.\n \"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Unlock the heap.\n\n Example: ``micropython.heap_unlock()``\n\n When locked no memory allocation can occur and a ``MemoryError`` will be\n raised if any heap allocation is attempted.\n \"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Set the character that will raise a ``KeyboardInterrupt`` exception.\n\n Example: ``micropython.kbd_intr(-1)``\n\n :param chr: Character code to raise the interrupt or -1 to disable capture of Ctrl-C.\n\n By default this is set to 3 during script execution, corresponding to Ctrl-C.\n Passing -1 to this function will disable capture of Ctrl-C, and passing 3\n will restore it.\n\n This function can be used to prevent the capturing of Ctrl-C on the\n incoming stream of characters that is usually used for the REPL, in case\n that stream is used for other purposes.\n \"\"\"\n ...\n", - "/typeshed/stdlib/music.pyi": "\"\"\"Create and play melodies.\n\"\"\"\nfrom typing import Optional, Tuple, Union, List\n\nfrom .microbit import MicroBitDigitalPin, pin0\n\nDADADADUM: Tuple[str, ...]\n\"\"\"Melody: the opening to Beethoven\u2019s 5th Symphony in C minor.\"\"\"\n\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melody: the opening fragment of Scott Joplin\u2019s Ragtime classic \u201cThe Entertainer\u201d.\"\"\"\n\nPRELUDE: Tuple[str, ...]\n\"\"\"Melody: the opening of the first Prelude in C Major of J.S.Bach\u2019s 48 Preludes and Fugues.\"\"\"\n\nODE: Tuple[str, ...]\n\"\"\"Melody: the \u201cOde to Joy\u201d theme from Beethoven\u2019s 9th Symphony in D minor.\"\"\"\n\nNYAN: Tuple[str, ...]\n\"\"\"Melody: the Nyan Cat theme (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\n\nRINGTONE: Tuple[str, ...]\n\"\"\"Melody: something that sounds like a mobile phone ringtone.\n\nTo be used to indicate an incoming message.\n\"\"\"\n\nFUNK: Tuple[str, ...]\n\"\"\"Melody: a funky bass line for secret agents and criminal masterminds.\"\"\"\n\nBLUES: Tuple[str, ...]\n\"\"\"Melody: a boogie-woogie 12-bar blues walking bass.\"\"\"\n\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melody: \u201cHappy Birthday to You\u2026\u201d\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\n\nWEDDING: Tuple[str, ...]\n\"\"\"Melody: the bridal chorus from Wagner\u2019s opera \u201cLohengrin\u201d.\"\"\"\n\nFUNERAL: Tuple[str, ...]\n\"\"\"Melody: the \u201cfuneral march\u201d otherwise known as Fr\u00e9d\u00e9ric Chopin\u2019s Piano Sonata No. 2 in B\u266d minor, Op. 35.\"\"\"\n\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melody: a fun fragment that signifies a joke has been made.\"\"\"\n\nPYTHON: Tuple[str, ...]\n\"\"\"Melody: John Philip Sousa\u2019s march \u201cLiberty Bell\u201d aka, the theme for \u201cMonty Python\u2019s Flying Circus\u201d (after which the Python programming language is named).\"\"\"\n\nBADDY: Tuple[str, ...]\n\"\"\"Melody: silent movie era entrance of a baddy.\"\"\"\n\nCHASE: Tuple[str, ...]\n\"\"\"Melody: silent movie era chase scene.\"\"\"\n\nBA_DING: Tuple[str, ...]\n\"\"\"Melody: a short signal to indicate something has happened.\"\"\"\n\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melody: a very sad trombone.\"\"\"\n\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melody: for use in a game, indicating upward movement.\"\"\"\n\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melody: for use in a game, indicating downward movement.\"\"\"\n\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melody: a fanfare to indicate an achievement unlocked.\"\"\"\n\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melody: a sad fanfare to indicate an achievement lost.\"\"\"\n\ndef set_tempo(ticks: int = 4, bpm: int = 120) -> None:\n \"\"\"Sets the approximate tempo for playback.\n\n Example: ``music.set_tempo(bpm=120)``\n\n :param ticks: The number of ticks constituting a beat.\n :param bpm: An integer determining how many beats per minute.\n\n Suggested default values allow the following useful behaviour:\n\n - music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n - music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n - music.set_tempo(bpm=180) \u2013 just change the tempo\n\n To work out the length of a tick in milliseconds is very simple arithmetic:\n 60000/bpm/ticks_per_beat. For the default values that\u2019s\n 60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\n \"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Gets the current tempo as a tuple of integers: ``(ticks, bpm)``.\n\n Example: ``ticks, beats = music.get_tempo()``\n\n :return: The temp as a tuple with two integer values, the ticks then the beats per minute.\n \"\"\"\n ...\n\ndef play(\n music: Union[str, List[str], Tuple[str, ...]],\n pin: Optional[MicroBitDigitalPin] = pin0,\n wait: bool = True,\n loop: bool = False,\n) -> None:\n \"\"\"Plays music.\n\n Example: ``music.play(music.NYAN)``\n\n :param music: music specified in `a special notation `_\n :param pin: the output pin for use with an external speaker (default ``pin0``), ``None`` for no sound.\n :param wait: If ``wait`` is set to ``True``, this function is blocking.\n :param loop: If ``loop`` is set to ``True``, the tune repeats until ``stop`` is called or the blocking call is interrupted.\n\n Many built-in melodies are defined in this module.\n \"\"\"\n ...\n\ndef pitch(\n frequency: int,\n duration: int = -1,\n pin: Optional[MicroBitDigitalPin] = pin0,\n wait: bool = True,\n) -> None:\n \"\"\"Play a note.\n\n Example: ``music.pitch(185, 1000)``\n\n :param frequency: An integer frequency\n :param duration: A millisecond duration. If negative then sound is continuous until the next call or a call to ``stop``.\n :param pin: Optional output pin (default ``pin0``).\n :param wait: If ``wait`` is set to ``True``, this function is blocking.\n\n For example, if the frequency is set to 440 and the length to\n 1000 then we hear a standard concert A for one second.\n\n You can only play one pitch on one pin at any one time.\n \"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin] = pin0) -> None:\n \"\"\"Stops all music playback on the built-in speaker and any pin outputting sound.\n\n Example: ``music.stop()``\n\n :param pin: An optional argument can be provided to specify a pin, e.g. ``music.stop(pin1)``.\n \"\"\"\n\ndef reset() -> None:\n \"\"\"Resets ticks, bpm, duration and octave to their default values.\n\n Example: ``music.reset()``\n\n Values:\n - ``ticks = 4``\n - ``bpm = 120``\n - ``duration = 4``\n - ``octave = 4``\n \"\"\"\n ...\n", - "/typeshed/stdlib/neopixel.pyi": "\"\"\"Individually addressable RGB and RGBW LED strips.\n\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int = 3) -> None:\n \"\"\"Initialise a new strip of neopixel LEDs controlled via a pin.\n\n Example: ``np = neopixel.NeoPixel(pin0, 8)``\n\n To support RGBW neopixels, a third argument can be passed to\n ``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\n For RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\n Each pixel is addressed by a position (starting from 0). Neopixels are\n given RGB (red, green, blue) / RGBW (red, green, blue, white) values\n between 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\n white. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\n See `the online docs `_ for warnings and other advice.\n\n :param pin: The pin controlling the neopixel strip.\n :param n: The number of neopixels in the strip.\n :param bpp: Bytes per pixel. For RGBW neopixel support, pass 4 rather than the default of 3 for RGB and GRB.\n \"\"\"\n ...\n def clear(self) -> None:\n \"\"\"Clear all the pixels.\n\n Example: ``np.clear()``\n \"\"\"\n ...\n def show(self) -> None:\n \"\"\"Show the pixels.\n\n Example: ``np.show()``\n\n Must be called for any updates to become visible.\n \"\"\"\n ...\n def write(self) -> None:\n \"\"\"Show the pixels (micro:bit V2 only).\n\n Example: ``np.write()``\n\n Must be called for any updates to become visible.\n\n Equivalent to ``show``.\n \"\"\"\n ...\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Colour all pixels a given RGB/RGBW value (micro:bit V2 only).\n\n Example: ``np.fill((0, 0, 255))``\n\n :param colour: A tuple of the same length as the number of bytes per pixel (bpp).\n\n Use in conjunction with ``show()`` to update the neopixels.\n \"\"\"\n ...\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Set a pixel colour.\n\n Example: ``np[0] = (255, 0, 0)``\n\n :param key: The pixel number.\n :param value: The colour.\n \"\"\"\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Get a pixel colour.\n\n Example: ``r, g, b = np[0]``\n\n :param key: The pixel number.\n :return: The colour tuple.\n \"\"\"\n def __len__(self) -> int:\n \"\"\"Get length of this pixel strip.\n\n Example: ``len(np)``\n \"\"\"\n", - "/typeshed/stdlib/os.pyi": "\"\"\"Access the file system.\n\"\"\"\n\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"List files.\n\n Example: ``os.listdir()``\n\n :return: A list of the names of all the files contained within the local\n persistent on-device file system.\n \"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Remove (delete) a file.\n\n Example: ``os.remove('data.txt')``\n\n :param filename: The file to delete.\n\n If the file does not exist an ``OSError`` exception will occur.\n \"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Returns the size of a file.\n\n Example: ``os.size('data.txt')``\n\n :param filename: The file\n :return: The size in bytes.\n\n If the file does not exist an ``OSError`` exception will occur.\n \"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Result of ``os.uname()``\"\"\"\n sysname: str\n \"\"\"Operating system name.\"\"\"\n\n nodename: str\n \"\"\"Name of machine on network (implementation-defined).\"\"\"\n\n release: str\n \"\"\"Operating system release.\"\"\"\n \n version: str\n \"\"\"Operating system version.\"\"\"\n \n machine: str\n \"\"\"Hardware identifier.\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Returns information identifying the current operating system.\n\n Example: ``os.uname()``\n\n The return value is an object with five attributes:\n\n - ``sysname`` - operating system name\n - ``nodename`` - name of machine on network (implementation-defined)\n - ``release`` - operating system release\n - ``version`` - operating system version\n - ``machine`` - hardware identifier\n\n There is no underlying operating system in MicroPython. As a result the\n information returned by the ``uname`` function is mostly useful for\n versioning details.\n \"\"\"\n ...\n", + "/typeshed/stdlib/machine.pyi": "\"\"\"\u4f4e\u7ea7\u5b9e\u7528\u7a0b\u5e8f\u3002 (\u673a\u5668)\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"\u83b7\u53d6\u5177\u6709\u677f\u7684\u552f\u4e00\u6807\u8bc6\u7b26\u7684\u5b57\u8282\u5b57\u7b26\u4e32\u3002\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"\u4ee5\u7c7b\u4f3c\u4e8e\u6309\u4e0b\u5916\u90e8 RESET \uff08\u91cd\u7f6e\uff09\u6309\u94ae\u7684\u65b9\u5f0f\u91cd\u7f6e\u8bbe\u5907\u3002\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"\u4ee5\u8d6b\u5179\u4e3a\u5355\u4f4d\u83b7\u53d6 CPU \u9891\u7387\u3002\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"\u7981\u6b62\u4e2d\u65ad\u8bf7\u6c42\u3002\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"\u91cd\u65b0\u542f\u7528\u4e2d\u65ad\u8bf7\u6c42\u3002\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: \u6700\u8fd1\u4e00\u6b21\u8c03\u7528 ``disable_irq`` \u51fd\u6570\u5f97\u5230\u7684\u8fd4\u56de\u503c\u3002\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"\u5bf9\u5f15\u811a\u4e0a\u7684\u8109\u51b2\u8ba1\u65f6\u3002\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: (\u5f15\u811a) \u8981\u4f7f\u7528\u7684\u5f15\u811a\n:param pulse_level: 0 \u6765\u8ba1\u65f6\u4f4e\u8109\u51b2\u6216 1 \u6765\u8ba1\u65f6\u9ad8\u8109\u51b2\u3002\n:param timeout_us: \u5fae\u79d2\u8d85\u65f6\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"``mem8``\u3001 ``mem16`` \u548c ``mem32`` \u5185\u5b58\u89c6\u56fe\u7684\u7c7b\u3002\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"\u4ece\u5185\u5b58\u4e2d\u83b7\u53d6\u4e00\u4e2a\u503c\u3002\n\n:param address: (\u5730\u5740) \u5185\u5b58\u5730\u5740\u3002\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"\u5728\u7ed9\u5b9a\u5730\u5740\u5904\u8bbe\u7f6e\u4e00\u4e2a\u503c\u3002\n\n:param address: (\u5730\u5740) \u5185\u5b58\u5730\u5740\u3002\n:param value: \u8981\u8bbe\u7f6e\u7684\u6574\u6570\u503c\u3002\"\"\"\n ...\nmem8: mem\n\"\"\"8 \u4f4d(\u5b57\u8282) \u5185\u5b58\u89c6\u56fe\u3002\"\"\"\nmem16: mem\n\"\"\"16 \u4f4d\u5185\u5b58\u89c6\u56fe\u3002\"\"\"\nmem32: mem\n\"\"\"32 \u4f4d\u5185\u5b58\u89c6\u56fe\u3002\"\"\"", + "/typeshed/stdlib/math.pyi": "\"\"\"\u6570\u5b66\u51fd\u6570\u3002 (\u6570\u5b66)\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"\u8ba1\u7b97\u53cd\u4f59\u5f26\u3002\n\nExample: ``math.acos(1)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"\u8ba1\u7b97\u53cd\u6b63\u5f26\u503c\u3002\n\nExample: ``math.asin(0)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"\u8ba1\u7b97\u53cd\u6b63\u5207\u3002\n\nExample: ``math.atan(0)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"\u8ba1\u7b97 ``y/x`` \u7684\u53cd\u6b63\u5207\u7684\u4e3b\u503c\u3002\n\nExample: ``math.atan2(0, -1)``\n\n:param y: \u4e00\u4e2a\u6570\u5b57\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"\u5c06\u6570\u5b57\u5411\u6b63\u65e0\u7a77\u5927\u53d6\u6574(\u5411\u4e0a\u53d6\u6574)\n\nExample: ``math.ceil(0.1)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"\u83b7\u53d6 ``y`` \u7684\u7b26\u53f7\u548c ``x`` \u7684\u7edd\u5bf9\u503c\u3002\n\nExample: ``math.copysign(1, -1)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:param y: \u8fd4\u56de\u503c\u7684\u7b26\u53f7\u6765\u6e90\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"\u8ba1\u7b97 ``x`` \u7684\u4f59\u5f26\u3002\n\nExample: ``math.cos(0)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"\u5c06\u5f27\u5ea6\u8f6c\u6362\u4e3a\u5ea6\u3002\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: \u4e00\u4e2a\u4ee5\u5f27\u5ea6\u4e3a\u5355\u4f4d\u7684\u503c\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"\u8ba1\u7b97 E \u7684 ``x`` \u6307\u6570\u3002\n\nExample: ``math.exp(1)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"\u8fd4\u56de ``x`` \u7684\u7edd\u5bf9\u503c\u3002\n\nExample: ``math.fabs(-0.1)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"\u5c06\u6570\u5b57\u5411\u8d1f\u65e0\u7a77\u5927\u53d6\u6574(\u5411\u4e0b\u53d6\u6574)\u3002 (\u5411\u4e0b\u53d6\u6574)\n\nExample: ``math.floor(0.9)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"\u8ba1\u7b97 ``x/y`` \u7684\u4f59\u6570\u3002 (\u6d6e\u70b9\u4f59\u6570)\n\nExample: ``math.fmod(10, 3)``\n\n:param x: \u5206\u5b50\n:param y: \u5206\u6bcd\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"\u5c06\u4e00\u4e2a\u6d6e\u70b9\u6570\u5206\u89e3\u4e3a\u5176\u5c3e\u6570\u548c\u6307\u6570\u3002 (\u6d6e\u70b9\u6307\u6570)\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: \u4e00\u4e2a\u6d6e\u70b9\u6570\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"\u68c0\u67e5\u503c\u662f\u5426\u6709\u9650\u3002 (\u662f\u6709\u9650\u7684)\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\u3002\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"\u68c0\u67e5\u503c\u662f\u5426\u65e0\u9650\u3002 (\u662f\u65e0\u9650\u7684)\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\u3002\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"\u68c0\u67e5\u4e00\u4e2a\u503c\u662f\u5426\u4e0d\u662f\u4e00\u4e2a\u6570\u5b57 (NaN)\u3002 (\u4e0d\u662f\u6570\u5b57)\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"\u8ba1\u7b97 ``x * (2**exp)`` \u3002 (\u52a0\u8f7d\u6307\u6570)\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:param exp: \u6574\u6570\u6307\u6570\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"\u8ba1\u7b97\u7ed9\u5b9a\u5e95\u6570 ``x`` \u7684\u5bf9\u6570\uff08\u9ed8\u8ba4\u4e3a\u81ea\u7136\u5bf9\u6570\uff09\u3002 (\u65e5\u5fd7)\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:param base: \u8981\u4f7f\u7528\u7684\u5e95\u6570\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"\u8ba1\u7b97 ``x`` \u7684\u5c0f\u6570\u548c\u6574\u6570\u90e8\u5206\u3002 (\u6d6e\u70b9\u53d6\u6a21)\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"\u8fd4\u56de ``x`` \u7684 ``y``\u6b21\u5e42\u3002 (\u5e42\u6570)\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:param y: \u6307\u6570\u503c\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"\u5c06\u5ea6\u6570\u8f6c\u6362\u4e3a\u5f27\u5ea6\u3002\n\nExample: ``math.radians(360)``\n\n:param x: \u4ee5\u5ea6\u4e3a\u5355\u4f4d\u7684\u503c\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"\u8ba1\u7b97 ``x`` \u7684\u6b63\u5f26\u503c\u3002 (\u6b63\u5f26)\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"\u8ba1\u7b97 ``x`` \u7684\u5e73\u65b9\u6839\u3002 (\u5e73\u65b9\u6839)\n\nExample: ``math.sqrt(4)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"\u8ba1\u7b97 ``x`` \u7684\u6b63\u5207\u3002 (\u6b63\u5207)\n\nExample: ``math.tan(0)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"\u5c06\u6570\u5b57\u5411 0 \u820d\u5165\u3002 (\u622a\u65ad)\n\nExample: ``math.trunc(-0.9)``\n\n:param x: \u4e00\u4e2a\u6570\u5b57\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"\u81ea\u7136\u5bf9\u6570\u7684\u5e95\u6570\"\"\"\npi: float\n\"\"\"\u5706\u7684\u5468\u957f\u4e0e\u5176\u76f4\u5f84\u7684\u6bd4\u503c\"\"\"", + "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython \u5185\u8bbe\u3002 (MicroPython)\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"\u7528\u4e8e\u58f0\u660e\u8868\u8fbe\u5f0f\u662f\u4e00\u4e2a\u5e38\u91cf\uff0c\u4ee5\u4fbf\u7f16\u8bd1\u5668\u53ef\u4ee5\u4f18\u5316\u5b83\u3002 (\u5e38\u6570)\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: (\u8868\u8fbe\u5f0f) \u4e00\u4e2a\u5e38\u91cf\u8868\u8fbe\u5f0f\u3002\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"\u83b7\u53d6\u811a\u672c\u7f16\u8bd1\u7684\u5f53\u524d\u4f18\u5316\u7ea7\u522b\u3002 (\u4f18\u5316\u7ea7\u522b)\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"\u8bbe\u7f6e\u540e\u7eed\u811a\u672c\u7f16\u8bd1\u7684\u4f18\u5316\u7ea7\u522b\u3002 (\u4f18\u5316\u7ea7\u522b)\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: (\u7ea7\u522b) \u6574\u6570\u4f18\u5316\u7ea7\u522b\u3002\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"\u6253\u5370\u4e0e\u5f53\u524d\u4f7f\u7528\u5185\u5b58\u76f8\u5173\u7684\u4fe1\u606f\u3002\n\nExample: ``micropython.mem_info()``\n\n:param verbose: (\u8be6\u7ec6) \u5982\u679c\u7ed9\u51fa ``verbose`` \u53c2\u6570\uff0c\u5219\u6253\u5370\u989d\u5916\u4fe1\u606f\u3002\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"\u6253\u5370\u4e0e\u5f53\u524d\u9a7b\u7559\u5b57\u7b26\u4e32\u76f8\u5173\u7684\u4fe1\u606f\u3002 (\u5b57\u7b26\u4e32\u4fe1\u606f)\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: (\u8be6\u7ec6) \u5982\u679c\u7ed9\u51fa ``verbose`` \u53c2\u6570\uff0c\u5219\u6253\u5370\u989d\u5916\u4fe1\u606f\u3002\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"\u8fd4\u56de\u4e00\u4e2a\u6574\u6570\uff0c\u6765\u8868\u793a\u5f53\u524d\u6b63\u5728\u4f7f\u7528\u7684\u5806\u6808\u6570\u91cf\u3002 (\u5806\u6808\u4f7f\u7528)\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"\u9501\u5b9a\u5806\u3002 (\u9501\u4f4f\u5806)\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"\u89e3\u9501\u5806\u3002 (\u89e3\u9501\u5806)\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"\u8bbe\u7f6e\u5c06\u5f15\u53d1``KeyboardInterrupt``\u5f02\u5e38\u7684\u5b57\u7b26\u3002 (\u952e\u76d8\u4e2d\u65ad)\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: (\u5b57\u7b26) \u7528\u4e8e\u63d0\u9ad8\u4e2d\u65ad\u7684\u5b57\u7b26\u4ee3\u7801\uff1b\u6216\u8005-1\uff0c\u7528\u4e8e\u7981\u6b62\u6355\u83b7 Ctrl-C\u3002\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", + "/typeshed/stdlib/music.pyi": "\"\"\"\u521b\u5efa\u5e76\u64ad\u653e\u65cb\u5f8b\u3002 (\u97f3\u4e50)\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u300a\u8d1d\u591a\u82ac C \u5c0f\u8c03\u7b2c\u4e94\u4ea4\u54cd\u66f2\u300b\u5f00\u573a\u66f2\u3002\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u65af\u79d1\u7279\u00b7\u4e54\u666e\u6797\u7684\u62c9\u683c\u6cf0\u59c6\u7ecf\u5178\u201c\u6f14\u827a\u4eba\u201d\u7684\u5f00\u573a\u7247\u6bb5\u3002 (\u6f14\u827a\u4eba)\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7ea6\u7ff0\u00b7\u585e\u5df4\u65af\u8482\u5b89\u00b7\u5df4\u8d6b48\u9996\u524d\u594f\u66f2\u548c\u8d4b\u683c\u66f2\u4e2d C \u5927\u8c03\u7b2c\u4e00\u524d\u594f\u66f2\u7684\u5f00\u573a\u3002 (\u5e8f\u5e55)\"\"\"\nODE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8d1d\u591a\u82ac D \u5c0f\u8c03\u7b2c\u4e5d\u4ea4\u54cd\u66f2\u4e2d\u7684\u201c\u6b22\u4e50\u9882\u201d\u4e3b\u9898\u3002 (\u6b22\u4e50\u9882)\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u5f69\u8679\u732b\u4e3b\u9898 (http://www.nyan.cat/)\u3002 (\u5f69\u8679\u732b)\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u542c\u8d77\u6765\u50cf\u624b\u673a\u94c3\u58f0\u7684\u4e50\u66f2\u3002 (\u94c3\u58f0)\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u4e00\u66f2\u4e3a\u7279\u5de5\u548c\u72af\u7f6a\u4e3b\u8c0b\u5236\u4f5c\u7684 funky bass\u3002 (\u670b\u514b)\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u5e03\u5409\u4f0d\u5409 12 \u5c0f\u8282\u5e03\u9c81\u65af walking bass\u3002 (\u5e03\u9c81\u65af)\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u201c\u795d\u4f60\u751f\u65e5\u5feb\u4e50\u2026\u2026\u201d (\u751f\u65e5)\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u74e6\u683c\u7eb3\u6b4c\u5267\u300a\u7f57\u6069\u683c\u6797\u300b\u4e2d\u7684\u65b0\u5a18\u5408\u5531\u3002 (\u5a5a\u793c)\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u201c\u846c\u793c\u8fdb\u884c\u66f2\u201d\uff0c\u4e5f\u88ab\u79f0\u4e3a\u5f17\u96f7\u5fb7\u91cc\u514b\u8096\u90a6\u7684 B\u266d \u5c0f\u8c03\u7b2c\u4e8c\u94a2\u7434\u594f\u9e23\u66f2\uff0cOp. 35\u3002 (\u54c0\u4e50)\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u4e00\u4e2a\u6709\u8da3\u7684\u7247\u6bb5\uff0c\u8868\u793a\u5f00\u4e86\u4e00\u4e2a\u73a9\u7b11\u3002 (\u7b11\u70b9)\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7ea6\u7ff0\u00b7\u83f2\u5229\u666e\u00b7\u82cf\u8428\u7684\u8fdb\u884c\u66f2\u300a\u81ea\u7531\u949f\u300b\uff0c\u5373\u300a\u5de8\u87d2\u5267\u56e2\u4e4b\u98de\u7fd4\u7684\u9a6c\u620f\u56e2\u300b\u7684\u4e3b\u9898\u66f2\uff08Python \u7f16\u7a0b\u8bed\u8a00\u4ee5\u6b64\u547d\u540d\uff09\u3002 (Python)\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u9ed8\u7247\u65f6\u4ee3\u53cd\u9762\u89d2\u8272\u7684\u5165\u573a\u66f2\u3002 (\u53cd\u9762\u89d2\u8272)\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u65e0\u58f0\u7535\u5f71\u65f6\u4ee3\u7684\u8ffd\u9010\u573a\u666f\u3002 (\u8ffd\u9010)\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8868\u793a\u67d0\u4e8b\u53d1\u751f\u7684\u7b80\u77ed\u4fe1\u53f7\u3002\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u975e\u5e38\u60b2\u4f24\u7684\u957f\u53f7\u3002\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7528\u4e8e\u6e38\u620f\u4e2d\uff0c\u8868\u793a\u5411\u4e0a\u8fd0\u52a8\u3002 (\u5411\u4e0a\u8df3)\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7528\u4e8e\u6e38\u620f\u4e2d\uff0c\u8868\u793a\u5411\u4e0b\u8fd0\u52a8\u3002 (\u5411\u4e0b\u8df3)\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8868\u793a\u89e3\u9501\u6210\u5c31\u7684\u53f7\u89d2\u3002 (\u80fd\u529b\u589e\u5f3a)\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8868\u793a\u5931\u53bb\u6210\u5c31\u7684\u60b2\u4f24\u53f7\u89d2\u3002 (\u80fd\u529b\u51cf\u5f31)\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"\u8bbe\u7f6e\u64ad\u653e\u7684\u5927\u81f4\u8282\u594f\u3002 (\u8bbe\u7f6e\u8282\u594f)\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: (\u523b\u5ea6) \u6784\u6210\u4e00\u4e2a\u8282\u62cd\u7684\u523b\u5ea6\u6570\u3002\n:param bpm: (\u6bcf\u5206\u949f\u8282\u62cd\u6570) \u4e00\u4e2a\u6574\u6570\uff0c\u786e\u5b9a\u6bcf\u5206\u949f\u6709\u591a\u5c11\u62cd\u3002\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"\u4ee5\u6574\u6570\u5143\u7ec4\u7684\u5f62\u5f0f\u83b7\u53d6\u5f53\u524d\u8282\u594f\uff1a``(ticks, bpm)``\u3002 (\u83b7\u5f97\u8282\u594f\u503c)\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"\u64ad\u653e\u97f3\u4e50\u3002 (\u64ad\u653e)\n\nExample: ``music.play(music.NYAN)``\n\n:param music: (\u97f3\u4e50) `a special notation `_\u4e2d\u6307\u5b9a\u7684\u97f3\u4e50\n:param pin: (\u5f15\u811a) \u7528\u4e8e\u5916\u63a5\u626c\u58f0\u5668\u7684\u8f93\u51fa\u5f15\u811a\uff08\u9ed8\u8ba4\u4e3a ``pin0``\uff09\uff0c``None`` \u8868\u793a\u65e0\u58f0\u97f3\u3002\n:param wait: (\u7b49\u5f85) \u5982\u679c ``wait`` \u8bbe\u7f6e\u4e3a ``True``\uff0c\u5219\u6b64\u51fd\u6570\u963b\u585e\u3002\n:param loop: \u5982\u679c ``loop`` \u8bbe\u7f6e\u4e3a ``True``\uff0c\u66f2\u8c03\u4f1a\u91cd\u590d\u76f4\u5230\u8c03\u7528 ``stop`` \u6216\u963b\u585e\u8c03\u7528\u88ab\u4e2d\u65ad\u3002\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"\u64ad\u653e\u4e00\u4e2a\u97f3\u7b26\u3002 (\u97f3\u9ad8)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (\u9891\u7387) \u6574\u6570\u9891\u7387\n:param duration: (\u6301\u7eed) \u4e00\u6beb\u79d2\u7684\u6301\u7eed\u65f6\u95f4\u3002\u5982\u679c\u662f\u8d1f\u7684\uff0c\u5219\u58f0\u97f3\u5c06\u6301\u7eed\u5230\u4e0b\u4e00\u6b21\u8c03\u7528\u6216\u5bf9 ``stop`` \u7684\u8c03\u7528\u3002\n:param pin: (\u5f15\u811a) \u53ef\u9009\u8f93\u51fa\u5f15\u811a\uff08\u9ed8\u8ba4\u503c``pin0``\uff09\u3002\n:param wait: (\u7b49\u5f85) \u5982\u679c ``wait`` \u8bbe\u7f6e\u4e3a ``True``\uff0c\u5219\u6b64\u51fd\u6570\u963b\u585e\u3002\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"\u505c\u6b62\u5185\u7f6e\u626c\u58f0\u5668\u64ad\u653e\u4efb\u4f55\u97f3\u4e50\uff0c\u5e76\u505c\u6b62\u53d1\u51fa\u4efb\u4f55\u5f15\u811a\u8f93\u51fa\u7684\u58f0\u97f3\u3002 (\u505c\u6b62)\n\nExample: ``music.stop()``\n\n:param pin: (\u5f15\u811a) \u53ef\u4ee5\u63d0\u4f9b\u53ef\u9009\u53c2\u6570\u6765\u6307\u5b9a\u4e00\u4e2a\u5f15\u811a\uff0c\u5982``music.stop(pin1)``\u3002\"\"\"\n\ndef reset() -> None:\n \"\"\"\u5c06 ticks\u3001bpm\u3001duration \u548c octave\u91cd\u7f6e\u4e3a\u9ed8\u8ba4\u503c\u3002\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"\u53ef\u5355\u72ec\u5bfb\u5740\u7684 RGB \u548c RGBW LED \u706f\u5e26\u3002 (Neopixel)\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"\u521d\u59cb\u5316\u4e00\u6761\u901a\u8fc7\u4e00\u4e2a\u5f15\u811a\u63a7\u5236\u7684\u65b0 neopixel LED \u706f\u5e26\u3002\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: (\u5f15\u811a) \u63a7\u5236 neopixel \u706f\u5e26\u7684\u5f15\u811a\u3002\n:param n: \u706f\u5e26\u4e2d neopixel \u706f\u73e0\u7684\u6570\u91cf\u3002\n:param bpp: (\u6bcf\u50cf\u7d20\u5b57\u8282\u6570) \u6bcf\u4e2a\u50cf\u7d20\u7684\u5b57\u8282\u6570\u3002\u5bf9\u4e8e RGB \u548c GRB \u800c\u8a00\uff0c\u53ea\u6709\u5c06\u8be5\u503c\u8bbe\u7f6e\u4e3a 4 \u800c\u4e0d\u662f\u9ed8\u8ba4\u503c 3\uff0cRGBW neopixel \u624d\u80fd\u652f\u6301\u3002\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"\u6e05\u9664\u6240\u6709\u50cf\u7d20\u3002 (\u6e05\u9664)\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"\u663e\u793a\u50cf\u7d20\u3002 (\u663e\u793a)\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"\u663e\u793a\u50cf\u7d20\uff08\u4ec5\u9650 micro:bit V2\uff09\u3002 (\u5199\u5165)\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"\u7528\u7ed9\u5b9a\u7684 RGB/RGBW \u503c\u4e3a\u6240\u6709\u50cf\u7d20\u7740\u8272\uff08\u4ec5\u9650 micro:bit V2\uff09\u3002 (\u586b\u5145)\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: (\u989c\u8272) \u957f\u5ea6\u4e0e\u6bcf\u50cf\u7d20\u5b57\u8282\u6570 (bpp) \u76f8\u540c\u7684\u5143\u7ec4\u3002\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"\u8bbe\u7f6e\u50cf\u7d20\u989c\u8272\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: (\u952e) \u50cf\u7d20\u6570\u3002\n:param value: \u989c\u8272\u3002\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"\u83b7\u53d6\u50cf\u7d20\u989c\u8272\u3002\n\nExample: ``r, g, b = np[0]``\n\n:param key: (\u952e) \u50cf\u7d20\u6570\u3002\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"\u83b7\u53d6\u6b64\u50cf\u7d20\u6761\u7684\u957f\u5ea6\u3002 (\u957f\u5ea6)\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/os.pyi": "\"\"\"\u8bbf\u95ee\u6587\u4ef6\u7cfb\u7edf\u3002 (\u64cd\u4f5c\u7cfb\u7edf)\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"\u5217\u51fa\u6587\u4ef6\u3002 (\u5217\u51fa\u76ee\u5f55)\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"\u79fb\u9664\uff08\u5220\u9664\uff09\u4e00\u4efd\u6587\u4ef6\u3002 (\u5220\u9664)\n\nExample: ``os.remove('data.txt')``\n\n:param filename: (\u6587\u4ef6\u540d) \u8981\u5220\u9664\u7684\u6587\u4ef6\u3002\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"\u8fd4\u56de\u6587\u4ef6\u7684\u5927\u5c0f\u3002 (\u5927\u5c0f)\n\nExample: ``os.size('data.txt')``\n\n:param filename: (\u6587\u4ef6\u540d) \u6b64\u6587\u4ef6\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"``os.uname()`` \u7684\u7ed3\u679c (\u5f53\u524d\u7cfb\u7edf\u540d\u79f0\u7684\u8fd4\u56de\u7ed3\u679c)\"\"\"\n sysname: str\n \"\"\"\u64cd\u4f5c\u7cfb\u7edf\u540d\u79f0\u3002 (\u7cfb\u7edf\u540d\u5b57)\"\"\"\n nodename: str\n \"\"\"\u7f51\u7edc\u4e0a\u673a\u5668\u7684\u540d\u79f0\uff08\u5b9e\u73b0-\u5b9a\u4e49\uff09\u3002 (\u8282\u70b9\u540d\u5b57)\"\"\"\n release: str\n \"\"\"\u64cd\u4f5c\u7cfb\u7edf\u53d1\u5e03\u7248\u672c\u3002 (\u53d1\u5e03)\"\"\"\n version: str\n \"\"\"\u64cd\u4f5c\u7cfb\u7edf\u7248\u672c\u3002 (\u7248\u672c)\"\"\"\n machine: str\n \"\"\"\u786c\u4ef6\u6807\u8bc6\u7b26\u3002 (\u673a\u5668)\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"\u8fd4\u56de\u6807\u8bc6\u5f53\u524d\u64cd\u4f5c\u7cfb\u7edf\u7684\u4fe1\u606f\u3002 (\u5f53\u524d\u7cfb\u7edf\u540d\u79f0)\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", - "/typeshed/stdlib/radio.pyi": "\"\"\"Communicate between micro:bits with the built-in radio.\n\"\"\"\n\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\n\nRATE_1MBIT: int\n\"\"\"Constant used to indicate a throughput of 1 MBit a second.\"\"\"\n\nRATE_2MBIT: int\n\"\"\"Constant used to indicate a throughput of 2 MBit a second.\"\"\"\n\ndef on() -> None:\n \"\"\"Turns the radio on.\n\n Example: ``radio.on()``\n\n This needs to be explicitly called since the radio draws power and takes\n up memory that you may otherwise need.\n \"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Turns off the radio, saving power and memory.\n\n Example: ``radio.off()``\n \"\"\"\n ...\n\ndef config(\n length: int = 32,\n queue: int = 3,\n channel: int = 7,\n power: int = 6,\n address: int = 0x75626974,\n group: int = 0,\n data_rate: int = RATE_1MBIT,\n) -> None:\n \"\"\"Configures the radio.\n\n Example: ``radio.config(group=42)``\n\n The default configuration is suitable for most use.\n\n :param length: (default=32) defines the maximum length, in bytes, of a message sent via the radio.\n It can be up to 251 bytes long (254 - 3 bytes for S0, LENGTH and S1 preamble).\n :param queue: (default=3) specifies the number of messages that can be stored on the incoming message queue.\n If there are no spaces left on the queue for incoming messages, then the incoming message is dropped.\n :param channel: (default=7) an integer value from 0 to 83 (inclusive) that defines an arbitrary \"channel\" to which the radio is tuned.\n Messages will be sent via this channel and only messages received via this channel will be put onto the incoming message queue. Each step is 1MHz wide, based at 2400MHz.\n :param power: (default=6) is an integer value from 0 to 7 (inclusive) to indicate the strength of signal used when broadcasting a message.\n The higher the value the stronger the signal, but the more power is consumed by the device. The numbering translates to positions in the following list of dBm (decibel milliwatt) values: -30, -20, -16, -12, -8, -4, 0, 4.\n :param address: (default=0x75626974) an arbitrary name, expressed as a 32-bit address, that's used to filter incoming packets at the hardware level, keeping only those that match the address you set.\n The default used by other micro:bit related platforms is the default setting used here.\n :param group: (default=0) an 8-bit value (0-255) used with the ``address`` when filtering messages.\n Conceptually, \"address\" is like a house/office address and \"group\" is like the person at that address to which you want to send your message.\n :param data_rate: (default=``radio.RATE_1MBIT``) indicates the speed at which data throughput takes place.\n Can be one of the following constants defined in the ``radio`` module: ``RATE_250KBIT``, ``RATE_1MBIT`` or ``RATE_2MBIT``.\n\n If ``config`` is not called then the defaults described above are assumed.\n \"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset the settings to their default values.\n\n Example: ``radio.reset()``\n\n The defaults as as per the ``config`` function above.\n \"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Sends a message containing bytes.\n\n Example: ``radio.send_bytes(b'hello')``\n\n :param message: The bytes to send.\n \"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Receive the next incoming message on the message queue.\n\n Example: ``radio.receive_bytes()``\n\n :return: The message bytes if any, otherwise ``None``.\n \"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Copy the next incoming message on the message queue into a buffer.\n\n Example: ``radio.receive_bytes_info(buffer)``\n\n :param buffer: The target buffer. The message is truncated if larger than the buffer.\n :return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\n \"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Sends a message string.\n\n Example: ``radio.send('hello')``\n\n This is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\n prepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n :param message: The string to send.\n \"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Works in exactly the same way as ``receive_bytes`` but returns whatever was sent.\n\n Example: ``radio.receive()``\n\n Equivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\n three bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\n may target the micro:bit).\n\n :return: The message with the prepended bytes stripped and converted to a string.\n\n A ``ValueError`` exception is raised if conversion to string fails.\n \"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Returns a tuple containing three values representing the next incoming message on the message queue.\n\n Example: ``radio.receive_full()``\n\n If there are no pending messages then ``None`` is returned.\n\n The three values in the tuple represent:\n\n - the next incoming message on the message queue as bytes.\n - the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n - a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\n For example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\n This function is useful for providing information needed for triangulation\n and/or trilateration with other micro:bit devices.\n\n :return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\n \"\"\"\n ...\n", - "/typeshed/stdlib/random.pyi": "\"\"\"Generate random numbers.\n\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"Generate an integer with ``n`` random bits.\n\n Example: ``random.getrandbits(1)``\n\n :param n: A value between 1-30 (inclusive).\n \"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Initialize the random number generator.\n\n Example: ``random.seed(0)``\n\n :param n: The integer seed\n\n This will give you reproducibly deterministic randomness from a given starting\n state (``n``).\n \"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"Choose a random integer between ``a`` and ``b`` inclusive.\n\n Example: ``random.randint(0, 9)``\n\n :param a: Start value for the range (inclusive)\n :param b: End value for the range (inclusive)\n\n Alias for ``randrange(a, b + 1)``.\n \"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"Choose a randomly selected integer between zero and up to (but not\n including) ``stop``.\n\n Example: ``random.randrange(10)``\n\n :param stop: End value for the range (exclusive)\n \"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int = 1) -> int:\n \"\"\"\n Choose a randomly selected element from ``range(start, stop, step)``.\n\n Example: ``random.randrange(0, 10)``\n\n :param start: The start of the range (inclusive)\n :param stop: The end of the range (exclusive)\n :param step: The step.\n \"\"\"\n ...\n\n_T = TypeVar(\"_T\")\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"Choose a random element from the non-empty sequence ``seq``.\n\n Example: ``random.choice([Image.HAPPY, Image.SAD])``\n\n :param seq: A sequence.\n\n If ``seq`` is empty, raises ``IndexError``.\n \"\"\"\n ...\n\ndef random() -> float:\n \"\"\"Generate a random floating point number in the range [0.0, 1.0).\n\n Example: ``random.random()``\n\n :return: The random floating point number\n \"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"\n Return a random floating point number between ``a`` and ``b`` inclusive.\n\n Example: ``random.uniform(0, 9)``\n\n :param a: Start value for the range (inclusive)\n :param b: End value for the range (inclusive)\n \"\"\"\n ...\n", - "/typeshed/stdlib/speech.pyi": "\"\"\"Make the micro:bit talk, sing and make other speech like sounds.\n\"\"\"\n\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"Translate English words to phonemes.\n\n Example: ``speech.translate('hello world')``\n\n :param words: A string of English words.\n :return: A string containing a best guess at the appropriate phonemes to pronounce.\n The output is generated from this `text to phoneme translation table `_.\n\n This function should be used to generate a first approximation of phonemes\n that can be further hand-edited to improve accuracy, inflection and\n emphasis.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef pronounce(\n phonemes: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: Optional[MicroBitDigitalPin] = pin0,\n) -> None:\n \"\"\"Pronounce phonemes.\n\n Example: ``speech.pronounce(' /HEHLOW WERLD')``\n\n :param phonemes: The string of phonemes to pronounce\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n Override the optional pitch, speed, mouth and throat settings to change the\n timbre (quality) of the voice.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef say(\n words: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: MicroBitDigitalPin = pin0,\n) -> None:\n \"\"\"Say English words.\n\n Example: ``speech.say('hello world')``\n\n :param words: The string of words to say.\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n The result is semi-accurate for English. Override the optional pitch, speed,\n mouth and throat settings to change the timbre (quality) of the voice.\n\n This is a short-hand equivalent of:\n ``speech.pronounce(speech.translate(words))``\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef sing(\n phonemes: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: MicroBitDigitalPin = pin0,\n) -> None:\n \"\"\"Sing phonemes.\n\n Example: ``speech.sing(' /HEHLOW WERLD')``\n\n :param phonemes: The string of words to sing.\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n Override the optional pitch, speed, mouth and throat settings to change\n the timbre (quality) of the voice.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n", - "/typeshed/stdlib/struct.pyi": "\"\"\"Pack and unpack primitive data types.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"Get the number of bytes needed to store the given ``fmt``.\n\n Example: ``struct.calcsize('hf')``\n\n :param fmt: A format string.\n :return The number of bytes needed to store such a value.\n \"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"Pack values according to a format string.\n\n Example: ``struct.pack('hf', 1, 3.1415)``\n\n :param fmt: The format string.\n :param v1: The first value.\n :param *vn: The remaining values.\n :return A bytes object encoding the values.\n \"\"\"\n ...\n\ndef pack_into(\n fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any\n) -> None:\n \"\"\"Pack values according to a format string.\n\n Example: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n :param fmt: The format string.\n :param buffer: The target buffer to write into.\n :param offset: The offset into the buffer. May be negative to count from the end of the buffer.\n :param v1: The first value.\n :param *vn: The remaining values.\n \"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"Unpack data according to a format string.\n\n Example: ``v1, v2 = struct.unpack('hf', buffer)``\n\n :param fmt: The format string.\n :param data: The data.\n :return: A tuple of the unpacked values.\n \"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int = 0) -> Tuple:\n \"\"\"Unpack data from a buffer according to a format string.\n\n Example: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n :param fmt: The format string.\n :param buffer: The source buffer to read from.\n :param offset: The offset into the buffer. May be negative to count from the end of the buffer.\n :return: A tuple of the unpacked values.\n \"\"\"\n ...\n", - "/typeshed/stdlib/sys.pyi": "\"\"\"System specific functions\"\"\"\n\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object = ...) -> NoReturn:\n \"\"\"Terminate current program with a given exit code.\n\n Example: ``sys.exit(1)``\n\n This function raises a ``SystemExit`` exception. If an argument is given, its\n value given as an argument to ``SystemExit``.\n\n :param retval: The exit code or message.\n \"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"\n Print an exception with a traceback.\n\n Example: ``sys.print_exception(e)``\n\n :param exc: The exception to print\n\n This is simplified version of a function which appears in the\n ``traceback`` module in CPython.\n \"\"\"\n\nargv: List[str]\n\"\"\"A mutable list of arguments the current program was started with.\"\"\"\n\nbyteorder: str\n\"\"\"The byte order of the system (``\"little\"`` or ``\"big\"``).\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\n\nimplementation: _implementation\n\"\"\"Object with information about the current Python implementation.\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\n\nmaxsize: int\n\"\"\"\nMaximum value which a native integer type can hold on the current platform,\nor maximum value representable by MicroPython integer type, if it's smaller\nthan platform max value (that is the case for MicroPython ports without\nlong int support).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\n\nmodules: Dict[str, Any]\n\"\"\"Dictionary of loaded modules. \n\nOn some ports, it may not include builtin modules.\"\"\"\n\npath: List[str]\n\"\"\"A mutable list of directories to search for imported modules.\"\"\"\n\nplatform: str\n\"\"\"The platform that MicroPython is running on. \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\n\nversion: str\n\"\"\"Python language version that this implementation conforms to, as a string.\"\"\"\n\nversion_info: Tuple[int, int, int]\n\"\"\"Python language version that this implementation conforms to, as a tuple of ints.\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"\n", + "/typeshed/stdlib/radio.pyi": "\"\"\"\u4f7f\u7528\u5185\u7f6e\u65e0\u7ebf\u7535\u5728 micro:bit \u4e4b\u95f4\u8fdb\u884c\u901a\u4fe1\u3002 (\u65e0\u7ebf\u7535)\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"\u7528\u4e8e\u8868\u793a\u6bcf\u79d2 1 \u5146\u5b57\u8282\u541e\u5410\u91cf\u7684\u5e38\u6570\u3002 (\u901f\u7387 1Mbit)\"\"\"\nRATE_2MBIT: int\n\"\"\"\u7528\u4e8e\u8868\u793a\u6bcf\u79d2 2 \u5146\u5b57\u8282\u541e\u5410\u91cf\u7684\u5e38\u6570\u3002 (\u901f\u7387 2Mbit)\"\"\"\n\ndef on() -> None:\n \"\"\"\u6253\u5f00\u65e0\u7ebf\u7535\u3002 (\u6253\u5f00)\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"\u5173\u95ed\u65e0\u7ebf\u7535\u4ee5\u8282\u7701\u7535\u91cf\u548c\u5185\u5b58\u3002 (\u5173\u95ed)\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"\u914d\u7f6e\u65e0\u7ebf\u7535\u3002 (\u914d\u7f6e)\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (\u957f\u5ea6) \uff08\u9ed8\u8ba4\u503c32\uff09\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff0c\u5b9a\u4e49\u4e86\u901a\u8fc7\u65e0\u7ebf\u7535\u4f20\u8f93\u6d88\u606f\u7684\u6700\u5927\u957f\u5ea6\u3002\n\u5176\u957f\u5ea6\u53ef\u8fbe 251 \u5b57\u8282\uff08S0\u3001LENGTH \u548c S1 \u524d\u5bfc\u7801\uff1a254-3 \u5b57\u8282\uff09\u3002\n:param queue: (\u961f\u5217) \uff08\u9ed8\u8ba4\u503c3\uff09\u89c4\u5b9a\u4e86\u4f20\u5165\u6d88\u606f\u961f\u5217\u4e2d\u53ef\u4ee5\u5b58\u50a8\u7684\u6d88\u606f\u6570\u91cf\u3002\n\u5982\u679c\u961f\u5217\u4e2d\u6ca1\u6709\u591a\u4f59\u7684\u7a7a\u95f4\u7559\u7ed9\u4f20\u5165\u7684\u6d88\u606f\uff0c\u90a3\u4e48\u4f20\u5165\u7684\u6d88\u606f\u5c31\u4f1a\u88ab\u4e22\u5f03\u3002\n:param channel: (\u4fe1\u9053) \uff08\u7f3a\u7701\u503c7\uff09\u8303\u56f4\u4e3a\u4ece0\u523083\uff08\u542b83\uff09\u7684\u6574\u6570\uff0c\u7528\u4e8e\u5b9a\u4e49\u4e00\u4efb\u610f\u201c\u4fe1\u9053\u201d\uff0c\u4ee5\u4fbf\u5c06\u65e0\u7ebf\u7535\u8c03\u5230\u8be5\u4fe1\u9053\u3002\u4fe1\u606f\u901a\u8fc7\u8be5\u4fe1\u9053\u53d1\u9001\uff0c\u5e76\u4e14\u53ea\u6709\u901a\u8fc7\u8be5\u4fe1\u9053\u63a5\u6536\u5230\u7684\u6d88\u606f\u624d\u88ab\u653e\u5230\u4f20\u5165\u6d88\u606f\u961f\u5217\u4e2d\u3002\u6bcf\u4e00\u6b65\u7684\u5bbd\u5ea6\u4e3a 1 MHz\uff0c\u57fa\u4e8e 2400 MHz\u3002\n:param power: (\u5e42\u6570) \uff08\u9ed8\u8ba4\u503c6\uff09\u7528\u4e8e\u8868\u793a\u5e7f\u64ad\u6d88\u606f\u65f6\u6240\u4f7f\u7528\u4fe1\u53f7\u5f3a\u5ea6\u7684\u6574\u6570\u503c\uff0c\u5176\u8303\u56f4\u4e3a\u4ece0\u52307\uff08\u5305\u542b7\uff09\u3002\n\u8be5\u503c\u8d8a\u5927\uff0c\u4fe1\u53f7\u8d8a\u5f3a\uff0c\u4f46\u8bbe\u5907\u6d88\u8017\u7684\u529f\u7387\u4e5f\u8d8a\u5927\u3002\u5176\u7f16\u7801\u8f6c\u6362\u4e3a\u4ee5\u4e0b dBm\uff08\u5206\u8d1d\u6beb\u74e6\uff09\u503c\u5217\u8868\u4e2d\u7684\u4e0d\u540c\u503c\uff1a-30, -20, -16, -12, -8, -4, 0, 4\u3002\n:param address: (\u5730\u5740) (default=0x75626974) \u4efb\u610f\u540d\u79f0\uff0c\u8868\u793a\u4e3a 32 \u4f4d\u5730\u5740\uff0c\u7528\u4e8e\u5728\u786c\u4ef6\u7ea7\u522b\u8fc7\u6ee4\u4f20\u5165\u7684\u6570\u636e\u5305\uff0c\u4ec5\u4fdd\u7559\u4e0e\u60a8\u8bbe\u7f6e\u7684\u5730\u5740\u5339\u914d\u7684\u6570\u636e\u5305\u3002\n\u5176\u4ed6 micro:bit \u76f8\u5173\u5e73\u53f0\u4f7f\u7528\u7684\u9ed8\u8ba4\u8bbe\u7f6e\u4e0e\u6b64\u5904\u7684\u9ed8\u8ba4\u8bbe\u7f6e\u76f8\u540c\u3002\n:param group: (\u7fa4\u7ec4) \uff08\u9ed8\u8ba4\u503c0\uff09\u8fc7\u6ee4\u6d88\u606f\u65f6\u4e0e ``address`` \u4e00\u8d77\u4f7f\u7528\u7684 8 \u4f4d\u7684\u6570\u503c\uff080-255\uff09\u3002\n\u4ece\u6982\u5ff5\u4e0a\u8bb2\uff0c\"address\u201d\u5c31\u50cf\u623f\u5c4b\u6216\u529e\u516c\u5ba4\u7684\u5730\u5740\uff0c\u800c\u201cgroup\u201d\u5c31\u50cf\u4f4f\u5728\u8be5\u5730\u5740\uff0c\u5e76\u4e14\u4f60\u60f3\u7ed9\u4ed6\u6216\u5979\u53d1\u6d88\u606f\u7684\u90a3\u4e2a\u4eba\u3002\n:param data_rate: (\u6570\u636e\u4f20\u8f93\u901f\u7387) \uff08\u9ed8\u8ba4\u503c``radio.RATE_1MBIT``\uff09\u8868\u793a\u6570\u636e\u541e\u5410\u901f\u5ea6\u3002\n\u53ef\u4ee5\u662f``radio``\u6a21\u5757\u4e2d\u5b9a\u4e49\u7684\u4ee5\u4e0b\u5e38\u6570\u4e4b\u4e00\uff1a``RATE_250KBIT``\u3001``RATE_1MBIT`` \u6216 ``RATE_2MBIT``\u3002\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"\u5c06\u8bbe\u7f6e\u91cd\u8bbe\u4e3a\u9ed8\u8ba4\u503c\u3002\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"\u53d1\u9001\u4e00\u6761\u5305\u542b\u5b57\u8282\u7684\u6d88\u606f\u3002 (\u53d1\u9001\u5b57\u8282)\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: (\u6d88\u606f) \u5f85\u53d1\u9001\u7684\u5b57\u8282\u3002\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"\u63a5\u6536\u6d88\u606f\u961f\u5217\u4e2d\u7684\u4e0b\u4e00\u6761\u4f20\u5165\u6d88\u606f\u3002 (\u63a5\u6536\u5b57\u8282)\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"\u5c06\u6d88\u606f\u961f\u5217\u4e2d\u7684\u4e0b\u4e00\u6761\u4f20\u5165\u6d88\u606f\u590d\u5236\u5230\u7f13\u51b2\u533a\u3002 (\u63a5\u6536\u4f20\u5165\u7684\u5b57\u8282)\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: (\u7f13\u51b2\u533a) \u76ee\u6807\u7f13\u51b2\u533a\u3002\u5982\u679c\u6d88\u606f\u5927\u5c0f\u5927\u4e8e\u7f13\u51b2\u533a\uff0c\u5219\u6d88\u606f\u4f1a\u88ab\u622a\u65ad\u3002\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"\u53d1\u9001\u6d88\u606f\u5b57\u7b26\u4e32\u3002 (\u53d1\u9001)\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: (\u6d88\u606f) \u5f85\u53d1\u9001\u7684\u5b57\u7b26\u4e32\u3002\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"\u6309\u7167\u4e0e``receive_bytes``\u5b8c\u5168\u76f8\u540c\u7684\u5de5\u4f5c\u65b9\u5f0f\uff0c\u4f46\u662f\u8fd4\u56de\u6240\u53d1\u9001\u7684\u5185\u5bb9\u3002 (\u63a5\u6536)\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"\u8fd4\u56de\u4e00\u4e2a\u5305\u542b\u4e09\u4e2a\u6570\u503c\u7684\u5143\u7ec4\uff0c\u7528\u6765\u4ee3\u8868\u6d88\u606f\u961f\u5217\u4e2d\u7684\u4e0b\u4e00\u6761\u4f20\u5165\u6d88\u606f\u3002 (\u63a5\u53d7\u5b8c\u6574\u6d88\u606f)\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", + "/typeshed/stdlib/random.pyi": "\"\"\"\u751f\u6210\u968f\u673a\u6570\u3002 (\u968f\u673a\u6570)\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"\u751f\u6210\u4e00\u4e2a\u5177\u6709``n``\u4e2a\u968f\u673a\u4f4d\u7684\u6574\u6570\u3002 (\u751f\u6210\u968f\u673a\u4f4d)\n\nExample: ``random.getrandbits(1)``\n\n:param n: \u4e00\u4e2a\u57281\u523030\u4e4b\u95f4\uff08\u5305\u542b30\uff09\u7684\u6570\u503c\u3002\"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"\u521d\u59cb\u5316\u968f\u673a\u6570\u751f\u6210\u5668\u3002 (\u79cd\u5b50)\n\nExample: ``random.seed(0)``\n\n:param n: \u6574\u6570\u79cd\u5b50\n\nThis will give you reproducibly deterministic randomness from a given starting\nstate (``n``).\"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"\u5728``a``\u5230``b``\uff08\u5305\u542b``b``\uff09\u4e4b\u95f4\u968f\u673a\u9009\u62e9\u4e00\u4e2a\u6574\u6570\u3002 (\u968f\u673a\u6574\u6570)\n\nExample: ``random.randint(0, 9)``\n\n:param a: \u533a\u95f4\u8d77\u59cb\u503c\uff08\u5305\u542b\uff09\n:param b: \u533a\u95f4\u7ed3\u675f\u503c\uff08\u5305\u542b\uff09\n\nAlias for ``randrange(a, b + 1)``.\"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"\u5728\u96f6\u5230``stop``\uff08\u4e0d\u542b``stop``\uff09\u4e4b\u95f4\u968f\u673a\u9009\u62e9\u4e00\u4e2a\u6574\u6570\u3002 (\u968f\u673a\u533a\u95f4)\n\nExample: ``random.randrange(10)``\n\n:param stop: (\u7ed3\u675f\u503c) \u533a\u95f4\u7ed3\u675f\u503c\uff08\u4e0d\u542b\uff09\"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int=1) -> int:\n \"\"\"\u4ece\u533a\u95f4``range(start, stop, step)``\u4e2d\u968f\u673a\u9009\u62e9\u4e00\u4e2a\u5143\u7d20\u3002 (\u968f\u673a\u533a\u95f4)\n\nExample: ``random.randrange(0, 10)``\n\n:param start: (\u8d77\u59cb\u503c) \u533a\u95f4\u8d77\u59cb\u503c\uff08\u5305\u542b\uff09\n:param stop: (\u7ed3\u675f\u503c) \u533a\u95f4\u7ed3\u675f\u503c\uff08\u4e0d\u542b\uff09\n:param step: (\u6b65\u957f) \u6b65\u957f\u3002\"\"\"\n ...\n_T = TypeVar('_T')\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"\u4ece\u975e\u7a7a\u5e8f\u5217``seq``\u4e2d\u9009\u62e9\u4e00\u4e2a\u968f\u673a\u5143\u7d20\u3002 (\u9009\u62e9)\n\nExample: ``random.choice([Image.HAPPY, Image.SAD])``\n\n:param seq: (\u5e8f\u5217) \u5e8f\u5217\u3002\n\nIf ``seq`` is empty, raises ``IndexError``.\"\"\"\n ...\n\ndef random() -> float:\n \"\"\"\u5728\u533a\u95f4[0.0, 1.0)\u5185\u751f\u6210\u4e00\u4e2a\u968f\u673a\u6d6e\u70b9\u6570\u3002 (\u968f\u673a)\n\nExample: ``random.random()``\n\n:return: The random floating point number\"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"\u8fd4\u56de\u4e00\u4e2a\u4ecb\u4e8e``a``\u548c``b``\uff08\u5305\u542b``b``\uff09\u4e4b\u95f4\u7684\u968f\u673a\u6d6e\u70b9\u6570\u3002 (\u5747\u5300\u5206\u5e03\u968f\u673a\u6570)\n\nExample: ``random.uniform(0, 9)``\n\n:param a: \u533a\u95f4\u8d77\u59cb\u503c\uff08\u5305\u542b\uff09\n:param b: \u533a\u95f4\u7ed3\u675f\u503c\uff08\u5305\u542b\uff09\"\"\"\n ...", + "/typeshed/stdlib/speech.pyi": "\"\"\"\u4f7f micro:bit \u8bf4\u8bdd\u3001\u5531\u6b4c\u548c\u53d1\u51fa\u5176\u4ed6\u7c7b\u4f3c\u8bed\u97f3\u7684\u58f0\u97f3\u3002 (\u8bed\u97f3)\"\"\"\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"\u628a\u82f1\u8bed\u5355\u8bcd\u7ffb\u8bd1\u6210\u97f3\u7d20\u3002 (\u7ffb\u8bd1)\n\nExample: ``speech.translate('hello world')``\n\n:param words: (\u5355\u8bcd) \u4e00\u8fde\u4e32\u82f1\u8bed\u5355\u8bcd\u3002\n:return: A string containing a best guess at the appropriate phonemes to pronounce.\nThe output is generated from this `text to phoneme translation table `_.\n\nThis function should be used to generate a first approximation of phonemes\nthat can be further hand-edited to improve accuracy, inflection and\nemphasis.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef pronounce(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"\u53d1\u51fa\u97f3\u7d20\u7684\u58f0\u97f3\u3002 (\u53d1\u97f3)\n\nExample: ``speech.pronounce(' /HEHLOW WERLD')``\n\n:param phonemes: (\u97f3\u7d20) \u8981\u53d1\u97f3\u7684\u97f3\u7d20\u4e32\n:param pitch: (\u97f3\u9ad8) \u4ee3\u8868\u58f0\u97f3\u97f3\u9ad8\u7684\u6570\u5b57\n:param speed: (\u901f\u5ea6\uff1a) \u4ee3\u8868\u58f0\u97f3\u901f\u5ea6\u7684\u6570\u5b57\n:param mouth: (\u5634\u5df4) \u8868\u793a\u58f0\u97f3\u53e3\u578b\u7684\u6570\u5b57\n:param throat: (\u5589\u90e8) \u8868\u793a\u58f0\u97f3\u5589\u578b\u7684\u6570\u5b57\n:param pin: (\u5f15\u811a) \u53ef\u9009\u53c2\u6570\uff0c\u53ef\u7528\u4e8e\u6307\u5b9a\u8f93\u51fa\u5f15\u811a\u6765\u8986\u76d6 ``pin0`` \u9ed8\u8ba4\u503c\u3002\n\u5982\u679c\u4e0d\u60f3\u4ece\u5f15\u811a\u4e0a\u64ad\u653e\u4efb\u4f55\u58f0\u97f3\uff0c\u53ef\u4ee5\u4f7f\u7528 ``pin=None``\u3002\u4ec5\u9650micro:bit V2\u3002\n\nOverride the optional pitch, speed, mouth and throat settings to change the\ntimbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef say(words: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"\u8bf4\u82f1\u8bed\u5355\u8bcd\u3002 (\u8bf4)\n\nExample: ``speech.say('hello world')``\n\n:param words: (\u5355\u8bcd) \u8981\u8bf4\u7684\u8bcd\u4e32\u3002\n:param pitch: (\u97f3\u9ad8) \u4ee3\u8868\u58f0\u97f3\u97f3\u9ad8\u7684\u6570\u5b57\n:param speed: (\u901f\u5ea6) \u4ee3\u8868\u58f0\u97f3\u901f\u5ea6\u7684\u6570\u5b57\n:param mouth: (\u5634\u90e8) \u8868\u793a\u58f0\u97f3\u53e3\u578b\u7684\u6570\u5b57\n:param throat: (\u5589\u90e8) \u8868\u793a\u58f0\u97f3\u5589\u578b\u7684\u6570\u5b57\n:param pin: (\u5f15\u811a) \u53ef\u9009\u53c2\u6570\uff0c\u53ef\u7528\u4e8e\u6307\u5b9a\u8f93\u51fa\u5f15\u811a\u6765\u8986\u76d6 ``pin0`` \u9ed8\u8ba4\u503c\u3002\n\u5982\u679c\u4e0d\u60f3\u4ece\u5f15\u811a\u4e0a\u64ad\u653e\u4efb\u4f55\u58f0\u97f3\uff0c\u53ef\u4ee5\u4f7f\u7528 ``pin=None``\u3002\u4ec5\u9650micro:bit V2\u3002\n\nThe result is semi-accurate for English. Override the optional pitch, speed,\nmouth and throat settings to change the timbre (quality) of the voice.\n\nThis is a short-hand equivalent of:\n``speech.pronounce(speech.translate(words))``\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef sing(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"\u5531\u97f3\u7d20\u3002 (\u5531\u6b4c)\n\nExample: ``speech.sing(' /HEHLOW WERLD')``\n\n:param phonemes: (\u97f3\u7d20) \u8981\u5531\u7684\u8bcd\u4e32\u3002\n:param pitch: (\u97f3\u9ad8) \u4ee3\u8868\u58f0\u97f3\u97f3\u9ad8\u7684\u6570\u5b57\n:param speed: (\u901f\u5ea6) \u4ee3\u8868\u58f0\u97f3\u901f\u5ea6\u7684\u6570\u5b57\n:param mouth: (\u5634\u90e8) \u8868\u793a\u58f0\u97f3\u53e3\u578b\u7684\u6570\u5b57\n:param throat: (\u5589\u90e8) \u8868\u793a\u58f0\u97f3\u5589\u578b\u7684\u6570\u5b57\n:param pin: (\u5f15\u811a) \u53ef\u9009\u53c2\u6570\uff0c\u53ef\u7528\u4e8e\u6307\u5b9a\u8f93\u51fa\u5f15\u811a\u6765\u8986\u76d6 ``pin0`` \u9ed8\u8ba4\u503c\u3002\n\u5982\u679c\u4e0d\u60f3\u4ece\u5f15\u811a\u4e0a\u64ad\u653e\u4efb\u4f55\u58f0\u97f3\uff0c\u53ef\u4ee5\u4f7f\u7528 ``pin=None``\u3002\u4ec5\u9650micro:bit V2\u3002\n\nOverride the optional pitch, speed, mouth and throat settings to change\nthe timbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...", + "/typeshed/stdlib/struct.pyi": "\"\"\"\u6253\u5305\u548c\u89e3\u5305\u539f\u59cb\u6570\u636e\u7c7b\u578b\u3002 (\u7ed3\u6784)\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"\u83b7\u53d6\u5b58\u50a8\u7ed9\u5b9a ``fmt`` \u6240\u9700\u7684\u5b57\u8282\u6570\u3002 (\u8ba1\u7b97\u5927\u5c0f)\n\nExample: ``struct.calcsize('hf')``\n\n:param fmt: (\u683c\u5f0f\u5b57\u7b26\u4e32) \u683c\u5f0f\u5b57\u7b26\u4e32\u3002\n:return The number of bytes needed to store such a value.\"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"\u6839\u636e\u683c\u5f0f\u5b57\u7b26\u4e32\u6253\u5305\u503c\u3002 (\u6253\u5305)\n\nExample: ``struct.pack('hf', 1, 3.1415)``\n\n:param fmt: (\u683c\u5f0f\u5b57\u7b26\u4e32) \u683c\u5f0f\u5b57\u7b26\u4e32\u3002\n:param v1: \u7b2c\u4e00\u4e2a\u503c\u3002\n:param *vn: \u5269\u4f59\u503c\u3002\n:return A bytes object encoding the values.\"\"\"\n ...\n\ndef pack_into(fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any) -> None:\n \"\"\"\u6839\u636e\u683c\u5f0f\u5b57\u7b26\u4e32\u6253\u5305\u503c\u3002\n\nExample: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n:param fmt: (\u683c\u5f0f\u5b57\u7b26\u4e32) \u683c\u5f0f\u5b57\u7b26\u4e32\u3002\n:param buffer: (\u7f13\u51b2\u533a) \u5f85\u5199\u5165\u7684\u76ee\u6807\u7f13\u51b2\u533a\u3002\n:param offset: (\u504f\u79fb\u91cf) \u7f13\u51b2\u533a\u5185\u7684\u504f\u79fb\u91cf\u3002\u5982\u679c\u4ece\u7f13\u51b2\u533a\u672b\u7aef\u5f00\u59cb\u7b97\u8d77\uff0c\u8be5\u504f\u79fb\u91cf\u53ef\u80fd\u662f\u8d1f\u6570\u3002\n:param v1: \u7b2c\u4e00\u4e2a\u503c\u3002\n:param *vn: \u5269\u4f59\u503c\u3002\"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"\u6839\u636e\u683c\u5f0f\u5b57\u7b26\u4e32\u89e3\u538b\u6570\u636e\u3002 (\u89e3\u5305)\n\nExample: ``v1, v2 = struct.unpack('hf', buffer)``\n\n:param fmt: (\u683c\u5f0f\u5b57\u7b26\u4e32) \u683c\u5f0f\u5b57\u7b26\u4e32\u3002\n:param data: (\u6570\u636e) \u6570\u636e\u3002\n:return: A tuple of the unpacked values.\"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int=0) -> Tuple:\n \"\"\"\u6839\u636e\u683c\u5f0f\u5b57\u7b26\u4e32\u4ece\u7f13\u51b2\u533a\u89e3\u538b\u6570\u636e\u3002\n\nExample: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n:param fmt: (\u683c\u5f0f\u5b57\u7b26\u4e32) \u683c\u5f0f\u5b57\u7b26\u4e32\u3002\n:param buffer: \u5f85\u8bfb\u53d6\u7684\u6e90\u7f13\u51b2\u533a\u3002\n:param offset: (\u504f\u79fb\u91cf) \u7f13\u51b2\u533a\u5185\u7684\u504f\u79fb\u91cf\u3002\u5982\u679c\u4ece\u7f13\u51b2\u533a\u672b\u7aef\u5f00\u59cb\u7b97\u8d77\uff0c\u8be5\u504f\u79fb\u91cf\u53ef\u80fd\u662f\u8d1f\u6570\u3002\n:return: A tuple of the unpacked values.\"\"\"\n ...", + "/typeshed/stdlib/sys.pyi": "\"\"\"\u7cfb\u7edf\u7279\u5b9a\u529f\u80fd (\u7cfb\u7edf)\"\"\"\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object=...) -> NoReturn:\n \"\"\"\u6839\u636e\u7ed9\u5b9a\u9000\u51fa\u4ee3\u7801\u7ec8\u6b62\u5f53\u524d\u7a0b\u5e8f\u3002 (\u9000\u51fa)\n\nExample: ``sys.exit(1)``\n\nThis function raises a ``SystemExit`` exception. If an argument is given, its\nvalue given as an argument to ``SystemExit``.\n\n:param retval: (\u8fd4\u56de\u503c) \u9000\u51fa\u4ee3\u7801\u6216\u8005\u6d88\u606f\u3002\"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"\u6253\u5370\u5e26\u6709\u56de\u6eaf\u7684\u5f02\u5e38\u3002 (\u6253\u5370\u5f02\u5e38)\n\nExample: ``sys.print_exception(e)``\n\n:param exc: (\u5f02\u5e38) \u9700\u6253\u5370\u7684\u5f02\u5e38\n\nThis is simplified version of a function which appears in the\n``traceback`` module in CPython.\"\"\"\nargv: List[str]\n\"\"\"\u5f53\u524d\u7a0b\u5e8f\u542f\u52a8\u65f6\u4f7f\u7528\u7684\u53c2\u6570\u7684\u53ef\u53d8\u5217\u8868\u3002 (\u53c2\u6570)\"\"\"\nbyteorder: str\n\"\"\"\u7cfb\u7edf\u7684\u5b57\u8282\u987a\u5e8f (``\"little\"`` \u6216 ``\"big\"``)\u3002 (\u5b57\u8282\u5e8f)\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\nimplementation: _implementation\n\"\"\"\u5305\u542b\u6709\u5173\u5f53\u524d Python \u5b9e\u73b0\u7684\u4fe1\u606f\u7684\u5bf9\u8c61\u3002 (\u5b9e\u73b0)\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\nmaxsize: int\n\"\"\"\n\u5728\u5f53\u524d\u5e73\u53f0\u4e0a\u53ef\u4ee5\u5bb9\u7eb3\u7684\u6574\u6570\u7c7b\u578b\u7684\u6700\u5927\u503c\uff0c\n\u6216 MicroPython \u6574\u6570\u7c7b\u578b\u53ef\u8868\u793a\u7684\u6700\u5927\u503c\uff0c\u5982\u679c\u5b83\u5c0f\u4e8e\n\u5e73\u53f0\u7684\u6700\u5927\u503c\uff08\u8fd9\u89c1\u4e8e MicroPython \u7aef\u53e3\u4e0d\u652f\u6301\u957f\u6574\u6570\u7684\u60c5\u51b5\uff09\u3002 (\u6700\u5927\u503c)\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\nmodules: Dict[str, Any]\n\"\"\"\u5df2\u52a0\u8f7d\u6a21\u5757\u7684\u5b57\u5178\u3002 (\u6a21\u5757) \n\nOn some ports, it may not include builtin modules.\"\"\"\npath: List[str]\n\"\"\"\u7528\u4e8e\u641c\u7d22\u5bfc\u5165\u6a21\u5757\u7684\u76ee\u5f55\u7684\u53ef\u53d8\u5217\u8868\u3002 (\u8def\u5f84)\"\"\"\nplatform: str\n\"\"\"\u6b63\u5728\u8fd0\u884c MicroPython \u7684\u5e73\u53f0\u3002 (\u5e73\u53f0) \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\nversion: str\n\"\"\"\u6b64\u5b9e\u73b0\u7b26\u5408\u7684 Python \u8bed\u8a00\u7248\u672c\uff0c\u4e3a\u5b57\u7b26\u4e32\u3002 (\u7248\u672c)\"\"\"\nversion_info: Tuple[int, int, int]\n\"\"\"\u6b64\u5b9e\u73b0\u7b26\u5408\u7684 Python \u8bed\u8a00\u7248\u672c\uff0c\u4e3a\u6574\u6570\u5143\u7ec4\u3002 (\u7248\u672c\u4fe1\u606f)\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"", "/typeshed/stdlib/this.pyi": "def authors() -> str: ...\n", - "/typeshed/stdlib/time.pyi": "\"\"\"Measure time and add delays to programs.\n\"\"\"\n\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"\n Delay a number of seconds.\n\n Example: ``time.sleep(1)``\n\n :param seconds: The number of seconds to sleep for.\n Use a floating-point number to sleep for a fractional number of seconds.\n \"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"\n Delay for given number of milliseconds.\n\n Example: ``time.sleep_ms(1_000_000)``\n\n :param ms: The number of milliseconds delay (>= 0).\n \"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"\n Delay for given number of microseconds.\n\n Example: ``time.sleep_us(1000)``\n\n :param us: The number of microseconds delay (>= 0).\n \"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"\n Get an increasing, millisecond counter with an arbitrary reference point,\n that wraps around after some value.\n\n Example: ``time.ticks_ms()``\n\n :return: The counter value in milliseconds.\n \"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"\n Get an increasing, microsecond counter with an arbitrary reference point,\n that wraps around after some value.\n\n Example: ``time.ticks_us()``\n\n :return: The counter value in microseconds.\n \"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"\n Offset ticks value by a given number, which can be either positive or\n negative.\n\n Example: ``time.ticks_add(time.ticks_ms(), 200)``\n\n Given a ticks value, this function allows to calculate ticks\n value delta ticks before or after it, following modular-arithmetic\n definition of tick values.\n\n :param ticks: A ticks value\n :param delta: An integer offset\n\n Example::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\n \"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"\n Measure ticks difference between values returned from\n ``time.ticks_ms()`` or ``ticks_us()``, as a signed value\n which may wrap around.\n\n Example: ``time.ticks_diff(scheduled_time, now)``\n\n :param ticks1: The value to subtract from\n :param ticks2: The value to subtract\n\n The argument order is the same as for subtraction operator,\n ``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n ``ticks_diff()`` is designed to accommodate various usage\n patterns, among them:\n\n Polling with timeout. In this case, the order of events is known, and you\n will deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\n Scheduling events. In this case, :func:`time.ticks_diff()` result may be\n negative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\n \"\"\"\n ...\n", + "/typeshed/stdlib/time.pyi": "\"\"\"\u6d4b\u91cf\u65f6\u95f4\u5e76\u7ed9\u7a0b\u5e8f\u6dfb\u52a0\u5ef6\u8fdf\u3002 (\u65f6\u95f4)\"\"\"\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"\u5ef6\u8fdf\u51e0\u79d2\u949f\u3002 (\u4f11\u7720)\n\nExample: ``time.sleep(1)``\n\n:param seconds: (\u79d2) \u4f11\u7720\u7684\u79d2\u6570\u3002\n\u4f7f\u7528\u6d6e\u70b9\u6570\u4f11\u7720\u5c0f\u6570\u79d2\u6570\u3002\"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"\u5ef6\u8fdf\u7ed9\u5b9a\u7684\u6beb\u79d2\u6570\u3002 (\u4f11\u7720\u5ef6\u8fdf\u4ee5\u6beb\u79d2\u8ba1\u7b97)\n\nExample: ``time.sleep_ms(1_000_000)``\n\n:param ms: (\u6beb\u79d2) \u5ef6\u8fdf\u7684\u6beb\u79d2\u6570 (>= 0)\u3002\"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"\u5ef6\u8fdf\u7ed9\u5b9a\u7684\u5fae\u79d2\u6570\u3002 (\u4f11\u7720\u5ef6\u8fdf\u4ee5\u5fae\u79d2\u8ba1\u7b97)\n\nExample: ``time.sleep_us(1000)``\n\n:param us: (\u5fae\u79d2) \u5ef6\u8fdf\u7684\u5fae\u79d2\u6570 (>= 0)\u3002\"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"\u83b7\u53d6\u4e00\u4e2a\u5177\u6709\u4efb\u610f\u53c2\u8003\u70b9\u3001\u9012\u589e\u7684\u6beb\u79d2\u7ea7\u8ba1\u6570\u5668\uff0c\u8be5\u8ba1\u6570\u5668\u5728\u67d0\u4e2a\u503c\u4e4b\u540e\u80fd\u591f\u7ed5\u56de\u3002 (\u6beb\u79d2\u7ea7\u523b\u5ea6)\n\nExample: ``time.ticks_ms()``\n\n:return: The counter value in milliseconds.\"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"\u83b7\u53d6\u4e00\u4e2a\u5177\u6709\u4efb\u610f\u53c2\u8003\u70b9\u3001\u9012\u589e\u7684\u5fae\u79d2\u7ea7\u8ba1\u6570\u5668\uff0c\u8be5\u8ba1\u6570\u5668\u5728\u67d0\u4e2a\u503c\u4e4b\u540e\u80fd\u591f\u7ed5\u56de\u3002 (\u5fae\u79d2\u7ea7\u523b\u5ea6)\n\nExample: ``time.ticks_us()``\n\n:return: The counter value in microseconds.\"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"\u7ed9\u5b9a\u6570\u5b57\u7684\u504f\u79fb\u523b\u5ea6\u503c\uff0c\u53ef\u4ee5\u662f\u6b63\u6570\u6216\u8d1f\u6570\u3002 (\u589e\u52a0\u523b\u5ea6)\n\nExample: ``time.ticks_add(time.ticks_ms(), 200)``\n\nGiven a ticks value, this function allows to calculate ticks\nvalue delta ticks before or after it, following modular-arithmetic\ndefinition of tick values.\n\n:param ticks: (\u523b\u5ea6) \u4e00\u4e2a\u523b\u5ea6\u503c\n:param delta: \u6574\u6570\u504f\u79fb\u91cf\n\nExample::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"\u6d4b\u91cf\u51fd\u6570``time.ticks_ms()``\u6216\u8005\u51fd\u6570``ticks_us()``\u8fd4\u56de\u503c\u4e4b\u95f4\u7684\u523b\u5ea6\u5dee\u3002\u672c\u53c2\u6570\u4e3a\u4e00\u4e2a\u6709\u53ef\u80fd\u7ed5\u56de\u7684\u5e26\u7b26\u53f7\u6570\u503c\u3002 (\u523b\u5ea6\u5dee)\n\nExample: ``time.ticks_diff(scheduled_time, now)``\n\n:param ticks1: (\u523b\u5ea61) \u8981\u88ab\u51cf\u7684\u503c\n:param ticks2: (\u523b\u5ea62) \u8981\u51cf\u53bb\u7684\u503c\n\nThe argument order is the same as for subtraction operator,\n``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n``ticks_diff()`` is designed to accommodate various usage\npatterns, among them:\n\nPolling with timeout. In this case, the order of events is known, and you\nwill deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\nScheduling events. In this case, :func:`time.ticks_diff()` result may be\nnegative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\"\"\"\n ...", "/typeshed/stdlib/types.pyi": "import sys\nfrom typing import (\n Any,\n AsyncGenerator,\n Awaitable,\n Callable,\n Generator,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n Tuple,\n Type,\n TypeVar,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, final\n\n# Note, all classes \"defined\" here require special handling.\n\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_V_co = TypeVar(\"_V_co\", covariant=True)\n\n@final\nclass _Cell:\n __hash__: None # type: ignore\n cell_contents: Any\n\n@final\nclass FunctionType:\n __closure__: Tuple[_Cell, ...] | None\n __code__: CodeType\n __defaults__: Tuple[Any, ...] | None\n __dict__: dict[str, Any]\n __globals__: dict[str, Any]\n __name__: str\n __qualname__: str\n __annotations__: dict[str, Any]\n __kwdefaults__: dict[str, Any]\n def __init__(\n self,\n code: CodeType,\n globals: dict[str, Any],\n name: str | None = ...,\n argdefs: Tuple[object, ...] | None = ...,\n closure: Tuple[_Cell, ...] | None = ...,\n ) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: object | None, type: type | None) -> MethodType: ...\n\nLambdaType = FunctionType\n\n@final\nclass CodeType:\n \"\"\"Create a code object. Not for the faint of heart.\"\"\"\n\n co_argcount: int\n if sys.version_info >= (3, 8):\n co_posonlyargcount: int\n co_kwonlyargcount: int\n co_nlocals: int\n co_stacksize: int\n co_flags: int\n co_code: bytes\n co_consts: Tuple[Any, ...]\n co_names: Tuple[str, ...]\n co_varnames: Tuple[str, ...]\n co_filename: str\n co_name: str\n co_firstlineno: int\n co_lnotab: bytes\n co_freevars: Tuple[str, ...]\n co_cellvars: Tuple[str, ...]\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n argcount: int,\n posonlyargcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n else:\n def __init__(\n self,\n argcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n if sys.version_info >= (3, 8):\n def replace(\n self,\n *,\n co_argcount: int = ...,\n co_posonlyargcount: int = ...,\n co_kwonlyargcount: int = ...,\n co_nlocals: int = ...,\n co_stacksize: int = ...,\n co_flags: int = ...,\n co_firstlineno: int = ...,\n co_code: bytes = ...,\n co_consts: Tuple[Any, ...] = ...,\n co_names: Tuple[str, ...] = ...,\n co_varnames: Tuple[str, ...] = ...,\n co_freevars: Tuple[str, ...] = ...,\n co_cellvars: Tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_lnotab: bytes = ...,\n ) -> CodeType: ...\n\n@final\nclass MappingProxyType(Mapping[_KT, _VT_co], Generic[_KT, _VT_co]):\n __hash__: None # type: ignore\n def __init__(self, mapping: Mapping[_KT, _VT_co]) -> None: ...\n def __getitem__(self, k: _KT) -> _VT_co: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __len__(self) -> int: ...\n def copy(self) -> dict[_KT, _VT_co]: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def items(self) -> ItemsView[_KT, _VT_co]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def __or__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n def __ror__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n\nclass SimpleNamespace:\n __hash__: None # type: ignore\n def __init__(self, **kwargs: Any) -> None: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __delattr__(self, name: str) -> None: ...\n\nclass ModuleType:\n __name__: str\n __file__: str\n __dict__: dict[str, Any]\n __package__: str | None\n def __init__(self, name: str, doc: str | None = ...) -> None: ...\n\n@final\nclass GeneratorType(Generator[_T_co, _T_contra, _V_co]):\n gi_code: CodeType\n gi_frame: FrameType\n gi_running: bool\n gi_yieldfrom: GeneratorType[_T_co, _T_contra, Any] | None\n def __iter__(self) -> GeneratorType[_T_co, _T_contra, _V_co]: ...\n def __next__(self) -> _T_co: ...\n def close(self) -> None: ...\n def send(self, __arg: _T_contra) -> _T_co: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> _T_co: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> _T_co: ...\n\n@final\nclass AsyncGeneratorType(AsyncGenerator[_T_co, _T_contra]):\n ag_await: Awaitable[Any] | None\n ag_frame: FrameType\n ag_running: bool\n ag_code: CodeType\n def __aiter__(self) -> AsyncGeneratorType[_T_co, _T_contra]: ...\n def __anext__(self) -> Awaitable[_T_co]: ...\n def asend(self, __val: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Awaitable[_T_co]: ...\n def aclose(self) -> Awaitable[None]: ...\n\n@final\nclass CoroutineType:\n cr_await: Any | None\n cr_code: CodeType\n cr_frame: FrameType\n cr_running: bool\n def close(self) -> None: ...\n def send(self, __arg: Any) -> Any: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Any: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Any: ...\n\nclass _StaticFunctionType:\n \"\"\"Fictional type to correct the type of MethodType.__func__.\n\n FunctionType is a descriptor, so mypy follows the descriptor protocol and\n converts MethodType.__func__ back to MethodType (the return type of\n FunctionType.__get__). But this is actually a special case; MethodType is\n implemented in C and its attribute access doesn't go through\n __getattribute__.\n\n By wrapping FunctionType in _StaticFunctionType, we get the right result;\n similar to wrapping a function in staticmethod() at runtime to prevent it\n being bound as a method.\n \"\"\"\n\n def __get__(self, obj: object | None, type: type | None) -> FunctionType: ...\n\n@final\nclass MethodType:\n __closure__: Tuple[_Cell, ...] | None # inherited from the added function\n __defaults__: Tuple[Any, ...] | None # inherited from the added function\n __func__: _StaticFunctionType\n __self__: object\n __name__: str # inherited from the added function\n __qualname__: str # inherited from the added function\n def __init__(self, func: Callable[..., Any], obj: object) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\n@final\nclass BuiltinFunctionType:\n __self__: object | ModuleType\n __name__: str\n __qualname__: str\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\nBuiltinMethodType = BuiltinFunctionType\n\nif sys.version_info >= (3, 7):\n @final\n class WrapperDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class MethodWrapperType:\n __self__: object\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, other: Any) -> bool: ...\n def __ne__(self, other: Any) -> bool: ...\n @final\n class MethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class ClassMethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n\n@final\nclass TracebackType:\n if sys.version_info >= (3, 7):\n def __init__(\n self,\n tb_next: TracebackType | None,\n tb_frame: FrameType,\n tb_lasti: int,\n tb_lineno: int,\n ) -> None: ...\n tb_next: TracebackType | None\n else:\n @property\n def tb_next(self) -> TracebackType | None: ...\n # the rest are read-only even in 3.7\n @property\n def tb_frame(self) -> FrameType: ...\n @property\n def tb_lasti(self) -> int: ...\n @property\n def tb_lineno(self) -> int: ...\n\n@final\nclass FrameType:\n f_back: FrameType | None\n f_builtins: dict[str, Any]\n f_code: CodeType\n f_globals: dict[str, Any]\n f_lasti: int\n f_lineno: int\n f_locals: dict[str, Any]\n f_trace: Callable[[FrameType, str, Any], Any] | None\n if sys.version_info >= (3, 7):\n f_trace_lines: bool\n f_trace_opcodes: bool\n def clear(self) -> None: ...\n\n@final\nclass GetSetDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\n@final\nclass MemberDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nif sys.version_info >= (3, 7):\n def new_class(\n name: str,\n bases: Iterable[object] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n def resolve_bases(bases: Iterable[object]) -> Tuple[Any, ...]: ...\n\nelse:\n def new_class(\n name: str,\n bases: Tuple[type, ...] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n\ndef prepare_class(\n name: str, bases: Tuple[type, ...] = ..., kwds: dict[str, Any] | None = ...\n) -> Tuple[type, dict[str, Any], dict[str, Any]]: ...\n\n# Actually a different type, but `property` is special and we want that too.\nDynamicClassAttribute = property\n\ndef coroutine(func: Callable[..., Any]) -> CoroutineType: ...\n\nif sys.version_info >= (3, 8):\n CellType = _Cell\n\nif sys.version_info >= (3, 9):\n class GenericAlias:\n __origin__: type\n __args__: Tuple[Any, ...]\n __parameters__: Tuple[Any, ...]\n def __init__(self, origin: type, args: Any) -> None: ...\n def __getattr__(self, name: str) -> Any: ... # incomplete\n\nif sys.version_info >= (3, 10):\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n EllipsisType = ellipsis # noqa F811 from builtins\n from builtins import _NotImplementedType\n\n NotImplementedType = _NotImplementedType # noqa F811 from builtins\n @final\n class UnionType:\n __args__: Tuple[Any, ...]\n def __or__(self, obj: Any) -> UnionType: ...\n def __ror__(self, obj: Any) -> UnionType: ...\n", "/typeshed/stdlib/typing.pyi": "import collections # Needed by aliases like DefaultDict, see mypy issue 2986\nimport sys\nfrom abc import ABCMeta, abstractmethod\nfrom types import BuiltinFunctionType, CodeType, FrameType, FunctionType, MethodType, ModuleType, TracebackType\nfrom typing_extensions import Literal as _Literal\n\nif sys.version_info >= (3, 7):\n from types import MethodDescriptorType, MethodWrapperType, WrapperDescriptorType\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n# Definitions of special type checking related constructs. Their definitions\n# are not used, so their value does not matter.\n\nAny = object()\n\nclass TypeVar:\n __name__: str\n __bound__: Optional[Type[Any]]\n __constraints__: Tuple[Type[Any], ...]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self,\n name: str,\n *constraints: Type[Any],\n bound: Union[None, Type[Any], str] = ...,\n covariant: bool = ...,\n contravariant: bool = ...,\n ) -> None: ...\n\n_promote = object()\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> object: ...\n\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n\ndef overload(func: _F) -> _F: ...\n\nUnion: _SpecialForm = ...\nOptional: _SpecialForm = ...\nTuple: _SpecialForm = ...\nGeneric: _SpecialForm = ...\n# Protocol is only present in 3.8 and later, but mypy needs it unconditionally\nProtocol: _SpecialForm = ...\nCallable: _SpecialForm = ...\nType: _SpecialForm = ...\nClassVar: _SpecialForm = ...\nif sys.version_info >= (3, 8):\n Final: _SpecialForm = ...\n def final(f: _F) -> _F: ...\n Literal: _SpecialForm = ...\n # TypedDict is a (non-subscriptable) special form.\n TypedDict: object\n\nif sys.version_info < (3, 7):\n class GenericMeta(type): ...\n\nif sys.version_info >= (3, 10):\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Optional[Type[Any]]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: Union[None, Type[Any], str] = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n\n# Return type that indicates a function does not return.\n# This type is equivalent to the None type, but the no-op Union is necessary to\n# distinguish the None type from the None value.\nNoReturn = Union[None]\n\n# These type variables are used by the container types.\n_T = TypeVar(\"_T\")\n_S = TypeVar(\"_S\")\n_KT = TypeVar(\"_KT\") # Key type.\n_VT = TypeVar(\"_VT\") # Value type.\n_T_co = TypeVar(\"_T_co\", covariant=True) # Any type covariant containers.\n_V_co = TypeVar(\"_V_co\", covariant=True) # Any type covariant containers.\n_KT_co = TypeVar(\"_KT_co\", covariant=True) # Key type covariant containers.\n_VT_co = TypeVar(\"_VT_co\", covariant=True) # Value type covariant containers.\n_T_contra = TypeVar(\"_T_contra\", contravariant=True) # Ditto contravariant.\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\ndef no_type_check(arg: _F) -> _F: ...\ndef no_type_check_decorator(decorator: _F) -> _F: ...\n\n# Type aliases and type constructors\n\nclass _Alias:\n # Class for defining generic aliases for library types.\n def __getitem__(self, typeargs: Any) -> Any: ...\n\nList = _Alias()\nDict = _Alias()\nDefaultDict = _Alias()\nSet = _Alias()\nFrozenSet = _Alias()\nCounter = _Alias()\nDeque = _Alias()\nChainMap = _Alias()\n\nif sys.version_info >= (3, 7):\n OrderedDict = _Alias()\n\nif sys.version_info >= (3, 9):\n Annotated: _SpecialForm = ...\n\n# Predefined type variables.\nAnyStr = TypeVar(\"AnyStr\", str, bytes)\n\n# Abstract base classes.\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n@runtime_checkable\nclass SupportsInt(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __int__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsFloat(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __float__(self) -> float: ...\n\n@runtime_checkable\nclass SupportsComplex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __complex__(self) -> complex: ...\n\n@runtime_checkable\nclass SupportsBytes(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __bytes__(self) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n @runtime_checkable\n class SupportsIndex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __index__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsAbs(Protocol[_T_co]):\n @abstractmethod\n def __abs__(self) -> _T_co: ...\n\n@runtime_checkable\nclass SupportsRound(Protocol[_T_co]):\n @overload\n @abstractmethod\n def __round__(self) -> int: ...\n @overload\n @abstractmethod\n def __round__(self, ndigits: int) -> _T_co: ...\n\n@runtime_checkable\nclass Sized(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __len__(self) -> int: ...\n\n@runtime_checkable\nclass Hashable(Protocol, metaclass=ABCMeta):\n # TODO: This is special, in that a subclass of a hashable class may not be hashable\n # (for example, list vs. object). It's not obvious how to represent this. This class\n # is currently mostly useless for static checking.\n @abstractmethod\n def __hash__(self) -> int: ...\n\n@runtime_checkable\nclass Iterable(Protocol[_T_co]):\n @abstractmethod\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Iterator(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __next__(self) -> _T_co: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Reversible(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass Generator(Iterator[_T_co], Generic[_T_co, _T_contra, _V_co]):\n def __next__(self) -> _T_co: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n def close(self) -> None: ...\n def __iter__(self) -> Generator[_T_co, _T_contra, _V_co]: ...\n @property\n def gi_code(self) -> CodeType: ...\n @property\n def gi_frame(self) -> FrameType: ...\n @property\n def gi_running(self) -> bool: ...\n @property\n def gi_yieldfrom(self) -> Optional[Generator[Any, Any, Any]]: ...\n\n@runtime_checkable\nclass Awaitable(Protocol[_T_co]):\n @abstractmethod\n def __await__(self) -> Generator[Any, None, _T_co]: ...\n\nclass Coroutine(Awaitable[_V_co], Generic[_T_co, _T_contra, _V_co]):\n __name__: str\n __qualname__: str\n @property\n def cr_await(self) -> Optional[Any]: ...\n @property\n def cr_code(self) -> CodeType: ...\n @property\n def cr_frame(self) -> FrameType: ...\n @property\n def cr_running(self) -> bool: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n @abstractmethod\n def close(self) -> None: ...\n\n# NOTE: This type does not exist in typing.py or PEP 484.\n# The parameters correspond to Generator, but the 4th is the original type.\nclass AwaitableGenerator(\n Awaitable[_V_co], Generator[_T_co, _T_contra, _V_co], Generic[_T_co, _T_contra, _V_co, _S], metaclass=ABCMeta\n): ...\n\n@runtime_checkable\nclass AsyncIterable(Protocol[_T_co]):\n @abstractmethod\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\n@runtime_checkable\nclass AsyncIterator(AsyncIterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\nclass AsyncGenerator(AsyncIterator[_T_co], Generic[_T_co, _T_contra]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n @abstractmethod\n def asend(self, __value: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> Awaitable[_T_co]: ...\n @abstractmethod\n def aclose(self) -> Awaitable[None]: ...\n @abstractmethod\n def __aiter__(self) -> AsyncGenerator[_T_co, _T_contra]: ...\n @property\n def ag_await(self) -> Any: ...\n @property\n def ag_code(self) -> CodeType: ...\n @property\n def ag_frame(self) -> FrameType: ...\n @property\n def ag_running(self) -> bool: ...\n\n@runtime_checkable\nclass Container(Protocol[_T_co]):\n @abstractmethod\n def __contains__(self, __x: object) -> bool: ...\n\n@runtime_checkable\nclass Collection(Iterable[_T_co], Container[_T_co], Protocol[_T_co]):\n # Implement Sized (but don't have it as a base class).\n @abstractmethod\n def __len__(self) -> int: ...\n\n_Collection = Collection[_T_co]\n\nclass Sequence(_Collection[_T_co], Reversible[_T_co], Generic[_T_co]):\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T_co: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> Sequence[_T_co]: ...\n # Mixin methods\n def index(self, value: Any, start: int = ..., stop: int = ...) -> int: ...\n def count(self, value: Any) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass MutableSequence(Sequence[_T], Generic[_T]):\n @abstractmethod\n def insert(self, index: int, value: _T) -> None: ...\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> MutableSequence[_T]: ...\n @overload\n @abstractmethod\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n @abstractmethod\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: int) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: slice) -> None: ...\n # Mixin methods\n def append(self, value: _T) -> None: ...\n def clear(self) -> None: ...\n def extend(self, values: Iterable[_T]) -> None: ...\n def reverse(self) -> None: ...\n def pop(self, index: int = ...) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __iadd__(self, x: Iterable[_T]) -> MutableSequence[_T]: ...\n\nclass AbstractSet(_Collection[_T_co], Generic[_T_co]):\n @abstractmethod\n def __contains__(self, x: object) -> bool: ...\n # Mixin methods\n def __le__(self, s: AbstractSet[Any]) -> bool: ...\n def __lt__(self, s: AbstractSet[Any]) -> bool: ...\n def __gt__(self, s: AbstractSet[Any]) -> bool: ...\n def __ge__(self, s: AbstractSet[Any]) -> bool: ...\n def __and__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def __sub__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def isdisjoint(self, other: Iterable[Any]) -> bool: ...\n\nclass MutableSet(AbstractSet[_T], Generic[_T]):\n @abstractmethod\n def add(self, value: _T) -> None: ...\n @abstractmethod\n def discard(self, value: _T) -> None: ...\n # Mixin methods\n def clear(self) -> None: ...\n def pop(self) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __ior__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __iand__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __isub__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n\nclass MappingView(Sized):\n def __init__(self, mapping: Mapping[Any, Any]) -> None: ... # undocumented\n def __len__(self) -> int: ...\n\nclass ItemsView(MappingView, AbstractSet[Tuple[_KT_co, _VT_co]], Generic[_KT_co, _VT_co]):\n def __init__(self, mapping: Mapping[_KT_co, _VT_co]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n\nclass KeysView(MappingView, AbstractSet[_KT_co], Generic[_KT_co]):\n def __init__(self, mapping: Mapping[_KT_co, Any]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT_co]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n\nclass ValuesView(MappingView, Iterable[_VT_co], Generic[_VT_co]):\n def __init__(self, mapping: Mapping[Any, _VT_co]) -> None: ... # undocumented\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_VT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\n@runtime_checkable\nclass ContextManager(Protocol[_T_co]):\n def __enter__(self) -> _T_co: ...\n def __exit__(\n self,\n __exc_type: Optional[Type[BaseException]],\n __exc_value: Optional[BaseException],\n __traceback: Optional[TracebackType],\n ) -> Optional[bool]: ...\n\n@runtime_checkable\nclass AsyncContextManager(Protocol[_T_co]):\n def __aenter__(self) -> Awaitable[_T_co]: ...\n def __aexit__(\n self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Awaitable[Optional[bool]]: ...\n\nclass Mapping(_Collection[_KT], Generic[_KT, _VT_co]):\n # TODO: We wish the key type could also be covariant, but that doesn't work,\n # see discussion in https: //github.com/python/typing/pull/273.\n @abstractmethod\n def __getitem__(self, k: _KT) -> _VT_co: ...\n # Mixin methods\n @overload\n def get(self, key: _KT) -> Optional[_VT_co]: ...\n @overload\n def get(self, key: _KT, default: Union[_VT_co, _T]) -> Union[_VT_co, _T]: ...\n def items(self) -> AbstractSet[Tuple[_KT, _VT_co]]: ...\n def keys(self) -> AbstractSet[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def __contains__(self, o: object) -> bool: ...\n\nclass MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):\n @abstractmethod\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n @abstractmethod\n def __delitem__(self, v: _KT) -> None: ...\n def clear(self) -> None: ...\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...\n # 'update' used to take a Union, but using overloading is better.\n # The second overloaded type here is a bit too general, because\n # Mapping[Tuple[_KT, _VT], W] is a subclass of Iterable[Tuple[_KT, _VT]],\n # but will always have the behavior of the first overloaded type\n # at runtime, leading to keys of a mix of types _KT and Tuple[_KT, _VT].\n # We don't currently have any way of forcing all Mappings to use\n # the first overload, but by using overloading rather than a Union,\n # mypy will commit to using the first overload when the argument is\n # known to be a Mapping with unknown type parameters, which is closer\n # to the behavior we want. See mypy issue #1430.\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n\nText = str\n\nTYPE_CHECKING = True\n\nclass IO(Iterator[AnyStr], Generic[AnyStr]):\n # TODO use abstract properties\n @property\n def mode(self) -> str: ...\n @property\n def name(self) -> str: ...\n @abstractmethod\n def close(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n @abstractmethod\n def fileno(self) -> int: ...\n @abstractmethod\n def flush(self) -> None: ...\n @abstractmethod\n def isatty(self) -> bool: ...\n @abstractmethod\n def read(self, n: int = ...) -> AnyStr: ...\n @abstractmethod\n def readable(self) -> bool: ...\n @abstractmethod\n def readline(self, limit: int = ...) -> AnyStr: ...\n @abstractmethod\n def readlines(self, hint: int = ...) -> list[AnyStr]: ...\n @abstractmethod\n def seek(self, offset: int, whence: int = ...) -> int: ...\n @abstractmethod\n def seekable(self) -> bool: ...\n @abstractmethod\n def tell(self) -> int: ...\n @abstractmethod\n def truncate(self, size: Optional[int] = ...) -> int: ...\n @abstractmethod\n def writable(self) -> bool: ...\n @abstractmethod\n def write(self, s: AnyStr) -> int: ...\n @abstractmethod\n def writelines(self, lines: Iterable[AnyStr]) -> None: ...\n @abstractmethod\n def __next__(self) -> AnyStr: ...\n @abstractmethod\n def __iter__(self) -> Iterator[AnyStr]: ...\n @abstractmethod\n def __enter__(self) -> IO[AnyStr]: ...\n @abstractmethod\n def __exit__(\n self, t: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Optional[bool]: ...\n\nclass BinaryIO(IO[bytes]):\n @abstractmethod\n def __enter__(self) -> BinaryIO: ...\n\nclass TextIO(IO[str]):\n # TODO use abstractproperty\n @property\n def buffer(self) -> BinaryIO: ...\n @property\n def encoding(self) -> str: ...\n @property\n def errors(self) -> Optional[str]: ...\n @property\n def line_buffering(self) -> int: ... # int on PyPy, bool on CPython\n @property\n def newlines(self) -> Any: ... # None, str or tuple\n @abstractmethod\n def __enter__(self) -> TextIO: ...\n\nclass ByteString(Sequence[int], metaclass=ABCMeta): ...\n\nclass Match(Generic[AnyStr]):\n pos: int\n endpos: int\n lastindex: Optional[int]\n lastgroup: Optional[AnyStr]\n string: AnyStr\n\n # The regular expression object whose match() or search() method produced\n # this match instance.\n re: Pattern[AnyStr]\n def expand(self, template: AnyStr) -> AnyStr: ...\n # group() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def group(self, __group: _Literal[0] = ...) -> AnyStr: ...\n @overload\n def group(self, __group: str | int) -> AnyStr | Any: ...\n @overload\n def group(self, __group1: str | int, __group2: str | int, *groups: str | int) -> Tuple[AnyStr | Any, ...]: ...\n # Each item of groups()'s return tuple is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groups(self) -> Tuple[AnyStr | Any, ...]: ...\n @overload\n def groups(self, default: _T) -> Tuple[AnyStr | _T, ...]: ...\n # Each value in groupdict()'s return dict is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groupdict(self) -> dict[str, AnyStr | Any]: ...\n @overload\n def groupdict(self, default: _T) -> dict[str, AnyStr | _T]: ...\n def start(self, __group: Union[int, str] = ...) -> int: ...\n def end(self, __group: Union[int, str] = ...) -> int: ...\n def span(self, __group: Union[int, str] = ...) -> Tuple[int, int]: ...\n @property\n def regs(self) -> Tuple[Tuple[int, int], ...]: ... # undocumented\n # __getitem__() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def __getitem__(self, __key: _Literal[0]) -> AnyStr: ...\n @overload\n def __getitem__(self, __key: int | str) -> AnyStr | Any: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Pattern(Generic[AnyStr]):\n flags: int\n groupindex: Mapping[str, int]\n groups: int\n pattern: AnyStr\n def search(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def match(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def fullmatch(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def split(self, string: AnyStr, maxsplit: int = ...) -> list[AnyStr]: ...\n def findall(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> list[Any]: ...\n def finditer(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Iterator[Match[AnyStr]]: ...\n @overload\n def sub(self, repl: AnyStr, string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def sub(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def subn(self, repl: AnyStr, string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n @overload\n def subn(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# Functions\n\nif sys.version_info >= (3, 7):\n _get_type_hints_obj_allowed_types = Union[\n object,\n Callable[..., Any],\n FunctionType,\n BuiltinFunctionType,\n MethodType,\n ModuleType,\n WrapperDescriptorType,\n MethodWrapperType,\n MethodDescriptorType,\n ]\nelse:\n _get_type_hints_obj_allowed_types = Union[\n object, Callable[..., Any], FunctionType, BuiltinFunctionType, MethodType, ModuleType,\n ]\n\nif sys.version_info >= (3, 9):\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types,\n globalns: Optional[Dict[str, Any]] = ...,\n localns: Optional[Dict[str, Any]] = ...,\n include_extras: bool = ...,\n ) -> Dict[str, Any]: ...\n\nelse:\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types, globalns: Optional[Dict[str, Any]] = ..., localns: Optional[Dict[str, Any]] = ...\n ) -> Dict[str, Any]: ...\n\nif sys.version_info >= (3, 8):\n def get_origin(tp: Any) -> Optional[Any]: ...\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n\n@overload\ndef cast(typ: Type[_T], val: Any) -> _T: ...\n@overload\ndef cast(typ: str, val: Any) -> Any: ...\n@overload\ndef cast(typ: object, val: Any) -> Any: ...\n\n# Type constructors\n\n# NamedTuple is special-cased in the type checker\nclass NamedTuple(Tuple[Any, ...]):\n _field_types: collections.OrderedDict[str, Type[Any]]\n _field_defaults: Dict[str, Any] = ...\n _fields: Tuple[str, ...]\n _source: str\n def __init__(self, typename: str, fields: Iterable[Tuple[str, Any]] = ..., **kwargs: Any) -> None: ...\n @classmethod\n def _make(cls: Type[_T], iterable: Iterable[Any]) -> _T: ...\n if sys.version_info >= (3, 8):\n def _asdict(self) -> Dict[str, Any]: ...\n else:\n def _asdict(self) -> collections.OrderedDict[str, Any]: ...\n def _replace(self: _T, **kwargs: Any) -> _T: ...\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __or__(self: _T, __value: _T) -> _T: ...\n def __ior__(self: _T, __value: _T) -> _T: ...\n\ndef NewType(name: str, tp: Type[_T]) -> Type[_T]: ...\n\n# This itself is only available during type checking\ndef type_check_only(func_or_cls: _F) -> _F: ...\n\nif sys.version_info >= (3, 7):\n class ForwardRef:\n __forward_arg__: str\n __forward_code__: CodeType\n __forward_evaluated__: bool\n __forward_value__: Optional[Any]\n __forward_is_argument__: bool\n def __init__(self, arg: str, is_argument: bool = ...) -> None: ...\n def _evaluate(self, globalns: Optional[Dict[str, Any]], localns: Optional[Dict[str, Any]]) -> Optional[Any]: ...\n def __eq__(self, other: Any) -> bool: ...\n def __hash__(self) -> int: ...\n def __repr__(self) -> str: ...\n\nif sys.version_info >= (3, 10):\n def is_typeddict(tp: Any) -> bool: ...\n", "/typeshed/stdlib/typing_extensions.pyi": "import abc\nimport sys\nfrom typing import (\n TYPE_CHECKING as TYPE_CHECKING,\n Any,\n AsyncContextManager as AsyncContextManager,\n AsyncGenerator as AsyncGenerator,\n AsyncIterable as AsyncIterable,\n AsyncIterator as AsyncIterator,\n Awaitable as Awaitable,\n Callable,\n ChainMap as ChainMap,\n ClassVar as ClassVar,\n ContextManager as ContextManager,\n Coroutine as Coroutine,\n Counter as Counter,\n DefaultDict as DefaultDict,\n Deque as Deque,\n ItemsView,\n KeysView,\n Mapping,\n NewType as NewType,\n NoReturn as NoReturn,\n Text as Text,\n Tuple,\n Type as Type,\n TypeVar,\n ValuesView,\n _Alias,\n overload as overload,\n)\n\n_T = TypeVar(\"_T\")\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> Any: ...\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n\n# This alias for above is kept here for backwards compatibility.\nruntime = runtime_checkable\nProtocol: _SpecialForm = ...\nFinal: _SpecialForm = ...\n\ndef final(f: _F) -> _F: ...\n\nLiteral: _SpecialForm = ...\n\ndef IntVar(name: str) -> Any: ... # returns a new TypeVar\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n\n# TypedDict is a (non-subscriptable) special form.\nTypedDict: object = ...\n\nOrderedDict = _Alias()\n\ndef get_type_hints(\n obj: Callable[..., Any],\n globalns: dict[str, Any] | None = ...,\n localns: dict[str, Any] | None = ...,\n include_extras: bool = ...,\n) -> dict[str, Any]: ...\n\nif sys.version_info >= (3, 7):\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n def get_origin(tp: Any) -> Any | None: ...\n\nAnnotated: _SpecialForm = ...\n_AnnotatedAlias: Any = ... # undocumented\n\n@runtime_checkable\nclass SupportsIndex(Protocol, metaclass=abc.ABCMeta):\n @abc.abstractmethod\n def __index__(self) -> int: ...\n\n# PEP 612 support for Python < 3.9\nif sys.version_info >= (3, 10):\n from typing import Concatenate as Concatenate, ParamSpec as ParamSpec, TypeAlias as TypeAlias, TypeGuard as TypeGuard\nelse:\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Type[Any] | None\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: None | Type[Any] | str = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n", @@ -35,16 +35,16 @@ "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", - "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pins, images, sounds, temperature and volume.\n\"\"\"\n\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\n\nfrom _typeshed import ReadableBuffer\n\n# V2 only\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(\n callback: Optional[Callable[[], None]] = None,\n days: int = 0,\n h: int = 0,\n min: int = 0,\n s: int = 0,\n ms: int = 0,\n) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Schedule to run a function at the interval specified by the time arguments **V2 only**.\n\n Example: ``run_every(my_logging, min=5)``\n\n ``run_every`` can be used in two ways:\n\n As a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\n As a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\n Each argument corresponds to a different time unit and they are additive.\n So ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\n When an exception is thrown inside the callback function it deschedules the\n function. To avoid this you can catch exceptions with ``try/except``.\n\n :param callback: Function to call at the provided interval. Omit when using as a decorator.\n :param days: Sets the day mark for the scheduling.\n :param h: Sets the hour mark for the scheduling.\n :param min: Sets the minute mark for the scheduling.\n :param s: Sets the second mark for the scheduling.\n :param ms: Sets the millisecond mark for the scheduling.\n \"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Enter a panic mode.\n\n Example: ``panic(127)``\n\n :param n: An arbitrary integer <= 255 to indicate a status.\n\n Requires restart.\n \"\"\"\n\ndef reset() -> None:\n \"\"\"Restart the board.\"\"\"\n\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converts a value from a range to an integer range.\n\n Example: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\n For example, to convert an accelerometer X value to a speaker volume.\n\n If one of the numbers in the ``to`` parameter is a floating point\n (i.e a decimal number like ``10.0``), this function will return a\n floating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n :param value: A number to convert.\n :param from_: A tuple to define the range to convert from.\n :param to: A tuple to define the range to convert to.\n :return: The ``value`` converted to the ``to`` range.\n \"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converts a value from a range to a floating point range.\n\n Example: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\n For example, to convert temperature from a Celsius scale to Fahrenheit.\n\n If one of the numbers in the ``to`` parameter is a floating point\n (i.e a decimal number like ``10.0``), this function will return a\n floating point number.\n If they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n :param value: A number to convert.\n :param from_: A tuple to define the range to convert from.\n :param to: A tuple to define the range to convert to.\n :return: The ``value`` converted to the ``to`` range.\n \"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Wait for ``n`` milliseconds.\n\n Example: ``sleep(1000)``\n\n :param n: The number of milliseconds to wait\n\n One second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\n will pause the execution for one second.\n \"\"\"\n\ndef running_time() -> int:\n \"\"\"Get the running time of the board.\n\n :return: The number of milliseconds since the board was switched on or restarted.\n \"\"\"\n\ndef temperature() -> int:\n \"\"\"Get the temperature of the micro:bit in degrees Celsius.\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Sets the volume.\n\n Example: ``set_volume(127)``\n\n :param v: a value between 0 (low) and 255 (high).\n\n Out of range values will be clamped to 0 or 255.\n\n **V2** only.\n \"\"\"\n ...\n\nclass Button:\n \"\"\"The class for the buttons ``button_a`` and ``button_b``.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Check if the button is pressed.\n\n :return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\n \"\"\"\n ...\n def was_pressed(self) -> bool:\n \"\"\"Check if the button was pressed since the device started or the last time this method was called.\n\n Calling this method will clear the press state so\n that the button must be pressed again before this method will return\n ``True`` again.\n\n :return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\n \"\"\"\n ...\n def get_presses(self) -> int:\n \"\"\"Get the running total of button presses, and resets this total\n to zero before returning.\n\n :return: The number of presses since the device started or the last time this method was called\n \"\"\"\n ...\n\nbutton_a: Button\n\"\"\"The left button ``Button`` object.\"\"\"\n\nbutton_b: Button\n\"\"\"The right button ``Button`` object.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"A digital pin.\n\n Some pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\n \"\"\"\n\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n def read_digital(self) -> int:\n \"\"\"Get the digital value of the pin.\n\n Example: ``value = pin0.read_digital()``\n\n :return: 1 if the pin is high, and 0 if it's low.\n \"\"\"\n ...\n def write_digital(self, value: int) -> None:\n \"\"\"Set the digital value of the pin.\n\n Example: ``pin0.write_digital(1)``\n\n :param value: 1 to set the pin high or 0 to set the pin low\"\"\"\n ...\n def set_pull(self, value: int) -> None:\n \"\"\"Set the pull state to one of three possible values: ``PULL_UP``, ``PULL_DOWN`` or ``NO_PULL``.\n\n Example: ``pin0.set_pull(pin0.PULL_UP)``\n\n :param value: The pull state from the relevant pin, e.g. ``pin0.PULL_UP``.\n \"\"\"\n ...\n def get_pull(self) -> int:\n \"\"\"Get the pull state on a pin.\n\n Example: ``pin0.get_pull()``\n\n :return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\n These are set using the ``set_pull()`` method or automatically configured\n when a pin mode requires it.\n \"\"\"\n ...\n def get_mode(self) -> str:\n \"\"\"Returns the pin mode.\n\n Example: ``pin0.get_mode()``\n\n When a pin is used for a specific function, like\n writing a digital value, or reading an analog value, the pin mode\n changes.\n\n :return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\n \"\"\"\n ...\n def write_analog(self, value: int) -> None:\n \"\"\"Output a PWM signal on the pin, with the duty cycle proportional to ``value``.\n\n Example: ``pin0.write_analog(254)``\n\n :param value: An integer or a floating point number between 0 (0% duty cycle) and 1023 (100% duty).\n \"\"\"\n def set_analog_period(self, period: int) -> None:\n \"\"\"Set the period of the PWM signal being output to ``period`` in milliseconds.\n\n Example: ``pin0.set_analog_period(10)``\n\n :param period: The period in milliseconds with a minimum valid value of 1ms.\n \"\"\"\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Set the period of the PWM signal being output to ``period`` in microseconds.\n\n Example: ``pin0.set_analog_period_microseconds(512)``\n\n :param period: The period in microseconds with a minimum valid value of 256\u00b5s.\n \"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"A pin with analog and digital features.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Read the voltage applied to the pin.\n\n Example: ``pin0.read_analog()``\n\n :return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\n \"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"A pin with analog, digital and touch features.\"\"\"\n\n CAPACITIVE: int\n RESISTIVE: int\n def is_touched(self) -> bool:\n \"\"\"Check if the pin is being touched.\n\n Example: ``pin0.is_touched()``\n\n The default touch mode for the pins on the edge connector is ``resistive``.\n The default for the logo pin **V2** is ``capacitive``.\n\n **Resistive touch**\n This test is done by measuring how much resistance there is between the\n pin and ground. A low resistance gives a reading of ``True``. To get\n a reliable reading using a finger you may need to touch the ground pin\n with another part of your body, for example your other hand.\n\n **Capacitive touch**\n This test is done by interacting with the electric field of a capacitor\n using a finger as a conductor. `Capacitive touch\n `_\n does not require you to make a ground connection as part of a circuit.\n\n :return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\n \"\"\"\n ...\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Set the touch mode for the pin.\n\n Example: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\n The default touch mode for the pins on the edge connector is\n ``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n :param value: ``CAPACITIVE`` or ``RESISTIVE`` from the relevant pin.\n \"\"\"\n ...\n\npin0: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin1: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin2: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin5: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin6: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin7: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin8: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin9: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin11: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin12: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin13: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin14: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin15: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin16: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin19: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin20: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin_logo: MicroBitTouchPin\n\"\"\"A touch sensitive logo pin on the front of the micro:bit, which by default is set to capacitive touch mode.\"\"\"\n\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"A pin to address the micro:bit speaker.\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"An image to show on the micro:bit LED display.\n\n Given an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\n \"\"\"\n\n HEART: Image\n \"\"\"Heart image.\"\"\"\n\n HEART_SMALL: Image\n \"\"\"Small heart image.\"\"\"\n\n HAPPY: Image\n \"\"\"Happy face image.\"\"\"\n\n SMILE: Image\n \"\"\"Smiling mouth image.\"\"\"\n\n SAD: Image\n \"\"\"Sad face image.\"\"\"\n\n CONFUSED: Image\n \"\"\"Confused face image.\"\"\"\n\n ANGRY: Image\n \"\"\"Angry face image.\"\"\"\n\n ASLEEP: Image\n \"\"\"Sleeping face image.\"\"\"\n\n SURPRISED: Image\n \"\"\"Surprised face image.\"\"\"\n\n SILLY: Image\n \"\"\"Silly face image.\"\"\"\n\n FABULOUS: Image\n \"\"\"Sunglasses face image.\"\"\"\n\n MEH: Image\n \"\"\"Unimpressed face image.\"\"\"\n\n YES: Image\n \"\"\"Tick image.\"\"\"\n\n NO: Image\n \"\"\"Cross image.\"\"\"\n\n CLOCK12: Image\n \"\"\"Image with line pointing to 12 o'clock.\"\"\"\n\n CLOCK11: Image\n \"\"\"Image with line pointing to 11 o'clock.\"\"\"\n\n CLOCK10: Image\n \"\"\"Image with line pointing to 10 o'clock.\"\"\"\n\n CLOCK9: Image\n \"\"\"Image with line pointing to 9 o'clock.\"\"\"\n\n CLOCK8: Image\n \"\"\"Image with line pointing to 8 o'clock.\"\"\"\n\n CLOCK7: Image\n \"\"\"Image with line pointing to 7 o'clock.\"\"\"\n\n CLOCK6: Image\n \"\"\"Image with line pointing to 6 o'clock.\"\"\"\n\n CLOCK5: Image\n \"\"\"Image with line pointing to 5 o'clock.\"\"\"\n\n CLOCK4: Image\n \"\"\"Image with line pointing to 4 o'clock.\"\"\"\n\n CLOCK3: Image\n \"\"\"Image with line pointing to 3 o'clock.\"\"\"\n\n CLOCK2: Image\n \"\"\"Image with line pointing to 2 o'clock.\"\"\"\n\n CLOCK1: Image\n \"\"\"Image with line pointing to 1 o'clock.\"\"\"\n\n ARROW_N: Image\n \"\"\"Image of arrow pointing north.\"\"\"\n\n ARROW_NE: Image\n \"\"\"Image of arrow pointing north east.\"\"\"\n\n ARROW_E: Image\n \"\"\"Image of arrow pointing east.\"\"\"\n\n ARROW_SE: Image\n \"\"\"Image of arrow pointing south east.\"\"\"\n\n ARROW_S: Image\n \"\"\"Image of arrow pointing south.\"\"\"\n\n ARROW_SW: Image\n \"\"\"Image of arrow pointing south west.\"\"\"\n\n ARROW_W: Image\n \"\"\"Image of arrow pointing west.\"\"\"\n\n ARROW_NW: Image\n \"\"\"Image of arrow pointing north west.\"\"\"\n\n TRIANGLE: Image\n \"\"\"Image of a triangle pointing up.\"\"\"\n\n TRIANGLE_LEFT: Image\n \"\"\"Image of a triangle in the left corner.\"\"\"\n\n CHESSBOARD: Image\n \"\"\"Alternate LEDs lit in a chessboard pattern.\"\"\"\n\n DIAMOND: Image\n \"\"\"Diamond image.\"\"\"\n\n DIAMOND_SMALL: Image\n \"\"\"Small diamond image.\"\"\"\n\n SQUARE: Image\n \"\"\"Square image.\"\"\"\n\n SQUARE_SMALL: Image\n \"\"\"Small square image.\"\"\"\n\n RABBIT: Image\n \"\"\"Rabbit image.\"\"\"\n\n COW: Image\n \"\"\"Cow image.\"\"\"\n\n MUSIC_CROTCHET: Image\n \"\"\"Crotchet note image.\"\"\"\n\n MUSIC_QUAVER: Image\n \"\"\"Quaver note image.\"\"\"\n\n MUSIC_QUAVERS: Image\n \"\"\"Pair of quavers note image.\"\"\"\n\n PITCHFORK: Image\n \"\"\"Pitchfork image.\"\"\"\n\n XMAS: Image\n \"\"\"Christmas tree image.\"\"\"\n\n PACMAN: Image\n \"\"\"Pac-Man arcade character image.\"\"\"\n\n TARGET: Image\n \"\"\"Target image.\"\"\"\n\n TSHIRT: Image\n \"\"\"T-shirt image.\"\"\"\n\n ROLLERSKATE: Image\n \"\"\"Rollerskate image.\"\"\"\n\n DUCK: Image\n \"\"\"Duck image.\"\"\"\n\n HOUSE: Image\n \"\"\"House image.\"\"\"\n\n TORTOISE: Image\n \"\"\"Tortoise image.\"\"\"\n\n BUTTERFLY: Image\n \"\"\"Butterfly image.\"\"\"\n\n STICKFIGURE: Image\n \"\"\"Stick figure image.\"\"\"\n\n GHOST: Image\n \"\"\"Ghost image.\"\"\"\n\n SWORD: Image\n \"\"\"Sword image.\"\"\"\n\n GIRAFFE: Image\n \"\"\"Giraffe image.\"\"\"\n\n SKULL: Image\n \"\"\"Skull image.\"\"\"\n\n UMBRELLA: Image\n \"\"\"Umbrella image.\"\"\"\n\n SNAKE: Image\n \"\"\"Snake image.\"\"\"\n\n SCISSORS: Image\n \"\"\"Scissors image.\"\"\"\n\n ALL_CLOCKS: List[Image]\n \"\"\"A list containing all the CLOCK_ images in sequence.\"\"\"\n\n ALL_ARROWS: List[Image]\n \"\"\"A list containing all the ARROW_ images in sequence.\"\"\"\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Create an image from a string describing which LEDs are lit.\n\n ``string`` has to consist of digits 0-9 arranged into lines,\n describing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\n will create a 5\u00d75 image of an X. The end of a line is indicated by a\n colon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n :param string: The string describing the image.\n \"\"\"\n ...\n @overload\n def __init__(\n self, width: int = 5, height: int = 5, buffer: ReadableBuffer = None\n ) -> None:\n \"\"\"Create an empty image with ``width`` columns and ``height`` rows.\n\n :param width: Optional width of the image\n :param height: Optional height of the image\n :param buffer: Optional array or bytes of ``width``\u00d7``height`` integers in range 0-9 to initialize the image\n\n Examples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\n These create 2 x 2 pixel images at full brightness.\n \"\"\"\n ...\n def width(self) -> int:\n \"\"\"Get the number of columns.\n\n :return: The number of columns in the image\n \"\"\"\n ...\n def height(self) -> int:\n \"\"\"Get the number of rows.\n\n :return: The number of rows in the image\n \"\"\"\n ...\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Set the brightness of a pixel.\n\n Example: ``my_image.set_pixel(0, 0, 9)``\n\n :param x: The column number\n :param y: The row number\n :param value: The brightness as an integer between 0 (dark) and 9 (bright)\n\n This method will raise an exception when called on any of the built-in\n read-only images, like ``Image.HEART``.\n \"\"\"\n ...\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Get the brightness of a pixel.\n\n Example: ``my_image.get_pixel(0, 0)``\n\n :param x: The column number\n :param y: The row number\n :return: The brightness as an integer between 0 and 9.\n \"\"\"\n ...\n def shift_left(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture left.\n\n Example: ``Image.HEART_SMALL.shift_left(1)``\n\n :param n: The number of columns to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_right(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture right.\n\n Example: ``Image.HEART_SMALL.shift_right(1)``\n\n :param n: The number of columns to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_up(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture up.\n\n Example: ``Image.HEART_SMALL.shift_up(1)``\n\n :param n: The number of rows to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_down(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture down.\n\n Example: ``Image.HEART_SMALL.shift_down(1)``\n\n :param n: The number of rows to shift by\n :return: The shifted image\n \"\"\"\n ...\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Create a new image by cropping the picture.\n\n Example: ``Image.HEART.crop(1, 1, 3, 3)``\n\n :param x: The crop offset column\n :param y: The crop offset row\n :param w: The crop width\n :param h: The crop height\n :return: The new image\n \"\"\"\n ...\n def copy(self) -> Image:\n \"\"\"Create an exact copy of the image.\n\n Example: ``Image.HEART.copy()``\n\n :return: The new image\n \"\"\"\n ...\n def invert(self) -> Image:\n \"\"\"Create a new image by inverting the brightness of the pixels in the\n source image.\n\n Example: ``Image.SMALL_HEART.invert()``\n\n :return: The new image.\n \"\"\"\n ...\n def fill(self, value: int) -> None:\n \"\"\"Set the brightness of all the pixels in the image.\n\n Example: ``my_image.fill(5)``\n\n :param value: The new brightness as a number between 0 (dark) and 9 (bright).\n\n This method will raise an exception when called on any of the built-in\n read-only images, like ``Image.HEART``.\n \"\"\"\n ...\n def blit(\n self,\n src: Image,\n x: int,\n y: int,\n w: int,\n h: int,\n xdest: int = 0,\n ydest: int = 0,\n ) -> None:\n \"\"\"Copy an area from another image into this image.\n\n Example: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n :param src: The source image\n :param x: The starting column offset in the source image\n :param y: The starting row offset in the source image\n :param w: The number of columns to copy\n :param h: The number of rows to copy\n :param xdest: The column offset to modify in this image\n :param ydest: The row offset to modify in this image\n\n Pixels outside the source image are treated as having a brightness of 0.\n\n ``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\n and ``crop()`` can are all implemented by using ``blit()``.\n\n For example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\n \"\"\"\n ...\n def __repr__(self) -> str:\n \"\"\"Get a compact string representation of the image.\"\"\"\n ...\n def __str__(self) -> str:\n \"\"\"Get a readable string representation of the image.\"\"\"\n ...\n def __add__(self, other: Image) -> Image:\n \"\"\"Create a new image by adding the brightness values from the two\n images for each pixel.\n\n Example: ``Image.HEART + Image.HAPPY``\n\n :param other: The image to add.\n \"\"\"\n ...\n def __sub__(self, other: Image) -> Image:\n \"\"\"Create a new image by subtracting the brightness values of the\n other image from this image.\n\n Example: ``Image.HEART - Image.HEART_SMALL``\n\n :param other: The image to subtract.\n \"\"\"\n ...\n def __mul__(self, n: float) -> Image:\n \"\"\"Create a new image by multiplying the brightness of each pixel by\n ``n``.\n\n Example: ``Image.HEART * 0.5``\n\n :param n: The value to multiply by.\n \"\"\"\n ...\n def __truediv__(self, n: float) -> Image:\n \"\"\"Create a new image by dividing the brightness of each pixel by\n ``n``.\n\n Example: ``Image.HEART / 2``\n\n :param n: The value to divide by.\n \"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Represents the transition of sound events, from ``quiet`` to ``loud`` like clapping or shouting.\"\"\"\n\n QUIET: SoundEvent\n \"\"\"Represents the transition of sound events, from ``loud`` to ``quiet`` like speaking or background music.\"\"\"\n\nclass Sound:\n \"\"\"The built-in sounds can be called using ``audio.play(Sound.NAME)``.\"\"\"\n\n GIGGLE: Sound\n \"\"\"Giggling sound.\"\"\"\n\n HAPPY: Sound\n \"\"\"Happy sound.\"\"\"\n\n HELLO: Sound\n \"\"\"Greeting sound.\"\"\"\n\n MYSTERIOUS: Sound\n \"\"\"Mysterious sound.\"\"\"\n\n SAD: Sound\n \"\"\"Sad sound.\"\"\"\n\n SLIDE: Sound\n \"\"\"Sliding sound.\"\"\"\n\n SOARING: Sound\n \"\"\"Soaring sound.\"\"\"\n\n SPRING: Sound\n \"\"\"Spring sound.\"\"\"\n\n TWINKLE: Sound\n \"\"\"Twinkling sound.\"\"\"\n\n YAWN: Sound\n \"\"\"Yawning sound.\"\"\"\n", - "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Measure the acceleration of the micro:bit and recognise gestures.\n\"\"\"\n\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Get the acceleration measurement in the ``x`` axis in milli-g.\n\n Example: ``accelerometer.get_x()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Get the acceleration measurement in the ``y`` axis in milli-g.\n\n Example: ``accelerometer.get_y()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Get the acceleration measurement in the ``z`` axis in milli-g.\n\n Example: ``accelerometer.get_z()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Get the acceleration measurements in all axes at once as a tuple.\n\n Example: ``x, y, z = accelerometer.get_values()``\n\n :return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\n \"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Get the acceleration measurement of all axes combined, as a positive integer. This is the Pythagorean sum of the X, Y and Z axes.\n\n Example: ``accelerometer.get_strength()``\n\n :return: The combined acceleration strength of all the axes, in milli-g.\n \"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Get the name of the current gesture.\n\n Example: ``accelerometer.current_gesture()``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :return: The current gesture\n \"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Check if the named gesture is currently active.\n\n Example: ``accelerometer.is_gesture('shake')``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :param name: The gesture name.\n :return: ``True`` if the gesture is active, ``False`` otherwise.\n \"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Check if the named gesture was active since the last call.\n\n Example: ``accelerometer.was_gesture('shake')``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :param name: The gesture name.\n :return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\n \"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Return a tuple of the gesture history.\n\n Example: ``accelerometer.get_gestures()``\n\n Clears the gesture history before returning.\n\n Gestures are not updated in the background so there needs to be constant\n calls to some accelerometer method to do the gesture detection. Usually\n gestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n :return: The history as a tuple, most recent last.\n \"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Set the accelerometer sensitivity range, in g (standard gravity), to the closest values supported by the hardware, so it rounds to either ``2``, ``4``, or ``8`` g.\n\n Example: ``accelerometer.set_range(8)``\n\n :param value: New range for the accelerometer, an integer in ``g``.\n \"\"\"\n", - "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(\n source: Union[Iterable[AudioFrame], Sound, SoundEffect],\n wait: bool = True,\n pin: MicroBitDigitalPin = pin0,\n return_pin: Union[MicroBitDigitalPin, None] = None,\n) -> None:\n \"\"\"Play a built-in sound, sound effect or custom audio frames.\n\n Example: ``audio.play(Sound.GIGGLE)``\n\n :param source: A built-in ``Sound`` such as ``Sound.GIGGLE``, a ``SoundEffect`` or sample data as an iterable of ``AudioFrame`` objects.\n :param wait: If ``wait`` is ``True``, this function will block until the sound is complete.\n :param pin: An optional argument to specify the output pin can be used to override the default of ``pin0``. If we do not want any sound to play we can use ``pin=None``.\n :param return_pin: Specifies a differential edge connector pin to connect to an external speaker instead of ground. This is ignored for the **V2** revision.\n \"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Check whether a sound is playing.\n\n Example: ``audio.is_playing()``\n\n :return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Stop all audio playback.\n\n Example: ``audio.stop()``\n \"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"A sound effect, composed by a set of parameters configured via the constructor or attributes.\"\"\"\n\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sine wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Sawtooth wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Triangle wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Square wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise option used for the ``waveform`` parameter.\"\"\"\n\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Linear interpolation option used for the ``shape`` parameter.\"\"\"\n\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolation option used for the ``shape`` parameter.\"\"\"\n\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmic interpolation option used for the ``shape`` parameter.\"\"\"\n\n FX_NONE: ClassVar[int]\n \"\"\"No effect option used for the ``fx`` parameter.\"\"\"\n\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect option used for the ``fx`` parameter.\"\"\"\n\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect option used for the ``fx`` parameter.\"\"\"\n\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect option used for the ``fx`` parameter.\"\"\"\n\n freq_start: int\n \"\"\"Start frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n\n freq_end: int\n \"\"\"End frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n\n duration: int\n \"\"\"Duration of the sound in milliseconds, a number between ``0`` and ``9999``\"\"\"\n\n vol_start: int\n \"\"\"Start volume value, a number between ``0`` and ``255``\"\"\"\n\n vol_end: int\n \"\"\"End volume value, a number between ``0`` and ``255``\"\"\"\n\n waveform: int\n \"\"\"Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise)\"\"\"\n\n fx: int\n \"\"\"Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``\"\"\"\n\n shape: int\n \"\"\"The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(\n self,\n freq_start: int = 500,\n freq_end: int = 2500,\n duration: int = 500,\n vol_start: int = 255,\n vol_end: int = 0,\n waveform: int = WAVEFORM_SQUARE,\n fx: int = FX_NONE,\n shape: int = SHAPE_LOG,\n ):\n \"\"\"Create a new sound effect.\n\n Example: ``my_effect = SoundEffect(duration=1000)``\n\n All the parameters are optional, with default values as shown above, and\n they can all be modified via attributes of the same name. For example, we\n can first create an effect ``my_effect = SoundEffect(duration=1000)``,\n and then change its attributes ``my_effect.duration = 500``.\n\n :param freq_start: Start frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n :param freq_end: End frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n :param duration: Duration of the sound in milliseconds, a number between ``0`` and ``9999``.\n :param vol_start: Start volume value, a number between ``0`` and ``255``.\n :param vol_end: End volume value, a number between ``0`` and ``255``.\n :param waveform: Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise).\n :param fx: Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n :param shape: The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\n \"\"\"\n def copy(self) -> SoundEffect:\n \"\"\"Create a copy of this ``SoundEffect``.\n\n Example: ``sound_2 = sound_1.copy()``\n\n :return: A copy of the SoundEffect.\n \"\"\"\n\nclass AudioFrame:\n \"\"\"An ``AudioFrame`` object is a list of 32 samples each of which is a unsigned byte\n (whole number between 0 and 255).\n\n It takes just over 4 ms to play a single frame.\n\n Example::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\n \"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overwrite the data in this ``AudioFrame`` with the data from another ``AudioFrame`` instance.\n\n Example: ``my_frame.copyfrom(source_frame)``\n\n :param other: ``AudioFrame`` instance from which to copy the data.\n \"\"\"\n def __len__(self) -> int: ...\n def __setitem__(self, key: int, value: int) -> None: ...\n def __getitem__(self, key: int) -> int: ...\n", - "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Use the built-in compass.\n\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Starts the calibration process.\n\n Example: ``compass.calibrate()``\n\n An instructive message will be scrolled to the user after which they will need\n to rotate the device in order to draw a circle on the LED display.\n \"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"Check is the compass is calibrated.\n\n Example: ``compass.is_calibrated()``\n\n :return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\n \"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Undoes the calibration, making the compass uncalibrated again.\n\n Example: ``compass.clear_calibration()``\n \"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Get the magnetic field strength on the ``x`` axis.\n\n Example: ``compass.get_x()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Get the magnetic field strength on the ``y`` axis.\n\n Example: ``compass.get_y()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Get the magnetic field strength on the ``z`` axis.\n\n Example: ``compass.get_z()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Get the compass heading.\n\n Example: ``compass.heading()``\n\n :return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\n \"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Get the magnitude of the magnetic field around the device.\n\n Example: ``compass.get_field_strength()``\n\n :return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...\n", - "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Show text, images and animations on the 5\u00d75 LED display.\n\"\"\"\n\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Get the brightness of the LED at column ``x`` and row ``y``.\n\n Example: ``display.get_pixel(0, 0)``\n\n :param x: The display column (0..4)\n :param y: The display row (0..4)\n :return: A number between 0 (off) and 9 (bright)\n \"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Set the brightness of the LED at column ``x`` and row ``y``.\n\n Example: ``display.set_pixel(0, 0, 9)``\n\n :param x: The display column (0..4)\n :param y: The display row (0..4)\n :param value: The brightness between 0 (off) and 9 (bright)\n \"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Set the brightness of all LEDs to 0 (off).\n\n Example: ``display.clear()``\n \"\"\"\n ...\n\ndef show(\n image: Union[str, float, int, Image, Iterable[Image]],\n delay: int = 400,\n wait: bool = True,\n loop: bool = False,\n clear: bool = False,\n) -> None:\n \"\"\"Shows images, letters or digits on the LED display.\n\n Example: ``display.show(Image.HEART)``\n\n When ``image`` is an image or a list of images then each image is displayed in turn.\n If ``image`` is a string or number, each letter or digit is displayed in turn.\n\n :param image: A string, number, image or list of images to show.\n :param delay: Each letter, digit or image is shown with ``delay`` milliseconds between them.\n :param wait: If ``wait`` is ``True``, this function will block until the animation is finished, otherwise the animation will happen in the background.\n :param loop: If ``loop`` is ``True``, the animation will repeat forever.\n :param clear: If ``clear`` is ``True``, the display will be cleared after the sequence has finished.\n\n The ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\n \"\"\"\n ...\n\ndef scroll(\n text: Union[str, float, int],\n delay: int = 150,\n wait: bool = True,\n loop: bool = False,\n monospace: bool = False,\n) -> None:\n \"\"\"Scrolls a number or text on the LED display.\n\n Example: ``display.scroll('micro:bit')``\n\n :param text: The string to scroll. If ``text`` is an integer or float it is first converted to a string using ``str()``.\n :param delay: The ``delay`` parameter controls how fast the text is scrolling.\n :param wait: If ``wait`` is ``True``, this function will block until the animation is finished, otherwise the animation will happen in the background.\n :param loop: If ``loop`` is ``True``, the animation will repeat forever.\n :param monospace: If ``monospace`` is ``True``, the characters will all take up 5 pixel-columns in width, otherwise there will be exactly 1 blank pixel-column between each character as they scroll.\n\n The ``wait``, ``loop`` and ``monospace`` arguments must be specified\n using their keyword.\n \"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Turn on the LED display.\n\n Example: ``display.on()``\n \"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Turn off the LED display (disabling the display allows you to re-use the GPIO pins for other purposes).\n\n Example: ``display.off()``\n \"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"Check whether the LED display is enabled.\n\n Example: ``display.is_on()``\n\n :return: ``True`` if the display is on, otherwise returns ``False``.\n \"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Read the light level.\n\n Example: ``display.read_light_level()``\n\n Uses the display's LEDs in reverse-bias mode to sense the amount of light\n falling on the display.\n\n :return: An integer between 0 and 255 representing the light level, with larger meaning more light.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Communicate with devices using the I\u00b2C bus protocol.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(\n freq: int = 100000, sda: MicroBitDigitalPin = pin20, scl: MicroBitDigitalPin = pin19\n) -> None:\n \"\"\"Re-initialize a peripheral.\n\n Example: ``i2c.init()``\n\n :param freq: clock frequency\n :param sda: ``sda`` pin (default 20)\n :param scl: ``scl`` pin (default 19)\n\n On a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\n the accelerometer and compass stop working, as they are connected\n internally to those pins. This warning does not apply to the **V2**\n revision of the micro:bit as this has `separate I\u00b2C lines `_\n for the motion sensors and the edge connector.\n \"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scan the bus for devices.\n\n Example: ``i2c.scan()``\n\n :return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\n \"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool = False) -> bytes:\n \"\"\"Read bytes from a device.\n\n Example: ``i2c.read(0x50, 64)``\n\n :param addr: The 7-bit address of the device\n :param n: The number of bytes to read\n :param repeat: If ``True``, no stop bit will be sent\n :return: The bytes read\n \"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool = False) -> None:\n \"\"\"Write bytes to a device.\n\n Example: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n :param addr: The 7-bit address of the device\n :param buf: A buffer containing the bytes to write\n :param repeat: If ``True``, no stop bit will be sent\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Respond to sound using the built-in microphone (V2 only).\n\"\"\"\n\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Get the last recorded sound event\n\n Example: ``microphone.current_event()``\n\n :return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\n \"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Check if a sound was heard at least once since the last call.\n\n Example: ``microphone.was_event(SoundEvent.LOUD)``\n\n This call clears the sound history before returning.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\n \"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Check the most recent sound event detected.\n\n Example: ``microphone.is_event(SoundEvent.LOUD)``\n\n This call does not clear the sound event history.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was the most recent heard, ``False`` otherwise.\n \"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Get the sound event history as a tuple.\n\n Example: ``microphone.get_events()``\n\n This call clears the sound history before returning.\n\n :return: A tuple of the event history with the most recent event last.\n \"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Set the threshold for a sound event.\n\n Example: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\n A high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n :param event: A sound event, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``.\n :param value: The threshold level in the range 0-255.\n \"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Get the sound pressure level.\n\n Example: ``microphone.sound_level()``\n\n :return: A representation of the sound pressure level in the range 0 to 255.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Control the built-in speaker (V2 only).\n\"\"\"\n\ndef off() -> None:\n \"\"\"Turn the speaker off.\n\n Example: ``speaker.off()``\n\n This does not disable sound output to an edge connector pin.\n \"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Turn the speaker on.\n\n Example: ``speaker.on()``\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communicate with devices using the serial peripheral interface (SPI) bus.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(\n baudrate: int = 1000000,\n bits: int = 8,\n mode: int = 0,\n sclk: MicroBitDigitalPin = pin13,\n mosi: MicroBitDigitalPin = pin15,\n miso: MicroBitDigitalPin = pin14,\n) -> None:\n \"\"\"Initialize SPI communication.\n\n Example: ``spi.init()``\n\n For correct communication, the parameters have to be the same on both communicating devices.\n\n :param baudrate: The speed of communication.\n :param bits: The width in bits of each transfer. Currently only ``bits=8`` is supported. However, this may change in the future.\n :param mode: Determines the combination of clock polarity and phase - `see online table `_.\n :param sclk: sclk pin (default 13)\n :param mosi: mosi pin (default 15)\n :param miso: miso pin (default 14)\n \"\"\"\n ...\n\ndef read(nbytes: int, out: int = 0) -> bytes:\n \"\"\"Read at most ``nbytes`` while continuously writing the single byte given by ``out``.\n\n Example: ``spi.read(64)``\n\n :param nbytes: Maximum number of bytes to read.\n :param out: The byte value to write (default 0).\n :return: The bytes read.\n \"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Write bytes to the bus.\n\n Example: ``spi.write(bytes([1, 2, 3]))``\n\n :param buffer: A buffer to read data from.\n \"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Write the ``out`` buffer to the bus and read any response into the ``in_`` buffer.\n\n Example: ``spi.write_readinto(out_buffer, in_buffer)``\n\n The length of the buffers should be the same. The buffers can be the same object.\n\n :param out: The buffer to write any response to.\n :param in_: The buffer to read data from.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Communicate with a device using a serial interface.\n\"\"\"\n\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\n\nODD: int\n\"\"\"Odd parity\"\"\"\n\nEVEN: int\n\"\"\"Even parity\"\"\"\n\ndef init(\n baudrate: int = 9600,\n bits: int = 8,\n parity: Optional[int] = None,\n stop: int = 1,\n tx: Optional[MicroBitDigitalPin] = None,\n rx: Optional[MicroBitDigitalPin] = None,\n) -> None:\n \"\"\"Initialize serial communication.\n\n Example: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n :param baudrate: The speed of communication.\n :param bits: The size of bytes being transmitted. micro:bit only supports 8.\n :param parity: How parity is checked, ``None``, ``uart.ODD`` or ``uart.EVEN``.\n :param stop: The number of stop bits, has to be 1 for micro:bit.\n :param tx: Transmitting pin.\n :param rx: Receiving pin.\n\n Initializing the UART on external pins will cause the Python console on\n USB to become unaccessible, as it uses the same hardware. To bring the\n console back you must reinitialize the UART without passing anything for\n ``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\n that calling ``uart.init(115200)`` is enough to restore the Python console.\n\n For more details see `the online documentation `_.\n \"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Check if any data is waiting.\n\n Example: ``uart.any()``\n\n :return: ``True`` if any data is waiting, else ``False``.\n \"\"\"\n ...\n\ndef read(nbytes: Optional[int] = None) -> Optional[bytes]:\n \"\"\"Read bytes.\n\n Example: ``uart.read()``\n\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read as many bytes as possible\n :return: A bytes object or ``None`` on timeout\n \"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int] = None) -> Optional[int]:\n \"\"\"Read bytes into the ``buf``.\n\n Example: ``uart.readinto(input_buffer)``\n\n :param buf: The buffer to write to.\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read ``len(buf)`` bytes.\n :return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\n \"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Read a line, ending in a newline character.\n\n Example: ``uart.readline()``\n\n :return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\n \"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Write a buffer to the bus.\n\n Example: ``uart.write('hello world')``\n\n :param buf: A bytes object or a string.\n :return: The number of bytes written, or ``None`` on timeout.\n\n Examples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\n \"\"\"\n ...\n", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"\u5f15\u811a\u3001\u56fe\u50cf\u3001\u58f0\u97f3\u3001\u6e29\u5ea6\u548c\u97f3\u91cf\u3002 (Microbit)\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"\u8ba1\u5212\u4ee5\u65f6\u95f4\u53c2\u6570\u6307\u5b9a\u7684\u65f6\u95f4\u95f4\u9694\u8fd0\u884c\u51fd\u6570**\u4ec5\u9650V2** \u3002 (\u5468\u671f\u6027\u8fd0\u884c)\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: \u5728\u63d0\u4f9b\u7684\u65f6\u95f4\u95f4\u9694\u5185\u8c03\u7528\u7684\u51fd\u6570\u3002\u7528\u4f5c\u88c5\u9970\u5668\u65f6\u7701\u7565\u3002\n:param days: (\u5929) \u8bbe\u7f6e\u5b9a\u65f6\u8ba1\u5212\u7684\u65e5\u671f\u6807\u8bb0\u3002\n:param h: \u8bbe\u7f6e\u5b9a\u65f6\u8ba1\u5212\u7684\u5c0f\u65f6\u6807\u8bb0\u3002\n:param min: (\u5206\u949f) \u8bbe\u7f6e\u5b9a\u65f6\u8ba1\u5212\u7684\u5206\u949f\u6807\u8bb0\u3002\n:param s: (\u79d2) \u8bbe\u7f6e\u5b9a\u65f6\u8ba1\u5212\u7684\u79d2\u6807\u8bb0\u3002\n:param ms: (\u6beb\u79d2) \u8bbe\u7f6e\u5b9a\u65f6\u8ba1\u5212\u7684\u6beb\u79d2\u6807\u8bb0\u3002\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"\u8fdb\u5165 panic \uff08\u6050\u614c\uff09\u6a21\u5f0f\u3002 (\u6050\u614c)\n\nExample: ``panic(127)``\n\n:param n: \u4e00\u4e2a <= 255 \u7684\u4efb\u610f\u6574\u6570\uff0c\u4ee5\u8868\u793a\u4e00\u4e2a\u72b6\u6001\u3002\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"\u91cd\u542f\u4e3b\u677f\u3002\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"\u5c06\u4e00\u4e2a\u6570\u503c\u4ece\u4e00\u4e2a\u8303\u56f4\u8f6c\u6362\u4e3a\u6574\u6570\u8303\u56f4\u3002 (\u8303\u56f4)\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: \u8981\u8f6c\u6362\u7684\u6570\u5b57\u3002\n:param from_: (\u4ece) \u4e00\u4e2a\u5143\u7ec4\uff0c\u7528\u4e8e\u5b9a\u4e49\u8981\u8f6c\u6362\u7684\u8303\u56f4\u3002\n:param to: (\u81f3) \u4e00\u4e2a\u5143\u7ec4\uff0c\u7528\u4e8e\u5b9a\u4e49\u8981\u8f6c\u6362\u5230\u7684\u8303\u56f4\u3002\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"\u5c06\u4e00\u4e2a\u6570\u503c\u4ece\u4e00\u4e2a\u8303\u56f4\u8f6c\u6362\u4e3a\u6d6e\u70b9\u6570\u8303\u56f4\u3002 (\u8303\u56f4)\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: \u8981\u8f6c\u6362\u7684\u6570\u5b57\u3002\n:param from_: (\u4ece) \u4e00\u4e2a\u5143\u7ec4\uff0c\u7528\u4e8e\u5b9a\u4e49\u8981\u8f6c\u6362\u7684\u8303\u56f4\u3002\n:param to: (\u81f3) \u4e00\u4e2a\u5143\u7ec4\uff0c\u7528\u4e8e\u5b9a\u4e49\u8981\u8f6c\u6362\u5230\u7684\u8303\u56f4\u3002\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"\u7b49\u5f85 ``n`` \u6beb\u79d2\u3002 (\u4f11\u7720)\n\nExample: ``sleep(1000)``\n\n:param n: \u8981\u7b49\u5f85\u7684\u6beb\u79d2\u6570\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"\u83b7\u53d6\u4e3b\u677f\u7684\u8fd0\u884c\u65f6\u95f4\u3002\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"\u4ee5\u6444\u6c0f\u5ea6\u4e3a\u5355\u4f4d\u83b7\u53d6 micro:bit \u7684\u6e29\u5ea6\u3002\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"\u8bbe\u7f6e\u97f3\u91cf\u3002\n\nExample: ``set_volume(127)``\n\n:param v: \u4e00\u4e2a\u4ecb\u4e8e 0 (\u4f4e) \u548c 255 (\u9ad8) \u4e4b\u95f4\u7684\u503c\u3002\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"\u6309\u94ae ``button_a`` \u548c ``button_b`` \u7684\u7c7b\u3002\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"\u68c0\u67e5\u6309\u94ae\u662f\u5426\u88ab\u6309\u4e0b\u3002\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"\u68c0\u67e5\u6309\u94ae\u81ea\u8bbe\u5907\u542f\u52a8\u4ee5\u6765\u6216\u8005\u4e0a\u6b21\u8c03\u7528\u6b64\u65b9\u6cd5\u4e4b\u540e\u662f\u5426\u88ab\u6309\u4e0b\u3002\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"\u83b7\u5f97\u6309\u94ae\u88ab\u6309\u4e0b\u7684\u603b\u8ba1\u6b21\u6570\uff0c\u5e76\u5728\u8fd4\u56de\u4e4b\u524d\u5c06\u8be5\u603b\u8ba1\u6b21\u6570\u91cd\u7f6e\u4e3a 0\u3002\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"\u5de6\u952e ``Button`` \u5bf9\u8c61\u3002 (\u6309\u94ae a)\"\"\"\nbutton_b: Button\n\"\"\"\u53f3\u952e ``Button`` \u5bf9\u8c61\u3002 (\u6309\u94ae b)\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"\u6570\u5b57\u5f15\u811a\u3002 (Microbit \u6570\u5b57\u5f15\u811a)\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"\u83b7\u53d6\u5f15\u811a\u7684\u6570\u5b57\u503c\u3002\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"\u8bbe\u7f6e\u5f15\u811a\u7684\u6570\u5b57\u503c\u3002\n\nExample: ``pin0.write_digital(1)``\n\n:param value: 1 \u5c06\u5f15\u811a\u8bbe\u7f6e\u4e3a\u9ad8\u7535\u5e73\uff0c\u6216 0 \u5c06\u5f15\u811a\u8bbe\u7f6e\u4e3a\u4f4e\u7535\u5e73\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"\u5c06\u62c9\u53d6\u72b6\u6001\u8bbe\u7f6e\u4e3a\u4ee5\u4e0b\u4e09\u4e2a\u53ef\u80fd\u7684\u503c\u4e4b\u4e00\uff1a``PULL_UP``\u3001``PULL_DOWN`` \u6216 N``NO_PULL``\u3002\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: \u76f8\u5173\u5f15\u811a\u7684\u62c9\u53d6\u72b6\u6001\uff0c\u4f8b\u5982\uff1a ``pin0.PULL_UP``\u3002\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"\u83b7\u53d6\u5f15\u811a\u4e0a\u7684\u62c9\u53d6\u72b6\u6001\u3002\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"\u8fd4\u56de\u5f15\u811a\u6a21\u5f0f\u3002\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"\u5728\u5f15\u811a\u4e0a\u8f93\u51fa PWM \u4fe1\u53f7\uff0c\u5360\u7a7a\u6bd4\u4e3a ``value``\u3002\n\nExample: ``pin0.write_analog(254)``\n\n:param value: \u4ecb\u4e8e 0\uff080% \u5360\u7a7a\u6bd4\uff09\u548c 1023\uff08100% \u5360\u7a7a\u6bd4\uff09\u4e4b\u95f4\u7684\u6574\u6570\u6216\u6d6e\u70b9\u6570\u3002\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"\u5c06\u8f93\u51fa\u7684 PWM \u4fe1\u53f7\u7684\u5468\u671f\u8bbe\u7f6e\u4e3a ``period``\uff08\u5355\u4f4d\uff1a\u6beb\u79d2\uff09\u3002\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: \u4ee5\u6beb\u79d2\u4e3a\u5355\u4f4d\u7684\u5468\u671f\uff0c\u6700\u5c0f\u6709\u6548\u503c\u4e3a 1 \u6beb\u79d2\u3002\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"\u5c06\u8f93\u51fa\u7684 PWM \u4fe1\u53f7\u7684\u5468\u671f\u8bbe\u7f6e\u4e3a ``period``\uff08\u5355\u4f4d\uff1a\u5fae\u79d2\uff09\u3002\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: \u4ee5\u5fae\u79d2\u4e3a\u5355\u4f4d\u7684\u5468\u671f\uff0c\u6700\u5c0f\u6709\u6548\u503c\u4e3a 256 \u6beb\u79d2\u3002\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"\u5e26\u6709\u6a21\u62df\u548c\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"\u8bfb\u53d6\u5e94\u7528\u4e8e\u5f15\u811a\u7684\u7535\u538b\u3002\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"\u5e26\u6709\u6a21\u62df\u3001\u6570\u5b57\u548c\u89e6\u6478\u529f\u80fd\u7684\u5f15\u811a\u3002\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"\u68c0\u67e5\u5f15\u811a\u662f\u5426\u88ab\u89e6\u6478\u3002\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"\u8bbe\u7f6e\u5f15\u811a\u7684\u89e6\u6478\u6a21\u5f0f\u3002\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: \u6765\u81ea\u76f8\u5173\u5f15\u811a\u7684 ``CAPACITIVE`` \u6216 ``RESISTIVE``\u3002\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"\u5177\u6709\u6570\u5b57\u3001\u6a21\u62df\u548c\u89e6\u6478\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a0)\"\"\"\npin1: MicroBitTouchPin\n\"\"\"\u5177\u6709\u6570\u5b57\u3001\u6a21\u62df\u548c\u89e6\u6478\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a1)\"\"\"\npin2: MicroBitTouchPin\n\"\"\"\u5177\u6709\u6570\u5b57\u3001\u6a21\u62df\u548c\u89e6\u6478\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a2)\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u548c\u6a21\u62df\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a3)\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u548c\u6a21\u62df\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a4)\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a5)\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a6)\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a7)\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a8)\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a9)\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u548c\u6a21\u62df\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a10)\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a11)\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a12)\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a13)\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a14)\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a15)\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a16)\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a19)\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6570\u5b57\u529f\u80fd\u7684\u5f15\u811a\u3002 (\u5f15\u811a20)\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"micro:bit \u6b63\u9762\u7684\u89e6\u6478\u611f\u5e94\u6807\u5fd7\u5f15\u811a\uff0c\u9ed8\u8ba4\u8bbe\u7f6e\u4e3a\u7535\u5bb9\u5f0f\u89e6\u6478\u6a21\u5f0f\u3002 (\u5f15\u811a\u6807\u5fd7)\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"\u7528\u4e8e\u5bf9 micro:bit \u626c\u58f0\u5668\u5bfb\u5740\u7684\u5f15\u811a\u3002 (\u626c\u58f0\u5668\u5f15\u811a)\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"\u5728 micro:bit LED \u663e\u793a\u5c4f\u4e0a\u663e\u793a\u7684\u56fe\u50cf\u3002 (\u56fe\u50cf)\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"\u5fc3\u5f62\u56fe\u50cf (\u5fc3\u5f62)\"\"\"\n HEART_SMALL: Image\n \"\"\"\u5c0f\u7684\u5fc3\u5f62\u56fe\u50cf\u3002 (\u5c0f\u7684\u5fc3\u5f62)\"\"\"\n HAPPY: Image\n \"\"\"\u5feb\u4e50\u7684\u8138\u90e8\u56fe\u50cf\u3002 (\u5feb\u4e50)\"\"\"\n SMILE: Image\n \"\"\"\u5fae\u7b11\u7684\u8138\u90e8\u56fe\u50cf\u3002 (\u5fae\u7b11)\"\"\"\n SAD: Image\n \"\"\"\u96be\u8fc7\u7684\u8138\u90e8\u56fe\u50cf\u3002 (\u96be\u8fc7)\"\"\"\n CONFUSED: Image\n \"\"\"\u56f0\u60d1\u7684\u9762\u90e8\u56fe\u50cf\u3002 (\u56f0\u60d1)\"\"\"\n ANGRY: Image\n \"\"\"\u6124\u6012\u7684\u8138\u90e8\u56fe\u50cf\u3002 (\u6124\u6012)\"\"\"\n ASLEEP: Image\n \"\"\"\u7761\u7740\u7684\u8138\u90e8\u56fe\u50cf\u3002 (\u7761\u7740)\"\"\"\n SURPRISED: Image\n \"\"\"\u60ca\u8bb6\u7684\u8138\u90e8\u56fe\u50cf\u3002 (\u60ca\u8bb6)\"\"\"\n SILLY: Image\n \"\"\"\u50bb\u50bb\u7684\u8138\u90e8\u56fe\u50cf\u3002 (\u50bb\u7684)\"\"\"\n FABULOUS: Image\n \"\"\"\u6234\u58a8\u955c\u7684\u8138\u90e8\u56fe\u50cf\u3002 (\u6781\u597d\u7684)\"\"\"\n MEH: Image\n \"\"\"\u5370\u8c61\u5e73\u5e73\u7684\u8138\u90e8\u56fe\u50cf (\u4e0d\u611f\u5174\u8da3\u7684)\"\"\"\n YES: Image\n \"\"\"\u5bf9\u52fe\u56fe\u50cf\u3002 (\u662f\u7684)\"\"\"\n NO: Image\n \"\"\"\u6253\u53c9\u56fe\u50cf\u3002 (\u4e0d\u662f)\"\"\"\n CLOCK12: Image\n \"\"\"\u6307\u9488\u6307\u5411 12 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f12\u70b9)\"\"\"\n CLOCK11: Image\n \"\"\"\u6307\u9488\u6307\u5411 11 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f11\u70b9)\"\"\"\n CLOCK10: Image\n \"\"\"\u6307\u9488\u6307\u5411 10 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f10\u70b9)\"\"\"\n CLOCK9: Image\n \"\"\"\u6307\u9488\u6307\u5411 9 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f9\u70b9)\"\"\"\n CLOCK8: Image\n \"\"\"\u6307\u9488\u6307\u5411 8 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f8\u70b9)\"\"\"\n CLOCK7: Image\n \"\"\"\u6307\u9488\u6307\u5411 7 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f7\u70b9)\"\"\"\n CLOCK6: Image\n \"\"\"\u6307\u9488\u6307\u5411 6 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f6\u70b9)\"\"\"\n CLOCK5: Image\n \"\"\"\u6307\u9488\u6307\u5411 5 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f5\u70b9)\"\"\"\n CLOCK4: Image\n \"\"\"\u6307\u9488\u6307\u5411 4 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f4\u70b9)\"\"\"\n CLOCK3: Image\n \"\"\"\u6307\u9488\u6307\u5411 3 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f3\u70b9)\"\"\"\n CLOCK2: Image\n \"\"\"\u6307\u9488\u6307\u5411 2 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f2\u70b9)\"\"\"\n CLOCK1: Image\n \"\"\"\u6307\u9488\u6307\u5411 1 \u70b9\u949f\u4f4d\u7f6e\u7684\u56fe\u50cf\u3002 (\u65f6\u949f1\u70b9)\"\"\"\n ARROW_N: Image\n \"\"\"\u6307\u5411\u5317\u65b9\u7684\u7bad\u5934\u7684\u56fe\u50cf\u3002 (\u7bad\u5934\uff08\u6307\u5411\u5317\uff09)\"\"\"\n ARROW_NE: Image\n \"\"\"\u6307\u5411\u4e1c\u5317\u65b9\u7684\u7bad\u5934\u7684\u56fe\u50cf\u3002 (\u7bad\u5934\uff08\u6307\u5411\u4e1c\u5317\uff09)\"\"\"\n ARROW_E: Image\n \"\"\"\u6307\u5411\u4e1c\u65b9\u7684\u7bad\u5934\u7684\u56fe\u50cf\u3002 (\u7bad\u5934\uff08\u6307\u5411\u4e1c\uff09)\"\"\"\n ARROW_SE: Image\n \"\"\"\u6307\u5411\u4e1c\u5357\u65b9\u7684\u7bad\u5934\u7684\u56fe\u50cf\u3002 (\u7bad\u5934\uff08\u6307\u5411\u4e1c\u5357\uff09)\"\"\"\n ARROW_S: Image\n \"\"\"\u6307\u5411\u5357\u65b9\u7684\u7bad\u5934\u56fe\u50cf\u3002 (\u7bad\u5934\uff08\u6307\u5411\u5357\uff09)\"\"\"\n ARROW_SW: Image\n \"\"\"\u6307\u5411\u897f\u5357\u65b9\u7684\u7bad\u5934\u7684\u56fe\u50cf\u3002 (\u7bad\u5934\uff08\u6307\u5411\u897f\u5357\uff09)\"\"\"\n ARROW_W: Image\n \"\"\"\u6307\u5411\u897f\u65b9\u7684\u7bad\u5934\u7684\u56fe\u50cf\u3002 (\u7bad\u5934\uff08\u6307\u5411\u897f\uff09)\"\"\"\n ARROW_NW: Image\n \"\"\"\u6307\u5411\u897f\u5317\u65b9\u7684\u7bad\u5934\u7684\u56fe\u50cf\u3002 (\u7bad\u5934\uff08\u6307\u5411\u897f\u5317\uff09)\"\"\"\n TRIANGLE: Image\n \"\"\"\u5411\u4e0a\u7684\u4e09\u89d2\u5f62\u56fe\u50cf\u3002 (\u4e09\u89d2)\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"\u5de6\u89d2\u7684\u4e09\u89d2\u5f62\u56fe\u50cf\u3002 (\u5de6\u4e09\u89d2)\"\"\"\n CHESSBOARD: Image\n \"\"\"\u6309\u68cb\u76d8\u5f0f\u4ea4\u66ff\u70b9\u4eae LED\u3002 (\u56fd\u9645\u8c61\u68cb\u68cb\u76d8)\"\"\"\n DIAMOND: Image\n \"\"\"\u94bb\u77f3\u56fe\u50cf\u3002 (\u83f1\u5f62)\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"\u5c0f\u94bb\u77f3\u56fe\u50cf\u3002 (\u5c0f\u7684\u83f1\u5f62)\"\"\"\n SQUARE: Image\n \"\"\"\u65b9\u5f62\u56fe\u50cf\u3002 (\u6b63\u65b9\u5f62)\"\"\"\n SQUARE_SMALL: Image\n \"\"\"\u5c0f\u7684\u65b9\u5f62\u56fe\u50cf\u3002 (\u5c0f\u65b9\u5f62)\"\"\"\n RABBIT: Image\n \"\"\"\u5154\u5b50\u56fe\u50cf\u3002 (\u5154\u5b50)\"\"\"\n COW: Image\n \"\"\"\u5976\u725b\u56fe\u50cf\u3002 (\u725b)\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"\u97f3\u4e50\u97f3\u7b26\u56fe\u50cf (\u97f3\u4e50\u97f3\u7b26)\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"\u516b\u5206\u97f3\u7b26\u56fe\u50cf\u3002 (\u516b\u5206\u97f3\u7b26)\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"\u4e00\u5bf9\u516b\u5206\u97f3\u7b26\u56fe\u50cf\u3002 (\u4e00\u5bf9\u516b\u5206\u97f3\u7b26)\"\"\"\n PITCHFORK: Image\n \"\"\"\u5e72\u8349\u53c9\u56fe\u50cf\u3002 (\u5e72\u8349\u53c9)\"\"\"\n XMAS: Image\n \"\"\"\u5723\u8bde\u6811\u56fe\u50cf\u3002 (\u5723\u8bde\u8282)\"\"\"\n PACMAN: Image\n \"\"\"\u5403\u8c46\u4eba\u6e38\u620f\u89d2\u8272\u56fe\u50cf\u3002 (\u5403\u8c46\u4eba)\"\"\"\n TARGET: Image\n \"\"\"\u76ee\u6807\u56fe\u50cf (\u76ee\u6807)\"\"\"\n TSHIRT: Image\n \"\"\"T \u6064\u56fe\u50cf\u3002 (T\u6064)\"\"\"\n ROLLERSKATE: Image\n \"\"\"\u8f6e\u6ed1\u56fe\u50cf\u3002 (\u8f6e\u6ed1)\"\"\"\n DUCK: Image\n \"\"\"\u9e2d\u5b50\u56fe\u50cf\u3002 (\u9e2d\u5b50)\"\"\"\n HOUSE: Image\n \"\"\"\u623f\u5b50\u56fe\u50cf\u3002 (\u623f\u5b50)\"\"\"\n TORTOISE: Image\n \"\"\"\u4e4c\u9f9f\u56fe\u50cf\u3002 (\u4e4c\u9f9f)\"\"\"\n BUTTERFLY: Image\n \"\"\"\u8774\u8776\u56fe\u50cf (\u8774\u8776)\"\"\"\n STICKFIGURE: Image\n \"\"\"\u706b\u67f4\u4eba\u56fe\u50cf\u3002 (\u7b80\u7b14\u4eba\u7269\u753b)\"\"\"\n GHOST: Image\n \"\"\"\u5e7d\u7075\u56fe\u50cf\u3002 (\u5e7d\u7075)\"\"\"\n SWORD: Image\n \"\"\"\u5229\u5251\u56fe\u50cf\u3002 (\u5251)\"\"\"\n GIRAFFE: Image\n \"\"\"\u957f\u9888\u9e7f\u56fe\u50cf\u3002 (\u957f\u9888\u9e7f)\"\"\"\n SKULL: Image\n \"\"\"\u9ab7\u9ac5\u56fe\u50cf\u3002 (\u9ab7\u9ac5)\"\"\"\n UMBRELLA: Image\n \"\"\"\u96e8\u4f1e\u56fe\u50cf\u3002 (\u96e8\u4f1e)\"\"\"\n SNAKE: Image\n \"\"\"\u86c7\u56fe\u50cf\u3002 (\u86c7)\"\"\"\n SCISSORS: Image\n \"\"\"\u526a\u5200\u56fe\u50cf\u3002 (\u526a\u5200)\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"\u6309\u987a\u5e8f\u5305\u542b\u6240\u6709 CLOCK_ \u56fe\u50cf\u7684\u5217\u8868\uff08\u65f6\u949f\uff09\u3002 (\u6240\u6709\u65f6\u949f)\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"\u6309\u987a\u5e8f\u5305\u542b\u6240\u6709 ARROW_ \u56fe\u50cf\u7684\u5217\u8868\uff08\u7bad\u5934\uff09\u3002 (\u6240\u6709\u7bad\u5934)\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"\u6839\u636e\u63cf\u8ff0\u70b9\u4eae LED \u7684\u5b57\u7b26\u4e32\u6765\u521b\u5efa\u4e00\u5e45\u56fe\u50cf\u3002\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: \u63cf\u8ff0\u56fe\u50cf\u7684\u5b57\u7b26\u4e32\u3002\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"\u521b\u5efa\u4e00\u5e45\u5177\u6709 ``width`` \u5217\u548c ``height`` \u884c\u7684\u7a7a\u767d\u56fe\u50cf\u3002\n\n:param width: (\u5bbd\u5ea6) \u53ef\u9009\u7684\u56fe\u50cf\u5bbd\u5ea6\n:param height: (\u9ad8\u5ea6) \u53ef\u9009\u7684\u56fe\u50cf\u9ad8\u5ea6\n:param buffer: (\u7f13\u51b2\u533a) \u7528\u53ef\u9009\u6570\u7ec4\u6216\u5728 0-9 \u8303\u56f4\u5185\u7684 ``width`` \u00d7 ``height`` \u6574\u6570\u5b57\u8282\u6765\u521d\u59cb\u5316\u56fe\u50cf\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"\u83b7\u53d6\u5217\u6570\u3002 (\u5bbd\u5ea6)\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"\u83b7\u53d6\u884c\u6570\u3002 (\u9ad8\u5ea6)\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"\u8bbe\u7f6e\u50cf\u7d20\u4eae\u5ea6\u3002\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: \u5217\u53f7\n:param y: \u884c\u53f7\n:param value: \u7528 0\uff08\u6697\uff09\u548c 9\uff08\u4eae\uff09\u4e4b\u95f4\u7684\u6574\u6570\u6765\u4ee3\u8868\u4eae\u5ea6\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"\u83b7\u53d6\u4e00\u4e2a\u50cf\u7d20\u7684\u4eae\u5ea6\u3002\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: \u5217\u53f7\n:param y: \u884c\u53f7\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"\u901a\u8fc7\u5411\u5de6\u79fb\u52a8\u56fe\u7247\u6765\u521b\u5efa\u65b0\u56fe\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: \u8981\u79fb\u52a8\u7684\u5217\u6570\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"\u901a\u8fc7\u5411\u53f3\u79fb\u52a8\u56fe\u7247\u6765\u521b\u5efa\u65b0\u56fe\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: \u8981\u79fb\u52a8\u7684\u5217\u6570\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"\u901a\u8fc7\u5411\u4e0a\u79fb\u52a8\u56fe\u7247\u6765\u521b\u5efa\u65b0\u56fe\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: \u8981\u79fb\u52a8\u7684\u884c\u6570\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"\u901a\u8fc7\u5411\u4e0b\u79fb\u52a8\u56fe\u7247\u6765\u521b\u5efa\u65b0\u56fe\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: \u8981\u79fb\u52a8\u7684\u884c\u6570\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"\u901a\u8fc7\u88c1\u526a\u56fe\u7247\u6765\u521b\u5efa\u4e00\u5e45\u65b0\u56fe\u50cf\u3002 (\u88c1\u526a)\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: \u88c1\u526a\u504f\u79fb\u5217\n:param y: \u88c1\u526a\u504f\u79fb\u884c\n:param w: \u88c1\u526a\u5bbd\u5ea6\n:param h: \u88c1\u526a\u9ad8\u5ea6\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"\u521b\u5efa\u56fe\u50cf\u7684\u7cbe\u786e\u526f\u672c\u3002 (\u590d\u5236)\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"\u901a\u8fc7\u53cd\u8f6c\u6e90\u56fe\u50cf\u4e2d\u50cf\u7d20\u7684\u4eae\u5ea6\u6765\u521b\u5efa\u4e00\u5e45\u65b0\u56fe\u50cf\u3002 (\u53cd\u8f6c)\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"\u8bbe\u7f6e\u56fe\u50cf\u4e2d\u6240\u6709\u50cf\u7d20\u7684\u4eae\u5ea6\u3002 (\u586b\u5145)\n\nExample: ``my_image.fill(5)``\n\n:param value: \u65b0\u4eae\u5ea6\u4e3a 0 (\u6697) \u548c 9 (\u660e) \u4e4b\u95f4\u7684\u6570\u5b57\u3002\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"\u590d\u5236\u53e6\u4e00\u5e45\u56fe\u50cf\u7684\u4e00\u90e8\u5206\u533a\u57df\u5230\u8fd9\u5e45\u56fe\u50cf\u3002\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: (\u6765\u6e90) \u6e90\u56fe\u50cf\n:param x: \u6e90\u56fe\u50cf\u7684\u8d77\u59cb\u5217\u504f\u79fb\u91cf\n:param y: \u6e90\u56fe\u50cf\u7684\u8d77\u59cb\u884c\u504f\u79fb\u91cf\n:param w: \u8981\u590d\u5236\u7684\u5217\u6570\n:param h: \u8981\u590d\u5236\u7684\u884c\u6570\n:param xdest: (x\u504f\u79bb\u91cf) \u6b64\u56fe\u50cf\u4e2d\u8981\u4fee\u6539\u7684\u5217\u504f\u79fb\u91cf\n:param ydest: (y\u504f\u79bb\u91cf) \u6b64\u56fe\u50cf\u4e2d\u8981\u4fee\u6539\u7684\u884c\u504f\u79fb\u91cf\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"\u83b7\u53d6\u56fe\u50cf\u7684\u7f29\u5c0f\u5b57\u7b26\u4e32\u8868\u793a\u3002 (\u8868\u793a)\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"\u83b7\u53d6\u56fe\u50cf\u7684\u53ef\u8bfb\u5b57\u7b26\u4e32\u8868\u793a\u3002 (\u5b57\u7b26\u4e32)\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"\u901a\u8fc7\u5c06\u4e24\u5e45\u56fe\u50cf\u6bcf\u4e2a\u50cf\u7d20\u7684\u4eae\u5ea6\u503c\u76f8\u52a0\u6765\u521b\u5efa\u4e00\u5e45\u65b0\u56fe\u50cf\u3002\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: (\u5176\u4ed6) \u8981\u6dfb\u52a0\u7684\u56fe\u50cf\u3002\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"\u901a\u8fc7\u4ece\u6b64\u56fe\u50cf\u4e2d\u51cf\u53bb\u53e6\u4e00\u5e45\u56fe\u50cf\u7684\u4eae\u5ea6\u503c\u6765\u521b\u5efa\u4e00\u5e45\u65b0\u56fe\u50cf\u3002 (\u51cf\u53bb)\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: (\u5176\u4ed6) \u8981\u51cf\u53bb\u7684\u56fe\u50cf\u3002\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"\u901a\u8fc7\u5c06\u6bcf\u4e2a\u50cf\u7d20\u7684\u4eae\u5ea6\u4e58\u4ee5 ``n`` \u6765\u521b\u5efa\u4e00\u5e45\u65b0\u56fe\u50cf\u3002 (\u76f8\u4e58)\n\nExample: ``Image.HEART * 0.5``\n\n:param n: \u8981\u76f8\u4e58\u7684\u6570\u503c\u3002\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"\u901a\u8fc7\u5c06\u6bcf\u4e2a\u50cf\u7d20\u7684\u4eae\u5ea6\u9664\u4ee5 ``n`` \u6765\u521b\u5efa\u4e00\u5e45\u65b0\u56fe\u50cf\u3002 (\u9664\u4ee5)\n\nExample: ``Image.HEART / 2``\n\n:param n: \u8981\u9664\u4ee5\u7684\u6570\u503c\u3002\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"\u8868\u793a\u58f0\u97f3\u4e8b\u4ef6\u4ece``quiet``\u5230``loud``\u7684\u8fc7\u6e21\uff0c\u5982\u62cd\u624b\u6216\u8005\u558a\u53eb\u3002 (\u5927\u58f0)\"\"\"\n QUIET: SoundEvent\n \"\"\"\u8868\u793a\u58f0\u97f3\u4e8b\u4ef6\u4ece``loud``\u5230``quiet``\u7684\u8fc7\u6e21\uff0c\u5982\u8bf4\u8bdd\u6216\u8005\u80cc\u666f\u97f3\u4e50\u3002 (\u5b89\u9759)\"\"\"\n\nclass Sound:\n \"\"\"\u53ef\u4ee5\u4f7f\u7528 ``audio.play(Sound.NAME)`` \u8c03\u7528\u5185\u7f6e\u58f0\u97f3\u3002 (\u58f0\u97f3)\"\"\"\n GIGGLE: Sound\n \"\"\"\u54af\u54af\u7684\u58f0\u97f3\u3002 (\u54af\u54af\u7b11)\"\"\"\n HAPPY: Sound\n \"\"\"\u5feb\u4e50\u7684\u58f0\u97f3\u3002 (\u5feb\u4e50)\"\"\"\n HELLO: Sound\n \"\"\"\u95ee\u5019\u58f0\u3002 (\u4f60\u597d)\"\"\"\n MYSTERIOUS: Sound\n \"\"\"\u795e\u79d8\u7684\u58f0\u97f3 (\u795e\u79d8\u7684)\"\"\"\n SAD: Sound\n \"\"\"\u60b2\u4f24\u7684\u58f0\u97f3\u3002 (\u96be\u8fc7)\"\"\"\n SLIDE: Sound\n \"\"\"\u6ed1\u52a8\u58f0\u3002 (\u6ed1\u52a8)\"\"\"\n SOARING: Sound\n \"\"\"\u7ff1\u7fd4\u7684\u58f0\u97f3\u3002 (\u9ad8\u6602)\"\"\"\n SPRING: Sound\n \"\"\"\u6625\u5929\u7684\u58f0\u97f3\u3002 (\u5f39\u7c27)\"\"\"\n TWINKLE: Sound\n \"\"\"\u95ea\u70c1\u7684\u58f0\u97f3\u3002 (\u95ea\u70c1)\"\"\"\n YAWN: Sound\n \"\"\"\u6253\u54c8\u6b20\u7684\u58f0\u97f3\u3002 (\u6253\u54c8\u6b20)\"\"\"", + "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"\u6d4b\u91cf micro:bit \u7684\u52a0\u901f\u5ea6\u5e76\u8bc6\u522b\u624b\u52bf\u3002 (\u52a0\u901f\u5ea6\u4f20\u611f\u5668)\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"\u83b7\u53d6 ``x`` \u8f74\u4e0a\u7684\u52a0\u901f\u5ea6\u6d4b\u91cf\u503c\uff08\u4ee5 milli-g \u4e3a\u5355\u4f4d\uff09\u3002\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"\u83b7\u53d6 ``y`` \u8f74\u4e0a\u7684\u52a0\u901f\u5ea6\u6d4b\u91cf\u503c\uff08\u4ee5 milli-g \u4e3a\u5355\u4f4d\uff09\u3002\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"\u83b7\u53d6 ``z`` \u8f74\u4e0a\u7684\u52a0\u901f\u5ea6\u6d4b\u91cf\u503c\uff08\u4ee5 milli-g \u4e3a\u5355\u4f4d\uff09\u3002\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"\u4e00\u6b21\u83b7\u53d6\u6240\u6709\u8f74\u4e0a\u7684\u52a0\u901f\u5ea6\u6d4b\u91cf\u503c\u4f5c\u4e3a\u5143\u7ec4\u3002\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"\u4ee5\u6b63\u6574\u6570\u5f62\u5f0f\u83b7\u53d6\u6240\u6709\u8f74\u7ec4\u5408\u7684\u52a0\u901f\u5ea6\u6d4b\u91cf\u503c\u3002\u8fd9\u662f X\u3001Y \u548c Z \u8f74\u7684\u6bd5\u8fbe\u54e5\u62c9\u65af\uff08Pythagorean\uff09\u548c\u3002 (\u83b7\u53d6\u5f3a\u5ea6)\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"\u83b7\u53d6\u5f53\u524d\u624b\u52bf\u7684\u540d\u79f0\u3002\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"\u68c0\u67e5\u547d\u540d\u624b\u52bf\u5f53\u524d\u662f\u5426\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u3002\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \u624b\u52bf\u540d\u79f0\u3002\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"\u68c0\u67e5\u547d\u540d\u624b\u52bf\u81ea\u4e0a\u6b21\u8c03\u7528\u540e\u662f\u5426\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\u3002\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \u624b\u52bf\u540d\u79f0\u3002\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"\u8fd4\u56de\u624b\u52bf\u5386\u53f2\u7684\u5143\u7ec4\u3002\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"\u5c06\u52a0\u901f\u5ea6\u8ba1\u7075\u654f\u5ea6\u8303\u56f4\uff08\u4ee5 g\uff08\u6807\u51c6\u91cd\u529b\uff09\u4e3a\u5355\u4f4d\uff09\u8bbe\u7f6e\u4e3a\u786c\u4ef6\u652f\u6301\u7684\u6700\u63a5\u8fd1\u7684\u503c\uff0c\u56e0\u6b64\u5b83\u4f1a\u53d6\u8fd1\u4f3c\u503c\u4e3a ``2``\u3001``4`` \u6216 ``8`` g\u3002 (\u8bbe\u7f6e\u8303\u56f4)\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: \u52a0\u901f\u5ea6\u8ba1\u7684\u65b0\u8303\u56f4\uff0c``g`` \u4e2d\u7684\u6574\u6570\u3002\"\"\"", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"\u4f7f\u7528 micro:bit \u64ad\u653e\u58f0\u97f3\uff08\u5bfc\u5165 ``audio`` \u4ee5\u517c\u5bb9 V1\uff09\u3002 (\u97f3\u9891)\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"\u64ad\u653e\u5185\u7f6e\u58f0\u97f3\u3001\u97f3\u6548\u6216\u81ea\u5b9a\u4e49\u97f3\u9891\u5e27\u3002 (\u64ad\u653e)\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: (\u6765\u6e90) \u5185\u7f6e\u7684 ``Sound``\uff0c\u4f8b\u5982 ``Sound.GIGGLE``\u3001``SoundEffect`` \u6216\u4f5c\u4e3a ``AudioFrame`` \u7684\u53ef\u8fed\u4ee3\u5bf9\u8c61\u7684\u6837\u672c\u6570\u636e\u3002\n:param wait: (\u7b49\u5f85) \u5982\u679c ``wait`` \u4e3a ``True``, \u6b64\u51fd\u6570\u5c06\u4f1a\u963b\u585e\u76f4\u5230\u58f0\u97f3\u5b8c\u6210\u3002\n:param pin: (\u5f15\u811a) \u53ef\u9009\u53c2\u6570\uff0c \u7528\u4e8e\u6307\u5b9a\u53ef\u8986\u76d6\u9ed8\u8ba4 ``pin0`` \u7684\u8f93\u51fa\u5f15\u811a\u3002 \u5982\u679c\u4e0d\u60f3\u64ad\u653e\u4efb\u4f55\u58f0\u97f3\uff0c\u53ef\u4ee5\u4f7f\u7528 ``pin=None``\u3002\n:param return_pin: \u6307\u5b9a\u4e00\u4e2a\u5dee\u5206\u8fb9\u7f18\u8fde\u63a5\u5668\u5f15\u811a\u4ee5\u8fde\u63a5\u5230\u5916\u90e8\u626c\u58f0\u5668\u800c\u4e0d\u662f\u63a5\u5730\u3002\u5bf9\u4e8e **V2** \u4fee\u8ba2\u7248\uff0c\u8fd9\u5c06\u88ab\u5ffd\u7565\u3002\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"\u68c0\u67e5\u662f\u5426\u5728\u64ad\u653e\u58f0\u97f3\u3002\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"\u505c\u6b62\u6240\u6709\u97f3\u9891\u64ad\u653e\u3002 (\u505c\u6b62)\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"\u4e00\u79cd\u97f3\u6548\uff0c\u7531\u4e00\u7ec4\u901a\u8fc7\u6784\u9020\u51fd\u6570\u6216\u5c5e\u6027\u914d\u7f6e\u7684\u53c2\u6570\u7ec4\u6210\u3002 (\u97f3\u6548)\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"\u7528\u4e8e ``waveform`` \u53c2\u6570\u7684\u6b63\u5f26\u6ce2\u9009\u9879\u3002 (\u6ce2\u5f62\u6b63\u5f26)\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"\u7528\u4e8e ``waveform`` \u53c2\u6570\u7684\u952f\u9f7f\u6ce2\u9009\u9879\u3002 (\u6ce2\u5f62\u952f\u9f7f)\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"\u7528\u4e8e ``waveform`` \u53c2\u6570\u7684\u4e09\u89d2\u6ce2\u9009\u9879\u3002 (\u6ce2\u5f62\u4e09\u89d2)\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"\u7528\u4e8e ``waveform`` \u53c2\u6570\u7684\u65b9\u6ce2\u9009\u9879\u3002 (\u65b9\u6ce2)\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"\u7528\u4e8e ``waveform`` \u53c2\u6570\u7684\u566a\u58f0\u9009\u9879\u3002 (\u6ce2\u5f62\u566a\u58f0)\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"\u7528\u4e8e ``shape`` \u53c2\u6570\u7684\u7ebf\u6027\u63d2\u503c\u9009\u9879\u3002 (\u5f62\u72b6\u7ebf\u6027)\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"\u7528\u4e8e ``shape`` \u53c2\u6570\u7684\u66f2\u7ebf\u63d2\u503c\u9009\u9879\u3002 (\u5f62\u72b6\u66f2\u7ebf)\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"\u7528\u4e8e ``shape`` \u53c2\u6570\u7684\u5bf9\u6570\u63d2\u503c\u9009\u9879\u3002 (\u5f62\u72b6\u65e5\u5fd7)\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"\u6ca1\u6709\u7528\u4e8e ``fx`` \u53c2\u6570\u7684\u6548\u679c\u9009\u9879\u3002 (fx \u65e0)\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"\u7528\u4e8e ``fx`` \u53c2\u6570\u7684\u97f3\u91cf\u98a4\u97f3\u6548\u679c\u9009\u9879\u3002 (fx \u97f3\u91cf\u98a4\u97f3)\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"\u7528\u4e8e ``fx`` \u53c2\u6570\u7684\u97f3\u9ad8\u98a4\u97f3\u6548\u679c\u9009\u9879\u3002 (fx \u97f3\u9ad8\u98a4\u97f3)\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"\u7528\u4e8e ``fx`` \u53c2\u6570\u7684\u67d4\u548c\u98a4\u97f3\u6548\u679c\u9009\u9879\u3002 (fx \u67d4\u548c\u98a4\u97f3)\"\"\"\n freq_start: int\n \"\"\"\u5f00\u59cb\u9891\u7387\u7528 Hertz (Hz) \u8868\u793a, \u662f\u4e00\u4e2a ``0`` \u548c ``9999`` \u4e4b\u95f4\u7684\u6570\u5b57 (\u5f00\u59cb\u9891\u7387)\"\"\"\n freq_end: int\n \"\"\"\u7ed3\u675f\u9891\u7387\u7528 Hertz (Hz) \u8868\u793a, \u662f\u4e00\u4e2a ``0`` \u548c ``9999`` \u4e4b\u95f4\u7684\u6570\u5b57 (\u7ed3\u675f\u9891\u7387)\"\"\"\n duration: int\n \"\"\"\u58f0\u97f3\u6301\u7eed\u65f6\u95f4\uff0c\u4ee5\u6beb\u79d2\u8ba1\uff0c \u662f\u4e00\u4e2a ``0`` \u548c ``9999`` \u4e4b\u95f4\u7684\u6570\u5b57 (\u6301\u7eed)\"\"\"\n vol_start: int\n \"\"\"\u5f00\u59cb\u97f3\u91cf\u503c\uff0c\u662f\u4e00\u4e2a ``0`` \u548c ``255`` \u4e4b\u95f4\u7684\u6570\u5b57 (\u5f00\u59cb\u97f3\u91cf\u503c)\"\"\"\n vol_end: int\n \"\"\"\u7ed3\u675f\u97f3\u91cf\u503c\uff0c\u662f\u4e00\u4e2a ``0`` \u548c ``255`` \u4e4b\u95f4\u7684\u6570\u5b57 (\u7ed3\u675f\u97f3\u91cf\u503c)\"\"\"\n waveform: int\n \"\"\"\u6ce2\u5f62\u7c7b\u578b\uff0c\u662f\u4e0b\u5217\u503c\u4e4b\u4e00\uff1a ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (\u968f\u673a\u751f\u6210\u566a\u97f3) (\u6ce2\u5f62)\"\"\"\n fx: int\n \"\"\"\u5bf9\u58f0\u97f3\u6dfb\u52a0\u6548\u679c\uff0c\u4e0b\u5217\u503c\u4e4b\u4e00\uff1a ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, \u6216 ``FX_NONE``\"\"\"\n shape: int\n \"\"\"\u5f00\u59cb\u9891\u7387\u548c\u7ed3\u675f\u9891\u7387\u4e4b\u95f4\u7684\u5185\u63d2\u66f2\u7ebf\u7c7b\u578b\uff0c\u4e0d\u540c\u6ce2\u5f62\u7684\u9891\u7387\u53d8\u5316\u901f\u7387\u4e0d\u540c\u3002 \u4ee5\u4e0b\u503c\u4e4b\u4e00: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG`` (\u5f62\u72b6)\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"\u521b\u5efa\u65b0\u7684\u97f3\u6548\u3002\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: (\u5f00\u59cb\u9891\u7387) \u5f00\u59cb\u9891\u7387\u7528 Hertz (Hz) \u8868\u793a, \u662f\u4e00\u4e2a ``0`` \u548c ``9999`` \u4e4b\u95f4\u7684\u6570\u5b57.\n:param freq_end: (\u7ed3\u675f\u9891\u7387) \u7ed3\u675f\u9891\u7387\u7528 Hertz (Hz) \u8868\u793a, \u662f\u4e00\u4e2a ``0`` \u548c ``9999`` \u4e4b\u95f4\u7684\u6570\u5b57.\n:param duration: (\u6301\u7eed) \u58f0\u97f3\u6301\u7eed\u65f6\u95f4\uff0c\u4ee5\u6beb\u79d2\u8ba1\uff0c \u662f\u4e00\u4e2a ``0`` \u548c ``9999`` \u4e4b\u95f4\u7684\u6570\u5b57.\n:param vol_start: (\u5f00\u59cb\u97f3\u91cf\u503c) \u5f00\u59cb\u97f3\u91cf\u503c\uff0c\u662f\u4e00\u4e2a ``0`` \u548c ``255`` \u4e4b\u95f4\u7684\u6570\u5b57.\n:param vol_end: (\u7ed3\u675f\u97f3\u91cf\u503c) \u7ed3\u675f\u97f3\u91cf\u503c\uff0c\u662f\u4e00\u4e2a ``0`` \u548c ``255`` \u4e4b\u95f4\u7684\u6570\u5b57.\n:param waveform: (\u6ce2\u5f62) \u6ce2\u5f62\u7c7b\u578b\uff0c\u662f\u4e0b\u5217\u503c\u4e4b\u4e00\uff1a ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (\u968f\u673a\u751f\u6210\u566a\u97f3).\n:param fx: \u5bf9\u58f0\u97f3\u6dfb\u52a0\u6548\u679c\uff0c\u4e0b\u5217\u503c\u4e4b\u4e00\uff1a ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, \u6216 ``FX_NONE``.\n:param shape: (\u5f62\u72b6) \u5f00\u59cb\u9891\u7387\u548c\u7ed3\u675f\u9891\u7387\u4e4b\u95f4\u7684\u5185\u63d2\u66f2\u7ebf\u7c7b\u578b\uff0c\u4e0d\u540c\u6ce2\u5f62\u7684\u9891\u7387\u53d8\u5316\u901f\u5ea6\u4e0d\u540c\u3002 \u4ee5\u4e0b\u503c\u4e4b\u4e00: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"\u521b\u5efa\u6b64 ``SoundEffect`` \u7684\u526f\u672c\u3002 (\u590d\u5236)\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"``AudioFrame`` \u5bf9\u8c61\u662f \u4e00\u4e2a\u5305\u542b 32 \u4e2a\u6837\u672c\u7684\u5217\u8868\uff0c\u6bcf\u4e2a\u6837\u672c\u90fd\u662f\u4e00\u4e2a\u65e0\u7b26\u53f7\u5b57\u8282\n\uff080 \u5230 255 \u4e4b\u95f4\u7684\u6574\u6570\uff09\u3002 (\u97f3\u9891\u5e27)\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"\u7528\u5176\u4ed6 ``AudioFrame`` \u5b9e\u4f8b\u4e2d\u7684\u6570\u636e\u8986\u76d6\u6b64 ``AudioFrame`` \u4e2d\u7684\u6570\u636e\u3002 (\u590d\u5236)\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: (\u5176\u4ed6) \u4ece ``AudioFrame`` \u5b9e\u4f8b\u4e2d\u590d\u5236\u6570\u636e\u3002\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"\u4f7f\u7528\u5185\u7f6e\u7f57\u76d8\u3002 (\u7f57\u76d8)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"\u5f00\u59cb\u6821\u51c6\u8fc7\u7a0b\u3002 (\u6821\u51c6)\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"\u68c0\u67e5\u7f57\u76d8\u662f\u5426\u5df2\u6821\u51c6\u3002\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"\u53d6\u6d88\u6821\u51c6\uff0c\u5c06\u7f57\u76d8\u6062\u590d\u5230\u672a\u6821\u51c6\u72b6\u6001\u3002\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"\u83b7\u53d6 ``x`` \u8f74\u4e0a\u7684\u78c1\u573a\u5f3a\u5ea6\u3002\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"\u83b7\u53d6 ``y`` \u8f74\u4e0a\u7684\u78c1\u573a\u5f3a\u5ea6\u3002\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"\u83b7\u53d6 ``z`` \u8f74\u4e0a\u7684\u78c1\u573a\u5f3a\u5ea6\u3002\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"\u83b7\u53d6\u7f57\u76d8\u6307\u5411\u3002\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"\u83b7\u53d6\u8bbe\u5907\u5468\u56f4\u78c1\u573a\u7684\u5f3a\u5ea6\u3002 (\u83b7\u53d6\u78c1\u573a\u5f3a\u5ea6)\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", + "/typeshed/stdlib/microbit/display.pyi": "\"\"\"\u57285\u00d75\u7684 LED \u663e\u793a\u5c4f\u4e0a\u663e\u793a\u6587\u5b57\u3001\u56fe\u50cf\u548c\u52a8\u753b\u3002 (\u663e\u793a)\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"\u83b7\u53d6\u7b2c``y``\u884c\u7b2c``x``\u5217\u7684 LED \u4eae\u5ea6\u3002\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: \u663e\u793a\u5c4f\u7684\u5217(0..4)\n:param y: \u663e\u793a\u884c (0..4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"\u8bbe\u7f6e\u5728 ``x`` \u5217\u548c ``y`` \u884c\u7684 LED \u7684\u4eae\u5ea6\u3002\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: \u663e\u793a\u5c4f\u7684\u5217(0..4)\n:param y: \u663e\u793a\u884c (0..4)\n:param value: \u5728 0 (\u5173\u95ed) \u548c 9 (\u4eae) \u4e4b\u95f4\u7684\u4eae\u5ea6\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"\u5c06\u6240\u6709 LED \u7684\u4eae\u5ea6\u8bbe\u7f6e\u4e3a 0\uff08\u5173\u95ed\uff09\u3002 (\u6e05\u9664)\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"\u5728 LED \u663e\u793a\u5c4f\u4e0a\u663e\u793a\u56fe\u50cf\u3001\u5b57\u6bcd\u6216\u6570\u5b57\u3002 (\u663e\u793a)\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: (\u56fe\u50cf) \u8981\u663e\u793a\u7684\u4e00\u4e2a\u5b57\u7b26\u4e32\u3001\u6570\u5b57\u3001\u56fe\u50cf\u6216\u56fe\u50cf\u5217\u8868\u3002\n:param delay: (\u5ef6\u8fdf) \u6bcf\u4e2a\u5b57\u6bcd\u3001\u6570\u5b57\u6216\u56fe\u50cf\u4e4b\u95f4\u663e\u793a\u7684\u95f4\u9694\u65f6\u95f4\u4e3a ``delay`` \u6beb\u79d2\u3002\n:param wait: (\u7b49\u5f85) \u5982\u679c ``wait`` \u4e3a ``True``\uff0c\u6b64\u51fd\u6570\u5c06\u963b\u585e\u76f4\u5230\u52a8\u753b\u5b8c\u6210\uff0c\u5426\u5219\u52a8\u753b\u5c06\u5728\u540e\u53f0\u53d1\u751f\u3002\n:param loop: \u5982\u679c ``loop`` \u4e3a ``True``, \u52a8\u753b\u5c06\u6c38\u8fdc\u91cd\u590d\u3002\n:param clear: (\u6e05\u9664) \u5982\u679c ``clear`` \u662f ``True``, \u5219\u663e\u793a\u5c06\u5728\u5e8f\u5217\u5b8c\u6210\u540e\u88ab\u6e05\u9664\u3002\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"\u5728 LED \u663e\u793a\u5c4f\u4e0a\u6eda\u52a8\u4e00\u4e2a\u6570\u5b57\u6216\u6587\u672c\u3002 (\u6eda\u52a8)\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: (\u6587\u672c) \u8981\u6eda\u52a8\u7684\u5b57\u7b26\u4e32\u3002\u5982\u679c ``text`` \u662f\u6574\u6570\u6216\u6d6e\u70b9\u6570\uff0c\u5219\u9996\u5148\u4f7f\u7528 ``str()`` \u5c06\u5176\u8f6c\u6362\u4e3a\u5b57\u7b26\u4e32\u3002\n:param delay: (\u5ef6\u8fdf) ``delay`` \u53c2\u6570\u63a7\u5236\u6587\u672c\u6eda\u52a8\u7684\u901f\u5ea6\u3002\n:param wait: (\u7b49\u5f85) \u5982\u679c ``wait`` \u4e3a ``True``\uff0c\u6b64\u51fd\u6570\u5c06\u963b\u585e\u76f4\u5230\u52a8\u753b\u5b8c\u6210\uff0c\u5426\u5219\u52a8\u753b\u5c06\u53d1\u751f\u5728\u540e\u53f0\u3002\n:param loop: \u5982\u679c ``loop`` \u4e3a ``True``, \u52a8\u753b\u5c06\u6c38\u8fdc\u91cd\u590d\u3002\n:param monospace: (\u7b49\u5bbd) \u5982\u679c ``monospace`` \u4e3a ``True``\uff0c\u5219\u5b57\u7b26\u7684\u5bbd\u5ea6\u90fd\u5c06\u5360\u7528 5 \u4e2a\u50cf\u7d20\u5217\uff0c\u5426\u5219\u5728\u6eda\u52a8\u65f6\u6bcf\u4e2a\u5b57\u7b26\u4e4b\u95f4\u5c06\u6070\u597d\u6709 1 \u4e2a\u7a7a\u767d\u50cf\u7d20\u5217\u3002\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\u6253\u5f00 LED \u663e\u793a\u5c4f\u3002 (\u6253\u5f00)\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"\u5173\u95ed LED \u663e\u793a\u5c4f\uff08\u7981\u7528\u663e\u793a\u5c4f\u53ef\u8ba9\u60a8\u5c06 GPIO \u5f15\u811a\u91cd\u65b0\u7528\u4e8e\u5176\u4ed6\u7528\u9014\uff09\u3002 (\u5173\u95ed)\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"\u68c0\u67e5 LED \u663e\u793a\u5c4f\u662f\u5426\u542f\u7528\u3002\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"\u8bfb\u53d6\u4eae\u5ea6\u3002\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"\u4f7f\u7528 I\u00b2C \u603b\u7ebf\u534f\u8bae\u4e0e\u8bbe\u5907\u901a\u4fe1\u3002 (i2c\u603b\u7ebf\u534f\u8bae)\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"\u91cd\u65b0\u521d\u59cb\u5316\u5916\u8bbe\u3002\n\nExample: ``i2c.init()``\n\n:param freq: \u65f6\u949f\u9891\u7387\n:param sda: (SDA\u5f15\u811a) ``sda`` \u5f15\u811a(\u9ed8\u8ba4 20)\n:param scl: (SCL\u5f15\u811a) ``scl`` \u5f15\u811a(\u9ed8\u8ba4 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"\u626b\u63cf\u603b\u7ebf\u4ee5\u67e5\u627e\u8bbe\u5907\u3002 (\u626b\u63cf)\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"\u4ece\u8bbe\u5907\u8bfb\u53d6\u5b57\u8282. (\u8bfb\u53d6)\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: (\u5730\u5740) \u8bbe\u5907\u7684 7 \u4f4d\u5730\u5740\n:param n: \u8981\u8bfb\u53d6\u7684\u5b57\u8282\u6570\n:param repeat: \u5982\u679c\u4e3a ``True``\uff0c\u5219\u4e0d\u53d1\u9001\u505c\u6b62\u4f4d\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"\u5c06\u5b57\u8282\u5199\u5165\u8bbe\u5907\u3002 (\u5199\u5165)\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: (\u5730\u5740) \u8bbe\u5907\u7684 7 \u4f4d\u5730\u5740\n:param buf: (\u7f13\u51b2\u533a) \u5305\u542b\u8981\u5199\u5165\u7684\u5b57\u8282\u7684\u7f13\u51b2\u533a\n:param repeat: \u5982\u679c\u4e3a ``True``\uff0c\u5219\u4e0d\u53d1\u9001\u505c\u6b62\u4f4d\"\"\"\n ...", + "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"\u4f7f\u7528\u5185\u7f6e\u9ea6\u514b\u98ce\u54cd\u5e94\u58f0\u97f3\uff08\u4ec5\u9650 V2\uff09\u3002 (\u9ea6\u514b\u98ce)\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"\u83b7\u53d6\u6700\u540e\u5f55\u5236\u7684\u58f0\u97f3\u4e8b\u4ef6\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"\u68c0\u67e5\u81ea\u4e0a\u6b21\u901a\u8bdd\u540e\u662f\u5426\u81f3\u5c11\u542c\u5230\u4e00\u6b21\u58f0\u97f3\u3002 (\u66fe\u7ecf\u662f\u4e8b\u4ef6)\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: (\u4e8b\u4ef6) \u8981\u68c0\u67e5\u7684\u4e8b\u4ef6\uff0c\u4f8b\u5982 ``SoundEvent.LOUD`` \u6216 ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"\u68c0\u67e5\u6700\u8fd1\u68c0\u6d4b\u5230\u7684\u58f0\u97f3\u4e8b\u4ef6\u3002 (\u662f\u4e8b\u4ef6)\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: (\u4e8b\u4ef6) \u8981\u68c0\u67e5\u7684\u4e8b\u4ef6\uff0c\u4f8b\u5982 ``SoundEvent.LOUD`` \u6216 ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"\u4ee5\u5143\u7ec4\u7684\u5f62\u5f0f\u83b7\u53d6\u58f0\u97f3\u4e8b\u4ef6\u5386\u53f2\u3002\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"\u8bbe\u7f6e\u58f0\u97f3\u4e8b\u4ef6\u7684\u9608\u503c\u3002\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: (\u4e8b\u4ef6) \u58f0\u97f3\u4e8b\u4ef6\uff0c\u5982``SoundEvent.LOUD``\u6216``SoundEvent.QUIET``\u3002\n:param value: \u8303\u56f4\u4e3a0\u5230255\u7684\u9608\u503c\u6c34\u5e73\u3002\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"\u83b7\u53d6\u58f0\u538b\u7ea7\u3002 (\u97f3\u91cf)\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", + "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"\u63a7\u5236\u5185\u7f6e\u626c\u58f0\u5668\uff08\u4ec5\u9650 V2\uff09\u3002 (\u626c\u58f0\u5668\\u200b\\u200b\\u200b\\u200b)\"\"\"\n\ndef off() -> None:\n \"\"\"\u5173\u95ed\u626c\u58f0\u5668\\u200b\\u200b\\u200b\\u200b\u3002 (\u5173\u95ed)\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\u6253\u5f00\u626c\u58f0\u5668\\u200b\\u200b\\u200b\\u200b\u3002 (\u6253\u5f00)\n\nExample: ``speaker.on()``\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"\u901a\u8fc7\u4e32\u884c\u5916\u8bbe\u63a5\u53e3\uff08SPI\uff09\u603b\u7ebf\u4e0e\u8bbe\u5907\u901a\u4fe1\u3002 (\u4e32\u884c\u5916\u56f4\u63a5\u53e3\uff08SPI\uff09)\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"\u521d\u59cb\u5316\u4e32\u884c\u5916\u8bbe\u63a5\u53e3\uff08SPI \uff09\u901a\u4fe1\u3002\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: (\u6ce2\u7279\u7387) \u901a\u4fe1\u901f\u5ea6\u3002\n:param bits: (\u4f4d) \u6bcf\u6b21\u4f20\u8f93\u7684\u5bbd\u5ea6\uff08\u5355\u4f4d\uff1abit\uff09\u3002\u76ee\u524d\u53ea\u652f\u6301 ``bits=8``\uff0c\u4f46\u662f\u672a\u6765\u53ef\u80fd\u652f\u6301\u5176\u4ed6\u5bbd\u5ea6\u3002\n:param mode: (\u6a21\u5f0f) \u51b3\u5b9a\u65f6\u949f\u6781\u6027\u548c\u76f8\u4f4d\u7684\u7ec4\u5408\u2014\u2014\u201c\u53c2\u89c1\u5728\u7ebf\u8868\u683c\u201d\u3002\n:param sclk: (SCLK) sclk \u5f15\u811a(\u9ed8\u8ba4 13)\n:param mosi: (MOSI) mosi \u5f15\u811a(\u9ed8\u8ba4 15)\n:param miso: (MISO) MISO\u5f15\u811a\uff08\u9ed8\u8ba4\u503c14\uff09\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"\u8bfb\u53d6\u5b57\u8282\u6570\u3002 (\u8bfb\u53d6)\n\nExample: ``spi.read(64)``\n\n:param nbytes: (\u5b57\u8282\u6570) \u8981\u8bfb\u53d6\u7684\u6700\u5927\u5b57\u8282\u6570\u3002\n:param out: (\u5199\u51fa) The byte value to write (default 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\u5c06\u5b57\u8282\u5199\u5165\u603b\u7ebf\u3002 (\u5199\u5165)\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: (\u7f13\u51b2\u533a) \u8bfb\u53d6\u6570\u636e\u7684\u7f13\u51b2\u533a\u3002\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"\u5c06 ``out`` \u7f13\u51b2\u533a\u5199\u5165\u603b\u7ebf\uff0c\u5e76\u5c06\u4efb\u4f55\u54cd\u5e94\u8bfb\u5165 ``in_`` \u7f13\u51b2\u533a\u3002 (\u5199\u5e76\u8bfb\u5165)\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: (\u5199\u51fa) \u5199\u5165\u4efb\u4f55\u54cd\u5e94\u7684\u7f13\u51b2\u533a\u3002\n:param in_: (\u8bfb\u5165) \u8bfb\u53d6\u6570\u636e\u7684\u7f13\u51b2\u533a\u3002\"\"\"\n ...", + "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"\u4f7f\u7528\u4e32\u884c\u63a5\u53e3\u4e0e\u8bbe\u5907\u901a\u4fe1\u3002 (\u901a\u7528\u5f02\u6b65\u6536\u53d1\u5668\uff08UART\uff09)\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"\u5947\u6821\u9a8c (\u5947\u6570)\"\"\"\nEVEN: int\n\"\"\"\u5076\u6821\u9a8c (\u5076\u6570)\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"\u521d\u59cb\u5316\u4e32\u884c\u901a\u4fe1\u3002\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: (\u6ce2\u7279\u7387) \u901a\u4fe1\u901f\u5ea6\u3002\n:param bits: (\u4f4d\u6570) \u6b63\u5728\u4f20\u8f93\u7684\u5b57\u8282\u5927\u5c0f\u3002micro:bit \u4ec5\u652f\u6301 8 \u5b57\u8282\u3002\n:param parity: (\u5947\u5076\u6821\u9a8c) \u5982\u4f55\u68c0\u67e5\u5947\u5076\u6027\uff0c``None``\u3001``uart.ODD`` \u6216 ``uart.EVEN``\u3002\n:param stop: (\u505c\u6b62) \u505c\u6b62\u4f4d\u7684\u6570\u91cf\uff0c\u5bf9\u4e8e micro:bit\uff0c\u5fc5\u987b\u4e3a 1\u3002\n:param tx: (\u53d1\u9001\u5f15\u811a) \u4f20\u8f93\u5f15\u811a\u3002\n:param rx: (\u63a5\u6536\u5f15\u811a) \u63a5\u6536\u5f15\u811a\u3002\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"\u68c0\u67e5\u662f\u5426\u6709\u4efb\u4f55\u6570\u636e\u6b63\u5728\u7b49\u5f85\u3002 (\u4efb\u4f55)\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"\u8bfb\u53d6\u5b57\u8282\u3002 (\u8bfb\u53d6)\n\nExample: ``uart.read()``\n\n:param nbytes: (\u5b57\u8282\u6570) \u5982\u679c\u6307\u5b9a\u4e86 ``nbytes``\uff0c\u5219\u6700\u591a\u8bfb\u53d6\u90a3\u4e48\u591a\u5b57\u8282\uff0c\u5426\u5219\u8bfb\u53d6\u5c3d\u53ef\u80fd\u591a\u7684\u5b57\u8282\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"\u8bfb\u53d6\u5b57\u8282\u5230 ``buf``\u3002 (\u8bfb\u5165)\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: (\u7f13\u51b2\u533a) \u8981\u5199\u5165\u7684\u7f13\u5b58\u3002\n:param nbytes: (\u5b57\u8282\u6570) \u5982\u679c\u6307\u5b9a\u4e86 ``nbytes``\uff0c\u5219\u6700\u591a\u8bfb\u53d6\u90a3\u4e48\u591a\u5b57\u8282\uff0c\u5426\u5219\u8bfb\u53d6 ``len(buf)`` \u4e2a\u5b57\u8282\u3002\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"\u8bfb\u53d6\u4e00\u884c\uff0c\u4ee5\u6362\u884c\u7b26\u7ed3\u5c3e\u3002 (\u8bfb\u53d6\u4e00\u884c)\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"\u5c06\u7f13\u51b2\u533a\u5199\u5165\u603b\u7ebf\u3002 (\u5199\u5165)\n\nExample: ``uart.write('hello world')``\n\n:param buf: (\u7f13\u51b2\u533a) \u4e00\u4e2a\u5b57\u8282\u5bf9\u8c61\u6216\u4e00\u4e2a\u5b57\u7b26\u4e32\u3002\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" } diff --git a/src/micropython/main/typeshed.zh-tw.json b/src/micropython/main/typeshed.zh-tw.json index a1439b3f0..53994a10a 100644 --- a/src/micropython/main/typeshed.zh-tw.json +++ b/src/micropython/main/typeshed.zh-tw.json @@ -7,23 +7,23 @@ "/typeshed/stdlib/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\n# Re-export for V1 compatibility.\nfrom .microbit.audio import (\n is_playing as is_playing,\n play as play,\n stop as stop,\n AudioFrame as AudioFrame,\n SoundEffect as SoundEffect,\n)\n", "/typeshed/stdlib/builtins.pyi": "import sys\nimport types\nfrom _typeshed import (\n OpenBinaryMode,\n OpenTextMode,\n ReadableBuffer,\n Self,\n StrOrBytesPath,\n SupportsDivMod,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsLessThan,\n SupportsLessThanT,\n SupportsRDivMod,\n SupportsWrite,\n)\nfrom types import CodeType, TracebackType\nfrom typing import (\n IO,\n AbstractSet,\n Any,\n AsyncIterable,\n AsyncIterator,\n BinaryIO,\n ByteString,\n Callable,\n FrozenSet,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n MutableSet,\n NoReturn,\n Protocol,\n Reversible,\n Sequence,\n Set,\n Sized,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n SupportsInt,\n SupportsRound,\n TextIO,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nclass _SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_TT = TypeVar(\"_TT\", bound=\"type\")\n_TBE = TypeVar(\"_TBE\", bound=\"BaseException\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __slots__: str | Iterable[str]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self: _T) -> Type[_T]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: Type[object]) -> None: ... # type: ignore # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls: Type[_T]) -> _T: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __eq__(self, o: object) -> bool: ...\n def __ne__(self, o: object) -> bool: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __delattr__(self, name: str) -> None: ...\n def __sizeof__(self) -> int: ...\n def __reduce__(self) -> str | Tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, protocol: SupportsIndex) -> str | Tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, protocol: int) -> str | Tuple[Any, ...]: ...\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n\nclass staticmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass classmethod(object): # Special, only valid as a decorator.\n __func__: Callable[..., Any]\n __isabstractmethod__: bool\n def __init__(self, f: Callable[..., Any]) -> None: ...\n def __new__(cls: Type[_T], *args: Any, **kwargs: Any) -> _T: ...\n def __get__(self, obj: _T, type: Type[_T] | None = ...) -> Callable[..., Any]: ...\n\nclass type(object):\n __base__: type\n __bases__: Tuple[type, ...]\n __basicsize__: int\n __dict__: dict[str, Any]\n __dictoffset__: int\n __flags__: int\n __itemsize__: int\n __module__: str\n __name__: str\n __qualname__: str\n __text_signature__: str | None\n __weakrefoffset__: int\n @overload\n def __init__(self, o: object) -> None: ...\n @overload\n def __init__(\n self, name: str, bases: Tuple[type, ...], dict: dict[str, Any], **kwds: Any\n ) -> None: ...\n @overload\n def __new__(cls, o: object) -> type: ...\n @overload\n def __new__(\n cls: Type[_TT],\n name: str,\n bases: Tuple[type, ...],\n namespace: dict[str, Any],\n **kwds: Any,\n ) -> _TT: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _TT) -> list[_TT]: ...\n def __instancecheck__(self, instance: Any) -> bool: ...\n def __subclasscheck__(self, subclass: type) -> bool: ...\n @classmethod\n def __prepare__(\n metacls, __name: str, __bases: Tuple[type, ...], **kwds: Any\n ) -> Mapping[str, Any]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, t: Any) -> types.UnionType: ...\n def __ror__(self, t: Any) -> types.UnionType: ...\n\nclass super(object):\n @overload\n def __init__(self, t: Any, obj: Any) -> None: ...\n @overload\n def __init__(self, t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\nclass int:\n @overload\n def __new__(\n cls: Type[_T],\n x: str | bytes | SupportsInt | SupportsIndex | _SupportsTrunc = ...,\n ) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], x: str | bytes | bytearray, base: SupportsIndex\n ) -> _T: ...\n def to_bytes(\n self,\n length: SupportsIndex,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = ...,\n ) -> int: ... # TODO buffer object argument\n def __add__(self, x: int) -> int: ...\n def __sub__(self, x: int) -> int: ...\n def __mul__(self, x: int) -> int: ...\n def __floordiv__(self, x: int) -> int: ...\n def __truediv__(self, x: int) -> float: ...\n def __mod__(self, x: int) -> int: ...\n def __divmod__(self, x: int) -> Tuple[int, int]: ...\n def __radd__(self, x: int) -> int: ...\n def __rsub__(self, x: int) -> int: ...\n def __rmul__(self, x: int) -> int: ...\n def __rfloordiv__(self, x: int) -> int: ...\n def __rtruediv__(self, x: int) -> float: ...\n def __rmod__(self, x: int) -> int: ...\n def __rdivmod__(self, x: int) -> Tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[2], __modulo: int | None = ...) -> int: ...\n @overload\n def __pow__(\n self, __x: int, __modulo: int | None = ...\n ) -> Any: ... # Return type can be int or float, depending on x.\n def __rpow__(self, x: int, mod: int | None = ...) -> Any: ...\n def __and__(self, n: int) -> int: ...\n def __or__(self, n: int) -> int: ...\n def __xor__(self, n: int) -> int: ...\n def __lshift__(self, n: int) -> int: ...\n def __rshift__(self, n: int) -> int: ...\n def __rand__(self, n: int) -> int: ...\n def __ror__(self, n: int) -> int: ...\n def __rxor__(self, n: int) -> int: ...\n def __rlshift__(self, n: int) -> int: ...\n def __rrshift__(self, n: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: int) -> bool: ...\n def __le__(self, x: int) -> bool: ...\n def __gt__(self, x: int) -> bool: ...\n def __ge__(self, x: int) -> bool: ...\n def __str__(self) -> str: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(\n cls: Type[_T], x: SupportsFloat | SupportsIndex | str | bytes | bytearray = ...\n ) -> _T: ...\n def __add__(self, x: float) -> float: ...\n def __sub__(self, x: float) -> float: ...\n def __mul__(self, x: float) -> float: ...\n def __floordiv__(self, x: float) -> float: ...\n def __truediv__(self, x: float) -> float: ...\n def __mod__(self, x: float) -> float: ...\n def __divmod__(self, x: float) -> Tuple[float, float]: ...\n def __pow__(\n self, x: float, mod: None = ...\n ) -> float: ... # In Python 3, returns complex if self is negative and x is not whole\n def __radd__(self, x: float) -> float: ...\n def __rsub__(self, x: float) -> float: ...\n def __rmul__(self, x: float) -> float: ...\n def __rfloordiv__(self, x: float) -> float: ...\n def __rtruediv__(self, x: float) -> float: ...\n def __rmod__(self, x: float) -> float: ...\n def __rdivmod__(self, x: float) -> Tuple[float, float]: ...\n def __rpow__(self, x: float, mod: None = ...) -> float: ...\n def __getnewargs__(self) -> Tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n @overload\n def __round__(self, ndigits: None = ...) -> int: ...\n @overload\n def __round__(self, ndigits: SupportsIndex) -> float: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: float) -> bool: ...\n def __le__(self, x: float) -> bool: ...\n def __gt__(self, x: float) -> bool: ...\n def __ge__(self, x: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __str__(self) -> str: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n @overload\n def __new__(cls: Type[_T], real: float = ..., imag: float = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], real: str | SupportsComplex | SupportsIndex | complex\n ) -> _T: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def __add__(self, x: complex) -> complex: ...\n def __sub__(self, x: complex) -> complex: ...\n def __mul__(self, x: complex) -> complex: ...\n def __pow__(self, x: complex, mod: None = ...) -> complex: ...\n def __truediv__(self, x: complex) -> complex: ...\n def __radd__(self, x: complex) -> complex: ...\n def __rsub__(self, x: complex) -> complex: ...\n def __rmul__(self, x: complex) -> complex: ...\n def __rpow__(self, x: complex, mod: None = ...) -> complex: ...\n def __rtruediv__(self, x: complex) -> complex: ...\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __str__(self) -> str: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls: Type[_T], o: object = ...) -> _T: ...\n @overload\n def __new__(\n cls: Type[_T], o: bytes, encoding: str = ..., errors: str = ...\n ) -> _T: ...\n def count(\n self,\n x: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def encode(self, encoding: str = ..., errors: str = ...) -> bytes: ...\n def endswith(\n self,\n __suffix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def format(self, *args: object, **kwargs: object) -> str: ...\n def index(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable: Iterable[str]) -> str: ...\n def lower(self) -> str: ...\n def lstrip(self, __chars: str | None = ...) -> str: ...\n def replace(self, __old: str, __new: str, __count: SupportsIndex = ...) -> str: ...\n def rfind(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: str,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def rstrip(self, __chars: str | None = ...) -> str: ...\n def split(\n self, sep: str | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[str]: ...\n def startswith(\n self,\n __prefix: str | Tuple[str, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __chars: str | None = ...) -> str: ...\n def upper(self) -> str: ...\n def __add__(self, s: str) -> str: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: str) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ge__(self, x: str) -> bool: ...\n def __getitem__(self, i: int | slice) -> str: ...\n def __gt__(self, x: str) -> bool: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n def __le__(self, x: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, x: str) -> bool: ...\n def __mod__(self, x: Any) -> str: ...\n def __mul__(self, n: SupportsIndex) -> str: ...\n def __ne__(self, x: object) -> bool: ...\n def __repr__(self) -> str: ...\n def __rmul__(self, n: SupportsIndex) -> str: ...\n def __str__(self) -> str: ...\n def __getnewargs__(self) -> Tuple[str]: ...\n\nclass bytes(ByteString):\n @overload\n def __new__(cls: Type[_T], ints: Iterable[SupportsIndex]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], string: str, encoding: str, errors: str = ...) -> _T: ...\n @overload\n def __new__(cls: Type[_T], length: SupportsIndex) -> _T: ...\n @overload\n def __new__(cls: Type[_T]) -> _T: ...\n @overload\n def __new__(cls: Type[_T], o: SupportsBytes) -> _T: ...\n def count(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def endswith(\n self,\n __suffix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def find(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def index(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def isalpha(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ByteString | memoryview]) -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def replace(\n self, __old: bytes, __new: bytes, __count: SupportsIndex = ...\n ) -> bytes: ...\n def rfind(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rindex(\n self,\n __sub: bytes | SupportsIndex,\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> int: ...\n def rsplit(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def rstrip(self, __bytes: bytes | None = ...) -> bytes: ...\n def split(\n self, sep: bytes | None = ..., maxsplit: SupportsIndex = ...\n ) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: bytes | Tuple[bytes, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: bytes | None = ...) -> bytes: ...\n def upper(self) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytes: ...\n def __add__(self, s: bytes) -> bytes: ...\n def __mul__(self, n: SupportsIndex) -> bytes: ...\n def __rmul__(self, n: SupportsIndex) -> bytes: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n def __getnewargs__(self) -> Tuple[bytes]: ...\n\nclass bytearray:\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, ints: Iterable[SupportsIndex]) -> None: ...\n @overload\n def __init__(self, string: str, encoding: str, errors: str = ...) -> None: ...\n @overload\n def __init__(self, length: SupportsIndex) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def decode(self, encoding: str = ..., errors: str = ...) -> str: ...\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> bytearray: ...\n @overload\n def __setitem__(self, i: SupportsIndex, x: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, s: slice, x: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, s: bytes) -> bytearray: ...\n def __iadd__(self, s: Iterable[int]) -> bytearray: ...\n def __mul__(self, n: SupportsIndex) -> bytearray: ...\n def __rmul__(self, n: SupportsIndex) -> bytearray: ...\n def __imul__(self, n: SupportsIndex) -> bytearray: ...\n def __mod__(self, value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, o: SupportsIndex | bytes) -> bool: ... # type: ignore\n def __eq__(self, x: object) -> bool: ...\n def __ne__(self, x: object) -> bool: ...\n def __lt__(self, x: bytes) -> bool: ...\n def __le__(self, x: bytes) -> bool: ...\n def __gt__(self, x: bytes) -> bool: ...\n def __ge__(self, x: bytes) -> bool: ...\n\nclass memoryview(Sized, Sequence[int]):\n def __init__(self, obj: ReadableBuffer) -> None: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> memoryview: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n @overload\n def __setitem__(self, s: slice, o: bytes) -> None: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: SupportsIndex) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls: Type[_T], __o: object = ...) -> _T: ...\n @overload\n def __and__(self, x: bool) -> bool: ...\n @overload\n def __and__(self, x: int) -> int: ...\n @overload\n def __or__(self, x: bool) -> bool: ...\n @overload\n def __or__(self, x: int) -> int: ...\n @overload\n def __xor__(self, x: bool) -> bool: ...\n @overload\n def __xor__(self, x: int) -> int: ...\n @overload\n def __rand__(self, x: bool) -> bool: ...\n @overload\n def __rand__(self, x: int) -> int: ...\n @overload\n def __ror__(self, x: bool) -> bool: ...\n @overload\n def __ror__(self, x: int) -> int: ...\n @overload\n def __rxor__(self, x: bool) -> bool: ...\n @overload\n def __rxor__(self, x: int) -> int: ...\n def __getnewargs__(self) -> Tuple[int]: ...\n\nclass slice(object):\n start: Any\n step: Any\n stop: Any\n __hash__: None # type: ignore\n def indices(self, len: SupportsIndex) -> Tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co], Generic[_T_co]):\n def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...\n def __len__(self) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n @overload\n def __getitem__(self, x: int) -> _T_co: ...\n @overload\n def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...\n @overload\n def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...\n @overload\n def __add__(self, x: Tuple[_T, ...]) -> Tuple[_T_co | _T, ...]: ...\n def __mul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def __rmul__(self, n: SupportsIndex) -> Tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(\n self, __value: Any, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n\n# Can we remove this?\nclass function:\n # TODO not defined in builtins!\n __name__: str\n __module__: str\n __code__: CodeType\n __qualname__: str\n __annotations__: dict[str, Any]\n\nclass frozenset(AbstractSet[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls: type[Self]) -> Self: ...\n @overload\n def __new__(cls: type[Self], __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> FrozenSet[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> FrozenSet[_T_co]: ...\n def isdisjoint(self, s: Iterable[_T_co]) -> bool: ...\n def issubset(self, s: Iterable[object]) -> bool: ...\n def issuperset(self, s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def union(self, *s: Iterable[_T_co]) -> FrozenSet[_T_co]: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __sub__(self, s: AbstractSet[_T_co]) -> FrozenSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_S]) -> FrozenSet[_T_co | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass list(MutableSequence[_T], Generic[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T]) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = ...) -> _T: ...\n def index(\n self, __value: _T, __start: SupportsIndex = ..., __stop: SupportsIndex = ...\n ) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n def reverse(self) -> None: ...\n @overload\n def sort(\n self: list[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n ) -> None: ...\n @overload\n def sort(\n self, *, key: Callable[[_T], SupportsLessThan], reverse: bool = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, i: SupportsIndex, o: _T) -> None: ...\n @overload\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, x: list[_T]) -> list[_T]: ...\n def __iadd__(self: _S, x: Iterable[_T]) -> _S: ...\n def __mul__(self, n: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, n: SupportsIndex) -> list[_T]: ...\n def __imul__(self: _S, n: SupportsIndex) -> _S: ...\n def __contains__(self, o: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, x: list[_T]) -> bool: ...\n def __ge__(self, x: list[_T]) -> bool: ...\n def __lt__(self, x: list[_T]) -> bool: ...\n def __le__(self, x: list[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT], Generic[_KT, _VT]):\n @overload\n def __init__(self: dict[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(\n self, map: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT\n ) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n def __new__(cls: Type[_T1], *args: Any, **kwargs: Any) -> _T1: ...\n def clear(self) -> None: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, __key: _KT, __default: _VT = ...) -> _VT: ...\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT]: ...\n def items(self) -> ItemsView[_KT, _VT]: ...\n @classmethod\n @overload\n def fromkeys(\n cls, __iterable: Iterable[_T], __value: None = ...\n ) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n def __len__(self) -> int: ...\n def __getitem__(self, k: _KT) -> _VT: ...\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n def __delitem__(self, v: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n def __str__(self) -> str: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n def __ior__(self, __value: Mapping[_KT, _VT]) -> dict[_KT, _VT]: ... # type: ignore\n\nclass set(MutableSet[_T], Generic[_T]):\n def __init__(self, iterable: Iterable[_T] = ...) -> None: ...\n def add(self, element: _T) -> None: ...\n def clear(self) -> None: ...\n def copy(self) -> Set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> Set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> Set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, s: Iterable[Any]) -> bool: ...\n def issubset(self, s: Iterable[Any]) -> bool: ...\n def issuperset(self, s: Iterable[Any]) -> bool: ...\n def pop(self) -> _T: ...\n def remove(self, element: _T) -> None: ...\n def symmetric_difference(self, s: Iterable[_T]) -> Set[_T]: ...\n def symmetric_difference_update(self, s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_T]) -> Set[_T]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __str__(self) -> str: ...\n def __and__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __iand__(self, s: AbstractSet[object]) -> Set[_T]: ...\n def __or__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ior__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __sub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __isub__(self, s: AbstractSet[_T | None]) -> Set[_T]: ...\n def __xor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> Set[_T | _S]: ...\n def __le__(self, s: AbstractSet[object]) -> bool: ...\n def __lt__(self, s: AbstractSet[object]) -> bool: ...\n def __ge__(self, s: AbstractSet[object]) -> bool: ...\n def __gt__(self, s: AbstractSet[object]) -> bool: ...\n __hash__: None # type: ignore\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[Tuple[int, _T]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], start: int = ...) -> None: ...\n def __iter__(self) -> Iterator[Tuple[int, _T]]: ...\n def __next__(self) -> Tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass range(Sequence[int]):\n start: int\n stop: int\n step: int\n @overload\n def __init__(self, stop: SupportsIndex) -> None: ...\n @overload\n def __init__(\n self, start: SupportsIndex, stop: SupportsIndex, step: SupportsIndex = ...\n ) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, s: slice) -> range: ...\n def __repr__(self) -> str: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property(object):\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, fget: Callable[[Any], Any]) -> property: ...\n def setter(self, fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, obj: Any, type: type | None = ...) -> Any: ...\n def __set__(self, obj: Any, value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nclass _NotImplementedType(Any): # type: ignore\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\n\nif sys.version_info >= (3, 7):\n def breakpoint(*args: Any, **kws: Any) -> None: ...\n\ndef callable(__obj: object) -> bool: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\n_AnyStr_co = TypeVar(\"_AnyStr_co\", str, bytes, covariant=True)\n\nclass _PathLike(Protocol[_AnyStr_co]):\n def __fspath__(self) -> _AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__iterable: AsyncIterable[_T]) -> AsyncIterator[_T]: ...\n @overload\n async def anext(__i: AsyncIterator[_T]) -> _T: ...\n @overload\n async def anext(__i: AsyncIterator[_T], default: _VT) -> _T | _VT: ...\n\ndef delattr(__obj: Any, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\ndef eval(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\ndef exec(\n __source: str | bytes | CodeType,\n __globals: dict[str, Any] | None = ...,\n __locals: Mapping[str, Any] | None = ...,\n) -> Any: ...\n\nclass filter(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __function: None, __iterable: Iterable[_T | None]) -> None: ...\n @overload\n def __init__(\n self, __function: Callable[[_T], Any], __iterable: Iterable[_T]\n ) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\n@overload\ndef getattr(__o: object, name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None and bool\n# help mypy out in some tricky situations involving type context (aka bidirectional inference)\n@overload\ndef getattr(__o: object, name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(*args: Any, **kwds: Any) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: Any = ...) -> str: ...\n@overload\ndef iter(__iterable: Iterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: Any) -> Iterator[_T]: ...\n\nif sys.version_info >= (3, 10):\n def isinstance(\n __obj: object,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n def issubclass(\n __cls: type,\n __class_or_tuple: type\n | types.UnionType\n | Tuple[type | types.UnionType | Tuple[Any, ...], ...],\n ) -> bool: ...\n\nelse:\n def isinstance(\n __obj: object, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n def issubclass(\n __cls: type, __class_or_tuple: type | Tuple[type | Tuple[Any, ...], ...]\n ) -> bool: ...\n\ndef len(__obj: Sized) -> int: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S], Generic[_S]):\n @overload\n def __init__(self, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> None: ...\n @overload\n def __init__(\n self,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> None: ...\n def __iter__(self) -> Iterator[_S]: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef max(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef max(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef max(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsLessThanT,\n __arg2: SupportsLessThanT,\n *_args: SupportsLessThanT,\n key: None = ...,\n) -> SupportsLessThanT: ...\n@overload\ndef min(\n __arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsLessThan]\n) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ...\n) -> SupportsLessThanT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsLessThan]) -> _T: ...\n@overload\ndef min(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., default: _T\n) -> SupportsLessThanT | _T: ...\n@overload\ndef min(\n __iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsLessThan], default: _T2\n) -> _T1 | _T2: ...\n@overload\ndef next(__i: Iterator[_T]) -> _T: ...\n@overload\ndef next(__i: Iterator[_T], default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_OpenFile = Union[StrOrBytesPath, int]\n_Opener = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenTextMode = ...,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> TextIO: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: _OpenFile,\n mode: OpenBinaryMode,\n buffering: int = ...,\n encoding: None = ...,\n errors: None = ...,\n newline: None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: _OpenFile,\n mode: str,\n buffering: int = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes) -> int: ...\ndef print(\n *values: object,\n sep: str | None = ...,\n end: str | None = ...,\n file: SupportsWrite[str] | None = ...,\n flush: bool = ...,\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def pow(\n base: int, exp: int, mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: float, exp: float, mod: None = ...) -> float: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n\nelse:\n @overload\n def pow(\n __base: int, __exp: int, __mod: None = ...\n ) -> Any: ... # returns int or float depending on whether exp is non-negative\n @overload\n def pow(__base: int, __exp: int, __mod: int) -> int: ...\n @overload\n def pow(__base: float, __exp: float, __mod: None = ...) -> float: ...\n @overload\n def pow(__base: _SupportsPow2[_E, _T_co], __exp: _E) -> _T_co: ...\n @overload\n def pow(__base: _SupportsPow3[_E, _M, _T_co], __exp: _E, __mod: _M) -> _T_co: ...\n\nclass reversed(Iterator[_T], Generic[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __next__(self) -> _T: ...\n\ndef repr(__obj: object) -> str: ...\n@overload\ndef round(number: SupportsRound[Any]) -> int: ...\n@overload\ndef round(number: SupportsRound[Any], ndigits: None) -> int: ...\n@overload\ndef round(number: SupportsRound[_T], ndigits: SupportsIndex) -> _T: ...\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsLessThanT], *, key: None = ..., reverse: bool = ...\n) -> list[SupportsLessThanT]: ...\n@overload\ndef sorted(\n __iterable: Iterable[_T],\n *,\n key: Callable[[_T], SupportsLessThan],\n reverse: bool = ...,\n) -> list[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], start: _S) -> _T | _S: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_T]) -> _T | int: ...\n @overload\n def sum(__iterable: Iterable[_T], __start: _S) -> _T | _S: ...\n\nclass zip(Iterator[_T_co], Generic[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[Tuple[_T1]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]\n ) -> zip[Tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip[Tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[Tuple[Any, ...]]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __next__(self) -> _T_co: ...\n\ndef __import__(\n name: str,\n globals: Mapping[str, Any] | None = ...,\n locals: Mapping[str, Any] | None = ...,\n fromlist: Sequence[str] = ...,\n level: int = ...,\n) -> Any: ...\n\n# Actually the type of Ellipsis is , but since it's\n# not exposed anywhere under that name, we make it private here.\nclass ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException(object):\n args: Tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __str__(self) -> str: ...\n def __repr__(self) -> str: ...\n def with_traceback(self: _TBE, tb: TracebackType | None) -> _TBE: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: int\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\n_StandardError = Exception\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(_StandardError): ...\nclass AssertionError(_StandardError): ...\n\nclass AttributeError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n obj: object\n\nclass EOFError(_StandardError): ...\n\nclass ImportError(_StandardError):\n def __init__(\n self, *args: object, name: str | None = ..., path: str | None = ...\n ) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n\nclass LookupError(_StandardError): ...\nclass MemoryError(_StandardError): ...\n\nclass NameError(_StandardError):\n if sys.version_info >= (3, 10):\n name: str\n\nclass RuntimeError(_StandardError): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(_StandardError):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass TypeError(_StandardError): ...\nclass ValueError(_StandardError): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass NotImplementedError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\n", "/typeshed/stdlib/errno.pyi": "from typing import Mapping\n\nerrorcode: Mapping[int, str]\n\nEACCES: int\nEADDRINUSE: int\nEAGAIN: int\nEALREADY: int\nEBADF: int\nECONNABORTED: int\nECONNREFUSED: int\nECONNRESET: int\nEEXIST: int\nEHOSTUNREACH: int\nEINPROGRESS: int\nEINVAL: int\nEIO: int\nEISDIR: int\nENOBUFS: int\nENODEV: int\nENOENT: int\nENOMEM: int\nENOTCONN: int\nEOPNOTSUPP: int\nEPERM: int\nETIMEDOUT: int\n", - "/typeshed/stdlib/gc.pyi": "\"\"\"Control the garbage collector\"\"\"\n\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"Enable automatic garbage collection.\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"Disable automatic garbage collection.\n\n Heap memory can still be allocated,\n and garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"Run a garbage collection.\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"Get the number of bytes of heap RAM that are allocated.\n\n :return: The number of bytes allocated.\n\n This function is MicroPython extension.\n \"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"Get the number of bytes of available heap RAM, or -1 if this amount is not known.\n\n :return: The number of bytes free.\n\n This function is MicroPython extension.\n \"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"Query the additional GC allocation threshold.\n\n :return: The GC allocation threshold.\n\n This function is a MicroPython extension. CPython has a similar\n function - ``set_threshold()``, but due to different GC\n implementations, its signature and semantics are different.\n \"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"Set the additional GC allocation threshold.\n\n Normally, a collection is triggered only when a new allocation\n cannot be satisfied, i.e. on an out-of-memory (OOM) condition.\n If this function is called, in addition to OOM, a collection\n will be triggered each time after ``amount`` bytes have been\n allocated (in total, since the previous time such an amount of bytes\n have been allocated). ``amount`` is usually specified as less than the\n full heap size, with the intention to trigger a collection earlier than when the\n heap becomes exhausted, and in the hope that an early collection will prevent\n excessive memory fragmentation. This is a heuristic measure, the effect\n of which will vary from application to application, as well as\n the optimal value of the ``amount`` parameter.\n\n A value of -1 means a disabled allocation threshold.\n\n This function is a MicroPython extension. CPython has a similar\n function - ``set_threshold()``, but due to different GC\n implementations, its signature and semantics are different.\n\n :param amount: The number of bytes after which a garbage collection should be triggered.\n \"\"\"\n ...\n", - "/typeshed/stdlib/log.pyi": "\"\"\"Log data to your micro:bit V2.\"\"\"\n\nfrom typing import Literal, Mapping, Optional, Union, overload\n\nMILLISECONDS = 1\n\"\"\"Milliseconds timestamp format.\"\"\"\n\nSECONDS = 10\n\"\"\"Seconds timestamp format.\"\"\"\n\nMINUTES = 600\n\"\"\"Minutes timestamp format.\"\"\"\n\nHOURS = 36000\n\"\"\"Hours timestamp format.\"\"\"\n\nDAYS = 864000\n\"\"\"Days timestamp format.\"\"\"\n\ndef set_labels(\n *labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]] = SECONDS\n) -> None:\n \"\"\"Set up the log file header.\n\n Example: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\n Ideally this function should be called a single time, before any data is\n logged, to configure the data table header once.\n\n If a log file already exists when the program starts, or if this function\n is called multiple times, it will check the labels already defined in the\n log file. If this function call contains any new labels not already\n present, it will generate a new header row with the additional columns.\n\n By default the first column contains a timestamp for each row. The time\n unit can be selected via the timestamp argument.\n\n :param *labels: Any number of positional arguments, each corresponding to an entry in the log header.\n :param timestamp: Select the timestamp unit that will be automatically added as the first column in every row. Timestamp values can be one of ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` or ``None`` to disable the timestamp. The default value is ``log.SECONDS``.\n \"\"\"\n ...\n\n@overload\ndef add(\n data_dictionary: Optional[Mapping[str, Union[str, int, float]]],\n) -> None:\n \"\"\"Add a data row to the log by passing a dictionary of headers and values.\n\n Example: ``log.add({ 'temp': temperature() })``\n\n Each call to this function adds a row to the log.\n\n New labels not previously specified via the set_labels function, or by a\n previous call to this function, will trigger a new header entry to be added\n to the log with the extra labels.\n\n Labels previously specified and not present in a call to this function will\n be skipped with an empty value in the log row.\n\n :param data_dictionary: The data to log as a dictionary with a key for each header.\n \"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"Add a data row to the log using keyword arguments.\n\n Example: ``log.add(temp=temperature())``\n\n Each call to this function adds a row to the log.\n\n New labels not previously specified via the set_labels function, or by a\n previous call to this function, will trigger a new header entry to be added\n to the log with the extra labels.\n\n Labels previously specified and not present in a call to this function will\n be skipped with an empty value in the log row.\n \"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"Deletes the contents of the log, including headers.\n\n Example: ``log.delete()``\n\n To add the log headers again the ``set_labels`` function should to be called after this function.\n\n There are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\n and \u201cfast\u201d invalidates the data without removing it.\n\n :param full: ``True`` selects a \u201cfull\u201d erase and ``False`` selects the \u201cfast\u201d erase method.\n \"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Configure mirroring of the data logging activity to the serial output.\n\n Example: ``log.set_mirroring(True)``\n\n Serial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n :param serial: ``True`` enables mirroring data to the serial output.\n \"\"\"\n ...\n", + "/typeshed/stdlib/gc.pyi": "\"\"\"\u63a7\u7ba1\u8a18\u61b6\u9ad4\u56de\u6536\u5668\"\"\"\nfrom typing import overload\n\ndef enable() -> None:\n \"\"\"\u555f\u7528\u81ea\u52d5\u5316\u8a18\u61b6\u9ad4\u56de\u6536\u3002\"\"\"\n ...\n\ndef disable() -> None:\n \"\"\"\u505c\u7528\u81ea\u52d5\u5316\u8a18\u61b6\u9ad4\u56de\u6536\u3002\n\nHeap memory can still be allocated,\nand garbage collection can still be initiated manually using ``gc.collect``.\"\"\"\n\ndef collect() -> None:\n \"\"\"\u57f7\u884c\u81ea\u52d5\u8a18\u61b6\u9ad4\u7ba1\u7406\"\"\"\n ...\n\ndef mem_alloc() -> int:\n \"\"\"\u53d6\u5f97\u5df2\u5206\u914d\u7684\u5806\u7a4d RAM \u4f4d\u5143\u7d44\u6578\u3002 (\u8a18\u61b6\u9ad4\u5206\u914d)\n\n:return: The number of bytes allocated.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\ndef mem_free() -> int:\n \"\"\"\u53d6\u5f97\u53ef\u7528\u5806\u7a4d RAM \u7684\u4f4d\u5143\u7d44\uff0c\u5982\u679c\u6b64\u6578\u91cf\u672a\u77e5\uff0c\u5247\u70ba -1\u3002\n\n:return: The number of bytes free.\n\nThis function is MicroPython extension.\"\"\"\n ...\n\n@overload\ndef threshold() -> int:\n \"\"\"\u67e5\u8a62\u5176\u4ed6 GC \u5206\u914d\u95be\u503c\u3002\n\n:return: The GC allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\"\"\"\n ...\n\n@overload\ndef threshold(amount: int) -> None:\n \"\"\"\u8a2d\u5b9a\u5176\u4ed6 GC \u5206\u914d\u95be\u503c\u3002\n\nNormally, a collection is triggered only when a new allocation\ncannot be satisfied, i.e. on an out-of-memory (OOM) condition.\nIf this function is called, in addition to OOM, a collection\nwill be triggered each time after ``amount`` bytes have been\nallocated (in total, since the previous time such an amount of bytes\nhave been allocated). ``amount`` is usually specified as less than the\nfull heap size, with the intention to trigger a collection earlier than when the\nheap becomes exhausted, and in the hope that an early collection will prevent\nexcessive memory fragmentation. This is a heuristic measure, the effect\nof which will vary from application to application, as well as\nthe optimal value of the ``amount`` parameter.\n\nA value of -1 means a disabled allocation threshold.\n\nThis function is a MicroPython extension. CPython has a similar\nfunction - ``set_threshold()``, but due to different GC\nimplementations, its signature and semantics are different.\n\n:param amount: \u6703\u89f8\u767c\u8a18\u61b6\u9ad4\u81ea\u52d5\u7ba1\u7406\u7684\u4f4d\u5143\u6578\u8d85\u6a19\u503c\u3002\"\"\"\n ...", + "/typeshed/stdlib/log.pyi": "\"\"\"\u5c07\u8cc7\u6599\u8a18\u9304\u5230\u60a8\u7684 micro:bit V2\u3002\"\"\"\nfrom typing import Literal, Mapping, Optional, Union, overload\nMILLISECONDS = 1\n\"\"\"\u6beb\u79d2\u6642\u9593\u6233\u8a18\u683c\u5f0f\u3002\"\"\"\nSECONDS = 10\n\"\"\"\u79d2\u6642\u9593\u6233\u8a18\u683c\u5f0f\u3002\"\"\"\nMINUTES = 600\n\"\"\"\u5206\u9418\u6642\u9593\u6233\u8a18\u683c\u5f0f\"\"\"\nHOURS = 36000\n\"\"\"\u5c0f\u6642\u6642\u9593\u6233\u8a18\u683c\u5f0f\u3002 (\u5c0f\u6642)\"\"\"\nDAYS = 864000\n\"\"\"\u5929\u6642\u9593\u6233\u8a18\u683c\u5f0f\u3002\"\"\"\n\ndef set_labels(*labels: str, timestamp: Optional[Literal[1, 10, 36000, 864000]]=SECONDS) -> None:\n \"\"\"\u8a2d\u5b9a\u7d00\u9304\u6a94\u6848\u6a19\u982d\u3002\n\nExample: ``log.set_labels('X', 'Y', 'Z', timestamp=log.MINUTES)``\n\nIdeally this function should be called a single time, before any data is\nlogged, to configure the data table header once.\n\nIf a log file already exists when the program starts, or if this function\nis called multiple times, it will check the labels already defined in the\nlog file. If this function call contains any new labels not already\npresent, it will generate a new header row with the additional columns.\n\nBy default the first column contains a timestamp for each row. The time\nunit can be selected via the timestamp argument.\n\n:param *labels: (\u6a19\u7c64) Any number of positional arguments, each corresponding to an entry in the log header.\n:param timestamp: (\u6642\u9593\u6233\u8a18) Select the timestamp unit that will be automatically added as the first column in every row. Timestamp values can be one of ``log.MILLISECONDS``, ``log.SECONDS``, ``log.MINUTES``, ``log.HOURS``, ``log.DAYS`` or ``None`` to disable the timestamp. The default value is ``log.SECONDS``.\"\"\"\n ...\n\n@overload\ndef add(data_dictionary: Optional[Mapping[str, Union[str, int, float]]]) -> None:\n \"\"\"\u900f\u904e\u50b3\u905e\u5305\u542b\u6a19\u982d\u548c\u6578\u503c\u7684\u5b57\u5178\uff0c\u5c07\u8cc7\u6599\u5217\u65b0\u589e\u81f3\u7d00\u9304\u4e2d\u3002\n\nExample: ``log.add({ 'temp': temperature() })``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\n\n:param data_dictionary: (\u8cc7\u6599\u5b57\u5178) The data to log as a dictionary with a key for each header.\"\"\"\n ...\n\n@overload\ndef add(**kwargs: Union[str, int, float]) -> None:\n \"\"\"\u4f7f\u7528\u95dc\u9375\u5b57\u5f15\u6578\uff0c\u5c07\u8cc7\u6599\u5217\u65b0\u589e\u81f3\u7d00\u9304\u4e2d\u3002\n\nExample: ``log.add(temp=temperature())``\n\nEach call to this function adds a row to the log.\n\nNew labels not previously specified via the set_labels function, or by a\nprevious call to this function, will trigger a new header entry to be added\nto the log with the extra labels.\n\nLabels previously specified and not present in a call to this function will\nbe skipped with an empty value in the log row.\"\"\"\n ...\n\ndef delete(full=False):\n \"\"\"\u522a\u9664\u7d00\u9304\u7684\u5167\u5bb9\uff0c\u5305\u62ec\u6a19\u984c\u3002\n\nExample: ``log.delete()``\n\nTo add the log headers again the ``set_labels`` function should to be called after this function.\n\nThere are two erase modes; \u201cfull\u201d completely removes the data from the physical storage,\nand \u201cfast\u201d invalidates the data without removing it.\n\n:param full: ``True`` selects a \u201cfull\u201d erase and ``False`` selects the \u201cfast\u201d erase method.\"\"\"\n ...\n\ndef set_mirroring(serial: bool):\n \"\"\"Configure mirroring of the data logging activity to the serial output.\n\nExample: ``log.set_mirroring(True)``\n\nSerial mirroring is disabled by default. When enabled, it will print to serial each row logged into the log file.\n\n:param serial: ``True`` enables mirroring data to the serial output.\"\"\"\n ...", "/typeshed/stdlib/love.pyi": "def badaboom() -> None: ...\n", - "/typeshed/stdlib/machine.pyi": "\"\"\"Low-level utilities.\n\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"Get a byte string with a unique identifier of a board.\n\n Example: ``machine.unique_id()``\n\n :return: An identifier that varies from one board instance to another.\n \"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset the device in a manner similar to pushing the external RESET button.\n\n Example: ``machine.reset()``\n \"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"Get the CPU frequency in hertz.\n\n Example: ``machine.freq()``\n\n :return: The CPU frequency.\n \"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"Disable interrupt requests.\n\n Example: ``interrupt_state = machine.disable_irq()``\n\n :return: the previous IRQ state which should be considered an opaque value\n\n The return value should be passed to the ``enable_irq`` function to restore\n interrupts to their original state.\n \"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"Re-enable interrupt requests.\n\n Example: ``machine.enable_irq(interrupt_state)``\n\n :param state: The value that was returned from the most recent call to the ``disable_irq`` function.\n \"\"\"\n ...\n\ndef time_pulse_us(\n pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int = 1000000\n) -> int:\n \"\"\"Time a pulse on a pin.\n\n Example: ``time_pulse_us(pin0, 1)``\n\n If the current input value of the pin is different to ``pulse_level``, the\n function first waits until the pin input becomes equal to\n ``pulse_level``, then times the duration that the pin is equal to\n ``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\n starts straight away.\n\n :param pin: The pin to use\n :param pulse_level: 0 to time a low pulse or 1 to time a high pulse\n :param timeout_us: A microsecond timeout\n :return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\n \"\"\"\n ...\n\nclass mem:\n \"\"\"The class for the ``mem8``, ``mem16`` and ``mem32`` memory views.\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"Access a value from memory.\n\n :param address: The memory address.\n :return: The value at that address as an integer.\n \"\"\"\n ...\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"Set a value at the given address.\n\n :param address: The memory address.\n :param value: The integer value to set.\n \"\"\"\n ...\n\nmem8: mem\n\"\"\"8-bit (byte) view of memory.\"\"\"\n\nmem16: mem\n\"\"\"16-bit view of memory.\"\"\"\n\nmem32: mem\n\"\"\"32-bit view of memory.\"\"\"\n", - "/typeshed/stdlib/math.pyi": "\"\"\"Mathematical functions.\n\"\"\"\n\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"Calculate the inverse cosine.\n\n Example: ``math.acos(1)``\n\n :param x: A number\n :return: The inverse cosine of ``x``\n \"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"Calculate the inverse sine.\n\n Example: ``math.asin(0)``\n\n :param x: A number\n :return: The inverse sine of ``x``\n \"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"Calculate the inverse tangent.\n\n Example: ``math.atan(0)``\n\n :param x: A number\n :return: The inverse tangent of ``x``\n \"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"Calculate the principal value of the inverse tangent of ``y/x``.\n\n Example: ``math.atan2(0, -1)``\n\n :param y: A number\n :param x: A number\n :return: The principal value of the inverse tangent of ``y/x``\n \"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"Round a number towards positive infinity.\n\n Example: ``math.ceil(0.1)``\n\n :param x: A number\n :return: ``x`` rounded towards positive infinity.\n \"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"Calculate ``x`` with the sign of ``y``.\n\n Example: ``math.copysign(1, -1)``\n\n :param x: A number\n :param y: The source of the sign for the return value\n :return: ``x`` with the sign of ``y``\n \"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"Calculate the cosine of ``x``.\n\n Example: ``math.cos(0)``\n\n :param x: A number\n :return: The cosine of ``x``\n \"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"Convert radians to degrees.\n\n Example: ``math.degrees(2 * math.pi)``\n\n :param x: A value in radians\n :return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"Calculate the exponential of ``x``.\n\n Example: ``math.exp(1)``\n\n :param x: A number\n :return: The exponential of ``x``.\n \"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"Return the absolute value of ``x``.\n\n Example: ``math.fabs(-0.1)``\n\n :param x: A number\n :return: The absolute value of ``x``\n \"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"Round a number towards negative infinity.\n\n Example: ``math.floor(0.9)``\n\n :param x: A number\n :return: ``x`` rounded towards negative infinity.\n \"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"Calculate the remainder of ``x/y``.\n\n Example: ``math.fmod(10, 3)``\n\n :param x: The numerator\n :param y: The denominator\n \"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"Decomposes a floating-point number into its mantissa and exponent.\n\n Example: ``mantissa, exponent = math.frexp(2)``\n\n The returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\n exactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\n the relation ``0.5 <= abs(m) < 1`` holds.\n\n :param x: A floating-point number\n :return: A tuple of length two containing its mantissa then exponent\n \"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"Check if a value is finite.\n\n Example: ``math.isfinite(float('inf'))``\n\n :param x: A number.\n :return: ``True`` if ``x`` is finite, ``False`` otherwise.\n \"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"Check if a value is infinite.\n\n Example: ``math.isinf(float('-inf'))``\n\n :param x: A number.\n :return: ``True`` if ``x`` is infinite, ``False`` otherwise.\n \"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"Check if a value is not-a-number (NaN).\n\n Example: ``math.isnan(float('nan'))``\n\n :param x: A number\n :return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"Calculate ``x * (2**exp)``.\n\n Example: ``math.ldexp(0.5, 2)``\n\n :param x: A number\n :param exp: Integer exponent\n :return: ``x * (2**exp)``\n \"\"\"\n ...\n\ndef log(x: float, base: float = e) -> float:\n \"\"\"Calculate the logarithm of ``x`` to the given base (defaults to natural logorithm).\n\n Example: ``math.log(math.e)``\n\n With one argument, return the natural logarithm of x (to base e).\n\n With two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n :param x: A number\n :param base: The base to use\n :return: The natural logarithm of ``x``\n \"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"Calculate the fractional and integral parts of ``x``.\n\n Example: ``fractional, integral = math.modf(1.5)``\n\n :param x: A number\n :return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\n Both the fractional and integral values have the same sign as ``x``.\n \"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"Returns ``x`` to the power of ``y``.\n\n Example: ``math.pow(4, 0.5)``\n\n :param x: A number\n :param y: The exponent\n :return: ``x`` to the power of ``y``\n \"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"Convert a degrees to radians.\n\n Example: ``math.radians(360)``\n\n :param x: A value in degrees\n :return: The value converted to radians\n \"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"Calculate the sine of ``x``.\n\n Example: ``math.sin(math.pi/2)``\n\n :param x: A number\n :return: The sine of ``x``\n \"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"Calculate the square root of ``x``.\n\n Example: ``math.sqrt(4)``\n\n :param x: A number\n :return: The square root of ``x``\n \"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"Calculate the tangent of ``x``.\n\n Example: ``math.tan(0)``\n\n :param x: A number\n :return: The tangent of ``x``.\n \"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"Round a number towards 0.\n\n Example: ``math.trunc(-0.9)``\n\n :param x: A number\n :return: ``x`` rounded towards zero.\n \"\"\"\n ...\n\ne: float\n\"\"\"Base of the natural logarithm\"\"\"\n\npi: float\n\"\"\"The ratio of a circle's circumference to its diameter\"\"\"\n", - "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython internals.\"\"\"\n\nfrom typing import Any, TypeVar, overload\n\n_T = TypeVar(\"_T\")\n\ndef const(expr: _T) -> _T:\n \"\"\"Used to declare that the expression is a constant so that the compiler can\n optimise it.\n\n The use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\n Constants declared this way are still accessible as global variables from\n outside the module they are declared in. On the other hand, if a constant\n begins with an underscore then it is hidden, it is not available as a\n global variable, and does not take up any memory during execution.\n\n :param expr: A constant expression.\n \"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"Get the current optimisation level for the compilation of scripts.\n\n Example: ``micropython.opt_level()``\n\n The optimisation level controls the following compilation features:\n\n - Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n - Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n - Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n :return: An integer representing the current level.\n \"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"Sets the optimisation level for subsequent compilation of scripts.\n\n Example: ``micropython.opt_level(1)``\n\n The optimisation level controls the following compilation features:\n\n - Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n - Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n - Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n The default optimisation level is usually level 0.\n\n :param level: An integer optimisation level.\n \"\"\"\n ...\n\ndef mem_info(verbose: Any = None) -> None:\n \"\"\"Print information about currently used memory.\n\n Example: ``micropython.mem_info()``\n\n :param verbose: If the ``verbose`` argument is given then extra information is printed.\n \"\"\"\n ...\n\ndef qstr_info(verbose: Any = None) -> None:\n \"\"\"Print information about currently interned strings.\n\n Example: ``micropython.qstr_info()``\n\n :param verbose: If the ``verbose`` argument is given then extra information is printed.\n\n The information that is printed is implementation dependent, but currently\n includes the number of interned strings and the amount of RAM they use. In\n verbose mode it prints out the names of all RAM-interned strings.\n \"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"Return an integer representing the current amount of stack that is being\n used.\n\n Example: ``micropython.stack_use()``\n\n The absolute value of this is not particularly useful, rather it\n should be used to compute differences in stack usage at different points.\n\n :return: An integer representing current stack use.\n \"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"Lock the heap.\n\n Example: ``micropython.heap_lock()``\n\n When locked no memory allocation can occur and a ``MemoryError`` will be\n raised if any heap allocation is attempted.\n \"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"Unlock the heap.\n\n Example: ``micropython.heap_unlock()``\n\n When locked no memory allocation can occur and a ``MemoryError`` will be\n raised if any heap allocation is attempted.\n \"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"Set the character that will raise a ``KeyboardInterrupt`` exception.\n\n Example: ``micropython.kbd_intr(-1)``\n\n :param chr: Character code to raise the interrupt or -1 to disable capture of Ctrl-C.\n\n By default this is set to 3 during script execution, corresponding to Ctrl-C.\n Passing -1 to this function will disable capture of Ctrl-C, and passing 3\n will restore it.\n\n This function can be used to prevent the capturing of Ctrl-C on the\n incoming stream of characters that is usually used for the REPL, in case\n that stream is used for other purposes.\n \"\"\"\n ...\n", - "/typeshed/stdlib/music.pyi": "\"\"\"Create and play melodies.\n\"\"\"\nfrom typing import Optional, Tuple, Union, List\n\nfrom .microbit import MicroBitDigitalPin, pin0\n\nDADADADUM: Tuple[str, ...]\n\"\"\"Melody: the opening to Beethoven\u2019s 5th Symphony in C minor.\"\"\"\n\nENTERTAINER: Tuple[str, ...]\n\"\"\"Melody: the opening fragment of Scott Joplin\u2019s Ragtime classic \u201cThe Entertainer\u201d.\"\"\"\n\nPRELUDE: Tuple[str, ...]\n\"\"\"Melody: the opening of the first Prelude in C Major of J.S.Bach\u2019s 48 Preludes and Fugues.\"\"\"\n\nODE: Tuple[str, ...]\n\"\"\"Melody: the \u201cOde to Joy\u201d theme from Beethoven\u2019s 9th Symphony in D minor.\"\"\"\n\nNYAN: Tuple[str, ...]\n\"\"\"Melody: the Nyan Cat theme (http://www.nyan.cat/).\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\n\nRINGTONE: Tuple[str, ...]\n\"\"\"Melody: something that sounds like a mobile phone ringtone.\n\nTo be used to indicate an incoming message.\n\"\"\"\n\nFUNK: Tuple[str, ...]\n\"\"\"Melody: a funky bass line for secret agents and criminal masterminds.\"\"\"\n\nBLUES: Tuple[str, ...]\n\"\"\"Melody: a boogie-woogie 12-bar blues walking bass.\"\"\"\n\nBIRTHDAY: Tuple[str, ...]\n\"\"\"Melody: \u201cHappy Birthday to You\u2026\u201d\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\n\nWEDDING: Tuple[str, ...]\n\"\"\"Melody: the bridal chorus from Wagner\u2019s opera \u201cLohengrin\u201d.\"\"\"\n\nFUNERAL: Tuple[str, ...]\n\"\"\"Melody: the \u201cfuneral march\u201d otherwise known as Fr\u00e9d\u00e9ric Chopin\u2019s Piano Sonata No. 2 in B\u266d minor, Op. 35.\"\"\"\n\nPUNCHLINE: Tuple[str, ...]\n\"\"\"Melody: a fun fragment that signifies a joke has been made.\"\"\"\n\nPYTHON: Tuple[str, ...]\n\"\"\"Melody: John Philip Sousa\u2019s march \u201cLiberty Bell\u201d aka, the theme for \u201cMonty Python\u2019s Flying Circus\u201d (after which the Python programming language is named).\"\"\"\n\nBADDY: Tuple[str, ...]\n\"\"\"Melody: silent movie era entrance of a baddy.\"\"\"\n\nCHASE: Tuple[str, ...]\n\"\"\"Melody: silent movie era chase scene.\"\"\"\n\nBA_DING: Tuple[str, ...]\n\"\"\"Melody: a short signal to indicate something has happened.\"\"\"\n\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"Melody: a very sad trombone.\"\"\"\n\nJUMP_UP: Tuple[str, ...]\n\"\"\"Melody: for use in a game, indicating upward movement.\"\"\"\n\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"Melody: for use in a game, indicating downward movement.\"\"\"\n\nPOWER_UP: Tuple[str, ...]\n\"\"\"Melody: a fanfare to indicate an achievement unlocked.\"\"\"\n\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"Melody: a sad fanfare to indicate an achievement lost.\"\"\"\n\ndef set_tempo(ticks: int = 4, bpm: int = 120) -> None:\n \"\"\"Sets the approximate tempo for playback.\n\n Example: ``music.set_tempo(bpm=120)``\n\n :param ticks: The number of ticks constituting a beat.\n :param bpm: An integer determining how many beats per minute.\n\n Suggested default values allow the following useful behaviour:\n\n - music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n - music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n - music.set_tempo(bpm=180) \u2013 just change the tempo\n\n To work out the length of a tick in milliseconds is very simple arithmetic:\n 60000/bpm/ticks_per_beat. For the default values that\u2019s\n 60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\n \"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"Gets the current tempo as a tuple of integers: ``(ticks, bpm)``.\n\n Example: ``ticks, beats = music.get_tempo()``\n\n :return: The temp as a tuple with two integer values, the ticks then the beats per minute.\n \"\"\"\n ...\n\ndef play(\n music: Union[str, List[str], Tuple[str, ...]],\n pin: Optional[MicroBitDigitalPin] = pin0,\n wait: bool = True,\n loop: bool = False,\n) -> None:\n \"\"\"Plays music.\n\n Example: ``music.play(music.NYAN)``\n\n :param music: music specified in `a special notation `_\n :param pin: the output pin for use with an external speaker (default ``pin0``), ``None`` for no sound.\n :param wait: If ``wait`` is set to ``True``, this function is blocking.\n :param loop: If ``loop`` is set to ``True``, the tune repeats until ``stop`` is called or the blocking call is interrupted.\n\n Many built-in melodies are defined in this module.\n \"\"\"\n ...\n\ndef pitch(\n frequency: int,\n duration: int = -1,\n pin: Optional[MicroBitDigitalPin] = pin0,\n wait: bool = True,\n) -> None:\n \"\"\"Play a note.\n\n Example: ``music.pitch(185, 1000)``\n\n :param frequency: An integer frequency\n :param duration: A millisecond duration. If negative then sound is continuous until the next call or a call to ``stop``.\n :param pin: Optional output pin (default ``pin0``).\n :param wait: If ``wait`` is set to ``True``, this function is blocking.\n\n For example, if the frequency is set to 440 and the length to\n 1000 then we hear a standard concert A for one second.\n\n You can only play one pitch on one pin at any one time.\n \"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin] = pin0) -> None:\n \"\"\"Stops all music playback on the built-in speaker and any pin outputting sound.\n\n Example: ``music.stop()``\n\n :param pin: An optional argument can be provided to specify a pin, e.g. ``music.stop(pin1)``.\n \"\"\"\n\ndef reset() -> None:\n \"\"\"Resets ticks, bpm, duration and octave to their default values.\n\n Example: ``music.reset()``\n\n Values:\n - ``ticks = 4``\n - ``bpm = 120``\n - ``duration = 4``\n - ``octave = 4``\n \"\"\"\n ...\n", - "/typeshed/stdlib/neopixel.pyi": "\"\"\"Individually addressable RGB and RGBW LED strips.\n\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int = 3) -> None:\n \"\"\"Initialise a new strip of neopixel LEDs controlled via a pin.\n\n Example: ``np = neopixel.NeoPixel(pin0, 8)``\n\n To support RGBW neopixels, a third argument can be passed to\n ``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\n For RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\n Each pixel is addressed by a position (starting from 0). Neopixels are\n given RGB (red, green, blue) / RGBW (red, green, blue, white) values\n between 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\n white. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\n See `the online docs `_ for warnings and other advice.\n\n :param pin: The pin controlling the neopixel strip.\n :param n: The number of neopixels in the strip.\n :param bpp: Bytes per pixel. For RGBW neopixel support, pass 4 rather than the default of 3 for RGB and GRB.\n \"\"\"\n ...\n def clear(self) -> None:\n \"\"\"Clear all the pixels.\n\n Example: ``np.clear()``\n \"\"\"\n ...\n def show(self) -> None:\n \"\"\"Show the pixels.\n\n Example: ``np.show()``\n\n Must be called for any updates to become visible.\n \"\"\"\n ...\n def write(self) -> None:\n \"\"\"Show the pixels (micro:bit V2 only).\n\n Example: ``np.write()``\n\n Must be called for any updates to become visible.\n\n Equivalent to ``show``.\n \"\"\"\n ...\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"Colour all pixels a given RGB/RGBW value (micro:bit V2 only).\n\n Example: ``np.fill((0, 0, 255))``\n\n :param colour: A tuple of the same length as the number of bytes per pixel (bpp).\n\n Use in conjunction with ``show()`` to update the neopixels.\n \"\"\"\n ...\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"Set a pixel colour.\n\n Example: ``np[0] = (255, 0, 0)``\n\n :param key: The pixel number.\n :param value: The colour.\n \"\"\"\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"Get a pixel colour.\n\n Example: ``r, g, b = np[0]``\n\n :param key: The pixel number.\n :return: The colour tuple.\n \"\"\"\n def __len__(self) -> int:\n \"\"\"Get length of this pixel strip.\n\n Example: ``len(np)``\n \"\"\"\n", - "/typeshed/stdlib/os.pyi": "\"\"\"Access the file system.\n\"\"\"\n\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"List files.\n\n Example: ``os.listdir()``\n\n :return: A list of the names of all the files contained within the local\n persistent on-device file system.\n \"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"Remove (delete) a file.\n\n Example: ``os.remove('data.txt')``\n\n :param filename: The file to delete.\n\n If the file does not exist an ``OSError`` exception will occur.\n \"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"Returns the size of a file.\n\n Example: ``os.size('data.txt')``\n\n :param filename: The file\n :return: The size in bytes.\n\n If the file does not exist an ``OSError`` exception will occur.\n \"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"Result of ``os.uname()``\"\"\"\n sysname: str\n \"\"\"Operating system name.\"\"\"\n\n nodename: str\n \"\"\"Name of machine on network (implementation-defined).\"\"\"\n\n release: str\n \"\"\"Operating system release.\"\"\"\n \n version: str\n \"\"\"Operating system version.\"\"\"\n \n machine: str\n \"\"\"Hardware identifier.\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"Returns information identifying the current operating system.\n\n Example: ``os.uname()``\n\n The return value is an object with five attributes:\n\n - ``sysname`` - operating system name\n - ``nodename`` - name of machine on network (implementation-defined)\n - ``release`` - operating system release\n - ``version`` - operating system version\n - ``machine`` - hardware identifier\n\n There is no underlying operating system in MicroPython. As a result the\n information returned by the ``uname`` function is mostly useful for\n versioning details.\n \"\"\"\n ...\n", + "/typeshed/stdlib/machine.pyi": "\"\"\"\u4f4e\u968e\u516c\u7528\u7a0b\u5f0f\u3002\"\"\"\nfrom typing import Any\nfrom .microbit import MicroBitDigitalPin\n\ndef unique_id() -> bytes:\n \"\"\"\u53d6\u5f97\u5177\u6709\u958b\u767c\u677f\u7684\u552f\u4e00\u8b58\u5225\u78bc\u4e4b\u4f4d\u5143\u7d44\u5b57\u4e32\u3002\n\nExample: ``machine.unique_id()``\n\n:return: An identifier that varies from one board instance to another.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"\u4ee5\u985e\u4f3c\u65bc\u6309\u4e0b\u5916\u90e8 RESET \u6309\u9375\u7684\u65b9\u5f0f\u91cd\u7f6e\u88dd\u7f6e\u3002\n\nExample: ``machine.reset()``\"\"\"\n ...\n\ndef freq() -> int:\n \"\"\"\u53d6\u5f97\u4ee5\u8d6b\u8332\u70ba\u55ae\u4f4d\u7684 CPU \u983b\u7387\u3002 (\u983b\u7387)\n\nExample: ``machine.freq()``\n\n:return: The CPU frequency.\"\"\"\n ...\n\ndef disable_irq() -> Any:\n \"\"\"\u7981\u7528\u4e2d\u65b7\u8acb\u6c42\u3002 (\u7981\u7528 irq)\n\nExample: ``interrupt_state = machine.disable_irq()``\n\n:return: the previous IRQ state which should be considered an opaque value\n\nThe return value should be passed to the ``enable_irq`` function to restore\ninterrupts to their original state.\"\"\"\n ...\n\ndef enable_irq(state: Any) -> None:\n \"\"\"\u91cd\u65b0\u555f\u7528\u4e2d\u65b7\u8acb\u6c42\u3002 (\u555f\u7528 irq)\n\nExample: ``machine.enable_irq(interrupt_state)``\n\n:param state: \u5f9e\u6700\u8fd1\u4e00\u6b21\u8abf\u7528 ``disable_irq`` \u51fd\u5f0f\u50b3\u56de\u7684\u503c\u3002\"\"\"\n ...\n\ndef time_pulse_us(pin: MicroBitDigitalPin, pulse_level: int, timeout_us: int=1000000) -> int:\n \"\"\"\u8a08\u6642\u5f15\u8173\u4e0a\u7684\u8108\u885d\u3002\n\nExample: ``time_pulse_us(pin0, 1)``\n\nIf the current input value of the pin is different to ``pulse_level``, the\nfunction first waits until the pin input becomes equal to\n``pulse_level``, then times the duration that the pin is equal to\n``pulse_level``. If the pin is already equal to ``pulse_level`` then timing\nstarts straight away.\n\n:param pin: (\u5f15\u8173) \u8981\u4f7f\u7528\u7684\u5f15\u8173\n:param pulse_level: 0 \u5230\u8a08\u6642\u4f4e\u8108\u885d\u6216 1 \u5230\u8a08\u6642\u9ad8\u8108\u885d\n:param timeout_us: \u5fae\u79d2\u903e\u6642\n:return: The duration of the pulse in microseconds, or -1 for a timeout waiting for the level to match ``pulse_level``, or -2 on timeout waiting for the pulse to end\"\"\"\n ...\n\nclass mem:\n \"\"\"``mem8``\u3001``mem16`` \u548c ``mem32`` \u8a18\u61b6\u9ad4\u6aa2\u8996\u7684\u985e\u5225\u3002\"\"\"\n\n def __getitem__(self, address: int) -> int:\n \"\"\"\u5f9e\u8a18\u61b6\u9ad4\u4e2d\u5b58\u53d6\u4e00\u500b\u503c\u3002\n\n:param address: \u8a18\u61b6\u9ad4\u4f4d\u5740\u3002\n:return: The value at that address as an integer.\"\"\"\n ...\n\n def __setitem__(self, address: int, value: int) -> None:\n \"\"\"\u5728\u6307\u5b9a\u4f4d\u5740\u8a2d\u5b9a\u4e00\u500b\u503c\u3002\n\n:param address: \u8a18\u61b6\u9ad4\u4f4d\u5740\u3002\n:param value: \u8981\u8a2d\u5b9a\u7684\u6574\u6578\u503c\u3002\"\"\"\n ...\nmem8: mem\n\"\"\"8 \u4f4d\u5143 (\u4f4d\u5143\u7d44) \u7684\u8a18\u61b6\u9ad4\u6aa2\u8996\u3002\"\"\"\nmem16: mem\n\"\"\"16 \u4f4d\u5143\u7684\u8a18\u61b6\u9ad4\u6aa2\u8996\u3002\"\"\"\nmem32: mem\n\"\"\"32 \u4f4d\u5143\u7684\u8a18\u61b6\u9ad4\u6aa2\u8996\u3002\"\"\"", + "/typeshed/stdlib/math.pyi": "\"\"\"\u6578\u5b78\u51fd\u5f0f\u3002\"\"\"\nfrom typing import Tuple\n\ndef acos(x: float) -> float:\n \"\"\"\u8a08\u7b97\u53cd\u9918\u5f26\u3002\n\nExample: ``math.acos(1)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The inverse cosine of ``x``\"\"\"\n ...\n\ndef asin(x: float) -> float:\n \"\"\"\u8a08\u7b97\u53cd\u6b63\u5f26\u3002\n\nExample: ``math.asin(0)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The inverse sine of ``x``\"\"\"\n ...\n\ndef atan(x: float) -> float:\n \"\"\"\u8a08\u7b97\u53cd\u6b63\u5207\u3002\n\nExample: ``math.atan(0)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The inverse tangent of ``x``\"\"\"\n ...\n\ndef atan2(y: float, x: float) -> float:\n \"\"\"\u8a08\u7b97 ``y/x`` \u7684\u53cd\u6b63\u5207\u4e3b\u503c\u3002\n\nExample: ``math.atan2(0, -1)``\n\n:param y: \u4e00\u500b\u6578\u5b57\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The principal value of the inverse tangent of ``y/x``\"\"\"\n ...\n\ndef ceil(x: float) -> float:\n \"\"\"\u5c07\u6578\u5b57\u5411\u6b63\u7121\u9650\u5927\u6368\u5165\u3002\n\nExample: ``math.ceil(0.1)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: ``x`` rounded towards positive infinity.\"\"\"\n ...\n\ndef copysign(x: float, y: float) -> float:\n \"\"\"\u7528 ``y`` \u7684\u7b26\u865f\u8a08\u7b97 ``x``\u3002\n\nExample: ``math.copysign(1, -1)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:param y: \u50b3\u56de\u503c\u7684\u7b26\u865f\u4f86\u6e90\n:return: ``x`` with the sign of ``y``\"\"\"\n ...\n\ndef cos(x: float) -> float:\n \"\"\"\u8a08\u7b97 ``x`` \u7684\u9918\u5f26\u3002\n\nExample: ``math.cos(0)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The cosine of ``x``\"\"\"\n ...\n\ndef degrees(x: float) -> float:\n \"\"\"\u5c07\u5f27\u5ea6 (Radians) \u8f49\u63db\u70ba\u5ea6 (Degrees) (\u5ea6)\n\nExample: ``math.degrees(2 * math.pi)``\n\n:param x: \u55ae\u4f4d\u70ba\u5f27\u5ea6\u7684\u6578\u503c\n:return: The value converted to degrees\"\"\"\n ...\n\ndef exp(x: float) -> float:\n \"\"\"\u8a08\u7b97 ``x`` \u7684\u6307\u6578\u3002 (\u6307\u6578)\n\nExample: ``math.exp(1)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The exponential of ``x``.\"\"\"\n ...\n\ndef fabs(x: float) -> float:\n \"\"\"\u50b3\u56de ``x`` \u7684\u7d55\u5c0d\u503c\u3002\n\nExample: ``math.fabs(-0.1)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The absolute value of ``x``\"\"\"\n ...\n\ndef floor(x: float) -> int:\n \"\"\"\u5c07\u6578\u5b57\u5411\u8ca0\u7121\u9650\u5927\u6368\u5165\u3002\n\nExample: ``math.floor(0.9)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: ``x`` rounded towards negative infinity.\"\"\"\n ...\n\ndef fmod(x: float, y: float) -> float:\n \"\"\"\u8a08\u7b97 ``x/y`` \u7684\u9918\u6578\u3002\n\nExample: ``math.fmod(10, 3)``\n\n:param x: \u5206\u5b50\n:param y: \u5206\u6bcd\"\"\"\n ...\n\ndef frexp(x: float) -> Tuple[float, int]:\n \"\"\"\u5c07\u4e00\u500b\u6d6e\u9ede\u6578\u5206\u89e3\u70ba\u5176\u5c3e\u6578\u548c\u6307\u6578\u3002\n\nExample: ``mantissa, exponent = math.frexp(2)``\n\nThe returned value is the tuple ``(m, e)`` such that ``x == m * 2**e``\nexactly. If ``x == 0`` then the function returns ``(0.0, 0)``, otherwise\nthe relation ``0.5 <= abs(m) < 1`` holds.\n\n:param x: \u4e00\u500b\u6d6e\u9ede\u6578\n:return: A tuple of length two containing its mantissa then exponent\"\"\"\n ...\n\ndef isfinite(x: float) -> bool:\n \"\"\"\u6aa2\u67e5\u503c\u662f\u5426\u70ba\u6709\u9650\u3002\n\nExample: ``math.isfinite(float('inf'))``\n\n:param x: \u4e00\u500b\u6578\u5b57\u3002\n:return: ``True`` if ``x`` is finite, ``False`` otherwise.\"\"\"\n ...\n\ndef isinf(x: float) -> bool:\n \"\"\"\u6aa2\u67e5\u503c\u662f\u5426\u70ba\u7121\u9650\u3002\n\nExample: ``math.isinf(float('-inf'))``\n\n:param x: \u4e00\u500b\u6578\u5b57\u3002\n:return: ``True`` if ``x`` is infinite, ``False`` otherwise.\"\"\"\n ...\n\ndef isnan(x: float) -> bool:\n \"\"\"\u6aa2\u67e5\u503c\u662f\u5426\u70ba\u975e\u6578\u5b57 (NaN)\u3002\n\nExample: ``math.isnan(float('nan'))``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: ``True`` if ``x`` is not-a-number (NaN), ``False`` otherwise.\"\"\"\n ...\n\ndef ldexp(x: float, exp: int) -> float:\n \"\"\"\u8a08\u7b97 ``x * (2**exp)``\u3002\n\nExample: ``math.ldexp(0.5, 2)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:param exp: (\u6307\u6578) \u6574\u6578\u6307\u6578\n:return: ``x * (2**exp)``\"\"\"\n ...\n\ndef log(x: float, base: float=e) -> float:\n \"\"\"\u8a08\u7b97\u6307\u5b9a\u5e95\u6578 ``x`` \u7684\u5c0d\u6578 (\u9810\u8a2d\u70ba\u81ea\u7136\u5c0d\u6578)\u3002\n\nExample: ``math.log(math.e)``\n\nWith one argument, return the natural logarithm of x (to base e).\n\nWith two arguments, return the logarithm of x to the given base, calculated as ``log(x)/log(base)``.\n\n:param x: \u4e00\u500b\u6578\u5b57\n:param base: \u8981\u4f7f\u7528\u7684\u5e95\u6578\n:return: The natural logarithm of ``x``\"\"\"\n ...\n\ndef modf(x: float) -> Tuple[float, float]:\n \"\"\"\u8a08\u7b97 ``x`` \u7684\u5c0f\u6578\u90e8\u5206\u548c\u6574\u6578\u90e8\u5206\u3002\n\nExample: ``fractional, integral = math.modf(1.5)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: A tuple of two floats representing the fractional then integral parts of ``x``.\n\nBoth the fractional and integral values have the same sign as ``x``.\"\"\"\n ...\n\ndef pow(x: float, y: float) -> float:\n \"\"\"\u50b3\u56de ``x`` \u7684 ``y`` \u6b21\u65b9\u3002\n\nExample: ``math.pow(4, 0.5)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:param y: \u6307\u6578\n:return: ``x`` to the power of ``y``\"\"\"\n ...\n\ndef radians(x: float) -> float:\n \"\"\"\u5c07\u89d2\u5ea6\u8f49\u63db\u70ba\u5f27\u5ea6\u3002\n\nExample: ``math.radians(360)``\n\n:param x: \u4ee5\u89d2\u5ea6\u70ba\u55ae\u4f4d\u7684\u503c\n:return: The value converted to radians\"\"\"\n ...\n\ndef sin(x: float) -> float:\n \"\"\"\u8a08\u7b97 ``x`` \u7684\u6b63\u5f26\u3002\n\nExample: ``math.sin(math.pi/2)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The sine of ``x``\"\"\"\n ...\n\ndef sqrt(x: float) -> float:\n \"\"\"\u8a08\u7b97 ``x`` \u7684\u5e73\u65b9\u6839\u3002\n\nExample: ``math.sqrt(4)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The square root of ``x``\"\"\"\n ...\n\ndef tan(x: float) -> float:\n \"\"\"\u8a08\u7b97 ``x`` \u7684\u6b63\u5207\u3002\n\nExample: ``math.tan(0)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: The tangent of ``x``.\"\"\"\n ...\n\ndef trunc(x: float) -> int:\n \"\"\"\u5c07\u6578\u5b57\u5411 0 \u6368\u5165\u3002\n\nExample: ``math.trunc(-0.9)``\n\n:param x: \u4e00\u500b\u6578\u5b57\n:return: ``x`` rounded towards zero.\"\"\"\n ...\ne: float\n\"\"\"\u81ea\u7136\u5c0d\u6578\u7684\u5e95\u6578\"\"\"\npi: float\n\"\"\"\u5713\u7684\u5468\u9577\u8207\u5176\u76f4\u5f91\u7684\u6bd4\u7387\"\"\"", + "/typeshed/stdlib/micropython.pyi": "\"\"\"MicroPython \u5167\u90e8\u3002\"\"\"\nfrom typing import Any, TypeVar, overload\n_T = TypeVar('_T')\n\ndef const(expr: _T) -> _T:\n \"\"\"\u7528\u65bc\u5ba3\u544a\u904b\u7b97\u5f0f\u70ba\u5e38\u6578\uff0c\u4ee5\u4fbf\u7de8\u8b6f\u5668\u5c0d\u5176\u9032\u884c\u6700\u4f73\u5316\u3002\n\nThe use of this function should be as follows::\n\n from micropython import const\n CONST_X = const(123)\n CONST_Y = const(2 * CONST_X + 1)\n\nConstants declared this way are still accessible as global variables from\noutside the module they are declared in. On the other hand, if a constant\nbegins with an underscore then it is hidden, it is not available as a\nglobal variable, and does not take up any memory during execution.\n\n:param expr: \u4e00\u500b\u5e38\u6578\u904b\u7b97\u5f0f\u3002\"\"\"\n ...\n\n@overload\ndef opt_level() -> int:\n \"\"\"\u53d6\u5f97\u6307\u4ee4\u78bc\u7de8\u8b6f\u7684\u76ee\u524d\u6700\u4f73\u5316\u7b49\u7d1a\u3002\n\nExample: ``micropython.opt_level()``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\n:return: An integer representing the current level.\"\"\"\n ...\n\n@overload\ndef opt_level(level: int) -> None:\n \"\"\"\u8a2d\u5b9a\u6307\u4ee4\u78bc\u5f8c\u7e8c\u7de8\u8b6f\u7684\u6700\u4f73\u5316\u7b49\u7d1a\u3002\n\nExample: ``micropython.opt_level(1)``\n\nThe optimisation level controls the following compilation features:\n\n- Assertions: at level 0 assertion statements are enabled and compiled\n into the bytecode; at levels 1 and higher assertions are not compiled.\n\n- Built-in ``__debug__`` variable: at level 0 this variable expands to\n True; at levels 1 and higher it expands to False.\n\n- Source-code line numbers: at levels 0, 1 and 2 source-code line number\n are stored along with the bytecode so that exceptions can report the\n line number they occurred at; at levels 3 and higher line numbers are\n not stored.\n\nThe default optimisation level is usually level 0.\n\n:param level: \u6574\u6578\u6700\u4f73\u5316\u7b49\u7d1a\u3002\"\"\"\n ...\n\ndef mem_info(verbose: Any=None) -> None:\n \"\"\"\u8f38\u51fa\u95dc\u65bc\u76ee\u524d\u4f7f\u7528\u7684\u8a18\u61b6\u9ad4\u8cc7\u8a0a\u3002\n\nExample: ``micropython.mem_info()``\n\n:param verbose: \u5982\u679c\u7d66\u51fa ``verbose`` \u5f15\u6578\uff0c\u5247\u6703\u8f38\u51fa\u984d\u5916\u8cc7\u8a0a\u3002\"\"\"\n ...\n\ndef qstr_info(verbose: Any=None) -> None:\n \"\"\"\u8f38\u51fa\u95dc\u65bc\u76ee\u524d\u99d0\u7559\u5b57\u4e32\u7684\u8cc7\u8a0a\u3002\n\nExample: ``micropython.qstr_info()``\n\n:param verbose: \u5982\u679c\u6307\u5b9a ``verbose`` \u5f15\u6578\uff0c\u5247\u6703\u8f38\u51fa\u984d\u5916\u8cc7\u8a0a\u3002\n\nThe information that is printed is implementation dependent, but currently\nincludes the number of interned strings and the amount of RAM they use. In\nverbose mode it prints out the names of all RAM-interned strings.\"\"\"\n ...\n\ndef stack_use() -> int:\n \"\"\"\u50b3\u56de\u6574\u6578\uff0c\u8868\u793a\u76ee\u524d\u6b63\u5728\u4f7f\u7528\u7684\u5806\u758a\u6578\u91cf\u3002\n\nExample: ``micropython.stack_use()``\n\nThe absolute value of this is not particularly useful, rather it\nshould be used to compute differences in stack usage at different points.\n\n:return: An integer representing current stack use.\"\"\"\n ...\n\ndef heap_lock() -> None:\n \"\"\"\u9396\u5b9a\u5806\u7a4d\u3002\n\nExample: ``micropython.heap_lock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef heap_unlock() -> None:\n \"\"\"\u89e3\u9396\u5806\u7a4d\u3002\n\nExample: ``micropython.heap_unlock()``\n\nWhen locked no memory allocation can occur and a ``MemoryError`` will be\nraised if any heap allocation is attempted.\"\"\"\n ...\n\ndef kbd_intr(chr: int) -> None:\n \"\"\"\u8a2d\u5b9a\u5c07\u89f8\u767c ``KeyboardInterrupt`` \u4f8b\u5916\u72c0\u6cc1\u7684\u5b57\u5143\u3002\n\nExample: ``micropython.kbd_intr(-1)``\n\n:param chr: \u7528\u65bc\u5f15\u767c\u4e2d\u65b7\u7684\u5b57\u5143\u7a0b\u5f0f\u78bc\u6216 -1\uff0c\u4ee5\u505c\u7528 Ctrl-C \u7684\u64f7\u53d6\u3002\n\nBy default this is set to 3 during script execution, corresponding to Ctrl-C.\nPassing -1 to this function will disable capture of Ctrl-C, and passing 3\nwill restore it.\n\nThis function can be used to prevent the capturing of Ctrl-C on the\nincoming stream of characters that is usually used for the REPL, in case\nthat stream is used for other purposes.\"\"\"\n ...", + "/typeshed/stdlib/music.pyi": "\"\"\"\u5275\u4f5c\u548c\u64ad\u653e\u65cb\u5f8b\u3002\"\"\"\nfrom typing import Optional, Tuple, Union, List\nfrom .microbit import MicroBitDigitalPin, pin0\nDADADADUM: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8c9d\u591a\u82ac C \u5c0f\u8abf\u7b2c\u4e94\u4ea4\u97ff\u66f2\u7684\u958b\u5834\u3002\"\"\"\nENTERTAINER: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u53f2\u8003\u7279\u55ac\u666e\u6797\u7684\u540d\u66f2\u300a\u6f14\u85dd\u4eba\u300b\u958b\u5834\u3002\"\"\"\nPRELUDE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u5df4\u54c8 48 \u9996\u524d\u594f\u66f2\u8207\u8ce6\u683c\u66f2 C \u5927\u8abf\u7b2c\u4e00\u524d\u594f\u66f2\u7684\u958b\u5834\u3002\"\"\"\nODE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8c9d\u591a\u82ac D \u5c0f\u8abf\u7b2c\u4e5d\u4ea4\u97ff\u66f2\u4e2d\u7684\u300c\u6b61\u6a02\u980c\u300d\u4e3b\u984c\u3002\"\"\"\nNYAN: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1aNyan Cat \u4e3b\u984c (http://www.nyan.cat/)\u3002\n\nThe composer is unknown. This is fair use for educational porpoises (as they say in New York).\"\"\"\nRINGTONE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u807d\u8d77\u4f86\u50cf\u624b\u6a5f\u9234\u8072\u7684\u6771\u897f\u3002\n\nTo be used to indicate an incoming message.\n\"\"\"\nFUNK: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u70ba\u7279\u52d9\u548c\u72af\u7f6a\u9996\u8166\u6e96\u5099\u7684\u653e\u514b\u8c9d\u65af\u3002\"\"\"\nBLUES: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u5e03\u57fa\u70cf\u57fa 12 \u5c0f\u7bc0\u85cd\u8abf\u8d70\u8def\u8c9d\u65af\u3002\"\"\"\nBIRTHDAY: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u300c\u795d\u4f60\u751f\u65e5\u5feb\u6a02\u2026\u2026\u300d\n\nFor copyright status see: http://www.bbc.co.uk/news/world-us-canada-34332853\n\"\"\"\nWEDDING: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u83ef\u683c\u7d0d\u6b4c\u5287\u300a\u7f85\u6069\u683c\u6797\u300b\u4e2d\u7684\u65b0\u5a18\u5408\u5531\u3002\"\"\"\nFUNERAL: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u300a\u846c\u79ae\u9032\u884c\u66f2\u300b\uff0c\u4ea6\u7a31\u70ba\u856d\u90a6\u7684\u300c\u964d b \u5c0f\u8abf\u7b2c\u4e8c\u865f\u92fc\u7434\u594f\u9cf4\u66f2\u300d\u3002\"\"\"\nPUNCHLINE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u4e00\u6bb5\u6709\u8da3\u7684\u97f3\u6a02\uff0c\u8868\u793a\u8aaa\u4e86\u4e00\u500b\u7b11\u8a71\u3002\"\"\"\nPYTHON: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7d04\u7ff0\u83f2\u5229\u666e\u8607\u85a9\u7684\u9032\u884c\u66f2\u300a\u81ea\u7531\u9418\u300b\uff0c\u53c8\u540d\u300a\u8499\u63d0\u6d3e\u68ee\u7684\u98db\u884c\u99ac\u6232\u5718\u300b\u7684\u4e3b\u984c\u66f2 (Python \u7a0b\u5f0f\u8a9e\u8a00\u4ee5\u6b64\u547d\u540d)\u3002\"\"\"\nBADDY: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7121\u8072\u96fb\u5f71\u6642\u4ee3\u7684\u60e1\u4eba\u767b\u5834\u3002\"\"\"\nCHASE: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7121\u8072\u96fb\u5f71\u6642\u4ee3\u7684\u8ffd\u9010\u5834\u666f\u3002\"\"\"\nBA_DING: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8868\u793a\u67d0\u4e8b\u767c\u751f\u7684\u77ed\u8a0a\u865f\u3002\"\"\"\nWAWAWAWAA: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u975e\u5e38\u60b2\u50b7\u7684\u9577\u865f\u3002\"\"\"\nJUMP_UP: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7528\u65bc\u904a\u6232\u4e2d\uff0c\u4ee3\u8868\u5411\u4e0a\u79fb\u52d5\u3002\"\"\"\nJUMP_DOWN: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u7528\u65bc\u904a\u6232\u4e2d\uff0c\u8868\u793a\u5411\u4e0b\u79fb\u52d5\u3002\"\"\"\nPOWER_UP: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8868\u793a\u5df2\u89e3\u9396\u6210\u5c31\u7684\u865f\u89d2\u9f4a\u9cf4\u3002\"\"\"\nPOWER_DOWN: Tuple[str, ...]\n\"\"\"\u65cb\u5f8b\uff1a\u8868\u793a\u5931\u53bb\u6210\u5c31\u7684\u60b2\u50b7\u865f\u89d2\u8072\u3002\"\"\"\n\ndef set_tempo(ticks: int=4, bpm: int=120) -> None:\n \"\"\"\u8a2d\u5b9a\u64ad\u653e\u7684\u5927\u81f4\u7bc0\u594f\u3002\n\nExample: ``music.set_tempo(bpm=120)``\n\n:param ticks: \u69cb\u6210\u7bc0\u62cd\u7684\u6ef4\u7b54\u8072\u6578\u3002\n:param bpm: \u4e00\u500b\u6574\u6578\uff0c\u6c7a\u5b9a\u6bcf\u5206\u9418\u6709\u591a\u5c11\u6b21\u7bc0\u62cd\u3002\n\nSuggested default values allow the following useful behaviour:\n\n- music.set_tempo() \u2013 reset the tempo to default of ticks = 4, bpm = 120\n- music.set_tempo(ticks=8) \u2013 change the \u201cdefinition\u201d of a beat\n- music.set_tempo(bpm=180) \u2013 just change the tempo\n\nTo work out the length of a tick in milliseconds is very simple arithmetic:\n60000/bpm/ticks_per_beat. For the default values that\u2019s\n60000/120/4 = 125 milliseconds or 1 beat = 500 milliseconds.\"\"\"\n ...\n\ndef get_tempo() -> Tuple[int, int]:\n \"\"\"\u4ee5\u6574\u6578\u5143\u7d44\u7684\u5f62\u5f0f\u53d6\u5f97\u7576\u524d\u7bc0\u594f\uff1a``(ticks, bpm)``\u3002\n\nExample: ``ticks, beats = music.get_tempo()``\n\n:return: The temp as a tuple with two integer values, the ticks then the beats per minute.\"\"\"\n ...\n\ndef play(music: Union[str, List[str], Tuple[str, ...]], pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True, loop: bool=False) -> None:\n \"\"\"\u64ad\u653e\u97f3\u6a02\u3002\n\nExample: ``music.play(music.NYAN)``\n\n:param music: \u7279\u6b8a\u97f3\u7b26\u4e2d\u6307\u5b9a\u7684\u97f3\u6a02 `_\n:param pin: (\u5f15\u8173) \u7528\u65bc\u5916\u63a5\u63da\u8072\u5668\u7684\u8f38\u51fa\u5f15\u8173 (\u9810\u8a2d\u70ba ``pin0``)\uff0c``None`` \u8868\u793a\u7121\u8072\u97f3\u3002\n:param wait: \u5982\u679c ``wait`` \u8a2d\u5b9a\u70ba ``True``\uff0c\u5247\u6b64\u51fd\u5f0f\u6703\u5c01\u9396\u3002\n:param loop: \u5982\u679c ``loop`` \u8a2d\u5b9a\u70ba ``True``\uff0c\u6a02\u66f2\u6703\u91cd\u8907\u76f4\u5230\u547c\u53eb ``stop`` \u6216\u5c01\u9396\u547c\u53eb\u88ab\u4e2d\u65b7\u3002\n\nMany built-in melodies are defined in this module.\"\"\"\n ...\n\ndef pitch(frequency: int, duration: int=-1, pin: Optional[MicroBitDigitalPin]=pin0, wait: bool=True) -> None:\n \"\"\"\u5f48\u594f\u4e00\u500b\u97f3\u7b26\u3002 (\u9593\u8ddd)\n\nExample: ``music.pitch(185, 1000)``\n\n:param frequency: (\u983b\u7387) \u6574\u6578\u983b\u7387\n:param duration: \u6beb\u79d2\u7684\u6301\u7e8c\u6642\u9593\u3002\u5982\u679c\u662f\u5426\u5b9a\u7684\uff0c\u5247\u8072\u97f3\u5c07\u6301\u7e8c\u5230\u4e0b\u4e00\u6b21\u547c\u53eb\u6216\u5c0d ``stop`` \u7684\u547c\u53eb\u3002\n:param pin: (\u5f15\u8173) \u53ef\u9078\u8f38\u51fa\u5f15\u8173 (\u9810\u8a2d\u503c ``pin0``)\u3002\n:param wait: \u5982\u679c ``wait`` \u8a2d\u5b9a\u70ba ``True``\uff0c\u5247\u6b64\u51fd\u5f0f\u70ba\u5c01\u9396\u3002\n\nFor example, if the frequency is set to 440 and the length to\n1000 then we hear a standard concert A for one second.\n\nYou can only play one pitch on one pin at any one time.\"\"\"\n ...\n\ndef stop(pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"\u505c\u6b62\u5167\u5efa\u63da\u8072\u5668\u4e0a\u7684\u6240\u6709\u97f3\u6a02\u64ad\u653e\u548c\u4efb\u4f55\u5f15\u8173\u8f38\u51fa\u8072\u97f3\u3002\n\nExample: ``music.stop()``\n\n:param pin: (\u5f15\u8173) \u53ef\u4ee5\u63d0\u4f9b\u4e00\u500b\u53ef\u9078\u5f15\u6578\u4f86\u6307\u5b9a\u4e00\u500b\u5f15\u8173\uff0c\u4f8b\u5982 ``music.stop(pin1)``\u3002\"\"\"\n\ndef reset() -> None:\n \"\"\"\u5c07 ticks\u3001bpm\u3001duration \u548c octave \u91cd\u8a2d\u70ba\u5176\u9810\u8a2d\u503c\u3002\n\nExample: ``music.reset()``\n\nValues:\n- ``ticks = 4``\n- ``bpm = 120``\n- ``duration = 4``\n- ``octave = 4``\"\"\"\n ...", + "/typeshed/stdlib/neopixel.pyi": "\"\"\"\u53ef\u7368\u7acb\u5c0b\u5740\u7684 RGB \u548c RGBW LED \u71c8\u689d\u3002\"\"\"\nfrom .microbit import MicroBitDigitalPin\nfrom typing import Tuple\n\nclass NeoPixel:\n\n def __init__(self, pin: MicroBitDigitalPin, n: int, bpp: int=3) -> None:\n \"\"\"\u521d\u59cb\u5316\u900f\u904e\u5f15\u8173\u63a7\u5236\u7684 NeoPixel LED \u71c8\u689d\u3002\n\nExample: ``np = neopixel.NeoPixel(pin0, 8)``\n\nTo support RGBW neopixels, a third argument can be passed to\n``NeoPixel`` to indicate the number of bytes per pixel (``bpp``).\nFor RGBW, this is is 4 rather than the default of 3 for RGB and GRB.\n\nEach pixel is addressed by a position (starting from 0). Neopixels are\ngiven RGB (red, green, blue) / RGBW (red, green, blue, white) values\nbetween 0-255 as a tuple. For example, in RGB, ``(255,255,255)`` is\nwhite. In RGBW, ``(255,255,255,0)`` or ``(0,0,0,255)`` is white.\n\nSee `the online docs `_ for warnings and other advice.\n\n:param pin: (\u5f15\u8173) \u63a7\u5236 NeoPixel \u71c8\u689d\u7684\u5f15\u8173\u3002\n:param n: \u71c8\u689d\u4e2d\u7684 NeoPixel \u6578\u3002\n:param bpp: \u5404\u50cf\u7d20\u4f4d\u5143\u7d44\u6578\u3002\u5c0d\u65bc RGBW neopixel \u652f\u63f4\uff0c\u50b3\u905e 4 \u800c\u4e0d\u662f RGB \u548c GRB \u7684\u9810\u8a2d\u503c 3\u3002\"\"\"\n ...\n\n def clear(self) -> None:\n \"\"\"\u6e05\u9664\u6240\u6709\u50cf\u7d20\u3002\n\nExample: ``np.clear()``\"\"\"\n ...\n\n def show(self) -> None:\n \"\"\"\u986f\u793a\u50cf\u7d20\u3002\n\nExample: ``np.show()``\n\nMust be called for any updates to become visible.\"\"\"\n ...\n\n def write(self) -> None:\n \"\"\"\u986f\u793a\u50cf\u7d20 (\u50c5\u9650 micro:bit V2)\u3002\n\nExample: ``np.write()``\n\nMust be called for any updates to become visible.\n\nEquivalent to ``show``.\"\"\"\n ...\n\n def fill(self, colour: Tuple[int, ...]) -> None:\n \"\"\"\u7528\u7279\u5b9a RGB/RGBW \u503c\u70ba\u6240\u6709\u50cf\u7d20\u8457\u8272 (\u50c5\u9650 micro:bit V2)\u3002\n\nExample: ``np.fill((0, 0, 255))``\n\n:param colour: \u9577\u5ea6\u8207\u6bcf\u50cf\u7d20\u4f4d\u5143\u7d44\u6578 (bpp) \u76f8\u540c\u7684\u5143\u7d44\u3002\n\nUse in conjunction with ``show()`` to update the neopixels.\"\"\"\n ...\n\n def __setitem__(self, key: int, value: Tuple[int, ...]) -> None:\n \"\"\"\u8a2d\u5b9a\u50cf\u7d20\u984f\u8272\u3002\n\nExample: ``np[0] = (255, 0, 0)``\n\n:param key: \u50cf\u7d20\u7de8\u865f\u3002\n:param value: \u984f\u8272\u3002\"\"\"\n\n def __getitem__(self, key: int) -> Tuple[int, ...]:\n \"\"\"\u53d6\u5f97\u50cf\u7d20\u984f\u8272\u3002\n\nExample: ``r, g, b = np[0]``\n\n:param key: \u50cf\u7d20\u7de8\u865f\u3002\n:return: The colour tuple.\"\"\"\n\n def __len__(self) -> int:\n \"\"\"\u53d6\u5f97\u6b64\u50cf\u7d20\u71c8\u689d\u7684\u9577\u5ea6\u3002\n\nExample: ``len(np)``\"\"\"", + "/typeshed/stdlib/os.pyi": "\"\"\"\u5b58\u53d6\u6a94\u6848\u7cfb\u7d71\u3002\"\"\"\nfrom typing import Tuple\nfrom typing import List\n\ndef listdir() -> List[str]:\n \"\"\"\u5217\u51fa\u6a94\u6848\u3002\n\nExample: ``os.listdir()``\n\n:return: A list of the names of all the files contained within the local\npersistent on-device file system.\"\"\"\n ...\n\ndef remove(filename: str) -> None:\n \"\"\"\u79fb\u9664 (\u522a\u9664) \u4e00\u500b\u6a94\u6848\u3002\n\nExample: ``os.remove('data.txt')``\n\n:param filename: \u8981\u522a\u9664\u7684\u6a94\u6848\u3002\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n ...\n\ndef size(filename: str) -> int:\n \"\"\"\u50b3\u56de\u6a94\u6848\u7684\u5927\u5c0f\u3002\n\nExample: ``os.size('data.txt')``\n\n:param filename: \u6a94\u6848\n:return: The size in bytes.\n\nIf the file does not exist an ``OSError`` exception will occur.\"\"\"\n\nclass uname_result(Tuple[str, str, str, str, str]):\n \"\"\"``os.uname()`` \u7684\u7d50\u679c\"\"\"\n sysname: str\n \"\"\"\u4f5c\u696d\u7cfb\u7d71\u540d\u7a31\u3002\"\"\"\n nodename: str\n \"\"\"\u7db2\u8def\u4e0a\u7684\u6a5f\u5668\u540d\u7a31 (\u57f7\u884c\u5b9a\u7fa9)\u3002\"\"\"\n release: str\n \"\"\"\u4f5c\u696d\u7cfb\u7d71\u767c\u4f48\u3002\"\"\"\n version: str\n \"\"\"\u4f5c\u696d\u7cfb\u7d71\u7248\u672c\u3002\"\"\"\n machine: str\n \"\"\"\u786c\u9ad4\u8b58\u5225\u78bc\u3002\"\"\"\n\ndef uname() -> uname_result:\n \"\"\"\u50b3\u56de\u8b58\u5225\u76ee\u524d\u4f5c\u696d\u7cfb\u7d71\u7684\u8cc7\u8a0a\u3002\n\nExample: ``os.uname()``\n\nThe return value is an object with five attributes:\n\n- ``sysname`` - operating system name\n- ``nodename`` - name of machine on network (implementation-defined)\n- ``release`` - operating system release\n- ``version`` - operating system version\n- ``machine`` - hardware identifier\n\nThere is no underlying operating system in MicroPython. As a result the\ninformation returned by the ``uname`` function is mostly useful for\nversioning details.\"\"\"\n ...", "/typeshed/stdlib/power.pyi": "\"\"\"Manage the power modes of the micro:bit (V2 only).\n\"\"\"\n\nfrom microbit import MicroBitDigitalPin, Button\nfrom typing import Optional, Tuple, Union\n\ndef off() -> None:\n \"\"\"Power down the board to the lowest possible power mode.\n\n Example: ``power.off()``\n\n This is the equivalent to pressing the reset button for a few seconds,\n to set the board in \"Off mode\".\n\n The micro:bit will only wake up if the reset button is pressed or,\n if on battery power, when a USB cable is connected.\n\n When the board wakes up it will start for a reset state, so your program\n will start running from the beginning.\n \"\"\"\n ...\n\ndef deep_sleep(\n ms: Optional[int] = None,\n wake_on: Optional[\n Union[MicroBitDigitalPin, Button] | Tuple[MicroBitDigitalPin | Button, ...]\n ] = None,\n run_every: bool = True,\n) -> None:\n \"\"\"Set the micro:bit into a low power mode where it can wake up and continue operation.\n\n Example: ``power.deep_sleep(wake_on=(button_a, button_b))``\n\n The program state is preserved and when it wakes up it will resume\n operation where it left off.\n\n Deep Sleep mode will consume more battery power than Off mode.\n\n The wake up sources are configured via arguments.\n\n The board will always wake up when receiving UART data, when the reset\n button is pressed (which resets the board) or, in battery power,\n when the USB cable is inserted.\n\n When the ``run_every`` parameter is set to ``True`` (the default), any\n function scheduled with ``run_every`` will momentarily wake up the board\n to run and when it finishes it will go back to sleep.\n\n :param ms: A time in milliseconds to wait before it wakes up.\n :param wake_on: A single instance or a tuple of pins and/or buttons to wake up the board, e.g. ``deep_sleep(wake_on=button_a)`` or ``deep_sleep(wake_on=(pin0, pin2, button_b))``.\n :param run_every: A boolean to configure if the functions scheduled with ``microbit.run_every`` will continue to run while it sleeps.\n \"\"\"\n ...\n", - "/typeshed/stdlib/radio.pyi": "\"\"\"Communicate between micro:bits with the built-in radio.\n\"\"\"\n\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\n\nRATE_1MBIT: int\n\"\"\"Constant used to indicate a throughput of 1 MBit a second.\"\"\"\n\nRATE_2MBIT: int\n\"\"\"Constant used to indicate a throughput of 2 MBit a second.\"\"\"\n\ndef on() -> None:\n \"\"\"Turns the radio on.\n\n Example: ``radio.on()``\n\n This needs to be explicitly called since the radio draws power and takes\n up memory that you may otherwise need.\n \"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Turns off the radio, saving power and memory.\n\n Example: ``radio.off()``\n \"\"\"\n ...\n\ndef config(\n length: int = 32,\n queue: int = 3,\n channel: int = 7,\n power: int = 6,\n address: int = 0x75626974,\n group: int = 0,\n data_rate: int = RATE_1MBIT,\n) -> None:\n \"\"\"Configures the radio.\n\n Example: ``radio.config(group=42)``\n\n The default configuration is suitable for most use.\n\n :param length: (default=32) defines the maximum length, in bytes, of a message sent via the radio.\n It can be up to 251 bytes long (254 - 3 bytes for S0, LENGTH and S1 preamble).\n :param queue: (default=3) specifies the number of messages that can be stored on the incoming message queue.\n If there are no spaces left on the queue for incoming messages, then the incoming message is dropped.\n :param channel: (default=7) an integer value from 0 to 83 (inclusive) that defines an arbitrary \"channel\" to which the radio is tuned.\n Messages will be sent via this channel and only messages received via this channel will be put onto the incoming message queue. Each step is 1MHz wide, based at 2400MHz.\n :param power: (default=6) is an integer value from 0 to 7 (inclusive) to indicate the strength of signal used when broadcasting a message.\n The higher the value the stronger the signal, but the more power is consumed by the device. The numbering translates to positions in the following list of dBm (decibel milliwatt) values: -30, -20, -16, -12, -8, -4, 0, 4.\n :param address: (default=0x75626974) an arbitrary name, expressed as a 32-bit address, that's used to filter incoming packets at the hardware level, keeping only those that match the address you set.\n The default used by other micro:bit related platforms is the default setting used here.\n :param group: (default=0) an 8-bit value (0-255) used with the ``address`` when filtering messages.\n Conceptually, \"address\" is like a house/office address and \"group\" is like the person at that address to which you want to send your message.\n :param data_rate: (default=``radio.RATE_1MBIT``) indicates the speed at which data throughput takes place.\n Can be one of the following constants defined in the ``radio`` module: ``RATE_250KBIT``, ``RATE_1MBIT`` or ``RATE_2MBIT``.\n\n If ``config`` is not called then the defaults described above are assumed.\n \"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"Reset the settings to their default values.\n\n Example: ``radio.reset()``\n\n The defaults as as per the ``config`` function above.\n \"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"Sends a message containing bytes.\n\n Example: ``radio.send_bytes(b'hello')``\n\n :param message: The bytes to send.\n \"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"Receive the next incoming message on the message queue.\n\n Example: ``radio.receive_bytes()``\n\n :return: The message bytes if any, otherwise ``None``.\n \"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"Copy the next incoming message on the message queue into a buffer.\n\n Example: ``radio.receive_bytes_info(buffer)``\n\n :param buffer: The target buffer. The message is truncated if larger than the buffer.\n :return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\n \"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"Sends a message string.\n\n Example: ``radio.send('hello')``\n\n This is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\n prepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n :param message: The string to send.\n \"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"Works in exactly the same way as ``receive_bytes`` but returns whatever was sent.\n\n Example: ``radio.receive()``\n\n Equivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\n three bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\n may target the micro:bit).\n\n :return: The message with the prepended bytes stripped and converted to a string.\n\n A ``ValueError`` exception is raised if conversion to string fails.\n \"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"Returns a tuple containing three values representing the next incoming message on the message queue.\n\n Example: ``radio.receive_full()``\n\n If there are no pending messages then ``None`` is returned.\n\n The three values in the tuple represent:\n\n - the next incoming message on the message queue as bytes.\n - the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n - a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\n For example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\n This function is useful for providing information needed for triangulation\n and/or trilateration with other micro:bit devices.\n\n :return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\n \"\"\"\n ...\n", - "/typeshed/stdlib/random.pyi": "\"\"\"Generate random numbers.\n\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"Generate an integer with ``n`` random bits.\n\n Example: ``random.getrandbits(1)``\n\n :param n: A value between 1-30 (inclusive).\n \"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"Initialize the random number generator.\n\n Example: ``random.seed(0)``\n\n :param n: The integer seed\n\n This will give you reproducibly deterministic randomness from a given starting\n state (``n``).\n \"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"Choose a random integer between ``a`` and ``b`` inclusive.\n\n Example: ``random.randint(0, 9)``\n\n :param a: Start value for the range (inclusive)\n :param b: End value for the range (inclusive)\n\n Alias for ``randrange(a, b + 1)``.\n \"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"Choose a randomly selected integer between zero and up to (but not\n including) ``stop``.\n\n Example: ``random.randrange(10)``\n\n :param stop: End value for the range (exclusive)\n \"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int = 1) -> int:\n \"\"\"\n Choose a randomly selected element from ``range(start, stop, step)``.\n\n Example: ``random.randrange(0, 10)``\n\n :param start: The start of the range (inclusive)\n :param stop: The end of the range (exclusive)\n :param step: The step.\n \"\"\"\n ...\n\n_T = TypeVar(\"_T\")\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"Choose a random element from the non-empty sequence ``seq``.\n\n Example: ``random.choice([Image.HAPPY, Image.SAD])``\n\n :param seq: A sequence.\n\n If ``seq`` is empty, raises ``IndexError``.\n \"\"\"\n ...\n\ndef random() -> float:\n \"\"\"Generate a random floating point number in the range [0.0, 1.0).\n\n Example: ``random.random()``\n\n :return: The random floating point number\n \"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"\n Return a random floating point number between ``a`` and ``b`` inclusive.\n\n Example: ``random.uniform(0, 9)``\n\n :param a: Start value for the range (inclusive)\n :param b: End value for the range (inclusive)\n \"\"\"\n ...\n", - "/typeshed/stdlib/speech.pyi": "\"\"\"Make the micro:bit talk, sing and make other speech like sounds.\n\"\"\"\n\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"Translate English words to phonemes.\n\n Example: ``speech.translate('hello world')``\n\n :param words: A string of English words.\n :return: A string containing a best guess at the appropriate phonemes to pronounce.\n The output is generated from this `text to phoneme translation table `_.\n\n This function should be used to generate a first approximation of phonemes\n that can be further hand-edited to improve accuracy, inflection and\n emphasis.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef pronounce(\n phonemes: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: Optional[MicroBitDigitalPin] = pin0,\n) -> None:\n \"\"\"Pronounce phonemes.\n\n Example: ``speech.pronounce(' /HEHLOW WERLD')``\n\n :param phonemes: The string of phonemes to pronounce\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n Override the optional pitch, speed, mouth and throat settings to change the\n timbre (quality) of the voice.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef say(\n words: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: MicroBitDigitalPin = pin0,\n) -> None:\n \"\"\"Say English words.\n\n Example: ``speech.say('hello world')``\n\n :param words: The string of words to say.\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n The result is semi-accurate for English. Override the optional pitch, speed,\n mouth and throat settings to change the timbre (quality) of the voice.\n\n This is a short-hand equivalent of:\n ``speech.pronounce(speech.translate(words))``\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n\ndef sing(\n phonemes: str,\n pitch: int = 64,\n speed: int = 72,\n mouth: int = 128,\n throat: int = 128,\n pin: MicroBitDigitalPin = pin0,\n) -> None:\n \"\"\"Sing phonemes.\n\n Example: ``speech.sing(' /HEHLOW WERLD')``\n\n :param phonemes: The string of words to sing.\n :param pitch: A number representing the pitch of the voice\n :param speed: A number representing the speed of the voice\n :param mouth: A number representing the mouth of the voice\n :param throat: A number representing the throat of the voice\n :param pin: Optional argument to specify the output pin can be used to override the default of ``pin0``.\n If we do not want any sound to play out of the pins can use ``pin=None``. micro:bit V2 only.\n\n Override the optional pitch, speed, mouth and throat settings to change\n the timbre (quality) of the voice.\n\n See `the online documentation `_ for detailed information.\n \"\"\"\n ...\n", - "/typeshed/stdlib/struct.pyi": "\"\"\"Pack and unpack primitive data types.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"Get the number of bytes needed to store the given ``fmt``.\n\n Example: ``struct.calcsize('hf')``\n\n :param fmt: A format string.\n :return The number of bytes needed to store such a value.\n \"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"Pack values according to a format string.\n\n Example: ``struct.pack('hf', 1, 3.1415)``\n\n :param fmt: The format string.\n :param v1: The first value.\n :param *vn: The remaining values.\n :return A bytes object encoding the values.\n \"\"\"\n ...\n\ndef pack_into(\n fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any\n) -> None:\n \"\"\"Pack values according to a format string.\n\n Example: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n :param fmt: The format string.\n :param buffer: The target buffer to write into.\n :param offset: The offset into the buffer. May be negative to count from the end of the buffer.\n :param v1: The first value.\n :param *vn: The remaining values.\n \"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"Unpack data according to a format string.\n\n Example: ``v1, v2 = struct.unpack('hf', buffer)``\n\n :param fmt: The format string.\n :param data: The data.\n :return: A tuple of the unpacked values.\n \"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int = 0) -> Tuple:\n \"\"\"Unpack data from a buffer according to a format string.\n\n Example: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n :param fmt: The format string.\n :param buffer: The source buffer to read from.\n :param offset: The offset into the buffer. May be negative to count from the end of the buffer.\n :return: A tuple of the unpacked values.\n \"\"\"\n ...\n", - "/typeshed/stdlib/sys.pyi": "\"\"\"System specific functions\"\"\"\n\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object = ...) -> NoReturn:\n \"\"\"Terminate current program with a given exit code.\n\n Example: ``sys.exit(1)``\n\n This function raises a ``SystemExit`` exception. If an argument is given, its\n value given as an argument to ``SystemExit``.\n\n :param retval: The exit code or message.\n \"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"\n Print an exception with a traceback.\n\n Example: ``sys.print_exception(e)``\n\n :param exc: The exception to print\n\n This is simplified version of a function which appears in the\n ``traceback`` module in CPython.\n \"\"\"\n\nargv: List[str]\n\"\"\"A mutable list of arguments the current program was started with.\"\"\"\n\nbyteorder: str\n\"\"\"The byte order of the system (``\"little\"`` or ``\"big\"``).\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\n\nimplementation: _implementation\n\"\"\"Object with information about the current Python implementation.\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\n\nmaxsize: int\n\"\"\"\nMaximum value which a native integer type can hold on the current platform,\nor maximum value representable by MicroPython integer type, if it's smaller\nthan platform max value (that is the case for MicroPython ports without\nlong int support).\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\n\nmodules: Dict[str, Any]\n\"\"\"Dictionary of loaded modules. \n\nOn some ports, it may not include builtin modules.\"\"\"\n\npath: List[str]\n\"\"\"A mutable list of directories to search for imported modules.\"\"\"\n\nplatform: str\n\"\"\"The platform that MicroPython is running on. \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\n\nversion: str\n\"\"\"Python language version that this implementation conforms to, as a string.\"\"\"\n\nversion_info: Tuple[int, int, int]\n\"\"\"Python language version that this implementation conforms to, as a tuple of ints.\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"\n", + "/typeshed/stdlib/radio.pyi": "\"\"\"\u4f7f\u7528\u5167\u5efa\u7121\u7dda\u96fb\u5728 micro:bits \u4e4b\u9593\u9032\u884c\u901a\u8a0a\u3002 (\u7121\u7dda\u96fb)\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom typing import Optional, Tuple\nRATE_1MBIT: int\n\"\"\"\u5e38\u6578\u7528\u65bc\u6307\u793a\u6bcf\u79d2 1 MBit \u7684\u8f38\u9001\u91cf\u3002\"\"\"\nRATE_2MBIT: int\n\"\"\"\u5e38\u6578\u7528\u65bc\u6307\u793a\u6bcf\u79d2 2 MBit \u7684\u8f38\u9001\u91cf\u3002\"\"\"\n\ndef on() -> None:\n \"\"\"\u958b\u555f\u7121\u7dda\u96fb\u3002\n\nExample: ``radio.on()``\n\nThis needs to be explicitly called since the radio draws power and takes\nup memory that you may otherwise need.\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"\u95dc\u9589\u7121\u7dda\u96fb\uff0c\u7bc0\u7701\u96fb\u91cf\u548c\u8a18\u61b6\u9ad4\u3002\n\nExample: ``radio.off()``\"\"\"\n ...\n\ndef config(length: int=32, queue: int=3, channel: int=7, power: int=6, address: int=1969383796, group: int=0, data_rate: int=RATE_1MBIT) -> None:\n \"\"\"\u8a2d\u5b9a\u7121\u7dda\u96fb\u3002\n\nExample: ``radio.config(group=42)``\n\nThe default configuration is suitable for most use.\n\n:param length: (default=32) \u5b9a\u7fa9\u900f\u904e\u7121\u7dda\u96fb\u50b3\u9001\u7684\u8a0a\u606f\u7684\u6700\u5927\u9577\u5ea6 (\u4ee5\u4f4d\u5143\u7d44\u70ba\u55ae\u4f4d)\u3002\n\u6700\u9577\u53ef\u9054 251 \u500b\u4f4d\u5143\u7d44 (S0\u3001LENGTH \u548c S1 \u524d\u5e8f\u7de8\u78bc\u70ba 254 - 3 \u500b\u4f4d\u5143\u7d44)\u3002\n:param queue: (default=3) \u6307\u5b9a\u53ef\u4ee5\u5b58\u5132\u5728\u50b3\u5165\u8a0a\u606f\u4f47\u5217\u4e2d\u7684\u8a0a\u606f\u6578\u3002\n\u5982\u679c\u4f47\u5217\u4e2d\u6c92\u6709\u7a7a\u9593\u53ef\u7559\u7d66\u50b3\u5165\u8a0a\u606f\uff0c\u5247\u6368\u68c4\u50b3\u5165\u8a0a\u606f\u3002\n:param channel: (default=7) \u4e00\u500b\u5f9e 0 \u5230 83 (\u5305\u542b) \u7684\u6574\u6578\u503c\uff0c\u5b9a\u7fa9\u7121\u7dda\u96fb\u8abf\u6574\u5230\u7684\u4efb\u610f \"channel\"\u3002\n\u8a0a\u606f\u5c07\u900f\u904e\u6b64\u983b\u9053\u50b3\u9001\uff0c\u53ea\u6709\u900f\u904e\u6b64\u983b\u9053\u63a5\u6536\u7684\u8a0a\u606f\uff0c\u624d\u6703\u653e\u5165\u50b3\u5165\u8a0a\u606f\u4f47\u5217\u3002\n\u6bcf\u4e00\u6b65\u90fd\u662f 1MHz \u5bec\uff0c\u4ee5 2400MHz \u70ba\u57fa\u790e\u3002\n:param power: (default=6) \u662f\u4e00\u500b\u5f9e 0 \u5230 7 (\u5305\u542b) \u7684\u6574\u6578\u503c\uff0c\u8868\u793a\u7121\u7dda\u96fb\u8a0a\u606f\u6642\u4f7f\u7528\u7684\u8a0a\u865f\u529f\u7387\u3002\n\u6578\u503c\u8d8a\u9ad8\uff0c\u8a0a\u865f\u8d8a\u5f37\uff0c\u4f46\u88dd\u7f6e\u6d88\u8017\u7684\u529f\u7387\u8d8a\u591a\u3002\u7de8\u865f\u8f49\u63db\u70ba\u4e0b\u5217 dBm (\u5206\u8c9d\u6beb\u74e6) \u6578\u503c\u5217\u8868\u4e2d\u7684\u4f4d\u7f6e\uff1a-30\u3001-20\u3001-16\u3001-12\u3001-8\u3001-4\u30010\u30014\u3002\n:param address: (default=0x75626974) \u4efb\u610f\u540d\u7a31\uff0c\u8868\u793a\u70ba 32 \u4f4d\u5143\u4f4d\u5740\uff0c\u7528\u65bc\u5728\u786c\u9ad4\u7b49\u7d1a\u7be9\u9078\u50b3\u5165\u7684\u8cc7\u6599\u5957\u4ef6\uff0c\u50c5\u4fdd\u7559\u8207\u60a8\u8a2d\u5b9a\u7684\u4f4d\u5740\u76f8\u7b26\u7684\u90a3\u4e9b\u3002\n\u5176\u4ed6 micro:bit \u76f8\u95dc\u5e73\u53f0\u4f7f\u7528\u7684\u9810\u8a2d\u8a2d\u5b9a\uff0c\u5247\u662f\u6b64\u8655\u4f7f\u7528\u7684\u9810\u8a2d\u8a2d\u5b9a\u3002\n:param group: (default=0) \u7be9\u9078\u8a0a\u606f\u6642\u8207 ``address`` \u4e00\u8d77\u4f7f\u7528\u7684 8 \u4f4d\u5143\u503c (0-255)\u3002\n\u5f9e\u6982\u5ff5\u4e0a\u8b1b\uff0c\"address\" \u5c31\u50cf\u4e00\u500b\u5bb6\u5ead/\u8fa6\u516c\u5ba4\u5730\u5740\uff0c\u800c \"group\" \u5c31\u50cf\u60a8\u8981\u5411\u8a72\u5730\u5740\u50b3\u9001\u8a0a\u606f\u7684\u4eba\u3002\n:param data_rate: (default=``radio.RATE_1MBIT``) \u8868\u793a\u8cc7\u6599\u8f38\u9001\u91cf\u767c\u751f\u7684\u901f\u5ea6\u3002\n\u53ef\u4ee5\u662f ``radio`` \u6a21\u7d44\u4e2d\u5b9a\u7fa9\u7684\u4e0b\u5217\u5e38\u6578\u4e4b\u4e00\uff1a``RATE_250KBIT``\u3001``RATE_1MBIT`` \u6216 ``RATE_2MBIT``\u3002\n\nIf ``config`` is not called then the defaults described above are assumed.\"\"\"\n ...\n\ndef reset() -> None:\n \"\"\"\u5c07\u8a2d\u5b9a\u91cd\u8a2d\u70ba\u5176\u9810\u8a2d\u503c\u3002\n\nExample: ``radio.reset()``\n\nThe defaults as as per the ``config`` function above.\"\"\"\n ...\n\ndef send_bytes(message: bytes) -> None:\n \"\"\"\u50b3\u9001\u5305\u542b\u4f4d\u5143\u7d44\u7684\u8a0a\u606f\u3002\n\nExample: ``radio.send_bytes(b'hello')``\n\n:param message: \u8981\u50b3\u9001\u7684\u4f4d\u5143\u7d44\u3002\"\"\"\n ...\n\ndef receive_bytes() -> Optional[bytes]:\n \"\"\"\u63a5\u6536\u8a0a\u606f\u4f47\u5217\u4e2d\u7684\u4e0b\u4e00\u5247\u50b3\u5165\u8a0a\u606f\u3002\n\nExample: ``radio.receive_bytes()``\n\n:return: The message bytes if any, otherwise ``None``.\"\"\"\n ...\n\ndef receive_bytes_into(buffer: WriteableBuffer) -> Optional[int]:\n \"\"\"\u5c07\u8a0a\u606f\u4f47\u5217\u4e2d\u7684\u4e0b\u4e00\u5247\u50b3\u5165\u8a0a\u606f\u8907\u88fd\u5230\u7de9\u885d\u5340\u3002\n\nExample: ``radio.receive_bytes_info(buffer)``\n\n:param buffer: \u76ee\u6a19\u7de9\u885d\u5340\u3002\u5982\u679c\u8a0a\u606f\u5927\u5c0f\u5927\u65bc\u7de9\u885d\u5340\uff0c\u5247\u8a0a\u606f\u6703\u88ab\u622a\u65b7\u3002\n:return: ``None`` if there are no pending messages, otherwise it returns the length of the message (which might be more than the length of the buffer).\"\"\"\n ...\n\ndef send(message: str) -> None:\n \"\"\"\u50b3\u9001\u8a0a\u606f\u5b57\u4e32\u3002\n\nExample: ``radio.send('hello')``\n\nThis is the equivalent of ``radio.send_bytes(bytes(message, 'utf8'))`` but with ``b'\\x01\\x00\\x01'``\nprepended to the front (to make it compatible with other platforms that target the micro:bit).\n\n:param message: \u8981\u50b3\u9001\u7684\u5b57\u4e32\u3002\"\"\"\n ...\n\ndef receive() -> Optional[str]:\n \"\"\"\u5de5\u4f5c\u65b9\u5f0f\u8207 ``receive_bytes`` \u5b8c\u5168\u76f8\u540c\uff0c\u4f46\u6703\u50b3\u56de\u50b3\u9001\u7684\u4efb\u4f55\u5167\u5bb9\u3002\n\nExample: ``radio.receive()``\n\nEquivalent to ``str(receive_bytes(), 'utf8')`` but with a check that the the first\nthree bytes are ``b'\\x01\\x00\\x01'`` (to make it compatible with other platforms that\nmay target the micro:bit).\n\n:return: The message with the prepended bytes stripped and converted to a string.\n\nA ``ValueError`` exception is raised if conversion to string fails.\"\"\"\n ...\n\ndef receive_full() -> Optional[Tuple[bytes, int, int]]:\n \"\"\"\u50b3\u56de\u4e00\u500b\u5305\u542b\u4e09\u500b\u6578\u503c\u7684\u5143\u7d44\uff0c\u7528\u4f86\u4ee3\u8868\u8a0a\u606f\u4f47\u5217\u4e2d\u7684\u4e0b\u4e00\u5247\u50b3\u5165\u8a0a\u606f\u3002\n\nExample: ``radio.receive_full()``\n\nIf there are no pending messages then ``None`` is returned.\n\nThe three values in the tuple represent:\n\n- the next incoming message on the message queue as bytes.\n- the RSSI (signal strength): a value between 0 (strongest) and -255 (weakest) as measured in dBm.\n- a microsecond timestamp: the value returned by ``time.ticks_us()`` when the message was received.\n\nFor example::\n\n details = radio.receive_full()\n if details:\n msg, rssi, timestamp = details\n\nThis function is useful for providing information needed for triangulation\nand/or trilateration with other micro:bit devices.\n\n:return: ``None`` if there is no message, otherwise a tuple of length three with the bytes, strength and timestamp values.\"\"\"\n ...", + "/typeshed/stdlib/random.pyi": "\"\"\"\u751f\u6210\u96a8\u6a5f\u6578\u3002\"\"\"\nfrom typing import TypeVar, Sequence, Union, overload\n\ndef getrandbits(n: int) -> int:\n \"\"\"\u751f\u6210\u5177\u6709 ``n`` \u500b\u96a8\u6a5f\u4f4d\u5143\u7684\u6574\u6578\u3002\n\nExample: ``random.getrandbits(1)``\n\n:param n: \u4ecb\u65bc 1-30 (\u5305\u542b) \u4e4b\u9593\u7684\u503c\u3002\"\"\"\n ...\n\ndef seed(n: int) -> None:\n \"\"\"\u521d\u59cb\u5316\u96a8\u6a5f\u6578\u751f\u6210\u5668\u3002\n\nExample: ``random.seed(0)``\n\n:param n: \u6574\u6578\u7a2e\u5b50\n\nThis will give you reproducibly deterministic randomness from a given starting\nstate (``n``).\"\"\"\n ...\n\ndef randint(a: int, b: int) -> int:\n \"\"\"\u5728 ``a`` \u548c ``b`` (\u5305\u542b) \u4e4b\u9593\u9078\u64c7\u4e00\u500b\u96a8\u6a5f\u6574\u6578\u3002\n\nExample: ``random.randint(0, 9)``\n\n:param a: \u7bc4\u570d\u7684\u8d77\u59cb\u503c (\u5305\u542b)\n:param b: \u7bc4\u570d\u7684\u7d50\u675f\u503c (\u5305\u542b)\n\nAlias for ``randrange(a, b + 1)``.\"\"\"\n ...\n\n@overload\ndef randrange(stop: int) -> int:\n \"\"\"\u5728\u96f6\u5230 (\u4f46\u4e0d\u5305\u62ec) ``stop`` \u4e4b\u9593\u96a8\u6a5f\u9078\u64c7\u4e00\u500b\u6574\u6578\u3002\n\nExample: ``random.randrange(10)``\n\n:param stop: \u7bc4\u570d\u7684\u7d50\u675f\u503c (\u6392\u9664)\"\"\"\n ...\n\n@overload\ndef randrange(start: int, stop: int, step: int=1) -> int:\n \"\"\"\u5f9e ``range(start, stop, step)`` \u4e2d\u9078\u64c7\u4e00\u500b\u96a8\u6a5f\u9078\u64c7\u7684\u5143\u7d20\u3002\n\nExample: ``random.randrange(0, 10)``\n\n:param start: \u7bc4\u570d\u7684\u958b\u59cb (\u5305\u542b)\n:param stop: \u7bc4\u570d\u7d50\u675f (\u6392\u9664)\n:param step: \u6b65\u9a5f\u3002\"\"\"\n ...\n_T = TypeVar('_T')\n\ndef choice(seq: Sequence[_T]) -> _T:\n \"\"\"\u5f9e\u975e\u7a7a\u5e8f\u5217 ``seq`` \u4e2d\u9078\u64c7\u4e00\u500b\u96a8\u6a5f\u5143\u7d20\u3002\n\nExample: ``random.choice([Image.HAPPY, Image.SAD])``\n\n:param seq: \u5e8f\u5217\u3002\n\nIf ``seq`` is empty, raises ``IndexError``.\"\"\"\n ...\n\ndef random() -> float:\n \"\"\"\u5728 [0.0, 1.0) \u7bc4\u570d\u5167\u751f\u6210\u4e00\u500b\u96a8\u6a5f\u6d6e\u9ede\u6578\u3002\n\nExample: ``random.random()``\n\n:return: The random floating point number\"\"\"\n ...\n\ndef uniform(a: float, b: float) -> float:\n \"\"\"\u50b3\u56de\u4e00\u500b\u4ecb\u65bc ``a`` \u548c ``b`` \u4e4b\u9593\u7684\u96a8\u6a5f\u6d6e\u9ede\u6578\u3002\n\nExample: ``random.uniform(0, 9)``\n\n:param a: \u7bc4\u570d\u7684\u8d77\u59cb\u503c (\u5305\u62ec)\n:param b: \u7bc4\u570d\u7684\u7d50\u675f\u503c (\u5305\u542b)\"\"\"\n ...", + "/typeshed/stdlib/speech.pyi": "\"\"\"\u8b93 micro:bit \u8aaa\u8a71\u3001\u5531\u6b4c\u548c\u767c\u51fa\u985e\u4f3c\u8072\u97f3\u7684\u5176\u4ed6\u8a9e\u97f3\u3002\"\"\"\nfrom typing import Optional\nfrom .microbit import MicroBitDigitalPin, pin0\n\ndef translate(words: str) -> str:\n \"\"\"\u5c07\u82f1\u8a9e\u55ae\u5b57\u7ffb\u8b6f\u6210\u97f3\u7d20\u3002\n\nExample: ``speech.translate('hello world')``\n\n:param words: \u82f1\u6587\u55ae\u5b57\u5b57\u4e32\u3002\n:return: A string containing a best guess at the appropriate phonemes to pronounce.\nThe output is generated from this `text to phoneme translation table `_.\n\nThis function should be used to generate a first approximation of phonemes\nthat can be further hand-edited to improve accuracy, inflection and\nemphasis.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef pronounce(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: Optional[MicroBitDigitalPin]=pin0) -> None:\n \"\"\"\u767c\u51fa\u97f3\u7d20\u7684\u8072\u97f3\u3002\n\nExample: ``speech.pronounce(' /HEHLOW WERLD')``\n\n:param phonemes: \u767c\u97f3\u7684\u97f3\u7d20\u5b57\u4e32\n:param pitch: (\u9593\u8ddd) \u4e00\u500b\u4ee3\u8868\u8072\u97f3\u97f3\u9ad8\u7684\u6578\u5b57\n:param speed: \u4e00\u500b\u4ee3\u8868\u8072\u97f3\u901f\u5ea6\u7684\u6578\u5b57\n:param mouth: \u4e00\u500b\u4ee3\u8868\u8072\u97f3\u53e3\u578b\u7684\u6578\u5b57\n:param throat: \u4e00\u500b\u4ee3\u8868\u8072\u97f3\u5589\u578b\u7684\u6578\u5b57\n:param pin: (\u5f15\u8173) \u6307\u5b9a\u8f38\u51fa\u5f15\u8173\u7684\u53ef\u9078\u5f15\u6578\uff0c\u53ef\u7528\u65bc\u8986\u5beb\u9810\u8a2d\u503c ``pin0``\u3002\n\u5982\u679c\u6211\u5011\u4e0d\u60f3\u5f9e\u5f15\u8173\u4e0a\u64ad\u653e\u4efb\u4f55\u8072\u97f3\uff0c\u53ef\u4ee5\u4f7f\u7528 ``pin=None``\u3002\u50c5\u9650 micro:bit\u3002\n\nOverride the optional pitch, speed, mouth and throat settings to change the\ntimbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef say(words: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"\u8aaa\u82f1\u8a9e\u55ae\u5b57\u3002\n\nExample: ``speech.say('hello world')``\n\n:param words: \u8981\u8aaa\u7684\u4e00\u4e32\u8a5e\u3002\n:param pitch: (\u9593\u8ddd) \u4e00\u500b\u4ee3\u8868\u8072\u97f3\u97f3\u9ad8\u7684\u6578\u5b57\n:param speed: \u4e00\u500b\u4ee3\u8868\u8072\u97f3\u901f\u5ea6\u7684\u6578\u5b57\n:param mouth: \u4e00\u500b\u4ee3\u8868\u8072\u97f3\u53e3\u578b\u7684\u6578\u5b57\n:param throat: \u4e00\u500b\u4ee3\u8868\u8072\u97f3\u5589\u578b\u7684\u6578\u5b57\n:param pin: (\u5f15\u8173) \u6307\u5b9a\u8f38\u51fa\u5f15\u8173\u7684\u53ef\u9078\u5f15\u6578\u53ef\u7528\u65bc\u8986\u5beb\u9810\u8a2d\u503c ``pin0``\u3002\n\u5982\u679c\u6211\u5011\u7121\u610f\u5f9e\u5f15\u8173\u4e0a\u64ad\u653e\u4efb\u4f55\u8072\u97f3\uff0c\u53ef\u4ee5\u4f7f\u7528 ``pin=None``\u3002\u50c5\u9650 micro:bit\u3002\n\nThe result is semi-accurate for English. Override the optional pitch, speed,\nmouth and throat settings to change the timbre (quality) of the voice.\n\nThis is a short-hand equivalent of:\n``speech.pronounce(speech.translate(words))``\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...\n\ndef sing(phonemes: str, pitch: int=64, speed: int=72, mouth: int=128, throat: int=128, pin: MicroBitDigitalPin=pin0) -> None:\n \"\"\"\u5531\u51fa\u97f3\u7d20\u3002\n\nExample: ``speech.sing(' /HEHLOW WERLD')``\n\n:param phonemes: \u8981\u5531\u7684\u4e00\u4e32\u8a5e\u3002\n:param pitch: (\u9593\u8ddd) \u4e00\u500b\u4ee3\u8868\u8072\u97f3\u97f3\u9ad8\u7684\u6578\u5b57\n:param speed: \u4e00\u500b\u4ee3\u8868\u8072\u97f3\u901f\u5ea6\u7684\u6578\u5b57\n:param mouth: \u4e00\u500b\u4ee3\u8868\u8072\u97f3\u53e3\u578b\u7684\u6578\u5b57\n:param throat: \u4e00\u500b\u4ee3\u8868\u8072\u97f3\u5589\u578b\u7684\u6578\u5b57\n:param pin: (\u5f15\u8173) \u6307\u5b9a\u8f38\u51fa\u5f15\u8173\u7684\u53ef\u9078\u5f15\u6578\uff0c\u53ef\u7528\u65bc\u8986\u5beb\u9810\u8a2d\u503c ``pin0``\u3002\n\u5982\u679c\u6211\u5011\u4e0d\u60f3\u5f9e\u5f15\u8173\u4e0a\u64ad\u653e\u4efb\u4f55\u8072\u97f3\uff0c\u53ef\u4ee5\u4f7f\u7528 ``pin=None``\u3002\u50c5\u9650 micro:bit\u3002\n\nOverride the optional pitch, speed, mouth and throat settings to change\nthe timbre (quality) of the voice.\n\nSee `the online documentation `_ for detailed information.\"\"\"\n ...", + "/typeshed/stdlib/struct.pyi": "\"\"\"\u58d3\u7e2e\u548c\u89e3\u58d3\u7e2e\u539f\u59cb\u8cc7\u6599\u985e\u578b\u3002\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom typing import Any, Tuple, Union\n\ndef calcsize(fmt: str) -> int:\n \"\"\"\u53d6\u5f97\u5b58\u5132\u7279\u5b9a ``fmt`` \u6240\u9700\u7684\u4f4d\u5143\u7d44\u6578\u3002\n\nExample: ``struct.calcsize('hf')``\n\n:param fmt: \u683c\u5f0f\u5b57\u4e32\u3002\n:return The number of bytes needed to store such a value.\"\"\"\n ...\n\ndef pack(fmt: str, v1: Any, *vn: Any) -> bytes:\n \"\"\"\u6839\u64da\u683c\u5f0f\u5b57\u4e32\uff0c\u58d3\u7e2e\u6578\u503c\u3002\n\nExample: ``struct.pack('hf', 1, 3.1415)``\n\n:param fmt: \u683c\u5f0f\u5b57\u4e32\u3002\n:param v1: \u9996\u4f4d\u6578\u503c\u3002\n:param *vn: \u5269\u9918\u6578\u503c\u3002\n:return A bytes object encoding the values.\"\"\"\n ...\n\ndef pack_into(fmt: str, buffer: WriteableBuffer, offset: int, v1: Any, *vn: Any) -> None:\n \"\"\"\u6839\u64da\u683c\u5f0f\u5b57\u4e32\uff0c\u58d3\u7e2e\u6578\u503c\u3002\n\nExample: ``struct.pack_info('hf', buffer, 1, 3.1415)``\n\n:param fmt: \u683c\u5f0f\u5b57\u4e32\u3002\n:param buffer: \u8981\u5beb\u5165\u7684\u7de9\u885d\u5340\u3002\n:param offset: \u7de9\u885d\u5340\u5167\u7684\u4f4d\u79fb\u3002\u5f9e\u7de9\u885d\u5340\u7d50\u5c3e\u958b\u59cb\u8a08\u6578\uff0c\u8a72\u4f4d\u79fb\u53ef\u80fd\u70ba\u8ca0\u6578\u3002\n:param v1: \u9996\u4f4d\u6578\u503c\u3002\n:param *vn: \u5269\u9918\u6578\u503c\u3002\"\"\"\n ...\n\ndef unpack(fmt: str, data: ReadableBuffer) -> Tuple[Any, ...]:\n \"\"\"\u6839\u64da\u683c\u5f0f\u5b57\u4e32\uff0c\u89e3\u58d3\u7e2e\u6578\u503c\u3002\n\nExample: ``v1, v2 = struct.unpack('hf', buffer)``\n\n:param fmt: \u683c\u5f0f\u5b57\u4e32\u3002\n:param data: \u8cc7\u6599\u3002\n:return: A tuple of the unpacked values.\"\"\"\n ...\n\ndef unpack_from(fmt: str, buffer: ReadableBuffer, offset: int=0) -> Tuple:\n \"\"\"\u6839\u64da\u683c\u5f0f\u5b57\u4e32\uff0c\u5f9e\u7de9\u885d\u5340\u89e3\u58d3\u7e2e\u8cc7\u6599\u3002\n\nExample: ``v1, v2 = struct.unpack_from('hf', buffer)``\n\n:param fmt: \u683c\u5f0f\u5b57\u4e32\u3002\n:param buffer: \u8981\u8b80\u53d6\u7684\u4f86\u6e90\u7de9\u885d\u5340\u3002\n:param offset: \u7de9\u885d\u5340\u5167\u7684\u4f4d\u79fb\u3002\u5f9e\u7de9\u885d\u5340\u7d50\u5c3e\u958b\u59cb\u8a08\u6578\uff0c\u8a72\u4f4d\u79fb\u53ef\u80fd\u70ba\u8ca0\u6578\u3002\n:return: A tuple of the unpacked values.\"\"\"\n ...", + "/typeshed/stdlib/sys.pyi": "\"\"\"\u7cfb\u7d71\u7279\u5b9a\u51fd\u5f0f\"\"\"\nfrom typing import Any, Dict, List, NoReturn, TextIO, Tuple\n\ndef exit(retval: object=...) -> NoReturn:\n \"\"\"\u4f7f\u7528\u6307\u5b9a\u7684\u9000\u51fa\u4ee3\u78bc\u4f86\u7d42\u6b62\u7576\u524d\u7a0b\u5f0f\u3002\n\nExample: ``sys.exit(1)``\n\nThis function raises a ``SystemExit`` exception. If an argument is given, its\nvalue given as an argument to ``SystemExit``.\n\n:param retval: \u9000\u51fa\u4ee3\u78bc\u6216\u8a0a\u606f\u3002\"\"\"\n ...\n\ndef print_exception(exc: Exception) -> None:\n \"\"\"\u8f38\u51fa\u5e36\u6709\u56de\u6eaf\u7684\u4f8b\u5916\u72c0\u6cc1\u3002\n\nExample: ``sys.print_exception(e)``\n\n:param exc: \u8f38\u51fa\u4f8b\u5916\u72c0\u6cc1\n\nThis is simplified version of a function which appears in the\n``traceback`` module in CPython.\"\"\"\nargv: List[str]\n\"\"\"\u76ee\u524d\u7a0b\u5f0f\u555f\u52d5\u6642\uff0c\u6240\u4f7f\u7528\u7684\u53ef\u8b8a\u5f15\u6578\u5217\u8868\u3002\"\"\"\nbyteorder: str\n\"\"\"\u7cfb\u7d71\u7684\u4f4d\u5143\u7d44\u9806\u5e8f (``\"little\"`` \u6216 ``\"big\"``)\u3002\"\"\"\n\nclass _implementation:\n name: str\n version: Tuple[int, int, int]\nimplementation: _implementation\n\"\"\"\u5305\u542b\u95dc\u65bc\u76ee\u524d Python \u57f7\u884c\u8cc7\u8a0a\u7684\u7269\u4ef6\u3002\n\nFor MicroPython, it has following attributes:\n\n- ``name`` - string \"micropython\"\n- ``version`` - tuple (major, minor, micro), e.g. (1, 7, 0)\n\nThis object is the recommended way to distinguish MicroPython from other\nPython implementations (note that it still may not exist in the very\nminimal ports).\n\nCPython mandates more attributes for this object, but the actual useful\nbare minimum is implemented in MicroPython.\n\"\"\"\nmaxsize: int\n\"\"\"\n\u672c\u6a5f\u6574\u6578\u985e\u578b\u5728\u7576\u524d\u5e73\u53f0\u4e0a\u53ef\u4ee5\u4fdd\u5b58\u7684\u6700\u5927\u503c\uff0c\u6216 MicroPython \u6574\u6578\u985e\u578b\u53ef\u8868\u793a\u7684\u6700\u5927\u503c\uff0c\u5982\u679c\u5b83\u5c0f\u65bc\u5e73\u53f0\u6700\u5927\u503c (\u5c0d\u65bc\u6c92\u6709 long int \u652f\u63f4\u7684 MicroPython \u9023\u63a5\u57e0\uff0c\u5c31\u662f\u9019\u7a2e\u60c5\u6cc1)\u3002\n\nThis attribute is useful for detecting \"bitness\" of a platform (32-bit vs\n64-bit, etc.). It's recommended to not compare this attribute to some\nvalue directly, but instead count number of bits in it::\n\n bits = 0\n v = sys.maxsize\n while v:\n bits += 1\n v >>= 1\n if bits > 32:\n # 64-bit (or more) platform\n ...\n else:\n # 32-bit (or less) platform\n # Note that on 32-bit platform, value of bits may be less than 32\n # (e.g. 31) due to peculiarities described above, so use \"> 16\",\n # \"> 32\", \"> 64\" style of comparisons.\n\"\"\"\nmodules: Dict[str, Any]\n\"\"\"\u5df2\u8f09\u5165\u6a21\u7d44\u7684\u5b57\u5178\u3002 \n\nOn some ports, it may not include builtin modules.\"\"\"\npath: List[str]\n\"\"\"\u7528\u65bc\u641c\u5c0b\u532f\u5165\u6a21\u7d44\u7684\u53ef\u8b8a\u5b57\u5178\u5217\u8868\u3002\"\"\"\nplatform: str\n\"\"\"\u6b63\u5728\u57f7\u884c MicroPython \u7684\u5e73\u53f0\u3002 \n\nFor OS/RTOS ports, this is usually an identifier of the OS, e.g. ``\"linux\"``.\nFor baremetal ports it is an identifier of a board, e.g. ``\"pyboard\"`` for \nthe original MicroPython reference board. It thus can be used to\ndistinguish one board from another.\n\nIf you need to check whether your program runs on MicroPython (vs other\nPython implementation), use ``sys.implementation`` instead.\n\"\"\"\nversion: str\n\"\"\"\u6b64\u57f7\u884c\u7b26\u5408\u7684 Python \u8a9e\u8a00\u7248\u672c\uff0c\u505a\u70ba\u5b57\u4e32\u3002\"\"\"\nversion_info: Tuple[int, int, int]\n\"\"\"\u6b64\u57f7\u884c\u7b26\u5408\u7684 Python \u8a9e\u8a00\u7248\u672c\uff0c\u505a\u70ba\u6574\u6578\u5143\u7d44\u3002\n\nOnly the first three version numbers (major, minor, micro) are supported and\nthey can be referenced only by index, not by name.\n\"\"\"", "/typeshed/stdlib/this.pyi": "def authors() -> str: ...\n", - "/typeshed/stdlib/time.pyi": "\"\"\"Measure time and add delays to programs.\n\"\"\"\n\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"\n Delay a number of seconds.\n\n Example: ``time.sleep(1)``\n\n :param seconds: The number of seconds to sleep for.\n Use a floating-point number to sleep for a fractional number of seconds.\n \"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"\n Delay for given number of milliseconds.\n\n Example: ``time.sleep_ms(1_000_000)``\n\n :param ms: The number of milliseconds delay (>= 0).\n \"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"\n Delay for given number of microseconds.\n\n Example: ``time.sleep_us(1000)``\n\n :param us: The number of microseconds delay (>= 0).\n \"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"\n Get an increasing, millisecond counter with an arbitrary reference point,\n that wraps around after some value.\n\n Example: ``time.ticks_ms()``\n\n :return: The counter value in milliseconds.\n \"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"\n Get an increasing, microsecond counter with an arbitrary reference point,\n that wraps around after some value.\n\n Example: ``time.ticks_us()``\n\n :return: The counter value in microseconds.\n \"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"\n Offset ticks value by a given number, which can be either positive or\n negative.\n\n Example: ``time.ticks_add(time.ticks_ms(), 200)``\n\n Given a ticks value, this function allows to calculate ticks\n value delta ticks before or after it, following modular-arithmetic\n definition of tick values.\n\n :param ticks: A ticks value\n :param delta: An integer offset\n\n Example::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\n \"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"\n Measure ticks difference between values returned from\n ``time.ticks_ms()`` or ``ticks_us()``, as a signed value\n which may wrap around.\n\n Example: ``time.ticks_diff(scheduled_time, now)``\n\n :param ticks1: The value to subtract from\n :param ticks2: The value to subtract\n\n The argument order is the same as for subtraction operator,\n ``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n ``ticks_diff()`` is designed to accommodate various usage\n patterns, among them:\n\n Polling with timeout. In this case, the order of events is known, and you\n will deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\n Scheduling events. In this case, :func:`time.ticks_diff()` result may be\n negative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\n \"\"\"\n ...\n", + "/typeshed/stdlib/time.pyi": "\"\"\"\u6e2c\u91cf\u6642\u9593\u4e26\u70ba\u7a0b\u5f0f\u589e\u52a0\u5ef6\u9072\u3002\"\"\"\nfrom typing import Union\n\ndef sleep(seconds: Union[int, float]) -> None:\n \"\"\"\u5ef6\u9072\u79d2\u6578\u3002\n\nExample: ``time.sleep(1)``\n\n:param seconds: \u7761\u7720\u7684\u79d2\u6578\u3002\n\u4f7f\u7528\u6d6e\u9ede\u6578\u4ee3\u8868\u7761\u7720\u79d2\u6578\u7684\u5c0f\u6578\u3002\"\"\"\n ...\n\ndef sleep_ms(ms: int) -> None:\n \"\"\"\u5ef6\u9072\u6307\u5b9a\u7684\u6beb\u79d2\u6578\u3002\n\nExample: ``time.sleep_ms(1_000_000)``\n\n:param ms: \u5ef6\u9072\u7684\u6beb\u79d2\u6578 (>= 0)\u3002\"\"\"\n ...\n\ndef sleep_us(us: int) -> None:\n \"\"\"\u5ef6\u9072\u6307\u5b9a\u7684\u5fae\u79d2\u6578\u3002\n\nExample: ``time.sleep_us(1000)``\n\n:param us: \u5ef6\u9072\u7684\u5fae\u79d2\u6578 (>= 0)\u3002\"\"\"\n ...\n\ndef ticks_ms() -> int:\n \"\"\"\u53d6\u5f97\u5177\u6709\u4efb\u610f\u53c3\u8003\u9ede\u7684\u905e\u589e\u6beb\u79d2\u8a08\u6578\u5668\uff0c\u8a72\u8a08\u6578\u5668\u6703\u5728\u67d0\u500b\u503c\u4e4b\u5f8c\u7e5e\u56de\u3002\n\nExample: ``time.ticks_ms()``\n\n:return: The counter value in milliseconds.\"\"\"\n ...\n\ndef ticks_us() -> int:\n \"\"\"\u53d6\u5f97\u5177\u6709\u4efb\u610f\u53c3\u8003\u9ede\u7684\u905e\u589e\u5fae\u79d2\u8a08\u6578\u5668\uff0c\u8a72\u8a08\u6578\u5668\u6703\u5728\u67d0\u500b\u503c\u4e4b\u5f8c\u7e5e\u56de\u3002\n\nExample: ``time.ticks_us()``\n\n:return: The counter value in microseconds.\"\"\"\n ...\n\ndef ticks_add(ticks: int, delta: int) -> int:\n \"\"\"\u7279\u5b9a\u6578\u5b57\u7684\u4f4d\u79fb\u6ef4\u7b54\u8072\u503c\uff0c\u53ef\u4ee5\u662f\u6b63\u6578\u6216\u8ca0\u6578\u3002\n\nExample: ``time.ticks_add(time.ticks_ms(), 200)``\n\nGiven a ticks value, this function allows to calculate ticks\nvalue delta ticks before or after it, following modular-arithmetic\ndefinition of tick values.\n\n:param ticks: \u6ef4\u7b54\u8072\u503c\n:param delta: \u6574\u6578\u4f4d\u79fb\n\nExample::\n\n # Find out what ticks value there was 100ms ago\n print(ticks_add(time.ticks_ms(), -100))\n\n # Calculate deadline for operation and test for it\n deadline = ticks_add(time.ticks_ms(), 200)\n while ticks_diff(deadline, time.ticks_ms()) > 0:\n do_a_little_of_something()\n\n # Find out TICKS_MAX used by this port\n print(ticks_add(0, -1))\"\"\"\n ...\n\ndef ticks_diff(ticks1: int, ticks2: int) -> int:\n \"\"\"\u6e2c\u91cf\u5f9e\n``time.ticks_ms()`` \u6216 ``ticks_us()`` \u50b3\u56de\u503c\u4e4b\u9593\u7684\u6ef4\u7b54\u8072\u5dee\u7570\u3002\u6b64\u53c3\u6578\u662f\u4e00\u500b\u53ef\u80fd\u6703\u7e5e\u56de\u7684\u5e36\u7b26\u865f\u503c\u3002 (tick diff)\n\nExample: ``time.ticks_diff(scheduled_time, now)``\n\n:param ticks1: (tick 1) \u8981\u88ab\u6e1b\u7684\u503c\n:param ticks2: (tick 2) \u8981\u6e1b\u53bb\u7684\u503c\n\nThe argument order is the same as for subtraction operator,\n``ticks_diff(ticks1, ticks2)`` has the same meaning as ``ticks1 - ticks2``.\n\n``ticks_diff()`` is designed to accommodate various usage\npatterns, among them:\n\nPolling with timeout. In this case, the order of events is known, and you\nwill deal only with positive results of :func:`time.ticks_diff()`::\n\n # Wait for GPIO pin to be asserted, but at most 500us\n start = time.ticks_us()\n while pin.value() == 0:\n if time.ticks_diff(time.ticks_us(), start) > 500:\n raise TimeoutError\n\n\nScheduling events. In this case, :func:`time.ticks_diff()` result may be\nnegative if an event is overdue::\n\n # This code snippet is not optimized\n now = time.ticks_ms()\n scheduled_time = task.scheduled_time()\n if ticks_diff(scheduled_time, now) > 0:\n print(\"Too early, let's nap\")\n sleep_ms(ticks_diff(scheduled_time, now))\n task.run()\n elif ticks_diff(scheduled_time, now) == 0:\n print(\"Right at time!\")\n task.run()\n elif ticks_diff(scheduled_time, now) < 0:\n print(\"Oops, running late, tell task to run faster!\")\n task.run(run_faster=True)\"\"\"\n ...", "/typeshed/stdlib/types.pyi": "import sys\nfrom typing import (\n Any,\n AsyncGenerator,\n Awaitable,\n Callable,\n Generator,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n Tuple,\n Type,\n TypeVar,\n ValuesView,\n overload,\n)\nfrom typing_extensions import Literal, final\n\n# Note, all classes \"defined\" here require special handling.\n\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_KT = TypeVar(\"_KT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_V_co = TypeVar(\"_V_co\", covariant=True)\n\n@final\nclass _Cell:\n __hash__: None # type: ignore\n cell_contents: Any\n\n@final\nclass FunctionType:\n __closure__: Tuple[_Cell, ...] | None\n __code__: CodeType\n __defaults__: Tuple[Any, ...] | None\n __dict__: dict[str, Any]\n __globals__: dict[str, Any]\n __name__: str\n __qualname__: str\n __annotations__: dict[str, Any]\n __kwdefaults__: dict[str, Any]\n def __init__(\n self,\n code: CodeType,\n globals: dict[str, Any],\n name: str | None = ...,\n argdefs: Tuple[object, ...] | None = ...,\n closure: Tuple[_Cell, ...] | None = ...,\n ) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: object | None, type: type | None) -> MethodType: ...\n\nLambdaType = FunctionType\n\n@final\nclass CodeType:\n \"\"\"Create a code object. Not for the faint of heart.\"\"\"\n\n co_argcount: int\n if sys.version_info >= (3, 8):\n co_posonlyargcount: int\n co_kwonlyargcount: int\n co_nlocals: int\n co_stacksize: int\n co_flags: int\n co_code: bytes\n co_consts: Tuple[Any, ...]\n co_names: Tuple[str, ...]\n co_varnames: Tuple[str, ...]\n co_filename: str\n co_name: str\n co_firstlineno: int\n co_lnotab: bytes\n co_freevars: Tuple[str, ...]\n co_cellvars: Tuple[str, ...]\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n argcount: int,\n posonlyargcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n else:\n def __init__(\n self,\n argcount: int,\n kwonlyargcount: int,\n nlocals: int,\n stacksize: int,\n flags: int,\n codestring: bytes,\n constants: Tuple[Any, ...],\n names: Tuple[str, ...],\n varnames: Tuple[str, ...],\n filename: str,\n name: str,\n firstlineno: int,\n lnotab: bytes,\n freevars: Tuple[str, ...] = ...,\n cellvars: Tuple[str, ...] = ...,\n ) -> None: ...\n if sys.version_info >= (3, 8):\n def replace(\n self,\n *,\n co_argcount: int = ...,\n co_posonlyargcount: int = ...,\n co_kwonlyargcount: int = ...,\n co_nlocals: int = ...,\n co_stacksize: int = ...,\n co_flags: int = ...,\n co_firstlineno: int = ...,\n co_code: bytes = ...,\n co_consts: Tuple[Any, ...] = ...,\n co_names: Tuple[str, ...] = ...,\n co_varnames: Tuple[str, ...] = ...,\n co_freevars: Tuple[str, ...] = ...,\n co_cellvars: Tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_lnotab: bytes = ...,\n ) -> CodeType: ...\n\n@final\nclass MappingProxyType(Mapping[_KT, _VT_co], Generic[_KT, _VT_co]):\n __hash__: None # type: ignore\n def __init__(self, mapping: Mapping[_KT, _VT_co]) -> None: ...\n def __getitem__(self, k: _KT) -> _VT_co: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __len__(self) -> int: ...\n def copy(self) -> dict[_KT, _VT_co]: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def items(self) -> ItemsView[_KT, _VT_co]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def __or__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n def __ror__(\n self, __value: Mapping[_T1, _T2]\n ) -> dict[_KT | _T1, _VT_co | _T2]: ...\n\nclass SimpleNamespace:\n __hash__: None # type: ignore\n def __init__(self, **kwargs: Any) -> None: ...\n def __getattribute__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __delattr__(self, name: str) -> None: ...\n\nclass ModuleType:\n __name__: str\n __file__: str\n __dict__: dict[str, Any]\n __package__: str | None\n def __init__(self, name: str, doc: str | None = ...) -> None: ...\n\n@final\nclass GeneratorType(Generator[_T_co, _T_contra, _V_co]):\n gi_code: CodeType\n gi_frame: FrameType\n gi_running: bool\n gi_yieldfrom: GeneratorType[_T_co, _T_contra, Any] | None\n def __iter__(self) -> GeneratorType[_T_co, _T_contra, _V_co]: ...\n def __next__(self) -> _T_co: ...\n def close(self) -> None: ...\n def send(self, __arg: _T_contra) -> _T_co: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> _T_co: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> _T_co: ...\n\n@final\nclass AsyncGeneratorType(AsyncGenerator[_T_co, _T_contra]):\n ag_await: Awaitable[Any] | None\n ag_frame: FrameType\n ag_running: bool\n ag_code: CodeType\n def __aiter__(self) -> AsyncGeneratorType[_T_co, _T_contra]: ...\n def __anext__(self) -> Awaitable[_T_co]: ...\n def asend(self, __val: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Awaitable[_T_co]: ...\n @overload\n def athrow(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Awaitable[_T_co]: ...\n def aclose(self) -> Awaitable[None]: ...\n\n@final\nclass CoroutineType:\n cr_await: Any | None\n cr_code: CodeType\n cr_frame: FrameType\n cr_running: bool\n def close(self) -> None: ...\n def send(self, __arg: Any) -> Any: ...\n @overload\n def throw(\n self,\n __typ: Type[BaseException],\n __val: BaseException | object = ...,\n __tb: TracebackType | None = ...,\n ) -> Any: ...\n @overload\n def throw(\n self, __typ: BaseException, __val: None = ..., __tb: TracebackType | None = ...\n ) -> Any: ...\n\nclass _StaticFunctionType:\n \"\"\"Fictional type to correct the type of MethodType.__func__.\n\n FunctionType is a descriptor, so mypy follows the descriptor protocol and\n converts MethodType.__func__ back to MethodType (the return type of\n FunctionType.__get__). But this is actually a special case; MethodType is\n implemented in C and its attribute access doesn't go through\n __getattribute__.\n\n By wrapping FunctionType in _StaticFunctionType, we get the right result;\n similar to wrapping a function in staticmethod() at runtime to prevent it\n being bound as a method.\n \"\"\"\n\n def __get__(self, obj: object | None, type: type | None) -> FunctionType: ...\n\n@final\nclass MethodType:\n __closure__: Tuple[_Cell, ...] | None # inherited from the added function\n __defaults__: Tuple[Any, ...] | None # inherited from the added function\n __func__: _StaticFunctionType\n __self__: object\n __name__: str # inherited from the added function\n __qualname__: str # inherited from the added function\n def __init__(self, func: Callable[..., Any], obj: object) -> None: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\n@final\nclass BuiltinFunctionType:\n __self__: object | ModuleType\n __name__: str\n __qualname__: str\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\nBuiltinMethodType = BuiltinFunctionType\n\nif sys.version_info >= (3, 7):\n @final\n class WrapperDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class MethodWrapperType:\n __self__: object\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, other: Any) -> bool: ...\n def __ne__(self, other: Any) -> bool: ...\n @final\n class MethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n @final\n class ClassMethodDescriptorType:\n __name__: str\n __qualname__: str\n __objclass__: type\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, obj: Any, type: type = ...) -> Any: ...\n\n@final\nclass TracebackType:\n if sys.version_info >= (3, 7):\n def __init__(\n self,\n tb_next: TracebackType | None,\n tb_frame: FrameType,\n tb_lasti: int,\n tb_lineno: int,\n ) -> None: ...\n tb_next: TracebackType | None\n else:\n @property\n def tb_next(self) -> TracebackType | None: ...\n # the rest are read-only even in 3.7\n @property\n def tb_frame(self) -> FrameType: ...\n @property\n def tb_lasti(self) -> int: ...\n @property\n def tb_lineno(self) -> int: ...\n\n@final\nclass FrameType:\n f_back: FrameType | None\n f_builtins: dict[str, Any]\n f_code: CodeType\n f_globals: dict[str, Any]\n f_lasti: int\n f_lineno: int\n f_locals: dict[str, Any]\n f_trace: Callable[[FrameType, str, Any], Any] | None\n if sys.version_info >= (3, 7):\n f_trace_lines: bool\n f_trace_opcodes: bool\n def clear(self) -> None: ...\n\n@final\nclass GetSetDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\n@final\nclass MemberDescriptorType:\n __name__: str\n __objclass__: type\n def __get__(self, __obj: Any, __type: type = ...) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, obj: Any) -> None: ...\n\nif sys.version_info >= (3, 7):\n def new_class(\n name: str,\n bases: Iterable[object] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n def resolve_bases(bases: Iterable[object]) -> Tuple[Any, ...]: ...\n\nelse:\n def new_class(\n name: str,\n bases: Tuple[type, ...] = ...,\n kwds: dict[str, Any] | None = ...,\n exec_body: Callable[[dict[str, Any]], None] | None = ...,\n ) -> type: ...\n\ndef prepare_class(\n name: str, bases: Tuple[type, ...] = ..., kwds: dict[str, Any] | None = ...\n) -> Tuple[type, dict[str, Any], dict[str, Any]]: ...\n\n# Actually a different type, but `property` is special and we want that too.\nDynamicClassAttribute = property\n\ndef coroutine(func: Callable[..., Any]) -> CoroutineType: ...\n\nif sys.version_info >= (3, 8):\n CellType = _Cell\n\nif sys.version_info >= (3, 9):\n class GenericAlias:\n __origin__: type\n __args__: Tuple[Any, ...]\n __parameters__: Tuple[Any, ...]\n def __init__(self, origin: type, args: Any) -> None: ...\n def __getattr__(self, name: str) -> Any: ... # incomplete\n\nif sys.version_info >= (3, 10):\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n EllipsisType = ellipsis # noqa F811 from builtins\n from builtins import _NotImplementedType\n\n NotImplementedType = _NotImplementedType # noqa F811 from builtins\n @final\n class UnionType:\n __args__: Tuple[Any, ...]\n def __or__(self, obj: Any) -> UnionType: ...\n def __ror__(self, obj: Any) -> UnionType: ...\n", "/typeshed/stdlib/typing.pyi": "import collections # Needed by aliases like DefaultDict, see mypy issue 2986\nimport sys\nfrom abc import ABCMeta, abstractmethod\nfrom types import BuiltinFunctionType, CodeType, FrameType, FunctionType, MethodType, ModuleType, TracebackType\nfrom typing_extensions import Literal as _Literal\n\nif sys.version_info >= (3, 7):\n from types import MethodDescriptorType, MethodWrapperType, WrapperDescriptorType\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n# Definitions of special type checking related constructs. Their definitions\n# are not used, so their value does not matter.\n\nAny = object()\n\nclass TypeVar:\n __name__: str\n __bound__: Optional[Type[Any]]\n __constraints__: Tuple[Type[Any], ...]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self,\n name: str,\n *constraints: Type[Any],\n bound: Union[None, Type[Any], str] = ...,\n covariant: bool = ...,\n contravariant: bool = ...,\n ) -> None: ...\n\n_promote = object()\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> object: ...\n\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n\ndef overload(func: _F) -> _F: ...\n\nUnion: _SpecialForm = ...\nOptional: _SpecialForm = ...\nTuple: _SpecialForm = ...\nGeneric: _SpecialForm = ...\n# Protocol is only present in 3.8 and later, but mypy needs it unconditionally\nProtocol: _SpecialForm = ...\nCallable: _SpecialForm = ...\nType: _SpecialForm = ...\nClassVar: _SpecialForm = ...\nif sys.version_info >= (3, 8):\n Final: _SpecialForm = ...\n def final(f: _F) -> _F: ...\n Literal: _SpecialForm = ...\n # TypedDict is a (non-subscriptable) special form.\n TypedDict: object\n\nif sys.version_info < (3, 7):\n class GenericMeta(type): ...\n\nif sys.version_info >= (3, 10):\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Optional[Type[Any]]\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: Union[None, Type[Any], str] = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n\n# Return type that indicates a function does not return.\n# This type is equivalent to the None type, but the no-op Union is necessary to\n# distinguish the None type from the None value.\nNoReturn = Union[None]\n\n# These type variables are used by the container types.\n_T = TypeVar(\"_T\")\n_S = TypeVar(\"_S\")\n_KT = TypeVar(\"_KT\") # Key type.\n_VT = TypeVar(\"_VT\") # Value type.\n_T_co = TypeVar(\"_T_co\", covariant=True) # Any type covariant containers.\n_V_co = TypeVar(\"_V_co\", covariant=True) # Any type covariant containers.\n_KT_co = TypeVar(\"_KT_co\", covariant=True) # Key type covariant containers.\n_VT_co = TypeVar(\"_VT_co\", covariant=True) # Value type covariant containers.\n_T_contra = TypeVar(\"_T_contra\", contravariant=True) # Ditto contravariant.\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\ndef no_type_check(arg: _F) -> _F: ...\ndef no_type_check_decorator(decorator: _F) -> _F: ...\n\n# Type aliases and type constructors\n\nclass _Alias:\n # Class for defining generic aliases for library types.\n def __getitem__(self, typeargs: Any) -> Any: ...\n\nList = _Alias()\nDict = _Alias()\nDefaultDict = _Alias()\nSet = _Alias()\nFrozenSet = _Alias()\nCounter = _Alias()\nDeque = _Alias()\nChainMap = _Alias()\n\nif sys.version_info >= (3, 7):\n OrderedDict = _Alias()\n\nif sys.version_info >= (3, 9):\n Annotated: _SpecialForm = ...\n\n# Predefined type variables.\nAnyStr = TypeVar(\"AnyStr\", str, bytes)\n\n# Abstract base classes.\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n@runtime_checkable\nclass SupportsInt(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __int__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsFloat(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __float__(self) -> float: ...\n\n@runtime_checkable\nclass SupportsComplex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __complex__(self) -> complex: ...\n\n@runtime_checkable\nclass SupportsBytes(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __bytes__(self) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n @runtime_checkable\n class SupportsIndex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __index__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsAbs(Protocol[_T_co]):\n @abstractmethod\n def __abs__(self) -> _T_co: ...\n\n@runtime_checkable\nclass SupportsRound(Protocol[_T_co]):\n @overload\n @abstractmethod\n def __round__(self) -> int: ...\n @overload\n @abstractmethod\n def __round__(self, ndigits: int) -> _T_co: ...\n\n@runtime_checkable\nclass Sized(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __len__(self) -> int: ...\n\n@runtime_checkable\nclass Hashable(Protocol, metaclass=ABCMeta):\n # TODO: This is special, in that a subclass of a hashable class may not be hashable\n # (for example, list vs. object). It's not obvious how to represent this. This class\n # is currently mostly useless for static checking.\n @abstractmethod\n def __hash__(self) -> int: ...\n\n@runtime_checkable\nclass Iterable(Protocol[_T_co]):\n @abstractmethod\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Iterator(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __next__(self) -> _T_co: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Reversible(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass Generator(Iterator[_T_co], Generic[_T_co, _T_contra, _V_co]):\n def __next__(self) -> _T_co: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n def close(self) -> None: ...\n def __iter__(self) -> Generator[_T_co, _T_contra, _V_co]: ...\n @property\n def gi_code(self) -> CodeType: ...\n @property\n def gi_frame(self) -> FrameType: ...\n @property\n def gi_running(self) -> bool: ...\n @property\n def gi_yieldfrom(self) -> Optional[Generator[Any, Any, Any]]: ...\n\n@runtime_checkable\nclass Awaitable(Protocol[_T_co]):\n @abstractmethod\n def __await__(self) -> Generator[Any, None, _T_co]: ...\n\nclass Coroutine(Awaitable[_V_co], Generic[_T_co, _T_contra, _V_co]):\n __name__: str\n __qualname__: str\n @property\n def cr_await(self) -> Optional[Any]: ...\n @property\n def cr_code(self) -> CodeType: ...\n @property\n def cr_frame(self) -> FrameType: ...\n @property\n def cr_running(self) -> bool: ...\n @abstractmethod\n def send(self, __value: _T_contra) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> _T_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> _T_co: ...\n @abstractmethod\n def close(self) -> None: ...\n\n# NOTE: This type does not exist in typing.py or PEP 484.\n# The parameters correspond to Generator, but the 4th is the original type.\nclass AwaitableGenerator(\n Awaitable[_V_co], Generator[_T_co, _T_contra, _V_co], Generic[_T_co, _T_contra, _V_co, _S], metaclass=ABCMeta\n): ...\n\n@runtime_checkable\nclass AsyncIterable(Protocol[_T_co]):\n @abstractmethod\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\n@runtime_checkable\nclass AsyncIterator(AsyncIterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\nclass AsyncGenerator(AsyncIterator[_T_co], Generic[_T_co, _T_contra]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n @abstractmethod\n def asend(self, __value: _T_contra) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(\n self, __typ: Type[BaseException], __val: Union[BaseException, object] = ..., __tb: Optional[TracebackType] = ...\n ) -> Awaitable[_T_co]: ...\n @overload\n @abstractmethod\n def athrow(self, __typ: BaseException, __val: None = ..., __tb: Optional[TracebackType] = ...) -> Awaitable[_T_co]: ...\n @abstractmethod\n def aclose(self) -> Awaitable[None]: ...\n @abstractmethod\n def __aiter__(self) -> AsyncGenerator[_T_co, _T_contra]: ...\n @property\n def ag_await(self) -> Any: ...\n @property\n def ag_code(self) -> CodeType: ...\n @property\n def ag_frame(self) -> FrameType: ...\n @property\n def ag_running(self) -> bool: ...\n\n@runtime_checkable\nclass Container(Protocol[_T_co]):\n @abstractmethod\n def __contains__(self, __x: object) -> bool: ...\n\n@runtime_checkable\nclass Collection(Iterable[_T_co], Container[_T_co], Protocol[_T_co]):\n # Implement Sized (but don't have it as a base class).\n @abstractmethod\n def __len__(self) -> int: ...\n\n_Collection = Collection[_T_co]\n\nclass Sequence(_Collection[_T_co], Reversible[_T_co], Generic[_T_co]):\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T_co: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> Sequence[_T_co]: ...\n # Mixin methods\n def index(self, value: Any, start: int = ..., stop: int = ...) -> int: ...\n def count(self, value: Any) -> int: ...\n def __contains__(self, x: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass MutableSequence(Sequence[_T], Generic[_T]):\n @abstractmethod\n def insert(self, index: int, value: _T) -> None: ...\n @overload\n @abstractmethod\n def __getitem__(self, i: int) -> _T: ...\n @overload\n @abstractmethod\n def __getitem__(self, s: slice) -> MutableSequence[_T]: ...\n @overload\n @abstractmethod\n def __setitem__(self, i: int, o: _T) -> None: ...\n @overload\n @abstractmethod\n def __setitem__(self, s: slice, o: Iterable[_T]) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: int) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, i: slice) -> None: ...\n # Mixin methods\n def append(self, value: _T) -> None: ...\n def clear(self) -> None: ...\n def extend(self, values: Iterable[_T]) -> None: ...\n def reverse(self) -> None: ...\n def pop(self, index: int = ...) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __iadd__(self, x: Iterable[_T]) -> MutableSequence[_T]: ...\n\nclass AbstractSet(_Collection[_T_co], Generic[_T_co]):\n @abstractmethod\n def __contains__(self, x: object) -> bool: ...\n # Mixin methods\n def __le__(self, s: AbstractSet[Any]) -> bool: ...\n def __lt__(self, s: AbstractSet[Any]) -> bool: ...\n def __gt__(self, s: AbstractSet[Any]) -> bool: ...\n def __ge__(self, s: AbstractSet[Any]) -> bool: ...\n def __and__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __or__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def __sub__(self, s: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __xor__(self, s: AbstractSet[_T]) -> AbstractSet[Union[_T_co, _T]]: ...\n def isdisjoint(self, other: Iterable[Any]) -> bool: ...\n\nclass MutableSet(AbstractSet[_T], Generic[_T]):\n @abstractmethod\n def add(self, value: _T) -> None: ...\n @abstractmethod\n def discard(self, value: _T) -> None: ...\n # Mixin methods\n def clear(self) -> None: ...\n def pop(self) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __ior__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __iand__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n def __ixor__(self, s: AbstractSet[_S]) -> MutableSet[Union[_T, _S]]: ...\n def __isub__(self, s: AbstractSet[Any]) -> MutableSet[_T]: ...\n\nclass MappingView(Sized):\n def __init__(self, mapping: Mapping[Any, Any]) -> None: ... # undocumented\n def __len__(self) -> int: ...\n\nclass ItemsView(MappingView, AbstractSet[Tuple[_KT_co, _VT_co]], Generic[_KT_co, _VT_co]):\n def __init__(self, mapping: Mapping[_KT_co, _VT_co]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[Tuple[_KT_co, _VT_co]]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[Tuple[_KT_co, _VT_co]]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[Tuple[_KT_co, _VT_co], _T]]: ...\n\nclass KeysView(MappingView, AbstractSet[_KT_co], Generic[_KT_co]):\n def __init__(self, mapping: Mapping[_KT_co, Any]) -> None: ... # undocumented\n def __and__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rand__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT_co]: ...\n def __or__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __ror__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __sub__(self, o: Iterable[Any]) -> Set[_KT_co]: ...\n def __rsub__(self, o: Iterable[_T]) -> Set[_T]: ...\n def __xor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n def __rxor__(self, o: Iterable[_T]) -> Set[Union[_KT_co, _T]]: ...\n\nclass ValuesView(MappingView, Iterable[_VT_co], Generic[_VT_co]):\n def __init__(self, mapping: Mapping[Any, _VT_co]) -> None: ... # undocumented\n def __contains__(self, o: object) -> bool: ...\n def __iter__(self) -> Iterator[_VT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\n@runtime_checkable\nclass ContextManager(Protocol[_T_co]):\n def __enter__(self) -> _T_co: ...\n def __exit__(\n self,\n __exc_type: Optional[Type[BaseException]],\n __exc_value: Optional[BaseException],\n __traceback: Optional[TracebackType],\n ) -> Optional[bool]: ...\n\n@runtime_checkable\nclass AsyncContextManager(Protocol[_T_co]):\n def __aenter__(self) -> Awaitable[_T_co]: ...\n def __aexit__(\n self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Awaitable[Optional[bool]]: ...\n\nclass Mapping(_Collection[_KT], Generic[_KT, _VT_co]):\n # TODO: We wish the key type could also be covariant, but that doesn't work,\n # see discussion in https: //github.com/python/typing/pull/273.\n @abstractmethod\n def __getitem__(self, k: _KT) -> _VT_co: ...\n # Mixin methods\n @overload\n def get(self, key: _KT) -> Optional[_VT_co]: ...\n @overload\n def get(self, key: _KT, default: Union[_VT_co, _T]) -> Union[_VT_co, _T]: ...\n def items(self) -> AbstractSet[Tuple[_KT, _VT_co]]: ...\n def keys(self) -> AbstractSet[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def __contains__(self, o: object) -> bool: ...\n\nclass MutableMapping(Mapping[_KT, _VT], Generic[_KT, _VT]):\n @abstractmethod\n def __setitem__(self, k: _KT, v: _VT) -> None: ...\n @abstractmethod\n def __delitem__(self, v: _KT) -> None: ...\n def clear(self) -> None: ...\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: Union[_VT, _T] = ...) -> Union[_VT, _T]: ...\n def popitem(self) -> Tuple[_KT, _VT]: ...\n def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...\n # 'update' used to take a Union, but using overloading is better.\n # The second overloaded type here is a bit too general, because\n # Mapping[Tuple[_KT, _VT], W] is a subclass of Iterable[Tuple[_KT, _VT]],\n # but will always have the behavior of the first overloaded type\n # at runtime, leading to keys of a mix of types _KT and Tuple[_KT, _VT].\n # We don't currently have any way of forcing all Mappings to use\n # the first overload, but by using overloading rather than a Union,\n # mypy will commit to using the first overload when the argument is\n # known to be a Mapping with unknown type parameters, which is closer\n # to the behavior we want. See mypy issue #1430.\n @overload\n def update(self, __m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n\nText = str\n\nTYPE_CHECKING = True\n\nclass IO(Iterator[AnyStr], Generic[AnyStr]):\n # TODO use abstract properties\n @property\n def mode(self) -> str: ...\n @property\n def name(self) -> str: ...\n @abstractmethod\n def close(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n @abstractmethod\n def fileno(self) -> int: ...\n @abstractmethod\n def flush(self) -> None: ...\n @abstractmethod\n def isatty(self) -> bool: ...\n @abstractmethod\n def read(self, n: int = ...) -> AnyStr: ...\n @abstractmethod\n def readable(self) -> bool: ...\n @abstractmethod\n def readline(self, limit: int = ...) -> AnyStr: ...\n @abstractmethod\n def readlines(self, hint: int = ...) -> list[AnyStr]: ...\n @abstractmethod\n def seek(self, offset: int, whence: int = ...) -> int: ...\n @abstractmethod\n def seekable(self) -> bool: ...\n @abstractmethod\n def tell(self) -> int: ...\n @abstractmethod\n def truncate(self, size: Optional[int] = ...) -> int: ...\n @abstractmethod\n def writable(self) -> bool: ...\n @abstractmethod\n def write(self, s: AnyStr) -> int: ...\n @abstractmethod\n def writelines(self, lines: Iterable[AnyStr]) -> None: ...\n @abstractmethod\n def __next__(self) -> AnyStr: ...\n @abstractmethod\n def __iter__(self) -> Iterator[AnyStr]: ...\n @abstractmethod\n def __enter__(self) -> IO[AnyStr]: ...\n @abstractmethod\n def __exit__(\n self, t: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[TracebackType]\n ) -> Optional[bool]: ...\n\nclass BinaryIO(IO[bytes]):\n @abstractmethod\n def __enter__(self) -> BinaryIO: ...\n\nclass TextIO(IO[str]):\n # TODO use abstractproperty\n @property\n def buffer(self) -> BinaryIO: ...\n @property\n def encoding(self) -> str: ...\n @property\n def errors(self) -> Optional[str]: ...\n @property\n def line_buffering(self) -> int: ... # int on PyPy, bool on CPython\n @property\n def newlines(self) -> Any: ... # None, str or tuple\n @abstractmethod\n def __enter__(self) -> TextIO: ...\n\nclass ByteString(Sequence[int], metaclass=ABCMeta): ...\n\nclass Match(Generic[AnyStr]):\n pos: int\n endpos: int\n lastindex: Optional[int]\n lastgroup: Optional[AnyStr]\n string: AnyStr\n\n # The regular expression object whose match() or search() method produced\n # this match instance.\n re: Pattern[AnyStr]\n def expand(self, template: AnyStr) -> AnyStr: ...\n # group() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def group(self, __group: _Literal[0] = ...) -> AnyStr: ...\n @overload\n def group(self, __group: str | int) -> AnyStr | Any: ...\n @overload\n def group(self, __group1: str | int, __group2: str | int, *groups: str | int) -> Tuple[AnyStr | Any, ...]: ...\n # Each item of groups()'s return tuple is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groups(self) -> Tuple[AnyStr | Any, ...]: ...\n @overload\n def groups(self, default: _T) -> Tuple[AnyStr | _T, ...]: ...\n # Each value in groupdict()'s return dict is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groupdict(self) -> dict[str, AnyStr | Any]: ...\n @overload\n def groupdict(self, default: _T) -> dict[str, AnyStr | _T]: ...\n def start(self, __group: Union[int, str] = ...) -> int: ...\n def end(self, __group: Union[int, str] = ...) -> int: ...\n def span(self, __group: Union[int, str] = ...) -> Tuple[int, int]: ...\n @property\n def regs(self) -> Tuple[Tuple[int, int], ...]: ... # undocumented\n # __getitem__() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def __getitem__(self, __key: _Literal[0]) -> AnyStr: ...\n @overload\n def __getitem__(self, __key: int | str) -> AnyStr | Any: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Pattern(Generic[AnyStr]):\n flags: int\n groupindex: Mapping[str, int]\n groups: int\n pattern: AnyStr\n def search(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def match(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def fullmatch(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Optional[Match[AnyStr]]: ...\n def split(self, string: AnyStr, maxsplit: int = ...) -> list[AnyStr]: ...\n def findall(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> list[Any]: ...\n def finditer(self, string: AnyStr, pos: int = ..., endpos: int = ...) -> Iterator[Match[AnyStr]]: ...\n @overload\n def sub(self, repl: AnyStr, string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def sub(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> AnyStr: ...\n @overload\n def subn(self, repl: AnyStr, string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n @overload\n def subn(self, repl: Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = ...) -> Tuple[AnyStr, int]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# Functions\n\nif sys.version_info >= (3, 7):\n _get_type_hints_obj_allowed_types = Union[\n object,\n Callable[..., Any],\n FunctionType,\n BuiltinFunctionType,\n MethodType,\n ModuleType,\n WrapperDescriptorType,\n MethodWrapperType,\n MethodDescriptorType,\n ]\nelse:\n _get_type_hints_obj_allowed_types = Union[\n object, Callable[..., Any], FunctionType, BuiltinFunctionType, MethodType, ModuleType,\n ]\n\nif sys.version_info >= (3, 9):\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types,\n globalns: Optional[Dict[str, Any]] = ...,\n localns: Optional[Dict[str, Any]] = ...,\n include_extras: bool = ...,\n ) -> Dict[str, Any]: ...\n\nelse:\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types, globalns: Optional[Dict[str, Any]] = ..., localns: Optional[Dict[str, Any]] = ...\n ) -> Dict[str, Any]: ...\n\nif sys.version_info >= (3, 8):\n def get_origin(tp: Any) -> Optional[Any]: ...\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n\n@overload\ndef cast(typ: Type[_T], val: Any) -> _T: ...\n@overload\ndef cast(typ: str, val: Any) -> Any: ...\n@overload\ndef cast(typ: object, val: Any) -> Any: ...\n\n# Type constructors\n\n# NamedTuple is special-cased in the type checker\nclass NamedTuple(Tuple[Any, ...]):\n _field_types: collections.OrderedDict[str, Type[Any]]\n _field_defaults: Dict[str, Any] = ...\n _fields: Tuple[str, ...]\n _source: str\n def __init__(self, typename: str, fields: Iterable[Tuple[str, Any]] = ..., **kwargs: Any) -> None: ...\n @classmethod\n def _make(cls: Type[_T], iterable: Iterable[Any]) -> _T: ...\n if sys.version_info >= (3, 8):\n def _asdict(self) -> Dict[str, Any]: ...\n else:\n def _asdict(self) -> collections.OrderedDict[str, Any]: ...\n def _replace(self: _T, **kwargs: Any) -> _T: ...\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __or__(self: _T, __value: _T) -> _T: ...\n def __ior__(self: _T, __value: _T) -> _T: ...\n\ndef NewType(name: str, tp: Type[_T]) -> Type[_T]: ...\n\n# This itself is only available during type checking\ndef type_check_only(func_or_cls: _F) -> _F: ...\n\nif sys.version_info >= (3, 7):\n class ForwardRef:\n __forward_arg__: str\n __forward_code__: CodeType\n __forward_evaluated__: bool\n __forward_value__: Optional[Any]\n __forward_is_argument__: bool\n def __init__(self, arg: str, is_argument: bool = ...) -> None: ...\n def _evaluate(self, globalns: Optional[Dict[str, Any]], localns: Optional[Dict[str, Any]]) -> Optional[Any]: ...\n def __eq__(self, other: Any) -> bool: ...\n def __hash__(self) -> int: ...\n def __repr__(self) -> str: ...\n\nif sys.version_info >= (3, 10):\n def is_typeddict(tp: Any) -> bool: ...\n", "/typeshed/stdlib/typing_extensions.pyi": "import abc\nimport sys\nfrom typing import (\n TYPE_CHECKING as TYPE_CHECKING,\n Any,\n AsyncContextManager as AsyncContextManager,\n AsyncGenerator as AsyncGenerator,\n AsyncIterable as AsyncIterable,\n AsyncIterator as AsyncIterator,\n Awaitable as Awaitable,\n Callable,\n ChainMap as ChainMap,\n ClassVar as ClassVar,\n ContextManager as ContextManager,\n Coroutine as Coroutine,\n Counter as Counter,\n DefaultDict as DefaultDict,\n Deque as Deque,\n ItemsView,\n KeysView,\n Mapping,\n NewType as NewType,\n NoReturn as NoReturn,\n Text as Text,\n Tuple,\n Type as Type,\n TypeVar,\n ValuesView,\n _Alias,\n overload as overload,\n)\n\n_T = TypeVar(\"_T\")\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\nclass _SpecialForm:\n def __getitem__(self, typeargs: Any) -> Any: ...\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n\n# This alias for above is kept here for backwards compatibility.\nruntime = runtime_checkable\nProtocol: _SpecialForm = ...\nFinal: _SpecialForm = ...\n\ndef final(f: _F) -> _F: ...\n\nLiteral: _SpecialForm = ...\n\ndef IntVar(name: str) -> Any: ... # returns a new TypeVar\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\nclass _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta):\n def copy(self: _T) -> _T: ...\n # Using NoReturn so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: NoReturn, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: NoReturn, default: _T = ...) -> object: ... # type: ignore\n def update(self: _T, __m: _T) -> None: ...\n def items(self) -> ItemsView[str, object]: ...\n def keys(self) -> KeysView[str]: ...\n def values(self) -> ValuesView[object]: ...\n def __delitem__(self, k: NoReturn) -> None: ...\n\n# TypedDict is a (non-subscriptable) special form.\nTypedDict: object = ...\n\nOrderedDict = _Alias()\n\ndef get_type_hints(\n obj: Callable[..., Any],\n globalns: dict[str, Any] | None = ...,\n localns: dict[str, Any] | None = ...,\n include_extras: bool = ...,\n) -> dict[str, Any]: ...\n\nif sys.version_info >= (3, 7):\n def get_args(tp: Any) -> Tuple[Any, ...]: ...\n def get_origin(tp: Any) -> Any | None: ...\n\nAnnotated: _SpecialForm = ...\n_AnnotatedAlias: Any = ... # undocumented\n\n@runtime_checkable\nclass SupportsIndex(Protocol, metaclass=abc.ABCMeta):\n @abc.abstractmethod\n def __index__(self) -> int: ...\n\n# PEP 612 support for Python < 3.9\nif sys.version_info >= (3, 10):\n from typing import Concatenate as Concatenate, ParamSpec as ParamSpec, TypeAlias as TypeAlias, TypeGuard as TypeGuard\nelse:\n class ParamSpecArgs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpecKwargs:\n __origin__: ParamSpec\n def __init__(self, origin: ParamSpec) -> None: ...\n class ParamSpec:\n __name__: str\n __bound__: Type[Any] | None\n __covariant__: bool\n __contravariant__: bool\n def __init__(\n self, name: str, *, bound: None | Type[Any] | str = ..., contravariant: bool = ..., covariant: bool = ...\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n Concatenate: _SpecialForm = ...\n TypeAlias: _SpecialForm = ...\n TypeGuard: _SpecialForm = ...\n", @@ -35,16 +35,16 @@ "/typeshed/stdlib/usys.pyi": "from sys import *\n", "/typeshed/stdlib/utime.pyi": "from time import *\n", "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom typing import (\n Any,\n Dict,\n Generic,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Optional,\n Reversible,\n Tuple,\n Type,\n TypeVar,\n Union,\n ValuesView,\n)\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n\nif sys.version_info >= (3, 7):\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n rename: bool = ...,\n module: Optional[str] = ...,\n defaults: Optional[Iterable[Any]] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nelse:\n def namedtuple(\n typename: str,\n field_names: Union[str, Iterable[str]],\n *,\n verbose: bool = ...,\n rename: bool = ...,\n module: Optional[str] = ...,\n ) -> Type[Tuple[Any, ...]]: ...\n\nclass _OrderedDictKeysView(KeysView[_KT], Reversible[_KT]):\n def __reversed__(self) -> Iterator[_KT]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT, _VT], Reversible[Tuple[_KT, _VT]]):\n def __reversed__(self) -> Iterator[Tuple[_KT, _VT]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT], Reversible[_VT]):\n def __reversed__(self) -> Iterator[_VT]: ...\n\nclass OrderedDict(Dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = ...) -> Tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = ...) -> None: ...\n def copy(self: _S) -> _S: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _OrderedDictKeysView[_KT]: ...\n def items(self) -> _OrderedDictItemsView[_KT, _VT]: ...\n def values(self) -> _OrderedDictValuesView[_VT]: ...\n", - "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"Pins, images, sounds, temperature and volume.\n\"\"\"\n\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\n\nfrom _typeshed import ReadableBuffer\n\n# V2 only\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(\n callback: Optional[Callable[[], None]] = None,\n days: int = 0,\n h: int = 0,\n min: int = 0,\n s: int = 0,\n ms: int = 0,\n) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Schedule to run a function at the interval specified by the time arguments **V2 only**.\n\n Example: ``run_every(my_logging, min=5)``\n\n ``run_every`` can be used in two ways:\n\n As a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\n As a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\n Each argument corresponds to a different time unit and they are additive.\n So ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\n When an exception is thrown inside the callback function it deschedules the\n function. To avoid this you can catch exceptions with ``try/except``.\n\n :param callback: Function to call at the provided interval. Omit when using as a decorator.\n :param days: Sets the day mark for the scheduling.\n :param h: Sets the hour mark for the scheduling.\n :param min: Sets the minute mark for the scheduling.\n :param s: Sets the second mark for the scheduling.\n :param ms: Sets the millisecond mark for the scheduling.\n \"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"Enter a panic mode.\n\n Example: ``panic(127)``\n\n :param n: An arbitrary integer <= 255 to indicate a status.\n\n Requires restart.\n \"\"\"\n\ndef reset() -> None:\n \"\"\"Restart the board.\"\"\"\n\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converts a value from a range to an integer range.\n\n Example: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\n For example, to convert an accelerometer X value to a speaker volume.\n\n If one of the numbers in the ``to`` parameter is a floating point\n (i.e a decimal number like ``10.0``), this function will return a\n floating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n :param value: A number to convert.\n :param from_: A tuple to define the range to convert from.\n :param to: A tuple to define the range to convert to.\n :return: The ``value`` converted to the ``to`` range.\n \"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converts a value from a range to a floating point range.\n\n Example: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\n For example, to convert temperature from a Celsius scale to Fahrenheit.\n\n If one of the numbers in the ``to`` parameter is a floating point\n (i.e a decimal number like ``10.0``), this function will return a\n floating point number.\n If they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n :param value: A number to convert.\n :param from_: A tuple to define the range to convert from.\n :param to: A tuple to define the range to convert to.\n :return: The ``value`` converted to the ``to`` range.\n \"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"Wait for ``n`` milliseconds.\n\n Example: ``sleep(1000)``\n\n :param n: The number of milliseconds to wait\n\n One second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\n will pause the execution for one second.\n \"\"\"\n\ndef running_time() -> int:\n \"\"\"Get the running time of the board.\n\n :return: The number of milliseconds since the board was switched on or restarted.\n \"\"\"\n\ndef temperature() -> int:\n \"\"\"Get the temperature of the micro:bit in degrees Celsius.\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"Sets the volume.\n\n Example: ``set_volume(127)``\n\n :param v: a value between 0 (low) and 255 (high).\n\n Out of range values will be clamped to 0 or 255.\n\n **V2** only.\n \"\"\"\n ...\n\nclass Button:\n \"\"\"The class for the buttons ``button_a`` and ``button_b``.\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"Check if the button is pressed.\n\n :return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\n \"\"\"\n ...\n def was_pressed(self) -> bool:\n \"\"\"Check if the button was pressed since the device started or the last time this method was called.\n\n Calling this method will clear the press state so\n that the button must be pressed again before this method will return\n ``True`` again.\n\n :return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\n \"\"\"\n ...\n def get_presses(self) -> int:\n \"\"\"Get the running total of button presses, and resets this total\n to zero before returning.\n\n :return: The number of presses since the device started or the last time this method was called\n \"\"\"\n ...\n\nbutton_a: Button\n\"\"\"The left button ``Button`` object.\"\"\"\n\nbutton_b: Button\n\"\"\"The right button ``Button`` object.\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"A digital pin.\n\n Some pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\n \"\"\"\n\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n def read_digital(self) -> int:\n \"\"\"Get the digital value of the pin.\n\n Example: ``value = pin0.read_digital()``\n\n :return: 1 if the pin is high, and 0 if it's low.\n \"\"\"\n ...\n def write_digital(self, value: int) -> None:\n \"\"\"Set the digital value of the pin.\n\n Example: ``pin0.write_digital(1)``\n\n :param value: 1 to set the pin high or 0 to set the pin low\"\"\"\n ...\n def set_pull(self, value: int) -> None:\n \"\"\"Set the pull state to one of three possible values: ``PULL_UP``, ``PULL_DOWN`` or ``NO_PULL``.\n\n Example: ``pin0.set_pull(pin0.PULL_UP)``\n\n :param value: The pull state from the relevant pin, e.g. ``pin0.PULL_UP``.\n \"\"\"\n ...\n def get_pull(self) -> int:\n \"\"\"Get the pull state on a pin.\n\n Example: ``pin0.get_pull()``\n\n :return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\n These are set using the ``set_pull()`` method or automatically configured\n when a pin mode requires it.\n \"\"\"\n ...\n def get_mode(self) -> str:\n \"\"\"Returns the pin mode.\n\n Example: ``pin0.get_mode()``\n\n When a pin is used for a specific function, like\n writing a digital value, or reading an analog value, the pin mode\n changes.\n\n :return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\n \"\"\"\n ...\n def write_analog(self, value: int) -> None:\n \"\"\"Output a PWM signal on the pin, with the duty cycle proportional to ``value``.\n\n Example: ``pin0.write_analog(254)``\n\n :param value: An integer or a floating point number between 0 (0% duty cycle) and 1023 (100% duty).\n \"\"\"\n def set_analog_period(self, period: int) -> None:\n \"\"\"Set the period of the PWM signal being output to ``period`` in milliseconds.\n\n Example: ``pin0.set_analog_period(10)``\n\n :param period: The period in milliseconds with a minimum valid value of 1ms.\n \"\"\"\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"Set the period of the PWM signal being output to ``period`` in microseconds.\n\n Example: ``pin0.set_analog_period_microseconds(512)``\n\n :param period: The period in microseconds with a minimum valid value of 256\u00b5s.\n \"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"A pin with analog and digital features.\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"Read the voltage applied to the pin.\n\n Example: ``pin0.read_analog()``\n\n :return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\n \"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"A pin with analog, digital and touch features.\"\"\"\n\n CAPACITIVE: int\n RESISTIVE: int\n def is_touched(self) -> bool:\n \"\"\"Check if the pin is being touched.\n\n Example: ``pin0.is_touched()``\n\n The default touch mode for the pins on the edge connector is ``resistive``.\n The default for the logo pin **V2** is ``capacitive``.\n\n **Resistive touch**\n This test is done by measuring how much resistance there is between the\n pin and ground. A low resistance gives a reading of ``True``. To get\n a reliable reading using a finger you may need to touch the ground pin\n with another part of your body, for example your other hand.\n\n **Capacitive touch**\n This test is done by interacting with the electric field of a capacitor\n using a finger as a conductor. `Capacitive touch\n `_\n does not require you to make a ground connection as part of a circuit.\n\n :return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\n \"\"\"\n ...\n def set_touch_mode(self, value: int) -> None:\n \"\"\"Set the touch mode for the pin.\n\n Example: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\n The default touch mode for the pins on the edge connector is\n ``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n :param value: ``CAPACITIVE`` or ``RESISTIVE`` from the relevant pin.\n \"\"\"\n ...\n\npin0: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin1: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin2: MicroBitTouchPin\n\"\"\"Pin with digital, analog and touch features.\"\"\"\n\npin3: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin4: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin5: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin6: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin7: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin8: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin9: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin10: MicroBitAnalogDigitalPin\n\"\"\"Pin with digital and analog features.\"\"\"\n\npin11: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin12: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin13: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin14: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin15: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin16: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin19: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin20: MicroBitDigitalPin\n\"\"\"Pin with digital features.\"\"\"\n\npin_logo: MicroBitTouchPin\n\"\"\"A touch sensitive logo pin on the front of the micro:bit, which by default is set to capacitive touch mode.\"\"\"\n\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"A pin to address the micro:bit speaker.\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"An image to show on the micro:bit LED display.\n\n Given an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\n \"\"\"\n\n HEART: Image\n \"\"\"Heart image.\"\"\"\n\n HEART_SMALL: Image\n \"\"\"Small heart image.\"\"\"\n\n HAPPY: Image\n \"\"\"Happy face image.\"\"\"\n\n SMILE: Image\n \"\"\"Smiling mouth image.\"\"\"\n\n SAD: Image\n \"\"\"Sad face image.\"\"\"\n\n CONFUSED: Image\n \"\"\"Confused face image.\"\"\"\n\n ANGRY: Image\n \"\"\"Angry face image.\"\"\"\n\n ASLEEP: Image\n \"\"\"Sleeping face image.\"\"\"\n\n SURPRISED: Image\n \"\"\"Surprised face image.\"\"\"\n\n SILLY: Image\n \"\"\"Silly face image.\"\"\"\n\n FABULOUS: Image\n \"\"\"Sunglasses face image.\"\"\"\n\n MEH: Image\n \"\"\"Unimpressed face image.\"\"\"\n\n YES: Image\n \"\"\"Tick image.\"\"\"\n\n NO: Image\n \"\"\"Cross image.\"\"\"\n\n CLOCK12: Image\n \"\"\"Image with line pointing to 12 o'clock.\"\"\"\n\n CLOCK11: Image\n \"\"\"Image with line pointing to 11 o'clock.\"\"\"\n\n CLOCK10: Image\n \"\"\"Image with line pointing to 10 o'clock.\"\"\"\n\n CLOCK9: Image\n \"\"\"Image with line pointing to 9 o'clock.\"\"\"\n\n CLOCK8: Image\n \"\"\"Image with line pointing to 8 o'clock.\"\"\"\n\n CLOCK7: Image\n \"\"\"Image with line pointing to 7 o'clock.\"\"\"\n\n CLOCK6: Image\n \"\"\"Image with line pointing to 6 o'clock.\"\"\"\n\n CLOCK5: Image\n \"\"\"Image with line pointing to 5 o'clock.\"\"\"\n\n CLOCK4: Image\n \"\"\"Image with line pointing to 4 o'clock.\"\"\"\n\n CLOCK3: Image\n \"\"\"Image with line pointing to 3 o'clock.\"\"\"\n\n CLOCK2: Image\n \"\"\"Image with line pointing to 2 o'clock.\"\"\"\n\n CLOCK1: Image\n \"\"\"Image with line pointing to 1 o'clock.\"\"\"\n\n ARROW_N: Image\n \"\"\"Image of arrow pointing north.\"\"\"\n\n ARROW_NE: Image\n \"\"\"Image of arrow pointing north east.\"\"\"\n\n ARROW_E: Image\n \"\"\"Image of arrow pointing east.\"\"\"\n\n ARROW_SE: Image\n \"\"\"Image of arrow pointing south east.\"\"\"\n\n ARROW_S: Image\n \"\"\"Image of arrow pointing south.\"\"\"\n\n ARROW_SW: Image\n \"\"\"Image of arrow pointing south west.\"\"\"\n\n ARROW_W: Image\n \"\"\"Image of arrow pointing west.\"\"\"\n\n ARROW_NW: Image\n \"\"\"Image of arrow pointing north west.\"\"\"\n\n TRIANGLE: Image\n \"\"\"Image of a triangle pointing up.\"\"\"\n\n TRIANGLE_LEFT: Image\n \"\"\"Image of a triangle in the left corner.\"\"\"\n\n CHESSBOARD: Image\n \"\"\"Alternate LEDs lit in a chessboard pattern.\"\"\"\n\n DIAMOND: Image\n \"\"\"Diamond image.\"\"\"\n\n DIAMOND_SMALL: Image\n \"\"\"Small diamond image.\"\"\"\n\n SQUARE: Image\n \"\"\"Square image.\"\"\"\n\n SQUARE_SMALL: Image\n \"\"\"Small square image.\"\"\"\n\n RABBIT: Image\n \"\"\"Rabbit image.\"\"\"\n\n COW: Image\n \"\"\"Cow image.\"\"\"\n\n MUSIC_CROTCHET: Image\n \"\"\"Crotchet note image.\"\"\"\n\n MUSIC_QUAVER: Image\n \"\"\"Quaver note image.\"\"\"\n\n MUSIC_QUAVERS: Image\n \"\"\"Pair of quavers note image.\"\"\"\n\n PITCHFORK: Image\n \"\"\"Pitchfork image.\"\"\"\n\n XMAS: Image\n \"\"\"Christmas tree image.\"\"\"\n\n PACMAN: Image\n \"\"\"Pac-Man arcade character image.\"\"\"\n\n TARGET: Image\n \"\"\"Target image.\"\"\"\n\n TSHIRT: Image\n \"\"\"T-shirt image.\"\"\"\n\n ROLLERSKATE: Image\n \"\"\"Rollerskate image.\"\"\"\n\n DUCK: Image\n \"\"\"Duck image.\"\"\"\n\n HOUSE: Image\n \"\"\"House image.\"\"\"\n\n TORTOISE: Image\n \"\"\"Tortoise image.\"\"\"\n\n BUTTERFLY: Image\n \"\"\"Butterfly image.\"\"\"\n\n STICKFIGURE: Image\n \"\"\"Stick figure image.\"\"\"\n\n GHOST: Image\n \"\"\"Ghost image.\"\"\"\n\n SWORD: Image\n \"\"\"Sword image.\"\"\"\n\n GIRAFFE: Image\n \"\"\"Giraffe image.\"\"\"\n\n SKULL: Image\n \"\"\"Skull image.\"\"\"\n\n UMBRELLA: Image\n \"\"\"Umbrella image.\"\"\"\n\n SNAKE: Image\n \"\"\"Snake image.\"\"\"\n\n SCISSORS: Image\n \"\"\"Scissors image.\"\"\"\n\n ALL_CLOCKS: List[Image]\n \"\"\"A list containing all the CLOCK_ images in sequence.\"\"\"\n\n ALL_ARROWS: List[Image]\n \"\"\"A list containing all the ARROW_ images in sequence.\"\"\"\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"Create an image from a string describing which LEDs are lit.\n\n ``string`` has to consist of digits 0-9 arranged into lines,\n describing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\n will create a 5\u00d75 image of an X. The end of a line is indicated by a\n colon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n :param string: The string describing the image.\n \"\"\"\n ...\n @overload\n def __init__(\n self, width: int = 5, height: int = 5, buffer: ReadableBuffer = None\n ) -> None:\n \"\"\"Create an empty image with ``width`` columns and ``height`` rows.\n\n :param width: Optional width of the image\n :param height: Optional height of the image\n :param buffer: Optional array or bytes of ``width``\u00d7``height`` integers in range 0-9 to initialize the image\n\n Examples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\n These create 2 x 2 pixel images at full brightness.\n \"\"\"\n ...\n def width(self) -> int:\n \"\"\"Get the number of columns.\n\n :return: The number of columns in the image\n \"\"\"\n ...\n def height(self) -> int:\n \"\"\"Get the number of rows.\n\n :return: The number of rows in the image\n \"\"\"\n ...\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"Set the brightness of a pixel.\n\n Example: ``my_image.set_pixel(0, 0, 9)``\n\n :param x: The column number\n :param y: The row number\n :param value: The brightness as an integer between 0 (dark) and 9 (bright)\n\n This method will raise an exception when called on any of the built-in\n read-only images, like ``Image.HEART``.\n \"\"\"\n ...\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"Get the brightness of a pixel.\n\n Example: ``my_image.get_pixel(0, 0)``\n\n :param x: The column number\n :param y: The row number\n :return: The brightness as an integer between 0 and 9.\n \"\"\"\n ...\n def shift_left(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture left.\n\n Example: ``Image.HEART_SMALL.shift_left(1)``\n\n :param n: The number of columns to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_right(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture right.\n\n Example: ``Image.HEART_SMALL.shift_right(1)``\n\n :param n: The number of columns to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_up(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture up.\n\n Example: ``Image.HEART_SMALL.shift_up(1)``\n\n :param n: The number of rows to shift by\n :return: The shifted image\n \"\"\"\n ...\n def shift_down(self, n: int) -> Image:\n \"\"\"Create a new image by shifting the picture down.\n\n Example: ``Image.HEART_SMALL.shift_down(1)``\n\n :param n: The number of rows to shift by\n :return: The shifted image\n \"\"\"\n ...\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"Create a new image by cropping the picture.\n\n Example: ``Image.HEART.crop(1, 1, 3, 3)``\n\n :param x: The crop offset column\n :param y: The crop offset row\n :param w: The crop width\n :param h: The crop height\n :return: The new image\n \"\"\"\n ...\n def copy(self) -> Image:\n \"\"\"Create an exact copy of the image.\n\n Example: ``Image.HEART.copy()``\n\n :return: The new image\n \"\"\"\n ...\n def invert(self) -> Image:\n \"\"\"Create a new image by inverting the brightness of the pixels in the\n source image.\n\n Example: ``Image.SMALL_HEART.invert()``\n\n :return: The new image.\n \"\"\"\n ...\n def fill(self, value: int) -> None:\n \"\"\"Set the brightness of all the pixels in the image.\n\n Example: ``my_image.fill(5)``\n\n :param value: The new brightness as a number between 0 (dark) and 9 (bright).\n\n This method will raise an exception when called on any of the built-in\n read-only images, like ``Image.HEART``.\n \"\"\"\n ...\n def blit(\n self,\n src: Image,\n x: int,\n y: int,\n w: int,\n h: int,\n xdest: int = 0,\n ydest: int = 0,\n ) -> None:\n \"\"\"Copy an area from another image into this image.\n\n Example: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n :param src: The source image\n :param x: The starting column offset in the source image\n :param y: The starting row offset in the source image\n :param w: The number of columns to copy\n :param h: The number of rows to copy\n :param xdest: The column offset to modify in this image\n :param ydest: The row offset to modify in this image\n\n Pixels outside the source image are treated as having a brightness of 0.\n\n ``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\n and ``crop()`` can are all implemented by using ``blit()``.\n\n For example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\n \"\"\"\n ...\n def __repr__(self) -> str:\n \"\"\"Get a compact string representation of the image.\"\"\"\n ...\n def __str__(self) -> str:\n \"\"\"Get a readable string representation of the image.\"\"\"\n ...\n def __add__(self, other: Image) -> Image:\n \"\"\"Create a new image by adding the brightness values from the two\n images for each pixel.\n\n Example: ``Image.HEART + Image.HAPPY``\n\n :param other: The image to add.\n \"\"\"\n ...\n def __sub__(self, other: Image) -> Image:\n \"\"\"Create a new image by subtracting the brightness values of the\n other image from this image.\n\n Example: ``Image.HEART - Image.HEART_SMALL``\n\n :param other: The image to subtract.\n \"\"\"\n ...\n def __mul__(self, n: float) -> Image:\n \"\"\"Create a new image by multiplying the brightness of each pixel by\n ``n``.\n\n Example: ``Image.HEART * 0.5``\n\n :param n: The value to multiply by.\n \"\"\"\n ...\n def __truediv__(self, n: float) -> Image:\n \"\"\"Create a new image by dividing the brightness of each pixel by\n ``n``.\n\n Example: ``Image.HEART / 2``\n\n :param n: The value to divide by.\n \"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"Represents the transition of sound events, from ``quiet`` to ``loud`` like clapping or shouting.\"\"\"\n\n QUIET: SoundEvent\n \"\"\"Represents the transition of sound events, from ``loud`` to ``quiet`` like speaking or background music.\"\"\"\n\nclass Sound:\n \"\"\"The built-in sounds can be called using ``audio.play(Sound.NAME)``.\"\"\"\n\n GIGGLE: Sound\n \"\"\"Giggling sound.\"\"\"\n\n HAPPY: Sound\n \"\"\"Happy sound.\"\"\"\n\n HELLO: Sound\n \"\"\"Greeting sound.\"\"\"\n\n MYSTERIOUS: Sound\n \"\"\"Mysterious sound.\"\"\"\n\n SAD: Sound\n \"\"\"Sad sound.\"\"\"\n\n SLIDE: Sound\n \"\"\"Sliding sound.\"\"\"\n\n SOARING: Sound\n \"\"\"Soaring sound.\"\"\"\n\n SPRING: Sound\n \"\"\"Spring sound.\"\"\"\n\n TWINKLE: Sound\n \"\"\"Twinkling sound.\"\"\"\n\n YAWN: Sound\n \"\"\"Yawning sound.\"\"\"\n", - "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"Measure the acceleration of the micro:bit and recognise gestures.\n\"\"\"\n\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"Get the acceleration measurement in the ``x`` axis in milli-g.\n\n Example: ``accelerometer.get_x()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Get the acceleration measurement in the ``y`` axis in milli-g.\n\n Example: ``accelerometer.get_y()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Get the acceleration measurement in the ``z`` axis in milli-g.\n\n Example: ``accelerometer.get_z()``\n\n :return: A positive or negative integer depending on direction in the range +/- 2000mg.\n \"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"Get the acceleration measurements in all axes at once as a tuple.\n\n Example: ``x, y, z = accelerometer.get_values()``\n\n :return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\n \"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Get the acceleration measurement of all axes combined, as a positive integer. This is the Pythagorean sum of the X, Y and Z axes.\n\n Example: ``accelerometer.get_strength()``\n\n :return: The combined acceleration strength of all the axes, in milli-g.\n \"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"Get the name of the current gesture.\n\n Example: ``accelerometer.current_gesture()``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :return: The current gesture\n \"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"Check if the named gesture is currently active.\n\n Example: ``accelerometer.is_gesture('shake')``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :param name: The gesture name.\n :return: ``True`` if the gesture is active, ``False`` otherwise.\n \"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"Check if the named gesture was active since the last call.\n\n Example: ``accelerometer.was_gesture('shake')``\n\n MicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n ``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n ``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\n represented as strings.\n\n :param name: The gesture name.\n :return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\n \"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"Return a tuple of the gesture history.\n\n Example: ``accelerometer.get_gestures()``\n\n Clears the gesture history before returning.\n\n Gestures are not updated in the background so there needs to be constant\n calls to some accelerometer method to do the gesture detection. Usually\n gestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n :return: The history as a tuple, most recent last.\n \"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Set the accelerometer sensitivity range, in g (standard gravity), to the closest values supported by the hardware, so it rounds to either ``2``, ``4``, or ``8`` g.\n\n Example: ``accelerometer.set_range(8)``\n\n :param value: New range for the accelerometer, an integer in ``g``.\n \"\"\"\n", - "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"Play sounds using the micro:bit (import ``audio`` for V1 compatibility).\n\"\"\"\n\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(\n source: Union[Iterable[AudioFrame], Sound, SoundEffect],\n wait: bool = True,\n pin: MicroBitDigitalPin = pin0,\n return_pin: Union[MicroBitDigitalPin, None] = None,\n) -> None:\n \"\"\"Play a built-in sound, sound effect or custom audio frames.\n\n Example: ``audio.play(Sound.GIGGLE)``\n\n :param source: A built-in ``Sound`` such as ``Sound.GIGGLE``, a ``SoundEffect`` or sample data as an iterable of ``AudioFrame`` objects.\n :param wait: If ``wait`` is ``True``, this function will block until the sound is complete.\n :param pin: An optional argument to specify the output pin can be used to override the default of ``pin0``. If we do not want any sound to play we can use ``pin=None``.\n :param return_pin: Specifies a differential edge connector pin to connect to an external speaker instead of ground. This is ignored for the **V2** revision.\n \"\"\"\n\ndef is_playing() -> bool:\n \"\"\"Check whether a sound is playing.\n\n Example: ``audio.is_playing()``\n\n :return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"Stop all audio playback.\n\n Example: ``audio.stop()``\n \"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"A sound effect, composed by a set of parameters configured via the constructor or attributes.\"\"\"\n\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sine wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Sawtooth wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Triangle wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Square wave option used for the ``waveform`` parameter.\"\"\"\n\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise option used for the ``waveform`` parameter.\"\"\"\n\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Linear interpolation option used for the ``shape`` parameter.\"\"\"\n\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolation option used for the ``shape`` parameter.\"\"\"\n\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmic interpolation option used for the ``shape`` parameter.\"\"\"\n\n FX_NONE: ClassVar[int]\n \"\"\"No effect option used for the ``fx`` parameter.\"\"\"\n\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect option used for the ``fx`` parameter.\"\"\"\n\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect option used for the ``fx`` parameter.\"\"\"\n\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect option used for the ``fx`` parameter.\"\"\"\n\n freq_start: int\n \"\"\"Start frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n\n freq_end: int\n \"\"\"End frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n\n duration: int\n \"\"\"Duration of the sound in milliseconds, a number between ``0`` and ``9999``\"\"\"\n\n vol_start: int\n \"\"\"Start volume value, a number between ``0`` and ``255``\"\"\"\n\n vol_end: int\n \"\"\"End volume value, a number between ``0`` and ``255``\"\"\"\n\n waveform: int\n \"\"\"Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise)\"\"\"\n\n fx: int\n \"\"\"Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``\"\"\"\n\n shape: int\n \"\"\"The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(\n self,\n freq_start: int = 500,\n freq_end: int = 2500,\n duration: int = 500,\n vol_start: int = 255,\n vol_end: int = 0,\n waveform: int = WAVEFORM_SQUARE,\n fx: int = FX_NONE,\n shape: int = SHAPE_LOG,\n ):\n \"\"\"Create a new sound effect.\n\n Example: ``my_effect = SoundEffect(duration=1000)``\n\n All the parameters are optional, with default values as shown above, and\n they can all be modified via attributes of the same name. For example, we\n can first create an effect ``my_effect = SoundEffect(duration=1000)``,\n and then change its attributes ``my_effect.duration = 500``.\n\n :param freq_start: Start frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n :param freq_end: End frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n :param duration: Duration of the sound in milliseconds, a number between ``0`` and ``9999``.\n :param vol_start: Start volume value, a number between ``0`` and ``255``.\n :param vol_end: End volume value, a number between ``0`` and ``255``.\n :param waveform: Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise).\n :param fx: Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n :param shape: The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\n \"\"\"\n def copy(self) -> SoundEffect:\n \"\"\"Create a copy of this ``SoundEffect``.\n\n Example: ``sound_2 = sound_1.copy()``\n\n :return: A copy of the SoundEffect.\n \"\"\"\n\nclass AudioFrame:\n \"\"\"An ``AudioFrame`` object is a list of 32 samples each of which is a unsigned byte\n (whole number between 0 and 255).\n\n It takes just over 4 ms to play a single frame.\n\n Example::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\n \"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overwrite the data in this ``AudioFrame`` with the data from another ``AudioFrame`` instance.\n\n Example: ``my_frame.copyfrom(source_frame)``\n\n :param other: ``AudioFrame`` instance from which to copy the data.\n \"\"\"\n def __len__(self) -> int: ...\n def __setitem__(self, key: int, value: int) -> None: ...\n def __getitem__(self, key: int) -> int: ...\n", - "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"Use the built-in compass.\n\"\"\"\n\ndef calibrate() -> None:\n \"\"\"Starts the calibration process.\n\n Example: ``compass.calibrate()``\n\n An instructive message will be scrolled to the user after which they will need\n to rotate the device in order to draw a circle on the LED display.\n \"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"Check is the compass is calibrated.\n\n Example: ``compass.is_calibrated()``\n\n :return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\n \"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"Undoes the calibration, making the compass uncalibrated again.\n\n Example: ``compass.clear_calibration()``\n \"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"Get the magnetic field strength on the ``x`` axis.\n\n Example: ``compass.get_x()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"Get the magnetic field strength on the ``y`` axis.\n\n Example: ``compass.get_y()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"Get the magnetic field strength on the ``z`` axis.\n\n Example: ``compass.get_z()``\n\n Call ``calibrate`` first or the results will be inaccurate.\n\n :return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\n \"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"Get the compass heading.\n\n Example: ``compass.heading()``\n\n :return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\n \"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"Get the magnitude of the magnetic field around the device.\n\n Example: ``compass.get_field_strength()``\n\n :return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...\n", - "/typeshed/stdlib/microbit/display.pyi": "\"\"\"Show text, images and animations on the 5\u00d75 LED display.\n\"\"\"\n\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"Get the brightness of the LED at column ``x`` and row ``y``.\n\n Example: ``display.get_pixel(0, 0)``\n\n :param x: The display column (0..4)\n :param y: The display row (0..4)\n :return: A number between 0 (off) and 9 (bright)\n \"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"Set the brightness of the LED at column ``x`` and row ``y``.\n\n Example: ``display.set_pixel(0, 0, 9)``\n\n :param x: The display column (0..4)\n :param y: The display row (0..4)\n :param value: The brightness between 0 (off) and 9 (bright)\n \"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"Set the brightness of all LEDs to 0 (off).\n\n Example: ``display.clear()``\n \"\"\"\n ...\n\ndef show(\n image: Union[str, float, int, Image, Iterable[Image]],\n delay: int = 400,\n wait: bool = True,\n loop: bool = False,\n clear: bool = False,\n) -> None:\n \"\"\"Shows images, letters or digits on the LED display.\n\n Example: ``display.show(Image.HEART)``\n\n When ``image`` is an image or a list of images then each image is displayed in turn.\n If ``image`` is a string or number, each letter or digit is displayed in turn.\n\n :param image: A string, number, image or list of images to show.\n :param delay: Each letter, digit or image is shown with ``delay`` milliseconds between them.\n :param wait: If ``wait`` is ``True``, this function will block until the animation is finished, otherwise the animation will happen in the background.\n :param loop: If ``loop`` is ``True``, the animation will repeat forever.\n :param clear: If ``clear`` is ``True``, the display will be cleared after the sequence has finished.\n\n The ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\n \"\"\"\n ...\n\ndef scroll(\n text: Union[str, float, int],\n delay: int = 150,\n wait: bool = True,\n loop: bool = False,\n monospace: bool = False,\n) -> None:\n \"\"\"Scrolls a number or text on the LED display.\n\n Example: ``display.scroll('micro:bit')``\n\n :param text: The string to scroll. If ``text`` is an integer or float it is first converted to a string using ``str()``.\n :param delay: The ``delay`` parameter controls how fast the text is scrolling.\n :param wait: If ``wait`` is ``True``, this function will block until the animation is finished, otherwise the animation will happen in the background.\n :param loop: If ``loop`` is ``True``, the animation will repeat forever.\n :param monospace: If ``monospace`` is ``True``, the characters will all take up 5 pixel-columns in width, otherwise there will be exactly 1 blank pixel-column between each character as they scroll.\n\n The ``wait``, ``loop`` and ``monospace`` arguments must be specified\n using their keyword.\n \"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Turn on the LED display.\n\n Example: ``display.on()``\n \"\"\"\n ...\n\ndef off() -> None:\n \"\"\"Turn off the LED display (disabling the display allows you to re-use the GPIO pins for other purposes).\n\n Example: ``display.off()``\n \"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"Check whether the LED display is enabled.\n\n Example: ``display.is_on()``\n\n :return: ``True`` if the display is on, otherwise returns ``False``.\n \"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"Read the light level.\n\n Example: ``display.read_light_level()``\n\n Uses the display's LEDs in reverse-bias mode to sense the amount of light\n falling on the display.\n\n :return: An integer between 0 and 255 representing the light level, with larger meaning more light.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"Communicate with devices using the I\u00b2C bus protocol.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(\n freq: int = 100000, sda: MicroBitDigitalPin = pin20, scl: MicroBitDigitalPin = pin19\n) -> None:\n \"\"\"Re-initialize a peripheral.\n\n Example: ``i2c.init()``\n\n :param freq: clock frequency\n :param sda: ``sda`` pin (default 20)\n :param scl: ``scl`` pin (default 19)\n\n On a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\n the accelerometer and compass stop working, as they are connected\n internally to those pins. This warning does not apply to the **V2**\n revision of the micro:bit as this has `separate I\u00b2C lines `_\n for the motion sensors and the edge connector.\n \"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"Scan the bus for devices.\n\n Example: ``i2c.scan()``\n\n :return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\n \"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool = False) -> bytes:\n \"\"\"Read bytes from a device.\n\n Example: ``i2c.read(0x50, 64)``\n\n :param addr: The 7-bit address of the device\n :param n: The number of bytes to read\n :param repeat: If ``True``, no stop bit will be sent\n :return: The bytes read\n \"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool = False) -> None:\n \"\"\"Write bytes to a device.\n\n Example: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n :param addr: The 7-bit address of the device\n :param buf: A buffer containing the bytes to write\n :param repeat: If ``True``, no stop bit will be sent\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"Respond to sound using the built-in microphone (V2 only).\n\"\"\"\n\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"Get the last recorded sound event\n\n Example: ``microphone.current_event()``\n\n :return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\n \"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"Check if a sound was heard at least once since the last call.\n\n Example: ``microphone.was_event(SoundEvent.LOUD)``\n\n This call clears the sound history before returning.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\n \"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"Check the most recent sound event detected.\n\n Example: ``microphone.is_event(SoundEvent.LOUD)``\n\n This call does not clear the sound event history.\n\n :param event: The event to check for, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``\n :return: ``True`` if sound was the most recent heard, ``False`` otherwise.\n \"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"Get the sound event history as a tuple.\n\n Example: ``microphone.get_events()``\n\n This call clears the sound history before returning.\n\n :return: A tuple of the event history with the most recent event last.\n \"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"Set the threshold for a sound event.\n\n Example: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\n A high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n :param event: A sound event, such as ``SoundEvent.LOUD`` or ``SoundEvent.QUIET``.\n :param value: The threshold level in the range 0-255.\n \"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"Get the sound pressure level.\n\n Example: ``microphone.sound_level()``\n\n :return: A representation of the sound pressure level in the range 0 to 255.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"Control the built-in speaker (V2 only).\n\"\"\"\n\ndef off() -> None:\n \"\"\"Turn the speaker off.\n\n Example: ``speaker.off()``\n\n This does not disable sound output to an edge connector pin.\n \"\"\"\n ...\n\ndef on() -> None:\n \"\"\"Turn the speaker on.\n\n Example: ``speaker.on()``\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"Communicate with devices using the serial peripheral interface (SPI) bus.\n\"\"\"\n\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(\n baudrate: int = 1000000,\n bits: int = 8,\n mode: int = 0,\n sclk: MicroBitDigitalPin = pin13,\n mosi: MicroBitDigitalPin = pin15,\n miso: MicroBitDigitalPin = pin14,\n) -> None:\n \"\"\"Initialize SPI communication.\n\n Example: ``spi.init()``\n\n For correct communication, the parameters have to be the same on both communicating devices.\n\n :param baudrate: The speed of communication.\n :param bits: The width in bits of each transfer. Currently only ``bits=8`` is supported. However, this may change in the future.\n :param mode: Determines the combination of clock polarity and phase - `see online table `_.\n :param sclk: sclk pin (default 13)\n :param mosi: mosi pin (default 15)\n :param miso: miso pin (default 14)\n \"\"\"\n ...\n\ndef read(nbytes: int, out: int = 0) -> bytes:\n \"\"\"Read at most ``nbytes`` while continuously writing the single byte given by ``out``.\n\n Example: ``spi.read(64)``\n\n :param nbytes: Maximum number of bytes to read.\n :param out: The byte value to write (default 0).\n :return: The bytes read.\n \"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"Write bytes to the bus.\n\n Example: ``spi.write(bytes([1, 2, 3]))``\n\n :param buffer: A buffer to read data from.\n \"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"Write the ``out`` buffer to the bus and read any response into the ``in_`` buffer.\n\n Example: ``spi.write_readinto(out_buffer, in_buffer)``\n\n The length of the buffers should be the same. The buffers can be the same object.\n\n :param out: The buffer to write any response to.\n :param in_: The buffer to read data from.\n \"\"\"\n ...\n", - "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"Communicate with a device using a serial interface.\n\"\"\"\n\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\n\nODD: int\n\"\"\"Odd parity\"\"\"\n\nEVEN: int\n\"\"\"Even parity\"\"\"\n\ndef init(\n baudrate: int = 9600,\n bits: int = 8,\n parity: Optional[int] = None,\n stop: int = 1,\n tx: Optional[MicroBitDigitalPin] = None,\n rx: Optional[MicroBitDigitalPin] = None,\n) -> None:\n \"\"\"Initialize serial communication.\n\n Example: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n :param baudrate: The speed of communication.\n :param bits: The size of bytes being transmitted. micro:bit only supports 8.\n :param parity: How parity is checked, ``None``, ``uart.ODD`` or ``uart.EVEN``.\n :param stop: The number of stop bits, has to be 1 for micro:bit.\n :param tx: Transmitting pin.\n :param rx: Receiving pin.\n\n Initializing the UART on external pins will cause the Python console on\n USB to become unaccessible, as it uses the same hardware. To bring the\n console back you must reinitialize the UART without passing anything for\n ``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\n that calling ``uart.init(115200)`` is enough to restore the Python console.\n\n For more details see `the online documentation `_.\n \"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"Check if any data is waiting.\n\n Example: ``uart.any()``\n\n :return: ``True`` if any data is waiting, else ``False``.\n \"\"\"\n ...\n\ndef read(nbytes: Optional[int] = None) -> Optional[bytes]:\n \"\"\"Read bytes.\n\n Example: ``uart.read()``\n\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read as many bytes as possible\n :return: A bytes object or ``None`` on timeout\n \"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int] = None) -> Optional[int]:\n \"\"\"Read bytes into the ``buf``.\n\n Example: ``uart.readinto(input_buffer)``\n\n :param buf: The buffer to write to.\n :param nbytes: If ``nbytes`` is specified then read at most that many bytes, otherwise read ``len(buf)`` bytes.\n :return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\n \"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"Read a line, ending in a newline character.\n\n Example: ``uart.readline()``\n\n :return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\n \"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"Write a buffer to the bus.\n\n Example: ``uart.write('hello world')``\n\n :param buf: A bytes object or a string.\n :return: The number of bytes written, or ``None`` on timeout.\n\n Examples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\n \"\"\"\n ...\n", + "/typeshed/stdlib/microbit/__init__.pyi": "\"\"\"\u5f15\u8173\u3001\u5f71\u50cf\u3001\u8072\u97f3\u3001\u6eab\u5ea6\u548c\u97f3\u91cf\u3002\"\"\"\nfrom typing import Any, Callable, List, Optional, Tuple, Union, overload\nfrom _typeshed import ReadableBuffer\nfrom . import accelerometer as accelerometer\nfrom . import audio as audio\nfrom . import compass as compass\nfrom . import display as display\nfrom . import i2c as i2c\nfrom . import microphone as microphone\nfrom . import speaker as speaker\nfrom . import spi as spi\nfrom . import uart as uart\n\ndef run_every(callback: Optional[Callable[[], None]]=None, days: int=0, h: int=0, min: int=0, s: int=0, ms: int=0) -> Callable[[Callable[[], None]], Callable[[], None]]:\n \"\"\"Schedule to run a function at the interval specified by the time arguments **V2 only**.\n\nExample: ``run_every(my_logging, min=5)``\n\n``run_every`` can be used in two ways:\n\nAs a Decorator - placed on top of the function to schedule. For example::\n\n @run_every(h=1, min=20, s=30, ms=50)\n def my_function():\n # Do something here\n\nAs a Function - passing the callback as a positional argument. For example::\n\n def my_function():\n # Do something here\n run_every(my_function, s=30)\n\nEach argument corresponds to a different time unit and they are additive.\nSo ``run_every(min=1, s=30)`` schedules the callback every minute and a half.\n\nWhen an exception is thrown inside the callback function it deschedules the\nfunction. To avoid this you can catch exceptions with ``try/except``.\n\n:param callback: Function to call at the provided interval. Omit when using as a decorator.\n:param days: Sets the day mark for the scheduling.\n:param h: Sets the hour mark for the scheduling.\n:param min: Sets the minute mark for the scheduling.\n:param s: Sets the second mark for the scheduling.\n:param ms: Sets the millisecond mark for the scheduling.\"\"\"\n\ndef panic(n: int) -> None:\n \"\"\"\u9032\u5165\u7dca\u6025\u6a21\u5f0f\u3002\n\nExample: ``panic(127)``\n\n:param n: \u4efb\u610f\u6574\u6578 <= 255 \u4ee5\u8868\u793a\u72c0\u614b\u3002\n\nRequires restart.\"\"\"\n\ndef reset() -> None:\n \"\"\"\u91cd\u555f\u958b\u767c\u677f\u3002\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[int, int]) -> int:\n \"\"\"Converts a value from a range to an integer range.\n\nExample: ``volume = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))``\n\nFor example, to convert an accelerometer X value to a speaker volume.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\n\n temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))\n\n:param value: A number to convert.\n:param from_: A tuple to define the range to convert from.\n:param to: A tuple to define the range to convert to.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\n@overload\ndef scale(value: float, from_: Tuple[float, float], to: Tuple[float, float]) -> float:\n \"\"\"Converts a value from a range to a floating point range.\n\nExample: ``temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))``\n\nFor example, to convert temperature from a Celsius scale to Fahrenheit.\n\nIf one of the numbers in the ``to`` parameter is a floating point\n(i.e a decimal number like ``10.0``), this function will return a\nfloating point number.\nIf they are both integers (i.e ``10``), it will return an integer::\n\n returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))\n\n:param value: A number to convert.\n:param from_: A tuple to define the range to convert from.\n:param to: A tuple to define the range to convert to.\n:return: The ``value`` converted to the ``to`` range.\"\"\"\n\ndef sleep(n: float) -> None:\n \"\"\"\u7b49\u5f85 ``n`` \u6beb\u79d2\u3002\n\nExample: ``sleep(1000)``\n\n:param n: \u8981\u7b49\u5f85\u7684\u6beb\u79d2\u6578\u3002\n\nOne second is 1000 milliseconds, so::\n\n microbit.sleep(1000)\n\nwill pause the execution for one second.\"\"\"\n\ndef running_time() -> int:\n \"\"\"\u53d6\u5f97\u958b\u767c\u677f\u7684\u57f7\u884c\u6642\u9593\u3002\n\n:return: The number of milliseconds since the board was switched on or restarted.\"\"\"\n\ndef temperature() -> int:\n \"\"\"\u53d6\u5f97 micro:bit \u7684\u6eab\u5ea6 (\u4ee5\u651d\u6c0f\u70ba\u55ae\u4f4d)\u3002 (\u6eab\u5ea6)\"\"\"\n\ndef set_volume(v: int) -> None:\n \"\"\"\u8a2d\u5b9a\u97f3\u91cf\u3002\n\nExample: ``set_volume(127)``\n\n:param v: \u4ecb\u65bc 0 (\u4f4e) \u548c 255 (\u9ad8) \u4e4b\u9593\u7684\u503c\u3002\n\nOut of range values will be clamped to 0 or 255.\n\n**V2** only.\"\"\"\n ...\n\nclass Button:\n \"\"\"\u6309\u9215 ``button_a`` \u548c ``button_b`` \u7684\u985e\u5225\u3002\"\"\"\n\n def is_pressed(self) -> bool:\n \"\"\"\u6aa2\u67e5\u6309\u9215\u662f\u5426\u6709\u6309\u4e0b\u3002\n\n:return: ``True`` if the specified button ``button`` is pressed, and ``False`` otherwise.\"\"\"\n ...\n\n def was_pressed(self) -> bool:\n \"\"\"\u6aa2\u67e5\u81ea\u88dd\u7f6e\u555f\u52d5\u6216\u4e0a\u6b21\u547c\u53eb\u6b64\u65b9\u6cd5\u4ee5\u4f86\uff0c\u662f\u5426\u6709\u6309\u4e0b\u8a72\u6309\u9215\u3002\n\nCalling this method will clear the press state so\nthat the button must be pressed again before this method will return\n``True`` again.\n\n:return: ``True`` if the specified button ``button`` was pressed, and ``False`` otherwise\"\"\"\n ...\n\n def get_presses(self) -> int:\n \"\"\"\u53d6\u5f97\u6309\u4e0b\u6309\u9215\u7684\u57f7\u884c\u7e3d\u6578\uff0c\u4e26\u5728\u50b3\u56de\u524d\u5c07\u6b64\u7e3d\u6578\u91cd\u8a2d\u70ba\u96f6\u3002\n\n:return: The number of presses since the device started or the last time this method was called\"\"\"\n ...\nbutton_a: Button\n\"\"\"\u5de6\u5074\u6309\u9215 ``Button`` \u7269\u4ef6\u3002\"\"\"\nbutton_b: Button\n\"\"\"\u53f3\u5074\u6309\u9215 ``Button`` \u7269\u4ef6\u3002\"\"\"\n\nclass MicroBitDigitalPin:\n \"\"\"\u6578\u4f4d\u5f15\u8173\u3002\n\nSome pins support analog and touch features using the ``MicroBitAnalogDigitalPin`` and ``MicroBitTouchPin`` subclasses.\"\"\"\n NO_PULL: int\n PULL_UP: int\n PULL_DOWN: int\n\n def read_digital(self) -> int:\n \"\"\"\u53d6\u5f97\u5f15\u8173\u7684\u6578\u4f4d\u503c\u3002\n\nExample: ``value = pin0.read_digital()``\n\n:return: 1 if the pin is high, and 0 if it's low.\"\"\"\n ...\n\n def write_digital(self, value: int) -> None:\n \"\"\"\u8a2d\u5b9a\u5f15\u8173\u7684\u6578\u4f4d\u503c\u3002\n\nExample: ``pin0.write_digital(1)``\n\n:param value: 1 \u5c07\u5f15\u8173\u8a2d\u70ba\u9ad8\u96fb\u5e73\uff0c\u6216 0 \u5c07\u5f15\u8173\u8a2d\u70ba\u4f4e\u96fb\u5e73\"\"\"\n ...\n\n def set_pull(self, value: int) -> None:\n \"\"\"\u5c07\u63d0\u53d6\u72c0\u614b\u8a2d\u70ba\u4e09\u500b\u53ef\u80fd\u503c\u4e4b\u4e00\uff1a``PULL_UP``\u3001``PULL_DOWN`` \u6216 ``NO_PULL``\u3002\n\nExample: ``pin0.set_pull(pin0.PULL_UP)``\n\n:param value: \u76f8\u95dc\u5f15\u8173\u7684\u63d0\u53d6\u72c0\u614b\uff0c\u4f8b\u5982 ``pin0.PULL_UP``\u3002\"\"\"\n ...\n\n def get_pull(self) -> int:\n \"\"\"\u53d6\u5f97\u5f15\u8173\u4e0a\u7684\u63d0\u53d6\u72c0\u614b\u3002\n\nExample: ``pin0.get_pull()``\n\n:return: ``NO_PULL``, ``PULL_DOWN``, or ``PULL_UP``\n\nThese are set using the ``set_pull()`` method or automatically configured\nwhen a pin mode requires it.\"\"\"\n ...\n\n def get_mode(self) -> str:\n \"\"\"\u50b3\u56de\u5f15\u8173\u6a21\u5f0f\u3002\n\nExample: ``pin0.get_mode()``\n\nWhen a pin is used for a specific function, like\nwriting a digital value, or reading an analog value, the pin mode\nchanges.\n\n:return: ``\"unused\"``, ``\"analog\"``, ``\"read_digital\"``, ``\"write_digital\"``, ``\"display\"``, ``\"button\"``, ``\"music\"``, ``\"audio\"``, ``\"touch\"``, ``\"i2c\"``, or ``\"spi\"``\"\"\"\n ...\n\n def write_analog(self, value: int) -> None:\n \"\"\"\u5728\u5f15\u8173\u4e0a\u8f38\u51fa PWM \u8a0a\u865f\uff0c\u5de5\u4f5c\u9031\u671f\u8207 ``value`` \u6210\u6b63\u6bd4\u3002\n\nExample: ``pin0.write_analog(254)``\n\n:param value: \u4ecb\u65bc 0 (0% \u5de5\u4f5c\u9031\u671f) \u548c 1023 (100% \u5de5\u4f5c\u9031\u671f) \u4e4b\u9593\u7684\u6574\u6578\u6216\u6d6e\u9ede\u6578\u3002\"\"\"\n\n def set_analog_period(self, period: int) -> None:\n \"\"\"\u5c07\u8f38\u51fa\u7684 PWM \u8a0a\u865f\u9031\u671f\u8a2d\u70ba ``period`` (\u4ee5\u6beb\u79d2\u70ba\u55ae\u4f4d)\u3002\n\nExample: ``pin0.set_analog_period(10)``\n\n:param period: \u4ee5\u6beb\u79d2\u70ba\u55ae\u4f4d\u7684\u9031\u671f\uff0c\u6700\u5c0f\u6709\u6548\u503c\u70ba 1ms\u3002\"\"\"\n\n def set_analog_period_microseconds(self, period: int) -> None:\n \"\"\"\u5c07\u8f38\u51fa\u7684 PWM \u8a0a\u865f\u9031\u671f\u8a2d\u70ba ``period`` (\u4ee5\u5fae\u79d2\u70ba\u55ae\u4f4d)\u3002\n\nExample: ``pin0.set_analog_period_microseconds(512)``\n\n:param period: \u4ee5\u5fae\u79d2\u70ba\u55ae\u4f4d\u7684\u9031\u671f\uff0c\u6700\u5c0f\u6709\u6548\u503c\u70ba 256\u00b5s\u3002\"\"\"\n\nclass MicroBitAnalogDigitalPin(MicroBitDigitalPin):\n \"\"\"\u5177\u6709\u985e\u6bd4\u548c\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002\"\"\"\n\n def read_analog(self) -> int:\n \"\"\"\u8b80\u53d6\u65bd\u52a0\u5230\u5f15\u8173\u7684\u96fb\u58d3\u3002\n\nExample: ``pin0.read_analog()``\n\n:return: An integer between 0 (meaning 0V) and 1023 (meaning 3.3V).\"\"\"\n\nclass MicroBitTouchPin(MicroBitAnalogDigitalPin):\n \"\"\"\u5177\u6709\u985e\u6bd4\u3001\u6578\u4f4d\u548c\u89f8\u63a7\u529f\u80fd\u7684\u5f15\u8173\u3002\"\"\"\n CAPACITIVE: int\n RESISTIVE: int\n\n def is_touched(self) -> bool:\n \"\"\"\u6aa2\u67e5\u5f15\u8173\u662f\u5426\u53d7\u89f8\u63a7\u3002\n\nExample: ``pin0.is_touched()``\n\nThe default touch mode for the pins on the edge connector is ``resistive``.\nThe default for the logo pin **V2** is ``capacitive``.\n\n**Resistive touch**\nThis test is done by measuring how much resistance there is between the\npin and ground. A low resistance gives a reading of ``True``. To get\na reliable reading using a finger you may need to touch the ground pin\nwith another part of your body, for example your other hand.\n\n**Capacitive touch**\nThis test is done by interacting with the electric field of a capacitor\nusing a finger as a conductor. `Capacitive touch\n`_\ndoes not require you to make a ground connection as part of a circuit.\n\n:return: ``True`` if the pin is being touched with a finger, otherwise return ``False``.\"\"\"\n ...\n\n def set_touch_mode(self, value: int) -> None:\n \"\"\"\u8a2d\u5b9a\u5f15\u8173\u7684\u89f8\u63a7\u6a21\u5f0f\u3002\n\nExample: ``pin0.set_touch_mode(pin0.CAPACITIVE)``\n\nThe default touch mode for the pins on the edge connector is\n``resistive``. The default for the logo pin **V2** is ``capacitive``.\n\n:param value: \u76f8\u95dc\u5f15\u8173\u7684 ``CAPACITIVE`` \u6216 ``RESISTIVE``\u3002\"\"\"\n ...\npin0: MicroBitTouchPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u3001\u985e\u6bd4\u548c\u89f8\u63a7\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 0)\"\"\"\npin1: MicroBitTouchPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u3001\u985e\u6bd4\u548c\u89f8\u63a7\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 1)\"\"\"\npin2: MicroBitTouchPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u3001\u985e\u6bd4\u548c\u89f8\u63a7\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 2)\"\"\"\npin3: MicroBitAnalogDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u548c\u985e\u6bd4\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 3)\"\"\"\npin4: MicroBitAnalogDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u548c\u985e\u6bd4\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 4)\"\"\"\npin5: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 5)\"\"\"\npin6: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 6)\"\"\"\npin7: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 7)\"\"\"\npin8: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 8)\"\"\"\npin9: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 9)\"\"\"\npin10: MicroBitAnalogDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u548c\u985e\u6bd4\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 10)\"\"\"\npin11: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 11)\"\"\"\npin12: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 12)\"\"\"\npin13: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 13)\"\"\"\npin14: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 14)\"\"\"\npin15: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 15)\"\"\"\npin16: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 16)\"\"\"\npin19: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 19)\"\"\"\npin20: MicroBitDigitalPin\n\"\"\"\u5177\u6709\u6578\u4f4d\u529f\u80fd\u7684\u5f15\u8173\u3002 (\u5f15\u8173 20)\"\"\"\npin_logo: MicroBitTouchPin\n\"\"\"micro:bit \u6b63\u9762\u7684\u89f8\u63a7\u611f\u61c9\u6a19\u8a8c\u5f15\u8173\uff0c\u9810\u8a2d\u70ba\u96fb\u5bb9\u5f0f\u89f8\u63a7\u6a21\u5f0f\u3002\"\"\"\npin_speaker: MicroBitAnalogDigitalPin\n\"\"\"\u7528\u65bc\u5b9a\u5740 micro:bit \u63da\u8072\u5668\u7684\u5f15\u8173\u3002\n\nThis API is intended only for use in Pulse-Width Modulation pin operations e.g. pin_speaker.write_analog(128).\n\"\"\"\n\nclass Image:\n \"\"\"\u8981\u5728 micro:bit LED \u986f\u793a\u5668\u4e0a\u986f\u793a\u7684\u5716\u50cf\u3002 (\u5716\u50cf)\n\nGiven an image object it's possible to display it via the ``display`` API::\n\n display.show(Image.HAPPY)\"\"\"\n HEART: Image\n \"\"\"\u611b\u5fc3\u5716\u50cf\u3002\"\"\"\n HEART_SMALL: Image\n \"\"\"\u5c0f\u611b\u5fc3\u5716\u50cf\u3002\"\"\"\n HAPPY: Image\n \"\"\"\u958b\u5fc3\u7684\u81c9\u5716\u50cf\u3002 (\u958b\u5fc3)\"\"\"\n SMILE: Image\n \"\"\"\u7b11\u81c9\u5716\u50cf\u3002 (\u5fae\u7b11)\"\"\"\n SAD: Image\n \"\"\"\u50b7\u5fc3\u7684\u81c9\u5716\u50cf\u3002\"\"\"\n CONFUSED: Image\n \"\"\"\u56f0\u60d1\u7684\u81c9\u5716\u50cf\u3002\"\"\"\n ANGRY: Image\n \"\"\"\u751f\u6c23\u7684\u81c9\u5716\u50cf\u3002\"\"\"\n ASLEEP: Image\n \"\"\"\u7761\u81c9\u5716\u50cf\u3002\"\"\"\n SURPRISED: Image\n \"\"\"\u9a5a\u8a1d\u7684\u81c9\u5716\u50cf\u3002\"\"\"\n SILLY: Image\n \"\"\"\u9b3c\u81c9\u5716\u50cf\u3002\"\"\"\n FABULOUS: Image\n \"\"\"\u6234\u592a\u967d\u773c\u93e1\u7684\u81c9\u5716\u50cf\u3002\"\"\"\n MEH: Image\n \"\"\"\u51b7\u6f20\u7684\u81c9\u5716\u50cf\u3002\"\"\"\n YES: Image\n \"\"\"\u52fe\u865f\u5716\u50cf\u3002\"\"\"\n NO: Image\n \"\"\"\u53c9\u865f\u5716\u50cf\u3002\"\"\"\n CLOCK12: Image\n \"\"\"\u6307\u91dd\u6307\u5411 12 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK11: Image\n \"\"\"\u6307\u91dd\u6307\u5411 11 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK10: Image\n \"\"\"\u6307\u91dd\u6307\u5411 10 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK9: Image\n \"\"\"\u6307\u91dd\u6307\u5411 9 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK8: Image\n \"\"\"\u6307\u91dd\u6307\u5411 8 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK7: Image\n \"\"\"\u6307\u91dd\u6307\u5411 7 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK6: Image\n \"\"\"\u6307\u91dd\u6307\u5411 6 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK5: Image\n \"\"\"\u6307\u91dd\u6307\u5411 5 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK4: Image\n \"\"\"\u6307\u91dd\u6307\u5411 4 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK3: Image\n \"\"\"\u6307\u91dd\u6307\u5411 3 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK2: Image\n \"\"\"\u6307\u91dd\u6307\u5411 2 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n CLOCK1: Image\n \"\"\"\u6307\u91dd\u6307\u5411 1 \u9ede\u9418\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_N: Image\n \"\"\"\u6307\u5411\u5317\u65b9\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_NE: Image\n \"\"\"\u6307\u5411\u6771\u5317\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_E: Image\n \"\"\"\u6307\u5411\u6771\u65b9\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_SE: Image\n \"\"\"\u6307\u5411\u6771\u5357\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_S: Image\n \"\"\"\u6307\u5411\u5357\u65b9\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_SW: Image\n \"\"\"\u6307\u5411\u897f\u5357\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_W: Image\n \"\"\"\u6307\u5411\u897f\u65b9\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n ARROW_NW: Image\n \"\"\"\u6307\u5411\u897f\u5317\u7bad\u982d\u7684\u5716\u50cf\u3002\"\"\"\n TRIANGLE: Image\n \"\"\"\u4e09\u89d2\u5f62\u671d\u4e0a\u7684\u5716\u50cf\u3002\"\"\"\n TRIANGLE_LEFT: Image\n \"\"\"\u4e09\u89d2\u5f62\u671d\u5de6\u7684\u5716\u50cf\u3002\"\"\"\n CHESSBOARD: Image\n \"\"\"\u4ee5\u68cb\u76e4\u5716\u6848\u4ea4\u932f\u767c\u4eae\u7684 LED \u71c8\u3002\"\"\"\n DIAMOND: Image\n \"\"\"\u947d\u77f3\u5716\u50cf\u3002\"\"\"\n DIAMOND_SMALL: Image\n \"\"\"\u5c0f\u947d\u77f3\u5716\u50cf\u3002\"\"\"\n SQUARE: Image\n \"\"\"\u6b63\u65b9\u5f62\u5716\u50cf\u3002\"\"\"\n SQUARE_SMALL: Image\n \"\"\"\u5c0f\u6b63\u65b9\u5f62\u5716\u50cf\u3002\"\"\"\n RABBIT: Image\n \"\"\"\u5154\u5b50\u5716\u50cf\u3002\"\"\"\n COW: Image\n \"\"\"\u4e73\u725b\u5716\u50cf\u3002\"\"\"\n MUSIC_CROTCHET: Image\n \"\"\"\u56db\u5206\u97f3\u7b26\u5716\u50cf\u3002\"\"\"\n MUSIC_QUAVER: Image\n \"\"\"\u516b\u5206\u97f3\u7b26\u5716\u50cf\u3002\"\"\"\n MUSIC_QUAVERS: Image\n \"\"\"\u4e00\u7d44\u516b\u5206\u97f3\u7b26\u5716\u50cf\u3002\"\"\"\n PITCHFORK: Image\n \"\"\"\u4e7e\u8349\u53c9\u5716\u50cf\u3002\"\"\"\n XMAS: Image\n \"\"\"\u8056\u8a95\u6a39\u5716\u50cf\u3002\"\"\"\n PACMAN: Image\n \"\"\"\u5c0f\u7cbe\u9748\u8857\u6a5f\u89d2\u8272\u5716\u50cf\u3002\"\"\"\n TARGET: Image\n \"\"\"\u9776\u5b50\u5716\u50cf\u3002\"\"\"\n TSHIRT: Image\n \"\"\"T \u6064\u5716\u50cf\u3002\"\"\"\n ROLLERSKATE: Image\n \"\"\"\u8f2a\u5f0f\u6e9c\u51b0\u978b\u5716\u50cf\u3002\"\"\"\n DUCK: Image\n \"\"\"\u9d28\u5b50\u5716\u50cf\u3002\"\"\"\n HOUSE: Image\n \"\"\"\u623f\u5b50\u5716\u50cf\u3002\"\"\"\n TORTOISE: Image\n \"\"\"\u9678\u9f9c\u5716\u50cf\u3002\"\"\"\n BUTTERFLY: Image\n \"\"\"\u8774\u8776\u5716\u50cf\u3002\"\"\"\n STICKFIGURE: Image\n \"\"\"\u7c21\u7b46\u756b\u5716\u50cf\u3002\"\"\"\n GHOST: Image\n \"\"\"\u5e7d\u9748\u5716\u50cf\u3002\"\"\"\n SWORD: Image\n \"\"\"\u528d\u5716\u50cf\u3002\"\"\"\n GIRAFFE: Image\n \"\"\"\u9577\u9838\u9e7f\u5716\u50cf\u3002\"\"\"\n SKULL: Image\n \"\"\"\u9ab7\u9acf\u982d\u5716\u50cf\"\"\"\n UMBRELLA: Image\n \"\"\"\u96e8\u5098\u5716\u50cf\u3002\"\"\"\n SNAKE: Image\n \"\"\"\u86c7\u5716\u50cf\u3002\"\"\"\n SCISSORS: Image\n \"\"\"Scissors image.\"\"\"\n ALL_CLOCKS: List[Image]\n \"\"\"\u6309\u9806\u5e8f\u5305\u542b\u6240\u6709 CLOCK_\u5716\u50cf\u7684\u5217\u8868\u3002\"\"\"\n ALL_ARROWS: List[Image]\n \"\"\"\u6309\u9806\u5e8f\u5305\u542b\u6240\u6709 ARROW_\u5716\u50cf\u7684\u5217\u8868\u3002\"\"\"\n\n @overload\n def __init__(self, string: str) -> None:\n \"\"\"\u5f9e\u63cf\u8ff0\u9ede\u4eae\u54ea\u4e9b LED \u7684\u5b57\u4e32\u5efa\u7acb\u5716\u50cf\u3002\n\n``string`` has to consist of digits 0-9 arranged into lines,\ndescribing the image, for example::\n\n image = Image(\"90009:\"\n \"09090:\"\n \"00900:\"\n \"09090:\"\n \"90009\")\n\nwill create a 5\u00d75 image of an X. The end of a line is indicated by a\ncolon. It's also possible to use newlines (\\\\n) insead of the colons.\n\n:param string: \u63cf\u8ff0\u5716\u50cf\u7684\u5b57\u4e32\u3002\"\"\"\n ...\n\n @overload\n def __init__(self, width: int=5, height: int=5, buffer: ReadableBuffer=None) -> None:\n \"\"\"\u5efa\u7acb\u4e00\u500b ``width`` \u884c ``height`` \u5217\u7684\u7a7a\u767d\u5716\u50cf\u3002\n\n:param width: \u53ef\u9078\u7684\u5716\u50cf\u5bec\u5ea6\n:param height: \u53ef\u9078\u7684\u5716\u50cf\u9ad8\u5ea6\n:param buffer: \u7528\u53ef\u9078\u9663\u5217\u6216\u5728 0-9 \u7bc4\u570d\u5167\u7684 ``width``\u00d7``height`` \u6574\u6578\u4f4d\u5143\u7d44\uff0c\u4f86\u521d\u59cb\u5316\u5716\u50cf\n\nExamples::\n\n Image(2, 2, b'\\x08\\x08\\x08\\x08')\n Image(2, 2, bytearray([9,9,9,9]))\n\nThese create 2 x 2 pixel images at full brightness.\"\"\"\n ...\n\n def width(self) -> int:\n \"\"\"\u53d6\u5f97\u884c\u6578\u3002\n\n:return: The number of columns in the image\"\"\"\n ...\n\n def height(self) -> int:\n \"\"\"\u53d6\u5f97\u5217\u6578\u3002\n\n:return: The number of rows in the image\"\"\"\n ...\n\n def set_pixel(self, x: int, y: int, value: int) -> None:\n \"\"\"\u8a2d\u5b9a\u50cf\u7d20\u7684\u4eae\u5ea6\u3002\n\nExample: ``my_image.set_pixel(0, 0, 9)``\n\n:param x: \u884c\u865f\n:param y: \u5217\u865f\n:param value: \u4eae\u5ea6\u70ba\u4ecb\u65bc 0 (\u6697) \u548c 9 (\u4eae) \u4e4b\u9593\u7684\u6574\u6578\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def get_pixel(self, x: int, y: int) -> int:\n \"\"\"\u53d6\u5f97\u50cf\u7d20\u7684\u4eae\u5ea6\u3002\n\nExample: ``my_image.get_pixel(0, 0)``\n\n:param x: \u884c\u865f\n:param y: \u5217\u865f\n:return: The brightness as an integer between 0 and 9.\"\"\"\n ...\n\n def shift_left(self, n: int) -> Image:\n \"\"\"\u5411\u5de6\u79fb\u52d5\u5716\u50cf\uff0c\u4ee5\u5efa\u7acb\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_left(1)``\n\n:param n: \u8981\u79fb\u52d5\u7684\u884c\u6578\n:return: The shifted image\"\"\"\n ...\n\n def shift_right(self, n: int) -> Image:\n \"\"\"\u5411\u53f3\u79fb\u52d5\u5716\u50cf\uff0c\u4ee5\u5efa\u7acb\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_right(1)``\n\n:param n: \u8981\u79fb\u52d5\u7684\u884c\u6578\n:return: The shifted image\"\"\"\n ...\n\n def shift_up(self, n: int) -> Image:\n \"\"\"\u5411\u4e0a\u79fb\u52d5\u5716\u50cf\uff0c\u4ee5\u5efa\u7acb\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_up(1)``\n\n:param n: \u8981\u79fb\u52d5\u7684\u5217\u6578\n:return: The shifted image\"\"\"\n ...\n\n def shift_down(self, n: int) -> Image:\n \"\"\"\u900f\u904e\u5411\u4e0b\u79fb\u52d5\u5716\u50cf\uff0c\u4ee5\u5efa\u7acb\u4e00\u500b\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART_SMALL.shift_down(1)``\n\n:param n: \u8981\u79fb\u52d5\u7684\u5217\u6578\n:return: The shifted image\"\"\"\n ...\n\n def crop(self, x: int, y: int, w: int, h: int) -> Image:\n \"\"\"\u900f\u904e\u88c1\u526a\u5716\u50cf\uff0c\u4ee5\u5efa\u7acb\u4e00\u500b\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART.crop(1, 1, 3, 3)``\n\n:param x: \u88c1\u526a\u4f4d\u79fb\u884c\n:param y: \u88c1\u526a\u4f4d\u79fb\u5217\n:param w: \u526a\u88c1\u5bec\u5ea6\n:param h: \u526a\u88c1\u9ad8\u5ea6\n:return: The new image\"\"\"\n ...\n\n def copy(self) -> Image:\n \"\"\"\u5efa\u7acb\u5716\u50cf\u7684\u7cbe\u78ba\u526f\u672c\u3002\n\nExample: ``Image.HEART.copy()``\n\n:return: The new image\"\"\"\n ...\n\n def invert(self) -> Image:\n \"\"\"\u900f\u904e\u53cd\u8f49\u4f86\u6e90\u5716\u50cf\u7684\u50cf\u7d20\u4eae\u5ea6\uff0c\u4ee5\u5efa\u7acb\u4e00\u500b\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.SMALL_HEART.invert()``\n\n:return: The new image.\"\"\"\n ...\n\n def fill(self, value: int) -> None:\n \"\"\"\u8a2d\u5b9a\u5716\u50cf\u4e2d\u6240\u6709\u50cf\u7d20\u7684\u4eae\u5ea6\u3002\n\nExample: ``my_image.fill(5)``\n\n:param value: \u65b0\u4eae\u5ea6\u70ba 0 (\u6697) \u548c 9 (\u4eae) \u4e4b\u9593\u7684\u6578\u5b57\u3002\n\nThis method will raise an exception when called on any of the built-in\nread-only images, like ``Image.HEART``.\"\"\"\n ...\n\n def blit(self, src: Image, x: int, y: int, w: int, h: int, xdest: int=0, ydest: int=0) -> None:\n \"\"\"\u5c07\u53e6\u4e00\u500b\u5716\u50cf\u4e2d\u7684\u4e00\u500b\u5340\u57df\u8907\u88fd\u5230\u8a72\u5716\u50cf\u4e2d\u3002\n\nExample: ``my_image.blit(Image.HEART, 1, 1, 3, 3, 1, 1)``\n\n:param src: \u4f86\u6e90\u5716\u50cf\n:param x: \u4f86\u6e90\u5716\u50cf\u4e2d\u7684\u8d77\u59cb\u884c\u4f4d\u79fb\n:param y: \u4f86\u6e90\u5716\u50cf\u4e2d\u7684\u8d77\u59cb\u5217\u4f4d\u79fb\n:param w: \u8981\u8907\u88fd\u7684\u884c\u6578\n:param h: \u8981\u8907\u88fd\u7684\u5217\u6578\n:param xdest: \u6b64\u5716\u50cf\u4e2d\u8981\u4fee\u6539\u7684\u884c\u4f4d\u79fb\n:param ydest: \u6b64\u5716\u50cf\u4e2d\u8981\u4fee\u6539\u7684\u5217\u4f4d\u79fb\n\nPixels outside the source image are treated as having a brightness of 0.\n\n``shift_left()``, ``shift_right()``, ``shift_up()``, ``shift_down()``\nand ``crop()`` can are all implemented by using ``blit()``.\n\nFor example, img.crop(x, y, w, h) can be implemented as::\n\n def crop(self, x, y, w, h):\n res = Image(w, h)\n res.blit(self, x, y, w, h)\n return res\"\"\"\n ...\n\n def __repr__(self) -> str:\n \"\"\"\u53d6\u5f97\u5716\u50cf\u7684\u7dca\u6e4a\u5b57\u4e32\u986f\u793a\u3002\"\"\"\n ...\n\n def __str__(self) -> str:\n \"\"\"\u53d6\u5f97\u5716\u50cf\u7684\u53ef\u8b80\u5b57\u4e32\u986f\u793a\u3002\"\"\"\n ...\n\n def __add__(self, other: Image) -> Image:\n \"\"\"\u900f\u904e\u5c07\u5169\u500b\u5716\u50cf\u7684\u50cf\u7d20\u4eae\u5ea6\u503c\u76f8\u52a0\uff0c\u4ee5\u5efa\u7acb\u4e00\u500b\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART + Image.HAPPY``\n\n:param other: \u8981\u65b0\u589e\u7684\u5716\u50cf\u3002\"\"\"\n ...\n\n def __sub__(self, other: Image) -> Image:\n \"\"\"\u900f\u904e\u5f9e\u8a72\u5716\u50cf\u4e2d\u6e1b\u53bb\u53e6\u4e00\u500b\u5716\u50cf\u7684\u4eae\u5ea6\u503c\uff0c\u4ee5\u5efa\u7acb\u4e00\u500b\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART - Image.HEART_SMALL``\n\n:param other: \u8981\u6e1b\u53bb\u7684\u5716\u50cf\u3002\"\"\"\n ...\n\n def __mul__(self, n: float) -> Image:\n \"\"\"\u5c07\u5404\u50cf\u7d20\u7684\u4eae\u5ea6\u4e58\u4ee5 ``n``\uff0c\u4ee5\u5efa\u7acb\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART * 0.5``\n\n:param n: \u8981\u4e58\u4ee5\u7684\u503c\u3002\"\"\"\n ...\n\n def __truediv__(self, n: float) -> Image:\n \"\"\"\u900f\u904e\u5c07\u5404\u50cf\u7d20\u7684\u4eae\u5ea6\u9664\u4ee5 ``n``\uff0c\u4ee5\u5efa\u7acb\u4e00\u500b\u65b0\u5716\u50cf\u3002\n\nExample: ``Image.HEART / 2``\n\n:param n: \u8981\u9664\u4ee5\u7684\u503c\u3002\"\"\"\n ...\n\nclass SoundEvent:\n LOUD: SoundEvent\n \"\"\"\u8868\u793a\u8072\u97f3\u4e8b\u4ef6\u7684\u8f49\u63db\uff0c\u5f9e ``quiet`` \u5230 ``loud``\uff0c\u5982\u9f13\u638c\u6216\u558a\u53eb\u3002\"\"\"\n QUIET: SoundEvent\n \"\"\"\u8868\u793a\u8072\u97f3\u4e8b\u4ef6\u7684\u8f49\u63db\uff0c\u5f9e ``loud`` \u5230 ``quiet``\u3002\u4f8b\u5982\uff0c\u8aaa\u8a71\u6216\u80cc\u666f\u97f3\u6a02\u3002\"\"\"\n\nclass Sound:\n \"\"\"\u53ef\u4ee5\u4f7f\u7528 ``audio.play(Sound.NAME)`` \u8abf\u7528\u5167\u5efa\u8072\u97f3\u3002\"\"\"\n GIGGLE: Sound\n \"\"\"\u54af\u54af\u7b11\u7684\u8072\u97f3\u3002 (\u54af\u54af\u7b11)\"\"\"\n HAPPY: Sound\n \"\"\"\u958b\u5fc3\u7684\u8072\u97f3\u3002 (\u958b\u5fc3)\"\"\"\n HELLO: Sound\n \"\"\"\u6b61\u8fce\u7684\u8072\u97f3\u3002 (\u54c8\u56c9)\"\"\"\n MYSTERIOUS: Sound\n \"\"\"\u795e\u7955\u7684\u8072\u97f3\u3002 (\u795e\u79d8)\"\"\"\n SAD: Sound\n \"\"\"\u96e3\u904e\u7684\u8072\u97f3\u3002 (\u96e3\u904e)\"\"\"\n SLIDE: Sound\n \"\"\"\u6ed1\u52d5\u7684\u8072\u97f3\u3002\"\"\"\n SOARING: Sound\n \"\"\"\u9ad8\u6602\u7684\u8072\u97f3\u3002 (\u9ad8\u6602)\"\"\"\n SPRING: Sound\n \"\"\"\u5f48\u8df3\u7684\u8072\u97f3\u3002 (\u5f48\u8df3)\"\"\"\n TWINKLE: Sound\n \"\"\"\u767c\u4eae\u7684\u8072\u97f3\u3002 (\u767c\u4eae)\"\"\"\n YAWN: Sound\n \"\"\"\u5475\u6b20\u7684\u8072\u97f3\u3002\"\"\"", + "/typeshed/stdlib/microbit/accelerometer.pyi": "\"\"\"\u6e2c\u91cf micro:bit \u7684\u52a0\u901f\u5ea6\u4e26\u8b58\u5225\u624b\u52e2\u3002\"\"\"\nfrom typing import Tuple\n\ndef get_x() -> int:\n \"\"\"\u53d6\u5f97 ``x`` \u8ef8\u4e0a\u7684\u52a0\u901f\u5ea6\u6e2c\u91cf\u503c (\u4ee5\u6beb\u514b\u70ba\u55ae\u4f4d)\u3002\n\nExample: ``accelerometer.get_x()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"\u53d6\u5f97 ``y`` \u8ef8\u4e0a\u7684\u52a0\u901f\u5ea6\u6e2c\u91cf\u503c (\u4ee5\u6beb\u514b\u70ba\u55ae\u4f4d)\u3002\n\nExample: ``accelerometer.get_y()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"\u53d6\u5f97 ``z`` \u8ef8\u4e0a\u7684\u52a0\u901f\u5ea6\u6e2c\u91cf\u503c (\u4ee5\u6beb\u514b\u70ba\u55ae\u4f4d)\u3002\n\nExample: ``accelerometer.get_z()``\n\n:return: A positive or negative integer depending on direction in the range +/- 2000mg.\"\"\"\n ...\n\ndef get_values() -> Tuple[int, int, int]:\n \"\"\"\u4e00\u6b21\u53d6\u5f97\u6240\u6709\u8ef8\u4e0a\u7684\u52a0\u901f\u5ea6\u6e2c\u91cf\u503c\u505a\u70ba\u5143\u7d44\u3002\n\nExample: ``x, y, z = accelerometer.get_values()``\n\n:return: a three-element tuple of integers ordered as X, Y, Z, each value a positive or negative integer depending on direction in the range +/- 2000mg\"\"\"\n ...\n\ndef get_strength() -> int:\n \"\"\"Get the acceleration measurement of all axes combined, as a positive integer. This is the Pythagorean sum of the X, Y and Z axes.\n\nExample: ``accelerometer.get_strength()``\n\n:return: The combined acceleration strength of all the axes, in milli-g.\"\"\"\n ...\n\ndef current_gesture() -> str:\n \"\"\"\u53d6\u5f97\u76ee\u524d\u624b\u52e2\u7684\u540d\u7a31\u3002\n\nExample: ``accelerometer.current_gesture()``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:return: The current gesture\"\"\"\n ...\n\ndef is_gesture(name: str) -> bool:\n \"\"\"\u6aa2\u67e5\u547d\u540d\u7684\u624b\u52e2\u76ee\u524d\u662f\u5426\u8655\u65bc\u6d3b\u52d5\u72c0\u614b\u3002\n\nExample: ``accelerometer.is_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \u624b\u52e2\u540d\u7a31\u3002\n:return: ``True`` if the gesture is active, ``False`` otherwise.\"\"\"\n ...\n\ndef was_gesture(name: str) -> bool:\n \"\"\"\u6aa2\u67e5\u547d\u540d\u624b\u52e2\u81ea\u4e0a\u6b21\u547c\u53eb\u5f8c\u662f\u5426\u8655\u65bc\u6d3b\u52d5\u72c0\u614b\u3002\n\nExample: ``accelerometer.was_gesture('shake')``\n\nMicroPython understands the following gesture names: ``\"up\"``, ``\"down\"``,\n``\"left\"``, ``\"right\"``, ``\"face up\"``, ``\"face down\"``, ``\"freefall\"``,\n``\"3g\"``, ``\"6g\"``, ``\"8g\"``, ``\"shake\"``. Gestures are always\nrepresented as strings.\n\n:param name: \u624b\u52e2\u540d\u7a31\u3002\n:return: ``True`` if the gesture was active since the last call, ``False`` otherwise.\"\"\"\n\ndef get_gestures() -> Tuple[str, ...]:\n \"\"\"\u50b3\u56de\u624b\u52e2\u6b77\u53f2\u7d00\u9304\u7684\u5143\u7d44\u3002\n\nExample: ``accelerometer.get_gestures()``\n\nClears the gesture history before returning.\n\nGestures are not updated in the background so there needs to be constant\ncalls to some accelerometer method to do the gesture detection. Usually\ngestures can be detected using a loop with a small :func:`microbit.sleep` delay.\n\n:return: The history as a tuple, most recent last.\"\"\"\n ...\n\ndef set_range(value: int) -> None:\n \"\"\"Set the accelerometer sensitivity range, in g (standard gravity), to the closest values supported by the hardware, so it rounds to either ``2``, ``4``, or ``8`` g.\n\nExample: ``accelerometer.set_range(8)``\n\n:param value: New range for the accelerometer, an integer in ``g``.\"\"\"", + "/typeshed/stdlib/microbit/audio.pyi": "\"\"\"\u4f7f\u7528 micro:bit \u64ad\u653e\u8072\u97f3 (\u532f\u5165 ``audio`` \u8207 V1 \u76f8\u5bb9)\u3002\"\"\"\nfrom ..microbit import MicroBitDigitalPin, Sound, pin0\nfrom typing import ClassVar, Iterable, Union\n\ndef play(source: Union[Iterable[AudioFrame], Sound, SoundEffect], wait: bool=True, pin: MicroBitDigitalPin=pin0, return_pin: Union[MicroBitDigitalPin, None]=None) -> None:\n \"\"\"Play a built-in sound, sound effect or custom audio frames.\n\nExample: ``audio.play(Sound.GIGGLE)``\n\n:param source: A built-in ``Sound`` such as ``Sound.GIGGLE``, a ``SoundEffect`` or sample data as an iterable of ``AudioFrame`` objects.\n:param wait: \u5982\u679c ``wait`` \u70ba ``True``\uff0c\u6b64\u51fd\u5f0f\u5c07\u6703\u5c01\u9396\uff0c\u76f4\u5230\u8072\u97f3\u5b8c\u6210\u3002\n:param pin: (\u5f15\u8173) \u6307\u5b9a\u8f38\u51fa\u5f15\u8173\u7684\u53ef\u9078\u5f15\u6578\uff0c\u53ef\u7528\u65bc\u8986\u5beb\u9810\u8a2d\u503c ``pin0``\u3002\u5982\u679c\u6211\u5011\u4e0d\u60f3\u64ad\u653e\u4efb\u4f55\u8072\u97f3\uff0c\u6211\u5011\u53ef\u4ee5\u4f7f\u7528 ``pin=None``\u3002\n:param return_pin: \u6307\u5b9a\u5dee\u5206\u908a\u7de3\u9023\u63a5\u5668\u5f15\u8173\uff0c\u4ee5\u9023\u63a5\u5230\u5916\u90e8\u63da\u8072\u5668\u800c\u4e0d\u662f\u63a5\u5730\u3002\u5728 **V2** \u4fee\u8a02\u7248\u4e2d\uff0c\u9019\u5c07\u6703\u88ab\u5ffd\u7565\u3002\"\"\"\n\ndef is_playing() -> bool:\n \"\"\"\u6aa2\u67e5\u662f\u5426\u6b63\u5728\u64ad\u653e\u8072\u97f3\u3002\n\nExample: ``audio.is_playing()``\n\n:return: ``True`` if audio is playing, otherwise ``False``.\"\"\"\n ...\n\ndef stop() -> None:\n \"\"\"\u505c\u6b62\u6240\u6709\u97f3\u8a0a\u64ad\u653e\u3002\n\nExample: ``audio.stop()``\"\"\"\n ...\n\nclass SoundEffect:\n \"\"\"A sound effect, composed by a set of parameters configured via the constructor or attributes.\"\"\"\n WAVEFORM_SINE: ClassVar[int]\n \"\"\"Sine wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SAWTOOTH: ClassVar[int]\n \"\"\"Sawtooth wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_TRIANGLE: ClassVar[int]\n \"\"\"Triangle wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_SQUARE: ClassVar[int]\n \"\"\"Square wave option used for the ``waveform`` parameter.\"\"\"\n WAVEFORM_NOISE: ClassVar[int]\n \"\"\"Noise option used for the ``waveform`` parameter.\"\"\"\n SHAPE_LINEAR: ClassVar[int]\n \"\"\"Linear interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_CURVE: ClassVar[int]\n \"\"\"Curve interpolation option used for the ``shape`` parameter.\"\"\"\n SHAPE_LOG: ClassVar[int]\n \"\"\"Logarithmic interpolation option used for the ``shape`` parameter.\"\"\"\n FX_NONE: ClassVar[int]\n \"\"\"No effect option used for the ``fx`` parameter.\"\"\"\n FX_TREMOLO: ClassVar[int]\n \"\"\"Tremolo effect option used for the ``fx`` parameter.\"\"\"\n FX_VIBRATO: ClassVar[int]\n \"\"\"Vibrato effect option used for the ``fx`` parameter.\"\"\"\n FX_WARBLE: ClassVar[int]\n \"\"\"Warble effect option used for the ``fx`` parameter.\"\"\"\n freq_start: int\n \"\"\"Start frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n freq_end: int\n \"\"\"End frequency in Hertz (Hz), a number between ``0`` and ``9999``\"\"\"\n duration: int\n \"\"\"Duration of the sound in milliseconds, a number between ``0`` and ``9999``\"\"\"\n vol_start: int\n \"\"\"Start volume value, a number between ``0`` and ``255``\"\"\"\n vol_end: int\n \"\"\"End volume value, a number between ``0`` and ``255``\"\"\"\n waveform: int\n \"\"\"Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise)\"\"\"\n fx: int\n \"\"\"Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``\"\"\"\n shape: int\n \"\"\"The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``\"\"\"\n\n def __init__(self, freq_start: int=500, freq_end: int=2500, duration: int=500, vol_start: int=255, vol_end: int=0, waveform: int=WAVEFORM_SQUARE, fx: int=FX_NONE, shape: int=SHAPE_LOG):\n \"\"\"Create a new sound effect.\n\nExample: ``my_effect = SoundEffect(duration=1000)``\n\nAll the parameters are optional, with default values as shown above, and\nthey can all be modified via attributes of the same name. For example, we\ncan first create an effect ``my_effect = SoundEffect(duration=1000)``,\nand then change its attributes ``my_effect.duration = 500``.\n\n:param freq_start: Start frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param freq_end: End frequency in Hertz (Hz), a number between ``0`` and ``9999``.\n:param duration: Duration of the sound in milliseconds, a number between ``0`` and ``9999``.\n:param vol_start: Start volume value, a number between ``0`` and ``255``.\n:param vol_end: End volume value, a number between ``0`` and ``255``.\n:param waveform: Type of waveform shape, one of these values: ``WAVEFORM_SINE``, ``WAVEFORM_SAWTOOTH``, ``WAVEFORM_TRIANGLE``, ``WAVEFORM_SQUARE``, ``WAVEFORM_NOISE`` (randomly generated noise).\n:param fx: Effect to add on the sound, one of the following values: ``FX_TREMOLO``, ``FX_VIBRATO``, ``FX_WARBLE``, or ``FX_NONE``.\n:param shape: The type of the interpolation curve between the start and end frequencies, different wave shapes have different rates of change in frequency. One of the following values: ``SHAPE_LINEAR``, ``SHAPE_CURVE``, ``SHAPE_LOG``.\"\"\"\n\n def copy(self) -> SoundEffect:\n \"\"\"Create a copy of this ``SoundEffect``.\n\nExample: ``sound_2 = sound_1.copy()``\n\n:return: A copy of the SoundEffect.\"\"\"\n\nclass AudioFrame:\n \"\"\"``AudioFrame`` \u7269\u4ef6\u662f 32 \u500b\u6a23\u672c\u7684\u5217\u8868\uff0c\u6bcf\u500b\u6a23\u672c\u90fd\u662f\u4e00\u500b\u7121\u7b26\u865f\u4f4d\u5143\u7d44 (0 \u5230 255 \u4e4b\u9593\u7684\u6574\u6578)\u3002\n\nIt takes just over 4 ms to play a single frame.\n\nExample::\n\n frame = AudioFrame()\n for i in range(len(frame)):\n frame[i] = 252 - i * 8\"\"\"\n\n def copyfrom(self, other: AudioFrame) -> None:\n \"\"\"Overwrite the data in this ``AudioFrame`` with the data from another ``AudioFrame`` instance.\n\nExample: ``my_frame.copyfrom(source_frame)``\n\n:param other: ``AudioFrame`` instance from which to copy the data.\"\"\"\n\n def __len__(self) -> int:\n ...\n\n def __setitem__(self, key: int, value: int) -> None:\n ...\n\n def __getitem__(self, key: int) -> int:\n ...", + "/typeshed/stdlib/microbit/compass.pyi": "\"\"\"\u4f7f\u7528\u5167\u5efa\u6307\u5357\u91dd\u3002 (\u6307\u5357\u91dd)\"\"\"\n\ndef calibrate() -> None:\n \"\"\"\u958b\u59cb\u6821\u6e96\u7a0b\u5e8f\u3002\n\nExample: ``compass.calibrate()``\n\nAn instructive message will be scrolled to the user after which they will need\nto rotate the device in order to draw a circle on the LED display.\"\"\"\n ...\n\ndef is_calibrated() -> bool:\n \"\"\"\u6aa2\u67e5\u6307\u5357\u91dd\u662f\u5426\u5df2\u6821\u6e96\u3002\n\nExample: ``compass.is_calibrated()``\n\n:return: ``True`` if the compass has been successfully calibrated, ``False`` otherwise.\"\"\"\n ...\n\ndef clear_calibration() -> None:\n \"\"\"\u5fa9\u539f\u6821\u6e96\uff0c\u4f7f\u6307\u5357\u91dd\u518d\u6b21\u672a\u6821\u6e96\u3002\n\nExample: ``compass.clear_calibration()``\"\"\"\n ...\n\ndef get_x() -> int:\n \"\"\"\u53d6\u5f97 ``x`` \u8ef8\u4e0a\u7684\u78c1\u5834\u5f37\u5ea6\u3002\n\nExample: ``compass.get_x()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_y() -> int:\n \"\"\"\u53d6\u5f97 ``y`` \u8ef8\u4e0a\u7684\u78c1\u5834\u5f37\u5ea6\u3002\n\nExample: ``compass.get_y()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef get_z() -> int:\n \"\"\"\u53d6\u5f97 ``z`` \u8ef8\u4e0a\u7684\u78c1\u5834\u5f37\u5ea6\u3002\n\nExample: ``compass.get_z()``\n\nCall ``calibrate`` first or the results will be inaccurate.\n\n:return: A positive or negative integer in nano tesla representing the magnitude and direction of the field.\"\"\"\n ...\n\ndef heading() -> int:\n \"\"\"\u53d6\u5f97\u6307\u5357\u91dd\u65b9\u5411\u3002\n\nExample: ``compass.heading()``\n\n:return: An integer in the range from 0 to 360, representing the angle in degrees, clockwise, with north as 0.\"\"\"\n ...\n\ndef get_field_strength() -> int:\n \"\"\"\u53d6\u5f97\u88dd\u7f6e\u5468\u570d\u78c1\u5834\u7684\u5f37\u5ea6\u3002\n\nExample: ``compass.get_field_strength()``\n\n:return: An integer indication of the magnitude of the magnetic field in nano tesla.\"\"\"\n ...", + "/typeshed/stdlib/microbit/display.pyi": "\"\"\"\u5728 5\u00d75 LED \u986f\u793a\u5668\u4e0a\u986f\u793a\u6587\u5b57\u3001\u5716\u50cf\u548c\u52d5\u756b\u3002\"\"\"\nfrom ..microbit import Image\nfrom typing import Union, overload, Iterable\n\ndef get_pixel(x: int, y: int) -> int:\n \"\"\"\u53d6\u5f97\u884c ``x`` \u548c\u5217 ``y`` \u7684 LED \u4eae\u5ea6\u3002\n\nExample: ``display.get_pixel(0, 0)``\n\n:param x: \u986f\u793a\u884c (0..4)\n:param y: \u986f\u793a\u5217 (0..4)\n:return: A number between 0 (off) and 9 (bright)\"\"\"\n ...\n\ndef set_pixel(x: int, y: int, value: int) -> None:\n \"\"\"\u5728\u884c ``x`` \u548c\u5217 ``y`` \u8a2d\u5b9a LED \u4eae\u5ea6\u3002\n\nExample: ``display.set_pixel(0, 0, 9)``\n\n:param x: \u986f\u793a\u884c (0..4)\n:param y: \u986f\u793a\u5217 (0..4)\n:param value: 0 (\u95dc\u9589) \u548c 9 (\u6700\u4eae) \u4e4b\u9593\u7684\u4eae\u5ea6\"\"\"\n ...\n\ndef clear() -> None:\n \"\"\"\u5c07\u6240\u6709 LED \u7684\u4eae\u5ea6\u8a2d\u5b9a\u70ba 0 (\u95dc\u9589)\u3002\n\nExample: ``display.clear()``\"\"\"\n ...\n\ndef show(image: Union[str, float, int, Image, Iterable[Image]], delay: int=400, wait: bool=True, loop: bool=False, clear: bool=False) -> None:\n \"\"\"\u5728 LED \u986f\u793a\u5668\u4e0a\u986f\u793a\u5716\u50cf\u3001\u5b57\u6bcd\u6216\u6578\u5b57\u3002\n\nExample: ``display.show(Image.HEART)``\n\nWhen ``image`` is an image or a list of images then each image is displayed in turn.\nIf ``image`` is a string or number, each letter or digit is displayed in turn.\n\n:param image: \u8981\u986f\u793a\u7684\u5b57\u4e32\u3001\u6578\u5b57\u3001\u5716\u50cf\u6216\u5716\u50cf\u5217\u8868\u3002\n:param delay: \u6bcf\u500b\u5b57\u6bcd\u3001\u6578\u5b57\u6216\u5716\u50cf\u4e4b\u9593\u7684\u986f\u793a\u6642\u9593\u70ba ``delay`` \u6beb\u79d2\u3002\n:param wait: \u5982\u679c ``wait`` \u70ba ``True``\uff0c\u6b64\u51fd\u5f0f\u5c07\u5c01\u9396\u76f4\u5230\u52d5\u756b\u5b8c\u6210\uff0c\u5426\u5247\u52d5\u756b\u5c07\u5728\u80cc\u666f\u767c\u751f\u3002\n:param loop: \u5982\u679c ``loop`` \u70ba ``True``\uff0c\u52d5\u756b\u5c07\u6c38\u9060\u91cd\u8907\u3002\n:param clear: \u5982\u679c ``clear`` \u70ba ``True``\uff0c\u5247\u986f\u793a\u5c07\u5728\u5e8f\u5217\u5b8c\u6210\u5f8c\u88ab\u6e05\u9664\u3002\n\nThe ``wait``, ``loop`` and ``clear`` arguments must be specified using their keyword.\"\"\"\n ...\n\ndef scroll(text: Union[str, float, int], delay: int=150, wait: bool=True, loop: bool=False, monospace: bool=False) -> None:\n \"\"\"\u6372\u52d5 LED \u986f\u793a\u5668\u4e0a\u7684\u6578\u5b57\u6216\u6587\u5b57\u3002\n\nExample: ``display.scroll('micro:bit')``\n\n:param text: \u8981\u6372\u52d5\u7684\u5b57\u4e32\u3002\u5982\u679c ``text`` \u662f\u6574\u6578\u6216\u6d6e\u9ede\u6578\uff0c\u5247\u5148\u4f7f\u7528 ``str()`` \u5c07\u5176\u8f49\u63db\u70ba\u5b57\u4e32\u3002\n:param delay: ``delay`` \u53c3\u6578\u53ef\u63a7\u5236\u6587\u5b57\u6372\u52d5\u7684\u901f\u5ea6\u3002\n:param wait: \u5982\u679c ``wait`` \u70ba ``True``\uff0c\u6b64\u51fd\u5f0f\u5c07\u5c01\u9396\u76f4\u5230\u52d5\u756b\u5b8c\u6210\uff0c\u5426\u5247\u52d5\u756b\u5c07\u5728\u80cc\u666f\u767c\u751f\u3002\n:param loop: \u5982\u679c ``loop`` \u70ba ``True``\uff0c\u52d5\u756b\u5c07\u6c38\u9060\u91cd\u8907\u3002\n:param monospace: \u5982\u679c ``monospace`` \u70ba ``True``\uff0c\u5b57\u5143\u5bec\u5ea6\u5c07\u5168\u90e8\u4f54\u7528 5 \u500b\u50cf\u7d20\u884c\u3002\u5426\u5247\uff0c\u6372\u52d5\u6642\u6bcf\u500b\u5b57\u5143\u4e4b\u9593\u5c07\u6070\u597d\u6709 1 \u500b\u7a7a\u767d\u50cf\u7d20\u884c\u3002\n\nThe ``wait``, ``loop`` and ``monospace`` arguments must be specified\nusing their keyword.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\u958b\u555f LED \u986f\u793a\u5668\u3002\n\nExample: ``display.on()``\"\"\"\n ...\n\ndef off() -> None:\n \"\"\"\u95dc\u9589 LED \u986f\u793a\u5668 (\u505c\u7528\u986f\u793a\u5668\uff0c\u53ef\u8b93\u60a8\u5c07 GPIO \u5f15\u8173\u91cd\u65b0\u7528\u65bc\u5176\u4ed6\u76ee\u7684)\u3002\n\nExample: ``display.off()``\"\"\"\n ...\n\ndef is_on() -> bool:\n \"\"\"\u6aa2\u67e5 LED \u986f\u793a\u5668\u662f\u5426\u6709\u555f\u7528\u3002\n\nExample: ``display.is_on()``\n\n:return: ``True`` if the display is on, otherwise returns ``False``.\"\"\"\n ...\n\ndef read_light_level() -> int:\n \"\"\"\u8b80\u53d6\u5149\u5ea6\u3002\n\nExample: ``display.read_light_level()``\n\nUses the display's LEDs in reverse-bias mode to sense the amount of light\nfalling on the display.\n\n:return: An integer between 0 and 255 representing the light level, with larger meaning more light.\"\"\"\n ...", + "/typeshed/stdlib/microbit/i2c.pyi": "\"\"\"\u4f7f\u7528 I\u00b2C \u532f\u6d41\u6392\u901a\u8a0a\u5354\u5b9a\u8207\u88dd\u7f6e\u901a\u8a0a\u3002\"\"\"\nfrom _typeshed import ReadableBuffer\nfrom ..microbit import MicroBitDigitalPin, pin19, pin20\nfrom typing import List\n\ndef init(freq: int=100000, sda: MicroBitDigitalPin=pin20, scl: MicroBitDigitalPin=pin19) -> None:\n \"\"\"\u91cd\u65b0\u521d\u59cb\u5316\u5468\u908a\u8a2d\u5099\u3002\n\nExample: ``i2c.init()``\n\n:param freq: (\u983b\u7387) \u6642\u8108\u983b\u7387\n:param sda: ``sda`` \u5f15\u8173 (\u9810\u8a2d 20)\n:param scl: ``scl`` \u5f15\u8173 (\u9810\u8a2d 19)\n\nOn a micro:bit V1 board, changing the I\u00b2C pins from defaults will make\nthe accelerometer and compass stop working, as they are connected\ninternally to those pins. This warning does not apply to the **V2**\nrevision of the micro:bit as this has `separate I\u00b2C lines `_\nfor the motion sensors and the edge connector.\"\"\"\n ...\n\ndef scan() -> List[int]:\n \"\"\"\u6383\u63cf\u532f\u6d41\u6392\u4ee5\u5c0b\u627e\u88dd\u7f6e\u3002\n\nExample: ``i2c.scan()``\n\n:return: A list of 7-bit addresses corresponding to those devices that responded to the scan.\"\"\"\n ...\n\ndef read(addr: int, n: int, repeat: bool=False) -> bytes:\n \"\"\"\u5f9e\u88dd\u7f6e\u8b80\u53d6\u4f4d\u5143\u7d44\u3002\n\nExample: ``i2c.read(0x50, 64)``\n\n:param addr: \u88dd\u7f6e\u7684 7 \u4f4d\u5143\u5730\u5740\n:param n: \u8981\u8b80\u53d6\u7684\u4f4d\u5143\u7d44\u6578\n:param repeat: \u5982\u679c ``True``\uff0c\u5247\u4e0d\u6703\u50b3\u9001\u505c\u6b62\u4f4d\u5143\n:return: The bytes read\"\"\"\n ...\n\ndef write(addr: int, buf: ReadableBuffer, repeat: bool=False) -> None:\n \"\"\"\u5c07\u4f4d\u5143\u7d44\u5beb\u5165\u88dd\u7f6e\u3002\n\nExample: ``i2c.write(0x50, bytes([1, 2, 3]))``\n\n:param addr: \u88dd\u7f6e\u7684 7 \u4f4d\u5143\u4f4d\u5740\n:param buf: \u5305\u542b\u8981\u5beb\u5165\u4f4d\u5143\u7d44\u7684\u7de9\u885d\u5340\n:param repeat: \u5982\u679c ``True``\uff0c\u5247\u4e0d\u6703\u50b3\u9001\u505c\u6b62\u4f4d\u5143\"\"\"\n ...", + "/typeshed/stdlib/microbit/microphone.pyi": "\"\"\"\u4f7f\u7528\u5167\u5efa\u9ea5\u514b\u98a8\u56de\u61c9\u8072\u97f3 (\u50c5\u9650 V2)\u3002\"\"\"\nfrom typing import Optional, Tuple\nfrom ..microbit import SoundEvent\n\ndef current_event() -> Optional[SoundEvent]:\n \"\"\"\u53d6\u5f97\u6700\u5f8c\u9304\u88fd\u7684\u8072\u97f3\u4e8b\u4ef6\n\nExample: ``microphone.current_event()``\n\n:return: The event, ``SoundEvent('loud')`` or ``SoundEvent('quiet')``.\"\"\"\n ...\n\ndef was_event(event: SoundEvent) -> bool:\n \"\"\"\u6aa2\u67e5\u81ea\u4e0a\u6b21\u547c\u53eb\u5f8c\uff0c\u662f\u5426\u81f3\u5c11\u6709\u807d\u5230\u4e00\u6b21\u8072\u97f3\u3002\n\nExample: ``microphone.was_event(SoundEvent.LOUD)``\n\nThis call clears the sound history before returning.\n\n:param event: \u8981\u6aa2\u67e5\u7684\u4e8b\u4ef6\uff0c\u4f8b\u5982 ``SoundEvent.LOUD`` \u6216 ``SoundEvent.QUIET``\n:return: ``True`` if sound was heard at least once since the last call, otherwise ``False``.\"\"\"\n ...\n\ndef is_event(event: SoundEvent) -> bool:\n \"\"\"\u6aa2\u67e5\u5075\u6e2c\u5230\u7684\u6700\u65b0\u8072\u97f3\u4e8b\u4ef6\u3002\n\nExample: ``microphone.is_event(SoundEvent.LOUD)``\n\nThis call does not clear the sound event history.\n\n:param event: \u8981\u6aa2\u67e5\u7684\u4e8b\u4ef6\uff0c\u4f8b\u5982 ``SoundEvent.LOUD`` \u6216 ``SoundEvent.QUIET``\n:return: ``True`` if sound was the most recent heard, ``False`` otherwise.\"\"\"\n ...\n\ndef get_events() -> Tuple[SoundEvent, ...]:\n \"\"\"\u4ee5\u5143\u7d44\u7684\u5f62\u5f0f\u53d6\u5f97\u8072\u97f3\u4e8b\u4ef6\u6b77\u53f2\u3002\n\nExample: ``microphone.get_events()``\n\nThis call clears the sound history before returning.\n\n:return: A tuple of the event history with the most recent event last.\"\"\"\n ...\n\ndef set_threshold(event: SoundEvent, value: int) -> None:\n \"\"\"\u8a2d\u5b9a\u8072\u97f3\u4e8b\u4ef6\u7684\u95be\u503c\u3002\n\nExample: ``microphone.set_threshold(SoundEvent.LOUD, 250)``\n\nA high threshold means the event will only trigger if the sound is very loud (>= 250 in the example).\n\n:param event: \u8072\u97f3\u4e8b\u4ef6\uff0c\u4f8b\u5982 ``SoundEvent.LOUD`` \u6216 ``SoundEvent.QUIET``\u3002\n:param value: 0-255 \u7bc4\u570d\u5167\u7684\u95be\u503c\u7b49\u7d1a\u3002\"\"\"\n ...\n\ndef sound_level() -> int:\n \"\"\"\u53d6\u5f97\u8072\u58d3\u4f4d\u6e96\u3002\n\nExample: ``microphone.sound_level()``\n\n:return: A representation of the sound pressure level in the range 0 to 255.\"\"\"\n ...", + "/typeshed/stdlib/microbit/speaker.pyi": "\"\"\"\u63a7\u5236\u5167\u5efa\u63da\u8072\u5668 (\u50c5\u9650 V2)\u3002\"\"\"\n\ndef off() -> None:\n \"\"\"\u95dc\u9589\u63da\u8072\u5668\u3002\n\nExample: ``speaker.off()``\n\nThis does not disable sound output to an edge connector pin.\"\"\"\n ...\n\ndef on() -> None:\n \"\"\"\u958b\u555f\u63da\u8072\u5668\u3002\n\nExample: ``speaker.on()``\"\"\"\n ...", + "/typeshed/stdlib/microbit/spi.pyi": "\"\"\"\u4f7f\u7528\u5468\u908a\u8a2d\u5099\u4ecb\u9762 (SPI) \u532f\u6d41\u6392\u8207\u88dd\u7f6e\u9032\u884c\u901a\u8a0a\u3002\"\"\"\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom ..microbit import pin13, pin14, pin15, MicroBitDigitalPin\n\ndef init(baudrate: int=1000000, bits: int=8, mode: int=0, sclk: MicroBitDigitalPin=pin13, mosi: MicroBitDigitalPin=pin15, miso: MicroBitDigitalPin=pin14) -> None:\n \"\"\"\u521d\u59cb\u5316 SPI \u901a\u8a0a\u3002\n\nExample: ``spi.init()``\n\nFor correct communication, the parameters have to be the same on both communicating devices.\n\n:param baudrate: \u901a\u8a0a\u901f\u5ea6\u3002\n:param bits: \u6bcf\u6b21\u50b3\u8f38\u7684\u4f4d\u5143\u5bec\u5ea6\u3002\u76ee\u524d\u50c5\u652f\u63f4 ``bits=8``\u3002\u7136\u800c\uff0c\u9019\u7a2e\u60c5\u6cc1\u5728\u672a\u4f86\u53ef\u80fd\u6703\u6539\u8b8a\u3002\n:param mode: \u78ba\u5b9a\u6642\u8108\u6975\u6027\u548c\u76f8\u4f4d\u7684\u7d44\u5408 - \u8acb\u898b\u7dda\u4e0a\u8868\u683c `_\u3002\n:param sclk: sclk \u5f15\u8173 (\u9810\u8a2d 13)\n:param mosi: mosi \u5f15\u8173 (\u9810\u8a2d 15)\n:param miso: miso \u5f15\u8173 (\u9810\u8a2d 14)\"\"\"\n ...\n\ndef read(nbytes: int, out: int=0) -> bytes:\n \"\"\"\u8b80\u53d6\u4f4d\u5143\u7d44\u3002\n\nExample: ``spi.read(64)``\n\n:param nbytes: \u8981\u8b80\u53d6\u7684\u6700\u5927\u4f4d\u5143\u7d44\u6578\u3002\n:param out: The byte value to write (default 0).\n:return: The bytes read.\"\"\"\n ...\n\ndef write(buffer: ReadableBuffer) -> None:\n \"\"\"\u5c07\u4f4d\u5143\u7d44\u5beb\u5165\u532f\u6d41\u6392\u3002\n\nExample: ``spi.write(bytes([1, 2, 3]))``\n\n:param buffer: \u8b80\u53d6\u8cc7\u6599\u7684\u4f86\u6e90\u7de9\u885d\u5340\u3002\"\"\"\n ...\n\ndef write_readinto(out: WriteableBuffer, in_: ReadableBuffer) -> None:\n \"\"\"\u5c07 ``out`` \u7de9\u885d\u5340\u5beb\u5165\u532f\u6d41\u6392\uff0c\u4e26\u5c07\u4efb\u4f55\u56de\u61c9\u5beb\u5165 ``in_`` \u7de9\u885d\u5340\u3002\n\nExample: ``spi.write_readinto(out_buffer, in_buffer)``\n\nThe length of the buffers should be the same. The buffers can be the same object.\n\n:param out: \u8981\u5beb\u5165\u4efb\u4f55\u56de\u61c9\u7684\u7de9\u885d\u5340\u3002\n:param in_: \u8981\u5f9e\u4e2d\u8b80\u53d6\u8cc7\u6599\u7684\u7de9\u885d\u5340\u3002\"\"\"\n ...", + "/typeshed/stdlib/microbit/uart.pyi": "\"\"\"\u4f7f\u7528\u5e8f\u5217\u4ecb\u9762\u8207\u88dd\u7f6e\u901a\u8a0a\u3002\"\"\"\nfrom _typeshed import WriteableBuffer\nfrom ..microbit import MicroBitDigitalPin\nfrom typing import Optional, Union\nODD: int\n\"\"\"\u5947\u6578\u540c\u4f4d\u6aa2\u67e5\"\"\"\nEVEN: int\n\"\"\"\u5076\u6578\u540c\u4f4d\u6aa2\u67e5\"\"\"\n\ndef init(baudrate: int=9600, bits: int=8, parity: Optional[int]=None, stop: int=1, tx: Optional[MicroBitDigitalPin]=None, rx: Optional[MicroBitDigitalPin]=None) -> None:\n \"\"\"\u521d\u59cb\u5316\u5e8f\u5217\u901a\u8a0a\u3002\n\nExample: ``uart.init(115200, tx=pin0, rx=pin1)``\n\n:param baudrate: \u901a\u8a0a\u901f\u5ea6\u3002\n:param bits: \u6b63\u5728\u50b3\u8f38\u7684\u4f4d\u5143\u7d44\u5927\u5c0f\uff0cmicro:bit \u53ea\u652f\u63f4 8\u3002\n:param parity: \u5982\u4f55\u6aa2\u67e5\u5947\u5076\u6027\uff0c``None``\u3001``uart.ODD`` \u6216 ``uart.EVEN``\u3002\n:param stop: \u505c\u6b62\u4f4d\u5143\u7684\u6578\u91cf\uff0cmicro:bit \u5fc5\u9808\u70ba 1\u3002\n:param tx: \u50b3\u8f38\u5f15\u8173\u3002\n:param rx: \u6b63\u5728\u63a5\u6536\u5f15\u8173\u3002\n\nInitializing the UART on external pins will cause the Python console on\nUSB to become unaccessible, as it uses the same hardware. To bring the\nconsole back you must reinitialize the UART without passing anything for\n``tx`` or ``rx`` (or passing ``None`` to these arguments). This means\nthat calling ``uart.init(115200)`` is enough to restore the Python console.\n\nFor more details see `the online documentation `_.\"\"\"\n ...\n\ndef any() -> bool:\n \"\"\"\u6aa2\u67e5\u662f\u5426\u6709\u4efb\u4f55\u8cc7\u6599\u6b63\u5728\u7b49\u5f85\u3002\n\nExample: ``uart.any()``\n\n:return: ``True`` if any data is waiting, else ``False``.\"\"\"\n ...\n\ndef read(nbytes: Optional[int]=None) -> Optional[bytes]:\n \"\"\"\u8b80\u53d6\u4f4d\u5143\u7d44\u3002\n\nExample: ``uart.read()``\n\n:param nbytes: \u5982\u679c\u6307\u5b9a\u4e86 ``nbytes``\uff0c\u5247\u6700\u591a\u8b80\u53d6\u90a3\u9ebc\u591a\u4f4d\u5143\u7d44\uff0c\u5426\u5247\u8b80\u53d6\u76e1\u53ef\u80fd\u591a\u7684\u4f4d\u5143\u7d44\n:return: A bytes object or ``None`` on timeout\"\"\"\n ...\n\ndef readinto(buf: WriteableBuffer, nbytes: Optional[int]=None) -> Optional[int]:\n \"\"\"\u5c07\u4f4d\u5143\u7d44\u8b80\u5165 ``buf``\u3002\n\nExample: ``uart.readinto(input_buffer)``\n\n:param buf: \u8981\u5beb\u5165\u7684\u7de9\u885d\u5340\u3002\n:param nbytes: \u5982\u679c\u6307\u5b9a\u4e86 ``nbytes``\uff0c\u5247\u6700\u591a\u8b80\u53d6\u90a3\u9ebc\u591a\u4f4d\u5143\u7d44\uff0c\u5426\u5247\u8b80\u53d6 ``len(buf)`` \u500b\u4f4d\u5143\u7d44\u3002\n:return: number of bytes read and stored into ``buf`` or ``None`` on timeout.\"\"\"\n ...\n\ndef readline() -> Optional[bytes]:\n \"\"\"\u8b80\u53d6\u4e00\u884c\uff0c\u4ee5\u65b0\u884c\u5b57\u5143\u7d50\u5c3e\u3002\n\nExample: ``uart.readline()``\n\n:return: The line read or ``None`` on timeout. The newline character is included in the returned bytes.\"\"\"\n ...\n\ndef write(buf: Union[bytes, str]) -> Optional[int]:\n \"\"\"\u5c07\u7de9\u885d\u5340\u5beb\u5165\u532f\u6d41\u6392\u3002\n\nExample: ``uart.write('hello world')``\n\n:param buf: \u4e00\u500b\u4f4d\u5143\u7d44\u7269\u4ef6\u6216\u4e00\u500b\u5b57\u4e32\u3002\n:return: The number of bytes written, or ``None`` on timeout.\n\nExamples::\n\n uart.write('hello world')\n uart.write(b'hello world')\n uart.write(bytes([1, 2, 3]))\"\"\"\n ...", "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport array\nimport sys\nfrom os import PathLike\nfrom typing import AbstractSet, Any, Container, Iterable, Protocol, Tuple, TypeVar, Union\nfrom typing_extensions import Literal, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa Y001\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\nclass SupportsLessThan(Protocol):\n def __lt__(self, __other: Any) -> bool: ...\n\nSupportsLessThanT = TypeVar(\"SupportsLessThanT\", bound=SupportsLessThan) # noqa: Y001\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[Tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __k: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Container[_KT_contra], Protocol[_KT_contra, _VT_co]):\n def __getitem__(self, __k: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __k: _KT_contra, __v: _VT) -> None: ...\n def __delitem__(self, __v: _KT_contra) -> None: ...\n\n# These aliases are simple strings in Python 2.\nStrPath = Union[str, PathLike[str]] # stable\nBytesPath = Union[bytes, PathLike[bytes]] # stable\nStrOrBytesPath = Union[str, bytes, PathLike[str], PathLike[bytes]] # stable\n\nOpenTextModeUpdating = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode = Union[OpenTextModeUpdating, OpenTextModeWriting, OpenTextModeReading]\nOpenBinaryModeUpdating = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting]\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor = int # stable\nFileDescriptorLike = Union[int, HasFileno] # stable\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> Any: ...\n\nReadableBuffer = Union[bytes, bytearray, memoryview, array.array[Any]] # stable\nWriteableBuffer = Union[bytearray, memoryview, array.array[Any]] # stable\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n", "/src/pyrightconfig.json": "{ \n \"pythonVersion\": \"3.6\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"verboseOutput\": true\n }\n" }